notes from May meeting

23 views
Skip to first unread message

Jesse Hallett

unread,
Jun 2, 2011, 9:08:51 PM6/2/11
to pdx...@googlegroups.com
I took some rough notes during the May Ruby meeting. It occurs to me
that I ought to share them:

PDXRuby 2011/05

CLOS: Common LISP object system

bitcoin, a peer-to-peer currency

Geoloqi MapAttack is a multiplayer geolocation-based game for iPhone

EventMachine.synchrony is like EventMachine.run except that it wraps
non-blocking operations in fiber yields instead of using callbacks.

Frameworks that work nicely with fibers: Goliath, Sinatra-Synchrony

The Rubinius Hydra branch eliminates the GIL (global interpreter lock)
and includes experimental support for fibers.

curl has its own internal event loop which it uses to make multiple
requests in parallel

To bend the CAP theorem, use N/W/R: N is the number of nodes, W is the
number of nodes that have to be updated for a successful write, and R
is the number of nodes that have to be queried for a successful read.
If W + R > N then you have a "quorum". See Cassandra. If W + R <= N
then you have "weak consistency" - which is how DNS works.

Mongo supports distributed MapReduce. "It's cheaper to move the
computation to the data than it is to move the data to the
computation."

If you are using MySQL with Ruby, use the mysql2 gem!

Trigram is great for searching for fuzzy word matches - it is a lot
faster than a Levenstien Distance technique.

HBase is an implementation of BigTable. Google has recently moved on
to MegaStore. HBase is a column store; it can be configured to be
consistent or available; it supports MapReduce via Hadoop integration.

Cassandra is almost exactly like HBase, except that its node structure
is more like Dynamo. Facebook is moving from Cassandra to HBase - but
the problems they were having were not the problems that mere mortals
would encounter.

Thrift is a transport protocol and data serialization protocol that is
network-efficient. It is used for shuffling data around. Thrift can
be used to interface with HBase, along with some code generation.

When it comes to Mongo drivers, mongoid is where it is at. There is a
geocoder addon for Mongo that adds support for more sophisticated
geolocation indexes.

Mongo uses BSON (binary JSON) to transport data. Foursquare uses
Mongo and helped to drive geolocation support in Mongo. Mongo uses
geo-hashes to form geolocation indexes.

Riak uses the Dynamo K/V style. Riak will serve data over HTTP.

Forget about Tokyo Cabinet! Kyoto Cabinet is way better. But Redis
is the best key-value store anyway.

Graph data stores include Neo4j and FlockDB. Twitter uses FlockDB for
their social data.

Jesse Cooke

unread,
Jun 3, 2011, 3:01:40 AM6/3/11
to pdx...@googlegroups.com
Thanks Jesse!

--------------------------------------------
Jesse Cooke :: N-tier Engineer
jc00ke.com / @jc00ke



--
You received this message because you are subscribed to the Google Groups "pdxruby" group.
To post to this group, send email to pdx...@googlegroups.com.
To unsubscribe from this group, send email to pdxruby+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/pdxruby?hl=en.


Reply all
Reply to author
Forward
0 new messages