The Reddit Cronicles #1 — Digging the reddit codebase

September 04, 2013 | 2 Minute Read

I’ve always liked Reddit.

In the last week I thought it would be a nice idea to run my own instance of reddit. I know, put like this, it seems useless, but I have further ideas I cannot tell.

Since reddit is opensource I decided I wanted to give a look to its code.

I haven’t used Python in a while since I took Udacity’s CS101 and CS253 courses, but reading the install script I realized that Python was the smallest of problems. Of course.

Reddit is a well-engineered application that relies (as actually Steve Huffman explained in CS253) in some cool software tools like Memcached, Apache Cassandra, RabbitMQ, PostgreSQL and Pylons web framework.

I decided it would be a good idea to start studying the codebase by giving a look to software pillars on which reddit is build one by one as a way to widen my knowledge of software tools (what problems they solve and how they work) and to have an idea on how reddit actually works.

I don’t like the idea of running a Reddit instance and actually not being able to  properly administer it.

 

Among the packages installed, I noticed (big names):

  • PostgreSQL
  • Apache Cassandra
  • Memcached
  • SQLAlchemy
  • NodeJS
  • RabbitMQ
  • PyLons

Over the next months I’ll be giving a look to thoose pieces of software, more or less in depth, and I’ll probably take some notes about it.

 

Enjoy!