View gist:7634421
sudo apt-get update | |
sudo apt-get install vim | |
# generate keys and copy them over | |
ssh-copy-id -i id_rsa.pub vagrant@hnclient # move node ssh key to the client | |
# update /etc/hosts on each node to know at least the master; the master about the slave nodes | |
# make sure master can ssh into localost | |
cat .ssh/id_rsa.pub >> .ssh/authorized_keys | |
# re-read: http://stackoverflow.com/questions/8872807/hadoop-datanodes-cannot-find-namenode |
View gist:3625a7479082e245bf71
require 'httparty' | |
include HTTParty | |
('aa'..'zz').select { |r| | |
sleep 0.20 | |
puts "trying #{r}" | |
self.class.head("https://twitter.com/#{r}").code == 404 | |
} | |
# => ['me', 'oh'] |
View gist:079fe77fc626d49c9f8a
Gotcha with Erlang | |
➜ v-kserl-v-02-code erl | |
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace] | |
Eshell V5.10.4 (abort with ^G) | |
1> VALUE = fun() -> io:format("I have value!~n") end. | |
#Fun<erl_eval.20.80484245> | |
2> K = mykey. | |
mykey |
View gist:d254a05e82a04a64c1ff
Y = fun(C) -> | |
(fun(H) -> | |
H(H) | |
end)( | |
fun(F) -> | |
C(fun(X) -> (F(F))(X) end) | |
end | |
) | |
end. |
View gist:34d447a0d249d2e29035
(define y2 | |
(lambda (c) | |
((lambda (h) | |
(h h)) | |
(lambda (f) | |
(c (lambda (x y) | |
((f f) x y))))))) | |
(define make-rember | |
(y2 (lambda (f) |
View gist:139ce4b5267fcc29b2ef
def daemonize_app | |
if RUBY_VERSION < "1.9" | |
exit if fork # jettison the terminal | |
Process.setsid # establish a new group & session leader (can only be done as a child process) | |
exit if fork # jettison the group leader. now it can't be interrupted from another group or session going down. | |
Dir.chdir "/" # change dir to root to make sure that the dir won't go away during the process run | |
# as a demon we won't be needing these... | |
STDIN.reopen "/dev/null" | |
STDOUT.reopen "/dev/null", 'a' |
View ch10-ex6.ex
defmodule MyList do | |
# version 1: continuation passing style | |
def flatten(l), do: flatten(l, fn (result) -> result end) | |
def flatten([], col), do: col.([]) | |
def flatten([h|t], col) when not is_list(h) do | |
flatten(t, fn (acc) -> col.([h | acc]) end) | |
end | |
def flatten([h|t], col) do | |
col.( |
View list_parser.yrl
% Andrea Leopardi's list parser | |
% http://andrealeopardi.com/posts/tokenizing-and-parsing-in-elixir-using-leex-and-yecc/ | |
Nonterminals list elems elem. | |
Terminals '[' ']' ',' int atom. | |
Rootsymbol list. | |
list -> | |
'[' ']' : []. | |
list -> |
View ring.exs
defmodule Ring do | |
def node(name, next_pid) do | |
receive do | |
1 -> | |
send next_pid, 1 | |
n when is_number(n) -> | |
send next_pid, n | |
node(name, next_pid) | |
end | |
end |
View basics-with-letrec.scm
;; letrec practice | |
;; fold | |
;; map | |
;; filter | |
;; mapcat | |
(define (fold fold-f acc l) | |
(letrec | |
((FOLD (lambda (acc l) | |
(cond |
OlderNewer