Skip to content

Instantly share code, notes, and snippets.

View git2samus's full-sized avatar

Michael Cetrulo git2samus

View GitHub Profile
@git2samus
git2samus / gist:2341447
Created April 9, 2012 04:34
lazy merge-sort
(defn lazy-sort
([input-seq]
(lazy-sort (merge-step [(first input-seq)] [(second input-seq)]) (drop 2 input-seq)))
([partial-result input-seq]
(let [result-length (count partial-result)]
(if (seq input-seq)
(recur (merge-step partial-result (divide-step (take result-length input-seq))) (drop result-length input-seq))
partial-result))))
> function integerFactory() {
var n=0;
return function() {
return n++;
};
};
undefined
> next_integer = integerFactory();
function () { return n++; }
> next_integer();
> function fibonacciFactory() {
var a=0, b=1;
return function() {
var next=a+b;
a=b, b=next;
return a;
};
};
undefined
> next_fibonacci = fibonacciFactory();
function newton_square_root(x, e) {
var guess = 1;
while (Math.abs(x - guess*guess) > e)
guess -= (guess*guess-x) / (2*guess);
return guess;
}
function squareGuessFactory(x) {
var guess=1;
return function() {
guess -= (guess*guess-x) / (2*guess);
return guess;
};
};
function newton_square_root(x, e) {
function range() {
switch (arguments.length) {
case 1:
var start=0, stop=arguments[0], step=1;
break;
case 2:
var start=arguments[0], stop=arguments[1], step=1;
break;
case 3:
var start=arguments[0], stop=arguments[1], step=arguments[2];
// ==UserScript==
// @name reddit comment animation
// @namespace git2samus
// @include http://www.reddit.com/*
// @match http://www.reddit.com/*
// ==/UserScript==
/* Frame class:
* represents a single frame in the animation
*/
// ==UserScript==
// @name mangareader
// @namespace git2samus
// @include http://www.mangareader.net/*
// @match http://www.mangareader.net/*
// ==/UserScript==
if (document.getElementById('imgholder'))
window.location.hash = '#imgholder';
@git2samus
git2samus / gist:3688073
Created September 10, 2012 00:18
helper for plaintext file edition in vim
fun! TextMode(mode) range
if a:mode == 'textmode'
setlocal filetype=text
setlocal wrap
setlocal nolist
setlocal linebreak
nnoremap <buffer> j gj
nnoremap <buffer> k gk
nnoremap <buffer> 0 g0
nnoremap <buffer> $ g$
@git2samus
git2samus / gist:4180342
Created December 1, 2012 02:56
traditional local_settings approach
try:
from local_settings import *
except ImportError:
pass