Skip to content

Instantly share code, notes, and snippets.

View mickdekkers's full-sized avatar

Mick Dekkers mickdekkers

  • Lab Digital
  • Apeldoorn, Netherlands
View GitHub Profile
@mickdekkers
mickdekkers / clean-js.sh
Last active June 27, 2020 15:19
Clean JS snippets using lebab and prettier
function clean-js () {
local transforms='arrow,for-of,for-each,arg-rest,arg-spread,obj-method,obj-shorthand,no-strict,exponent,multi-var,let,class,commonjs,template,default-param,destruct-param,includes'
lebab --transform $transforms | prettier --no-semi --single-quote
}
@mickdekkers
mickdekkers / ts-add.sh
Last active December 14, 2019 08:49
ts-add bash function: yarn add with typescript types in a single command
#!/usr/bin/env bash
# Add this function to your .bashrc/.zshrc
function ts-add () {
if [ "$1" = "--dev" ] || [ "$1" = "-D" ]; then
dev=true
shift
fi
packages=("$@")
@mickdekkers
mickdekkers / gen-github-contributions-search-urls.sh
Created February 5, 2020 07:22
Generate month-by-month GitHub search urls for your own contributions to a repo in a specified year
#!/bin/zsh
REPO="org-foo/repo-bar"
TARGET_YEAR=2019
function encode_uri_component() {
node -e "console.log(encodeURIComponent(process.argv[1]).replace(/%20/g, '+'));" "$1"
}
function get_pr_search_url() {
@mickdekkers
mickdekkers / sprite_sheet_sampling.shadron
Created April 29, 2020 14:28
Sprite sheet/texture atlas sampling in OpenGL/GLSL with Shadron
// Sprite sheet/texture atlas sampling in OpenGL/GLSL with Shadron
// (c) 2020 Mick Dekkers
// This work is licensed under the terms of the MIT license. See https://opensource.org/licenses/MIT for a copy.
// Tested with the emoji spritesheets at https://github.com/iamcal/emoji-data , specifically:
// https://github.com/iamcal/emoji-data/blob/8930a29f7193cc7603765c9046edac7ca529de78/sheets-clean/sheet_apple_64_clean.png
parameter int outputSize = 300.0 : range(1, 1024);
parameter int spriteSize = 64 : range(1, 1024);
parameter int spritePadding = 2 : range(1, 100);
@mickdekkers
mickdekkers / version-check.sh
Created November 11, 2020 09:42
Bash snippet to require bash version >= 4
#!/usr/bin/env bash
if [[ $BASH_VERSION == [0123].* ]]; then
>&2 printf "\033[0;31mThe %s script requires bash >= v4 (released february 2009)\033[0m\n" "$0"
>&2 echo "You are using bash $BASH_VERSION"
if [[ "$(uname -s)" == Darwin* ]]; then
>&2 echo "macOS is known to include a particularly ancient version of bash due to licensing shenanigans."
>&2 printf "You can use homebrew to update it yourself: \033[1;36mbrew install bash \033[0m\n"
fi
exit 1