170 karma · joined October 10, 2006
u/KeyserSosa @KeyserSosa https://keybase.io/keysersosa
Automagic proof zone:
[ my public key: https://keybase.io/keysersosa; my proof: https://keybase.io/keysersosa/sigs/Nd9DTqlAuHkkf63FMWVnHcf6uNVtS5Mci0Ujte7GPho ]
[ Verifying my Blockstack ID is secured with the address 1qvWkP5uoEGF7G9ni2cGSG5aWieJaNLZN https://explorer.blockstack.org/address/1qvWkP5uoEGF7G9ni2cGSG5aWieJaNLZN ]
It was also quite early in web 2.0, and I still remember when we switched up reddit's frontend to start using prototype.js (which had just come out earlier that year). Being able to use the same ajax call in both IE and Firefox! Magic!
That said, one of the early "mistakes" we made was not noticing the obvious step of taking the log of on the exponential form formula, which ended up meaning we had only a couple hundred days before we started to run afoul of the max float size in postgresql. I also seem to recall coming up with that obvious trick with only a few days to spare.
We did a post-acquisition python-to-python rewrite -- clean out the cobwebs, switch frameworks, and redo the database schema -- which was much harder, longer, and more painful to deploy. Though in that case it was one of those drastic changes whose primary side effect was that no none notices a thing.
Also just as anemic as the last one. Oh well.
Edit: Found it. It was the 14th post on our blog a time, but definitely light on the implementation details. http://www.redditblog.com/2005/12/on-lisp.html
Django has definitely come a long way!
At the time (and I have to admit my memory is a little foggy as it was 7 years ago), I believe we mostly switched away from it for maintainability reasons. It wasn't under active development, and we were in the middle of a complete MVC rewrite to impose some order on some otherwise organically grown code.
Personally I like flask a lot and it's come a long way. Also, when spez and I moved on to hipmunk we started using tornado.
http://blog.reddit.com/2010/01/why-did-we-take-reddit-down-f...
We were already using memcachedb as a persistent keystore, "caching" precomputed listings and comment threads. When it started becoming more trouble than it was worth to maintain, we decided to try cassandra as a beefier replacement.
I asked if anyone wanted login to the new blog interface to which I got a "Me! Me!" from the gentleman in question. Since he isn't strictly speaking a member of the dev team, I did the natural thing and said, "ok, but in exchange you're going to have to dance for my amusement." Suffice it to say he called my bluff.
That's not how it happened.
> Now they're chumps for not putting a grown up in charge
I like to think of myself as a grown up.
> converting 280 million page views/month and a dedicated community to enough money to support 4 engineers and a bunch of servers.
This is the crux of the problem. Marketing and ad sales is out of our direct control and has been lacking, so we've had to resort to other options. Self serve advertising last year was one of them, and it has done us well. This is more extreme for sure, but our plan is to eventually go towards the optional subscription model (like Ars Technica or Fark).
We really hope this will help us more than hurt us in the end. Part of the problem with releasing something like reddit as open source is that it isn't designed around installation. For the most part, the pieces have been built in place organically as needed. This means that even though the source is out there, it's been really hard to get developer contributions as many get stuck before they get reddit up and running locally.
This should effectively lower the barrier to entry there and let devs actually think about the code and adding features rather than about whether or not rabbit-mq or cassandra are properly configured.