This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# @jehiah | |
# in place file regex replacement | |
perl -pi -e 's/this/that/g' filename_pattern | |
# print the last column of a file ($NF stands for 'Number of Fields' or more commonly Last Field). | |
tail -F access.log | awk '{print $NF}' | |
# auto re-tail when file is replaced (useful for daemontools/multilog) | |
tail -F file.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json, pycurl, subprocess | |
class ChatStream(object): | |
def __init__(self, sessid, handler): | |
self.handler = handler | |
self.buffer = '' | |
self.curl = pycurl.Curl() | |
self.curl.setopt(pycurl.URL, 'https://irccloud.com/chat/stream') | |
self.curl.setopt(pycurl.COOKIE, 'session=' + sessid) | |
self.curl.setopt(pycurl.WRITEFUNCTION, self.chunk) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mkdir testing_rebar | |
cd testing_rebar | |
rebar create-app | |
console output: | |
==> testing_rebar (create-app) | |
Writing src/myapp.app.src | |
Writing src/myapp_app.erl | |
Writing src/myapp_sup.erl | |
# src directory is created |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// New is a function that takes a function F | |
function New (F) { | |
var o = {}; // and creates a new object o | |
o.__proto__ = F.prototype // and sets o.__proto__ to be F's prototype | |
// New returns a function that... | |
return function () { | |
F.apply(o, arguments); // runs F with o as "this", passing along any arguments | |
return o; // and returns o, the new object we created | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var cluster = require('cluster'); | |
var m = 10000000; | |
function bounce(msg, out) { | |
if (msg < m) { | |
out.send(msg + 1); | |
return null; | |
} else { | |
console.log("Finished with", msg); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns messagepassing.core) | |
(import [java.util.concurrent LinkedTransferQueue]) | |
(def m 10000000) | |
(defn queue-test [] | |
(defn bounce [in out m] | |
(let [value (.take in)] | |
(if (< value m) | |
(do |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// timer | |
// console.time('fib'); | |
// console.timeEnd('fib'); | |
//Recursive fibonnaci | |
var fib_recur = function (n) { | |
if (n == 0) return 0; | |
if (n == 1) return 1; | |
return fib_recur(n-1) + fib_recur(n-2); | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http://matt.might.net/articles/implementation-of-recursive-fixed-point-y-combinator-in-javascript-for-memoization/ | |
http://matt.might.net/articles/js-church/ | |
https://en.wikipedia.org/wiki/Fixed-point_combinator | |
http://www.cs.brown.edu/courses/cs173/2002/Lectures/2002-10-28-lc.pdf | |
http://www.dsi.uniroma1.it/~labella/absMcAdam.ps | |
http://www.cs.utexas.edu/users/wcook/Drafts/2009/sblp09-memo-mixins.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Y combinator | |
var Y = function (f) { | |
return ( | |
(function (x) { | |
return f(function (v) { return x(x)(v); }); }) | |
(function (x) { | |
return f(function (v) { return x(x)(v); }); }) | |
); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Eshell V5.9.1 (abort with ^G) | |
% The Y combinator allows recursion to be defined as a set of rewrite rules without requiring | |
% native recursion support in the language. | |
c(y_comb). % takes 2 params | |
{ok,y_comb} | |
(y_comb:y2( | |
fun (R) -> | |
fun |