- https://dancres.github.io/Pages/
- https://ferd.ca/a-distributed-systems-reading-list.html
- http://the-paper-trail.org/blog/distributed-systems-theory-for-the-distributed-systems-engineer/
- https://github.com/palvaro/CMPS290S-Winter16/blob/master/readings.md
- http://muratbuffalo.blogspot.com/2015/12/my-distributed-systems-seminars-reading.html
- http://christophermeiklejohn.com/distributed/systems/2013/07/12/readings-in-distributed-systems.html
- http://michaelrbernste.in/2013/11/06/distributed-systems-archaeology-works-cited.html
- http://rxin.github.io/db-readings/
- http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html
- http://pdos.csail.mit.edu/dsrg/papers/
| %%% @author John Daily | |
| %%% @copyright (C) 2013, John Daily | |
| %%% @doc | |
| %%% | |
| %%% @end | |
| %%% Created : 3 Aug 2013 by John Daily | |
| -module(etude51). | |
| -compile(export_all). |
| #!/usr/local/bin/python | |
| import riak | |
| Riak = riak.RiakClient(pb_port=10017, protocol='pbc') | |
| TweetsBucket = Riak.bucket('tweets') | |
| results = TweetsBucket.get_index("hashtags_bin", "android", | |
| "androie", return_terms=True) |
| #!/usr/local/bin/python | |
| import riak | |
| Riak = riak.RiakClient(pb_port=10017, protocol='pbc') | |
| TweetsBucket = Riak.bucket('tweets') | |
| results = TweetsBucket.get_index("hashtags_bin", "android", | |
| "androie", return_terms=False) |
This is not intended to be comprehensive or authoritative, just free online resources I've found valuable while learning more about Erlang.
https://web.archive.org/web/20070429181654/http://www.sics.se/~joe/
| curl -XPOST http://localhost:8098/mapred | |
| -H"Content-Type: application/json" | |
| -d '{"inputs":"notifications","query":[{"map":{"language":"erlang","source":"fun(O,_,_) when element(1,O) == r_object -> S=byte_size(term_to_binary(riak_object:get_values(O))), if (S>1048576) -> {ok,C}=riak:local_client(),C:delete(riak_object:bucket(O),riak_object:key(O)),[riak_object:key(O)]; true -> [] end;(_,_,_) -> [] end."}}]}' |
Doc: http://www.erlang.org/doc/reference_manual/typespec.html
-type square() :: tuple(pos_integer(), pos_integer()).
-type side() :: 'white'|'black'.
-type movefun() :: fun((square(), square(), side()) -> tuple(square(), list(square()))).
-type movedef() :: tuple(atom(), movefun()).
-record(move, { piece,
start,
I started working on some missing documentation in the Erlang stdlib, and found one particularly confusing rabbit hole.
In the documentation for gen_server, I found debug options for start_link which lacked type information:
Dbg = trace | log | statistics | {logfile,FileName} | {install,{Func,FuncState}}</v>
SOpts = [term()]
FileName isn't defined, Func and FuncState aren't defined, so I decided to dig into the source to document their types.
- Starting: https://github.com/basho/riak_kv/blob/1.4.2/src/riak_kv_wm_object.erl#L619
- We create a new
riak_objectand populate the various fields with the headers, metadata supplied by the client. - Big suprise, we eventually call
riak_client:put: https://github.com/basho/riak_kv/blob/1.4.2/src/riak_client.erl#L143 - If/when the client returns any errors these are handled in
handle_common_errorsand it is nice to return human readable errors to client :)
Assuming you've created a text file named "ordered" with the PDFs in the sequence you'd like to create:
$ cp /System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py /usr/local/bin/join-pdfs
$ perl -e '$first = <STDIN>; chomp $first; while(<STDIN>) { $index++; $intmdt = "foo$index.pdf"; chomp; system("join-pdfs -o $intmdt $first $_"); $first = $intmdt; }' < ordered
Now you'll have a host of foo.pdf files; the last one is the one you want to rename to something useful, then rm foo*.pdf.