Category Archives: programming

GNU Parallel and Block Size(s)

I’ve been a fan of GNU Parallel for a while but until recently have only used it occasionally. That’s a shame, because it’s often the simplest solution for quickly solving embarrassingly parallel problems. My recent usage of it has centered … Continue reading

Posted in craigslist, mysql, programming, tech | 8 Comments

magit makes git awesome in emacs

I recently came across the Meet Magit video which is an excellent introduction to the magit emacs mode for git. I use both Emacs and Git a lot at work and at home, so having something a bit more comprehensive … Continue reading

Posted in craigslist, programming | Leave a comment

Looking forward to Redis 2.6

In reading Short term Redis plans, I’m happy to see the “More introspection” section. For a long time some in the Redis community have asked for the ability to publish key names to a channel when they expire. And, while … Continue reading

Posted in programming, redis, tech | 1 Comment

NoSQL is What?

I found myself reading NoSQL is a Premature Optimization a few minutes ago and threw up in my mouth a little. That article is so far off base that I’m not even sure where to start, so I guess I’ll … Continue reading

Posted in mongodb, mysql, nosql, programming, redis | 70 Comments

I actually tried learning Rails

A few months back I wanted to prototype some ideas that my wife and I have been tossing around for web sites that’d be fun to build up in our so-called spare time. I thought it would be smart to … Continue reading

Posted in perl, programming | 29 Comments

Perl, MD5, and Unicode

Pro Tip: Perl’s Digest::MD5 hates Unicode (and so should you). Here’s what I recently learned from perldoc Digest::MD5 recently (the hard way, of course): Perl 5.8 support Unicode characters in strings. Since the MD5 algorithm is only defined for strings … Continue reading

Posted in perl, programming | 9 Comments

MongoDB Pre-Splitting for Faster Data Loading and Importing

Once nice thing about playing with Webdis is that I can watch the import rate of my multi-billion document MongoDB import in nearly real-time. The downside of that is that I quickly found that once I got a few hundred … Continue reading

Posted in craigslist, mongodb, programming, tech | 24 Comments

Finally Learning Python using Google’s Videos

Back in 2006 I asked which language I should learn next: Ruby or Python. Well, I finally got around to feeding my brain a bit. I recently discovered Google’s Python Class and have watched the first few videos. So far … Continue reading

Posted in programming, python, tech | 8 Comments

Redis Sharding at Craigslist

After reading Salvatore’s Redis Presharding, I thought I’d write up the sharding technique we use at Craigslist to take advantage of multiple cores, multiple hosts, and allow for painless growth (up to a point). Nodes The primary building block of … Continue reading

Posted in craigslist, nosql, programming, redis | 39 Comments

Webdis is Full of Awesome

I’ve long wanted a lightweight system for gathering and graphing simple performance metrics without a lot of centralized processing. I could use something like StatsD from the Etsy folks but got inspired by reading about Redis at Disqus the other … Continue reading

Posted in craigslist, programming, redis, tech | 3 Comments