Skip to content

Instantly share code, notes, and snippets.

View mstade's full-sized avatar

Marcus Stade mstade

View GitHub Profile
@mstade
mstade / ticket.txt
Created July 5, 2018 17:32
Ticket example
data:text/html;charset=utf-8;base64,PGh0bWw+CjxoZWFkPgogIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KICA8YmFzZSB0YXJnZXQ9Il90b3AiPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICBib2R5IHsKICAgICAgbWFyZ2luOjAgYXV0bzsKICAgICAgcGFkZGluZzoxMnZtaW4gMTB2bWluOwogICAgICBtYXgtd2lkdGg6MzVlbTsKICAgICAgbGluZS1oZWlnaHQ6MS41ZW07CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxzYW5zLXNlcmlmOwogICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICB9CiAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8aDE+SGVsbG8sIGhlcmUncyB5b3VyIHRpY2tldCE8L2gxPgogIDxpbWcgc3JjPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdZbUZ6WlZCeWIyWnBiR1U5SW1aMWJHd2lJQ0IzYVdSMGFEMGlNalkwSWlCb1pXbG5hSFE5SWpJMk5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMk5DQXlOalFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGh0Ykc1ek9tVjJQU0pvZEhSd09p

Keybase proof

I hereby claim:

  • I am mstade on github.
  • I am mstade (https://keybase.io/mstade) on keybase.
  • I have a public key whose fingerprint is 0D08 9BE1 38F7 B4F2 B34C 7BD3 505D 336E C17A 2E6D

To claim this, I am signing this object:

@mstade
mstade / .block
Last active October 12, 2016 13:27
Updating rows
license: mit
@mstade
mstade / unblock-us.bash
Last active December 20, 2015 19:00
unblock-us toggle
# Unblock-US toggler
function unblock-us() {
local status="${1}"
local default="Wi-Fi"
local service="${2:-${default}}"
if [[ "${status}" == "on" ]]; then
local dns=(208.122.23.23 208.122.23.22)
elif [[ "${status}" == "off" ]]; then
(automaton init
(init : (c → more))
(more : (a → more)
(d → more)
(r → end))
(end : ))
@mstade
mstade / index.js
Created November 26, 2014 17:54
emails index
// Documents look like:
{ profile:
{ emails:
[ { type: "account", "foo@bar.com" }
, { type: "work", "bar@foo.com" }
]
}
}
@mstade
mstade / auto-rewind-it.js
Last active August 29, 2015 13:58
ES6 auto-rewinding iterators
function range(n) {
var i = 0
return { next: step }
function step() {
if (i++ < n) return { value: i }
return i = 0, { done: '110%' }
}
@mstade
mstade / rewindable-it.js
Last active August 29, 2015 13:58
ES6 rewindable iterators
function range(n) {
var i = 0
return { next: step, rewind: rewind }
function step() {
return i++ < n? { value: i } : { done: '110%' }
}
function rewind() { i = 0 }
@mstade
mstade / fib.js
Last active August 29, 2015 13:57
Fibonacci
// 0 and below will yield 0, everything else follows the sequence.
function fib(n) {
const sq = Math.sqrt(5)
, gr = (1 + sq) / 2
return Math.floor(Math.pow(gr, n) / sq + 0.5)
}
@mstade
mstade / behavior.js
Last active August 29, 2015 13:55
Tiny app to visualize linear equations for my sister in-law.
var cm = document.getElementById('#unit').width.baseVal.value
d3.selectAll('.interactive.point')
.data([[-2, -2], [2, 2]])
.each(_(recalc, place, type()))
.call(
d3.behavior.drag()
.on('dragstart', drag(true))
.on('drag', _(move(), d(recalc, place, type())))
.on('dragend', _(drag(false), snap, d(recalc, place, type())))