Recent Posts by Kirk Haines

What Are Events, Why Might You Care, and How Can EventMachine Help?

You have likely heard of event based/driven programming, which you may also see referred to as “evented” programming. It has been around and in use for a long time, but it is seeing a growing swell of interest in recent years. Perl has had POE for years. Likewise,...
Read More

Updated Passenger Releases

The other day while I was in the midst of a discussion about Linux kernel upgrades, one of the other engineers who works at Engine Yard, Scott Likens, sent me a github URL:
Read More

Concurrency, Real and Imagined, in MRI; Threads

In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other. The computations may be executing on multiple cores in the same chip, preemptively time-shared threads on...
Read More

MRI Memory Allocation, A Primer For Developers

Memory allocation in the MRI 1.8.x series of Ruby is seen by many developers to be a black box. A developer writes code and the interpreter just does some magic to make sure that the memory for the code is allocated, and more importantly, eventually garbage collected....
Read More

Varnish: It''s Not Just For Wood Anymore

In previous posts, I’ve routinely mentioned a piece of software called Varnish. Varnish is a caching reverse proxy for web traffic, and if your job or your interests lean toward production web applications at all, you definitely want to get familiar with it.
Read More

Ruby Scales, AND It's Fast - If You Do It Right!

Performance: it’s a topic that comes up over and over again in the Ruby world, and everyone’s got an opinion. Unfortunately, those opinions often focus on minutia, and tend to miss the big picture.
Read More

Key-Value Stores in Ruby: The Wrap Up

This last article in our key-value series will briefly cover a few interesting topics that could each have had full articles of their own. This means that if they seem interesting to you, follow the links that I provide to get more information on them. Lastly, I’ll...
Read More

MongoDB: A Light in the Darkness! (Key Value Stores Part 5)

The universe was dark and chaotic. Bits of broken matter swirled everywhere, illuminated by flashes of explosive light, and the rare gleam of something brighter and more persistent. Those bright lights of persistence always seemed to be shrouded in a miasma of cosmic...
Read More

To Redis or Not To Redis? (Key-Value Stores Part 4)

Welcome to another post in our key value series! This week, Redis! Redis is a persistent in-memory key-value store written in C by Salvatore Sanfilippo. It’s currently in version 1.0. So let’s get down to it, “To Redis or Not to Redis?” that’s the question…
Read More

Cassandra and Ruby: A Love Affair? (Key-Value Stores Part 3)

Most of today’s up and coming key-value stores are more than just simple key-value stores. You saw this when we looked at Tokyo Cabinet which, in addition to simple key-value capabilities, adds more sophisticated abilities, such as database-like tables. In this post...
Read More
Subscribe to our Blog