Skip to content

Instantly share code, notes, and snippets.

View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@simlrh
simlrh / getKeys.ts
Last active Mar 2, 2021
Miscellaneous TypeScript helpers
View getKeys.ts
// Wrapper for Object.keys which sets the correct type
export function getKeys<T>(obj: T): Array<keyof T> {
return Object.keys(obj) as Array<keyof T>;
}
@simlrh
simlrh / composable.ts
Last active Oct 13, 2020
Typescript compose and pipe "infix operators"
View composable.ts
interface Composable<B,C> {
(b: B): C;
I: <D>(f: (c: C) => D) => Composable<B,D>;
o: <A>(f: (a: A) => B) => Composable<A,C>;
}
/*
* Non-type safe internal function - type safety of result is guaranteed by
* allowing creation only through `I` and `o` functions and methods
*/
@simlrh
simlrh / indentation.vim
Created Feb 6, 2017
Indentation functions for vim
View indentation.vim
"------------------------------------------------------------
" Indentation options {{{1
"
let g:mytabcolumns = 4
set noexpandtab
set softtabstop=0
set shiftwidth=4
set tabstop=4
@simlrh
simlrh / abc.js
Created Jan 26, 2017
Tree shaking example
View abc.js
import { d, e, f } from "./def.js";
// a is used
export const a = d + " is part of a";
// b is unused
export const b = e + " is part of b";
// c is unused
export const c = f + " is part of c";
@simlrh
simlrh / concat.rb
Created Nov 15, 2016
Use Liquid's new array concatenation in Jekyll
View concat.rb
module Jekyll
module ConcatFilter
def concat(one, two)
one.concat(two)
end
end
end
Liquid::Template.register_filter(Jekyll::ConcatFilter)
@simlrh
simlrh / index.rb
Created Nov 11, 2016
A quick and dirty Jekyll plugin to remove 'index.html' from the end of urls when using a clean permalink scheme
View index.rb
# Usage: {{ post.url | remove_index }}
module Jekyll
module RemoveIndexFilter
def remove_index(input)
url = if input
input.split("/")[0..-2].join("/") + "/"
else
input
end
@simlrh
simlrh / osvr_server_config.json
Created Nov 11, 2016
OSVR-firmata server config
View osvr_server_config.json
{
"description": "The default config file, as used with the HDK, is fully auto-detected, so no configuration required. See the JSON-Schema for server config or other samples to see possible options.",
"aliases": {
"/controller/right/joystick/x": "/je_nourish_firmata/StandardFirmata.ino-X.Y/analog/0",
"/controller/right/joystick/y": "/je_nourish_firmata/StandardFirmata.ino-X.Y/analog/1",
"/controller/right/joystick/button": "/je_nourish_firmata/StandardFirmata.ino-X.Y/button/0"
}
}