Developing With Docker At 500px, Part One

Note: I originally wrote this for the 500px engineering blog. This article is part one of two. Overview Computers are hard. Distributed systems are harder. That's a popular thing people say, right? Well, it's true. The 500px system architecture can be thought of as a large Rails monolith surrounded by…

Read this article

How 500px serves up over 500TB of high res photos

Note: I originally wrote this for StackShare.io around May 2015, but I'm crossposting it here for posterity (and also because I haven't updated this blog in a while). Between the time of the original post and now the 500px stack has grown significantly in size, complexity and scale, but…

Read this article

A Story About check_ntp_time

Poor neglected blog. I've been ignoring you for months and feeling bad about it. Well, it's Friday, I'm slightly drunk, and I've just spent an hour doing some dopey ass shit. Lets do this thing. A Problem At work we are deploying a new microservice lately, and I've been getting…

Read this article

Spiped And Synergy

I am a big fan of the triple monitor setup. You can have your editor, a full screen browser and a bunch of terminal sessions all open at the same time. No time spent moving windows around. But at work we only have shitty corporate desktops which can't take a…

Read this article

Adding TLS To Graylog2 With Logstash

I really love Graylog2. The web interface is great, search is a breeze, and it does dashboards and analytics. And it supports LDAP and multiple users, which is something that Kibana doesn't do (though otherwise I think Kibana is pretty rad too). Graylog2 is also super fast: I've pushed my…

Read this article

Using Fabric To Fix Heartbleed On Ubuntu 12.04

This morning I wrote two small Fabric tasks to help deal with Heartbleed (aka CVE-2014-0160) on Ubuntu 12.04, and I thought I would share in case they can help anybody out. If you've never used Fabric before, you can clone my repo of random tasks which should help you…

Read this article