Django Sampler 0.6 Released

I've just uploaded Django Sampler 0.6 to pypi! For those that don't know, Django Sampler allows you to use cost-based sampling of queries on a production site to discover what is consuming the most resources. It's not always the bad queries that need optimising, sometimes its the little ones that ... Read more

Why every Developer should have Redis

Queues, counters and polling How many times have you modelled a queue in SQL? What about event counters? Let's not even get started on polling for changes... Since we started using Redis we've noticed that most of our 'hard' modelling problems in SQL will fit into a Redis construct really ... Read more

Getting the Size of a Specific Index in MongoDB

Spent a little while trying to find the size of a specific index this morning and couldn't find any documentation on how to do it. Eventually stumbled on it in db.collection_name.stats() > db.content.stats() { "ns" : "conversocial.content", "sharded" : false, "primary" : "main01", "ns" : "conversocial.content", "count" : 1924859, "size" ... Read more

Django SQL Sampler becomes Django Sampler (with Mongo support)

In a previous post I described Django SQL Sampler as a tool that helps you find the SQL queries that are consuming the most time on a production site. I've now renamed Django SQL Sampler to Django Sampler because it now does much more. It now has a plugin architecture ... Read more

Why I Want to See Open Source on your CV

An interview is an opportunity for you to tell me about your your legendary hacking and awesome communication skills. A contribution to an open source project shows me this, and more. Designers don't turn up to interviews with just their CV, they bring along a portfolio of their work. They ... Read more

Django SQL Sampling

Any site of a large size with have lots of different queries going on. If you're having performance trouble it's easy to find and fix the ones that are causing trouble. It's not so easy if you have a query that runs moderately fast but is run a lot. It's ... Read more

Profiling Eventlet

I wanted to profile our system that is using eventlet. I wasn't happy with any of the existing solutions so I rolled my own: https://github.com/colinhowe/eventlet_profiler. The existing solutions have a few failures: You can't figure out how much time a specific function spends calling another function They generally use CPU ... Read more

My Ideal Pair-Programming Setup

Whenever I'm pair-programming with someone we often hit a spot where we both want to experiment and try stuff out - different ways of approaching a problem, playing with APIs, whatever. Going back to your own computer when you hit this spot isn't great. By moving away from the other ... Read more

MySQL Performance for More Data than Memory

In a previous post I looked at the performance hit you get in MongoDB when the working set is larger than the memory available. I thought I'd have a look to see how MySQL fares under similar conditions. The experiment was very similar experiment to the experiment for MongoDB. Setup ... Read more

Visualising Eventlet

When using eventlet you typically have a lot of concurrent things all being processed at once. Trying to identify problems in highly concurrent systems can be hard. To solve a problem we had I created eventlet visualiser (on github). This allows you to see the life span of all your ... Read more

Colin Howe

I'm Colin. I like coding, ultimate frisbee and startups. I am VP of engineering at Conversocial