Skip to content

Instantly share code, notes, and snippets.

View yvele's full-sized avatar
🤔
ᕕ( ᐛ )ᕗ

Yves M. yvele

🤔
ᕕ( ᐛ )ᕗ
View GitHub Profile
@yvele
yvele / ULN2003StepperMotor.js
Created April 1, 2023 23:11
Stepper Motor and ULN2003 Driver Board on Raspberry Pi with Node.js
// Inspired from:
// https://ben.akrin.com/driving-a-28byj-48-stepper-motor-uln2003-driver-with-a-raspberry-pi/
// https://gist.github.com/wolli2710/9ae48c9f39737896c1f6
const { Gpio } = require("onoff");
const in1ToGpio = 17; // IN1
const in2ToGpio = 18; // IN2
const in3ToGpio = 27; // IN3
const in4ToGpio = 22; // IN4
const timeout = 1; // milliseconds
@yvele
yvele / serializePOJO.js
Last active May 12, 2022 13:48
`JSON.stringify` and `JSON.parse` that preserves nested undefined values
/**
* Serialize a POJO while preserving `undefined` values.
*/
function serializePOJO(value, undefinedPlaceholder = "[undefined]") {
const replacer = (key, value) => (value === undefined ? undefinedPlaceholder : value);
return JSON.stringify(value, replacer);
}
/**
* Deserialize a POJO while preserving `undefined` values.
@yvele
yvele / svgo-optimize-sync.js
Created December 9, 2016 08:58
SVGO Optimize Sync
import SVGO from "svgo";
import deasync from "deasync";
function svgoOptimizeSync(svgo, content) {
let res;
svgo.optimize(content, result => res = result);
deasync.loopWhile(() => !res);
return res;
}
@yvele
yvele / line-by-line-rxjs-node.js
Created October 22, 2015 09:52
Line by line file reading with RxJS on Node.js
var Rx = require('rx');
var readline = require('readline');
var fs = require('fs');
var rl = readline.createInterface({
input: fs.createReadStream('lines.txt')
});
var lines = Rx.Observable.fromEvent(rl, 'line')
.takeUntil(Rx.Observable.fromEvent(rl, 'close'))
@yvele
yvele / fix-corrupted-exfat-partition-on-mac-osx.sh
Last active April 1, 2023 23:13
Fix corrupted exFAT partition on Mac OS X
sudo fsck_exfat -d disk0sXXX
diskutil repairvolume /Volumes/XXX/
@yvele
yvele / get-npm-package-version.sh
Last active April 27, 2024 04:19
Extract version from package.json (NPM) using bash / shell
# Version key/value should be on his own line
PACKAGE_VERSION=$(cat package.json \
| grep version \
| head -1 \
| awk -F: '{ print $2 }' \
| sed 's/[",]//g' \
| tr -d '[[:space:]]')
echo $PACKAGE_VERSION