#Oh the Schemas you can Scheme!
You can scheme about scaling
Of which SQL can only dream!
You can scheme about NoSQL
Oh the schemas you can scheme
Oh, the schemes you can scheme up
if only you try!
If you try, you can scheme up
function doubleInteger(i) { | |
return i*2; | |
} | |
function isNumberEven(i) { | |
return i%2 === 0; | |
} | |
function getFileExtension(i) { | |
if(i.indexOf('.') >= 0) { |
using System; | |
using System.Numerics; | |
using System.Globalization; | |
using System.Text; | |
using System.Diagnostics; | |
using System.Threading; | |
namespace StringPaddingTest | |
{ |
#Oh the Schemas you can Scheme!
You can scheme about scaling
Of which SQL can only dream!
You can scheme about NoSQL
Oh the schemas you can scheme
Oh, the schemes you can scheme up
if only you try!
If you try, you can scheme up
%% Provides a timestamp like 2014-03-19T19:25:17.779905 | |
DateTime = erlang:now(). | |
{_,_,MicroSec} = DateTime. | |
{{Year,Month,Day},{Hour,Min,Sec}} = calendar:now_to_universal_time(DateTime). | |
DateString = io:format("~4..0B-~2..0B-~2..0BT~2..0B:~2..0B:~2..0B.~6..0B", | |
[Year, Month, Day, Hour, Min, Sec, MicroSec]). | |
DateString. |
unpack_riak_debugs () { | |
mkdir -p compressed | |
for file in `ls *riak-debug.tar.gz` | |
do | |
tar xzf $file | |
mv $file compressed | |
done | |
for file in `ls -1 | grep riak-debug` | |
do |
I hereby claim:
To claim this, I am signing this object:
SetDebug = fun() -> {node(), lager:set_loglevel(lager_file_backend, "/var/log/riak-cs/console.log", debug)} end. | |
SetInfo = fun() -> {node(), lager:set_loglevel(lager_file_backend, "/var/log/riak-cs/console.log", info)} end. | |
rp(rpc:multicall(erlang, apply, [SetInfo,[]])). |
http://www.infoq.com/presentations/Simple-Made-Easy | |
http://www.infoq.com/presentations/integration-tests-scam | |
http://blog.thecodewhisperer.com/2010/09/14/when-is-it-safe-to-introduce-test-doubles | |
http://youtu.be/yTkzNHF6rMs | |
http://pyvideo.org/video/1670/boundaries | |
http://skillsmatter.com/podcast/ajax-ria/enumerators | |
http://alistair.cockburn.us/Hexagonal+architecture | |
http://c2.com/cgi/wiki?PortsAndAdaptersArchitecture | |
http://www.confreaks.com/videos/977-goruco2012-hexagonal-rails | |
http://www.confreaks.com/videos/1255-rockymtnruby2012-to-mock-or-not-to-mock |
FindPrimaries = fun(Bucket, Key, Ring) -> | |
BKey = {Bucket,Key}, | |
DocIdx = riak_core_util:chash_key(BKey), | |
BucketProps = riak_core_bucket:get_bucket(Bucket, Ring), | |
[NValue] = [Y || {X1, Y} <- BucketProps, n_val == X1], | |
CHBin = chashbin:create(riak_core_ring:chash(Ring)), | |
Itr = chashbin:iterator(DocIdx, CHBin), | |
{Primaries, Itr2} = chashbin:itr_pop(3, Itr), | |
Primaries | |
end. |
#!/bin/bash | |
# For each node, search for reading large object messages, write to largeobject.read file | |
for NODE in 10.58.9*; do | |
IP=`echo "$NODE" | cut -d '-' -f1`; | |
cat $NODE/lo.r.console.log | sed "s/.*Reading large object of size \([0-9]*\) from \(<<.*>>\)\/\(<<.*>>\)/\{\"$IP\",\2,\3,\1\},/" | sort | uniq > $NODE/lo.r.list ; | |
done | |
# For each node, search for writing large object messages, write to largeobject.write file | |
for NODE in 10.58.9*; |