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
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 |
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
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'] |
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
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 |
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 = fun(C) -> | |
(fun(H) -> | |
H(H) | |
end)( | |
fun(F) -> | |
C(fun(X) -> (F(F))(X) end) | |
end | |
) | |
end. |
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
(define y2 | |
(lambda (c) | |
((lambda (h) | |
(h h)) | |
(lambda (f) | |
(c (lambda (x y) | |
((f f) x y))))))) | |
(define make-rember | |
(y2 (lambda (f) |
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
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' |
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
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.( |
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
% 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 -> |
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
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 |
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
;; letrec practice | |
;; fold | |
;; map | |
;; filter | |
;; mapcat | |
(define (fold fold-f acc l) | |
(letrec | |
((FOLD (lambda (acc l) | |
(cond |
OlderNewer