Skip to content

Instantly share code, notes, and snippets.

@jamesp
jamesp / Mac OSX Erlang Install
Created June 27, 2009 16:17
Setting up erlang on the mac
### Download and install
cd /tmp
curl http://erlang.org/download/otp_src_R13B03.tar.gz | tar zx
cd otp_src_R13B
./configure --enable-hipe
make
sudo make install
sudo mkdir -p /Library/Erlang/lib
mkdir -p ~/Library/Erlang/lib
@jboner
jboner / latency.txt
Last active May 18, 2025 04:24
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@andrzejsliwa
andrzejsliwa / cowboy_debug.erl
Last active August 26, 2016 07:30
erlang - cowboy debugging helper request/response
%% See LICENSE for licensing information.
-module(cowboy_debug).
-export([onrequest_hook/1]).
-export([onresponse_hook/4]).
onrequest_hook(Req) ->
Method = to_string(extract(cowboy_req:method(Req))),
Path = to_string(extract(cowboy_req:path(Req))),
Params = params_to_string(extract(cowboy_req:qs_vals(Req))),
@iwek
iwek / find-in-json.js
Created October 20, 2012 21:43
Searching through JSON
//return an array of objects according to key, value, or key and value matching
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else
//if key matches and value matches or if key matches and value is not passed (eliminating the case where key matches but passed value does not)
if (i == key && obj[i] == val || i == key && val == '') { //

!SLIDE

Monads in Erlang

monads are simple

!SLIDE

a monad is a monoid in the category of endofunctors

Hoodie vs. Meteor

Preface: Not a Meteor Expert. Please comment with improvements.

Paraphrasing philosophy:

  • Hoodie, Look ma! No Backend.
  • Meteor, Backend Power on the Fronend.

A couple of high-level observations:

@mystix
mystix / install-elasticsearch-debian
Last active March 19, 2023 15:14 — forked from karussell/install-elasticsearch-debian
Install ElasticSearch on Debian
VERSION=0.20.6
sudo apt-get update
sudo apt-get install openjdk-6-jdk
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-$VERSION.deb
sudo dpkg -i elasticsearch-$VERSION.deb
# be sure you add "action.disable_delete_all_indices" : true to the config!!
@cgoldberg
cgoldberg / gource.sh
Created July 2, 2013 14:05
Gource - Mir development video
# install bzr and gource
# get a branch of Mir's trunk code
# create gource video
$ sudo apt-get install bzr gource
$ bzr branch lp:mir
$ cd mir
$ gource \
-s .06 \
@parroty
parroty / quick.ex
Created October 27, 2013 13:23
Elixir QuickSort
defmodule QuickSort do
def sort([]), do: []
def sort([head|tail]) do
{lesser, greater} = Enum.partition(tail, &(&1 < head))
sort(lesser) ++ [head] ++ sort(greater)
end
end
IO.inspect QuickSort.sort([1,6,3,4,2,5])
@sayotte
sayotte / Demo.txt
Last active April 26, 2016 16:10
Erlang inheritance in the gen_server model.
Eshell V5.9.1 (abort with ^G)
1> rr(parent).
[parent_type]
2> rr(child).
[child_type,parent_type]
3>
3>
3> {ok, P1} = child:start_link(none).
{ok,<0.42.0>}
4>