Sept 10, 2015

Developing With Docker At 500px, Part One

This article is part one of two.


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 a constellation of Go and Ruby microservices. The monolith...

June 17, 2015



The Problem

At 500px, we have a complex architecture composed of a number of microservices, plus a central monolithic Rails application. We use several tools to deploy our apps and services, depending on what technology each is based on. Trying to remember how to interact with N different...

May 25, 2015

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

Note: This article was originally posted on


500px is an online community for premium photography. Millions of users all over the world share, discover, sell and buy the most beautiful images. We value design, simplicity in the code, and getting stuff done.

I’m a DevOps...

March 17, 2015

A Blurring View for Android

Blur Effect

Blur effect can be used to vividly convey a sense of layering of content. It allows the user to maintain the context, while focused on the currently featured content, even if what’s under the blurring surface shifts in a parallax fashion or changes dynamically.

On iOS, we could get this...

February 1, 2015

Image classification with Hadoop Streaming

TLDR: This post provides an overview of how to perform large scale image classification using Hadoop Streaming. First, we look at each component individually and identify things that need to be taken into account for the final integration. Then we go over how to ‘glue’ all pieces together to produce...