Skip to content

Instantly share code, notes, and snippets.

View glenjamin's full-sized avatar

Glen Mailer glenjamin

View GitHub Profile
@glenjamin
glenjamin / rspec-like-test.js
Last active August 29, 2015 13:56
The most Rspec-like mocha test I've managed to write so far
// The single letter variables are designed to be invisible
// Yes, there are a few global variables: t, s and expect
// The system under test has no globals, so I can't conflict!
var h = require('../spec-helper.js');
var command = require('../../lib/command-round-init.js');
describe('Command: round-init', function() {
beforeEach(function() {
@glenjamin
glenjamin / keybase.md
Created August 7, 2014 23:49
keybase.md

Keybase proof

I hereby claim:

  • I am glenjamin on github.
  • I am glenjamin (https://keybase.io/glenjamin) on keybase.
  • I have a public key whose fingerprint is 11CE C764 0EDC 4B60 AB04 5CE4 263A CDF5 874C 2733

To claim this, I am signing this object:

@glenjamin
glenjamin / prank.sh
Created October 29, 2014 09:38
Prank for when someone's left their computer unlocked
function cd() {
# Aliases
alias cd=''
alias exit=''
# Variables
NONE='\033[00m'
RED='\033[01;31m'
SLEEP=`which sleep`
SEQ=`which seq`
@glenjamin
glenjamin / react-raf-batching.js
Last active August 17, 2021 14:33
requestAnimationFrame batching
/*eslint-env browser*/
/**
* Cribbed from:
* github.com/facebook/react/blob/master/src/addons/ReactRAFBatchingStrategy.js
* github.com/petehunt/react-raf-batching/blob/master/ReactRAFBatching.js
*/
var ReactUpdates = require('react/lib/ReactUpdates');
var ReactRAFBatchingStrategy = {
@glenjamin
glenjamin / darkpeak.js
Created January 5, 2015 13:47
self-censor current page
function blacken() {
var div = document.createElement('div');
var opacity = 0;
div.style.position = 'fixed';
div.style.top = 0;
div.style.bottom = 0;
div.style.left = 0;
div.style.right = 0;
div.style.opacity = opacity;
div.style.background = 'black';
@glenjamin
glenjamin / generator.sch
Created January 14, 2015 18:34
scheme tinkering
(define (f yield)
(yield 1)
(yield 2)
(yield 3))
(define gen
(letrec ((pause '())
(resume '())
(yield (lambda (x)
(call/cc (lambda (k)
@glenjamin
glenjamin / es5js.eslintrc
Last active September 13, 2015 15:16
Default eslint configs
{
"env": {
"node": true
},
"rules": {
"strict": 0,
"quotes": 0,
"indent": [2, 2],
"curly": [2, "multi-line"],
"no-use-before-define": [2, "nofunc"],
@glenjamin
glenjamin / npm-deps.sh
Created March 2, 2015 22:54
What modules am I using?
# Run the following in a directory containing npm projects
# list all modules being used directly (no sub-dependencies)
ls */package.json | xargs -n1 dirname | \
xargs -n1 -I {} bash -c 'cd {} && npm ls --depth=0 2>/dev/null | grep -oiE " [A-Z0-9\-]+@"' | \
cut -d @ -f 1 | sort -u
# list all modules being used directly and which project uses them
ls */package.json | xargs -n1 dirname | \
xargs -n1 -I {} bash -c 'cd {} && npm ls --depth=0 2>/dev/null | grep -oiE " [A-Z0-9\-]+@" | sed "s/\$/ in {}/"' | \
@glenjamin
glenjamin / demo.js
Created June 26, 2015 10:31
React Capturing all links
// Helper function
function findAnchor(node) {
while (node.nodeName.toLowerCase() != 'a') {
if (!node.parentNode) return false;
node = node.parentNode;
}
return node;
}
// Capture component