Skip to content

Instantly share code, notes, and snippets.

function awesome(predicateA, predicateB, foo, bar, baz) {
if (predicateA)
return foo
else if (predicateB)
return bar
else
return baz
}
@jonvuri
jonvuri / gist:5021259
Last active December 14, 2015 03:29
IIFE
deleteButton.addEventListener('click', function(evt) {
evt.preventDefault();
deleteCode(article.id);
return false;
});
deleteButton.addEventListener('click', (function (article) {
return function(evt) {
evt.preventDefault();
deleteCode(article.id);
if (x > y)
return A
else if (between(y, z)(x))
return B
else if (between(d, e)(x))
return C
else if (x > f)
return D
else
return null
@jonvuri
jonvuri / gist:4403102
Created December 28, 2012 23:34
Valid JSON, not valid Javascript object literal
{"str": "own
ed"}
var fs = require('fs');
var path = require('path');
var mkpath = require('mkpath');
// You probably want to pass in a callback to this function to send back errors, normally
var mkfile = function (filepath) {
mkpath(path.dirname(filepath), function (err) {
if (err) {
console.log(err);
} else {
@jonvuri
jonvuri / pig_latin.rb
Created November 22, 2012 00:08
Pig Latin Refinement
def translate(pigstri)
vowels = [ "a", "e", "i", "o", "u", "y" ]
pigstri
.split(/ /, -1)
.map { |x|
first_vowel = x.chars.find_index { |x| vowels.include?(x) }
if vowels.include?(x[0])
x + "ay"
elsif x[0..1].include?("qu")
x[2..x.length] + x[0..1] + "ay"
@jonvuri
jonvuri / protoinspect.js
Created November 18, 2012 17:44
Inspect prototypes
var util = require('util');
module.exports = function protoinspect(object) {
return util.inspect(object) + (object.__proto__ ? protoinspect(object.__proto__) : '');
}
@jonvuri
jonvuri / whysicpmatters.md
Created November 15, 2012 01:31
Brian Harvey: Why SICP Matters

[Original]

Why Structure and Interpretation of Computer Programs matters

Brian Harvey University of California, Berkeley

In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most important innovations developed there. They asked me to explain the importance of SICP, and this is what I sent them:

@jonvuri
jonvuri / currytests.js
Created November 14, 2012 20:14
Mmmmm curry
var expect = require('chai').expect;
var identity = function (a) {
return a;
}
var first = function (a, b, c) {
return a;
}
@jonvuri
jonvuri / Splat.js
Created November 14, 2012 12:24
It's two functions
function makeSplat(length) {
var splat = [];
while (length-- > 0) {
splat[length] = _;
}
return splat;
}