Skip to content

Instantly share code, notes, and snippets.

View krestenkrab's full-sized avatar

Kresten Krab Thorup krestenkrab

View GitHub Profile
@krestenkrab
krestenkrab / gen_pipe.erl
Created June 16, 2011 12:16
Ramblings on a gen_pipe DSL for riak_pipe
%%
%% Generic riak_pipe_vnode_worker worker, so you can write multiple fittings in one file.
%%
%% Each fitting is a function which must accept
%%
%% ImplFun(init, InitArg) -> {ok, State}
%% ImplFun({process, Input}, State) -> {ok, State} | forward_preflist
%% ImplFun(done, State) -> ok
%%
%% gen_pipe also has some more friendly API
@krestenkrab
krestenkrab / gist:992797
Created May 26, 2011 08:52
From Zero to Erjang in 22 seconds
krab$ curl -O http://dl.dropbox.com/u/1360473/erjang-r13b04-20110524.jar && java -jar erjang-r13b04-20110524.jar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9737k 100 9737k 0 0 430k 0 0:00:22 0:00:22 --:--:-- 474k
Eshell V5.7.5 (abort with ^G)
1>
@krestenkrab
krestenkrab / funhack.erl
Created April 12, 2011 09:52
The programmatic counter-part for "fun Mod:Fun/Arity"
-module(funhack).
-export([mkfun/3]).
%% @doc
%% The programmatic counter-part for `fun Mod:Fun/Arity'.
%%
%% Erlang syntax does not allow usage of the `fun' syntax,
%% where Mod, Fun and Arity are variables; they need to be
%% atom, atom, integer. This little hack lets you avoid
%% writing `fun(A1,A2,A3...) -> Mod:Fun(A1,A2,A3,...) end'.
@krestenkrab
krestenkrab / gist:835365
Created February 19, 2011 21:09
Do you know a nice private cottage for a vacation in Norway or Sweden?

Do you know a nice private cottage for a vacation in Norway or Sweden?

We're looking to go on vacation somewhere in Norway or Sweden in July, hoping that someone in my network can help us out. We will be 6 people, we would like some place remote in nature at a lake or beach with access to a boat the family can use for day trips. Good easy hikes/walks in the area would be nice. It is perfectly fine if it so remote that we have to bring food for a week.

If you have been a place like this, let me know.

Thanks

Kresten & Family

EStone test completed
**** CPU speed 2.53 GHz ****
**** Total time 4.275705 seconds ****
**** ESTONES = 142351 ****
Title Millis Estone % Loops
list manipulation 142 10681 7 6400
small messages 821 3773 10 1515
medium messages 1008 6025 14 1527
%%
%% First complete ETS test suite run, with 37% success.
%%
pc-226:test_server krab$ java -d64 -server -Xss100m -da -jar ../erjang-0.1.jar -home $HOME
Eshell V5.7.3 (abort with ^G)
1> ts:run(ets).
*** Running [ets_SUITE,default]
## LOG OF BEAM SESSION [with erl_dist debug output]
pc-226:~ krab$ /sw/bin/erl -name beam
Erlang R13B02 (erts-5.7.3) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
##
## This does " init ! { self(), get_arguments } " to remote Erlang VM.
##
Eshell V5.7.3 (abort with ^G)
Eshell V5.7.3 (abort with ^G)
1> {ok,P} = inet_tcp:connect({74,125,79,104},80,[]).
{ok,<port:478>}
2> V1 = inet:send(P, "GET /\n").
ok
3> process_info(self(), messages).
{messages,[{tcp,<port:478>,
"HTTP/1.0 302 Found\r\nLocation: http://www.google.dk/\r\nCache-Control: private\r\nContent-Type: text/html; charset=UTF-8\r\nSet-Cookie: PREF=ID=343fdb84f9eb331b:TM=1270640853:LM=1270640853:S=AaVxF7QpxV4CDNz1; expires=Fri, 06-Apr-2012 11:47:33 GMT; path=/; domain=.google.com\r\nSet-Cookie: NID=33=tEmot8xGMHKZa-gsccbD7tDiXpsHaC24bKm7tSBYgdomt_nceXViDrTzEIn4eosoj7qhYAXVPYr7u60vKjW0UdE-FYN9sP3UmOz89XnvoY8qeVJu5ewjnMgKdmjB7uw8; expires=Thu, 07-Oct-2010 11:47:33 GMT; path=/; domain=.google.com; HttpOnly\r\nDate: Wed, 07 Apr 2010 11:47:33 GMT\r\nServer: gws\r\nContent-Length: 218\r\n\r\n<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n<TITLE>302 Moved</TITLE></HEAD><BODY>\n<H1>302 Moved</H1>\nThe document has moved\n<A HREF=\"http://www.google.dk/\">here</A>.\r\n</BODY
Krestens-MacBook-Pro:erjang krab$ java -jar erjang-0.1.jar
Eshell V5.7.3 (abort with ^G)
1> {ok,P} = prim_inet:open(tcp).
{ok,<port:474>}
2> prim_inet:close(P).
ok
3>
krab$ cat > foo.erl
-module(foo).
-export([main/0]).
main() -> version1.
^D
krab$ ./erl.sh
Eshell V5.7.3 (abort with ^G)
1> c("foo").