type StringBool = "true"|"false";
interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };
type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# to generate your dhparam.pem file, run in the terminal | |
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function fswatch_propagate_pwd_changes_to_docker () { | |
echo "Starting fswatch on $PWD" | |
# tracking previous not to get into endless loop of changing the same file | |
local previous='' | |
fswatch -r "$PWD" | while read file; do | |
if [[ previous != "$file" ]]; then | |
docker run --rm -v "$PWD":"$PWD" busybox touch -c "$file" | |
fi | |
previous="$file" | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Trait UopzTrait | |
* | |
* Useful wrapper for uopz library's functions | |
*/ | |
trait UopzTrait | |
{ | |
/** |