Skip to content

Instantly share code, notes, and snippets.

View gnutix's full-sized avatar

Dorian Villet gnutix

View GitHub Profile
<?php
$deals = [
1 => ['forfait' => 60, 'km' => 0.12],
2 => ['forfait' => 0, 'km' => 0.6],
];
foreach ($deals as $deal => $dealData) {
echo 'Deal '.$deal.': forfait '.($dealData['forfait'] === 0 ? 'gratuit' : 'de '.$dealData['forfait'].'.-').' et '.
($dealData['km'] * 100).' cts le kilomètre.'.PHP_EOL;
}
@gnutix
gnutix / command_line.sh
Created September 21, 2020 12:59
Extracting the totals in your Tinder's profile data (number of likes, passes, messages sent, received, etc) from https://account.gotinder.com/data
for i in "app_opens" "swipes_likes" "swipes_passes" "matches" "messages_sent" "messages_received"; \
do jq --arg DATA "$i" -n 'reduce (inputs.Usage[$DATA] | to_entries[]) as {$key, $value} ({}; .[$DATA] += $value)' data.json; \
done
# Outputs :
# {
# "app_opens": ...
# }
# {
function isNotEmpty(value) {
return value !== undefined && value !== null && value !== "";
}
$(function() {
var customDataSource = new DevExpress.data.CustomStore({
key: "ID",
load: function(loadOptions) {
var d = $.Deferred();
var params = {};
$(function() {
var db = DevExpress.data.AspNet.createStore({
key: "ID",
loadUrl: '/my/route/endpoint'
});
$("#gridContainer").dxDataGrid({
dataSource: {
store: db
},
height: "100%",
@gnutix
gnutix / taxi_start.md
Created June 15, 2020 06:34
Investigation around the behavior of liip/taxi start/stop commands

taxi start

Use case 1 : no previous entries

Given :

27/05/2020
@gnutix
gnutix / crash1.log
Last active November 28, 2019 23:01
Sonarr v3 crash
Nov 28 23:43:56 raspbian mono[5032]: [Info] OwinHostController: Listening on the following URLs:
Nov 28 23:43:56 raspbian mono[5032]: [Info] OwinHostController: http://*:8989/
Nov 28 23:44:09 raspbian mono[5032]: [Info] SonarrBootstrapper: Starting Web Server
Nov 28 23:44:39 raspbian mono[5032]: * Assertion at mini-arm.c:3817, condition `ji' not met
Nov 28 23:44:39 raspbian mono[5032]: =================================================================
Nov 28 23:44:39 raspbian mono[5032]: Native Crash Reporting
Nov 28 23:44:39 raspbian mono[5032]: =================================================================
Nov 28 23:44:39 raspbian mono[5032]: Got a SIGABRT while executing native code. This usually indicates
Nov 28 23:44:39 raspbian mono[5032]: a fatal error in the mono runtime or one of the native libraries
Nov 28 23:44:39 raspbian mono[5032]: used by your application.
@gnutix
gnutix / README.md
Last active April 17, 2024 18:36
Install a Raspberry Pi as a torrent download station (09.2019)
13115 wget https://www.imagemagick.org/download/ImageMagick.tar.gz
13116 tar xvzf ImageMagick.tar.gz
13117 cd ImageMagick-7.0.8-60/
13118 ./configure
13119 make
13120 sudo make install
13121 sudo ldconfig /usr/local/lib
13122 magick --version
13123 convert --version
@gnutix
gnutix / binary.php
Last active February 25, 2022 16:12
Example of a self-contained, minimalist Symfony Console application
#!/usr/bin/env php
<?php
declare(strict_types=1);
use Imagecow\Image;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
@gnutix
gnutix / CustomDirectoryNamer.php
Last active August 12, 2019 17:58
Workaround to VichUploaderBundle's PRE persist event instead of POST persist, which prevents from accessing / using the entity's generated ID to name the folder or file. Please note that this is not working code but an extract that needs to be adapted for your needs / implementation !
<?php
class CustomDirectoryNamer implements Vich\UploaderBundle\Naming\DirectoryNamerInterface
{
public function directoryName($object, PropertyMapping $mapping): string
{
if (!$object instanceof HasUploadedFile) {
throw new \UnexpectedValueException(
sprintf(
'The class "%s" only supports objects of type "%s".',
self::class,