Hacker News new | past | comments | ask | show | jobs | submit | keysersosa's comments login

Though I'm happy we got top billing in the headline, Reddit wasn't actually impacted directly (though of course many of the sites we linked to were).


At the time, in late 2005, we were writing in (I believe) python 2.3 and had rolled our own web framework because it was otherwise normal behavior to hook straight into wscgi. "wild west" might have been a bit of an exaggeration, but the available toolkit was certainly pretty bare bones.

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!


Confirmed, but the time dependent model didn't ask for long. I seem to recall switching to the current model (with slightly different constants) during the switch to python in late '05.

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.


I'm really glad you're here, because I was about to comment that you're the only person I know who understands this stuff.

(for those that don't know keysersosa was the guy who wrote the current hot algorithm)


Ah - I was thinking about how exponential growth would go over the max size and how to deal with it and also wondering why they were taking logs and not putting two and two together. It's surprising how tricky it can be to see what seems obvious with hindsight.


I too remember it being pretty harrowing at the time (if only because it felt like we were alienating [har] such a large chunk of our community), but in fairness it happened barely 6 months in. It all happened in a couple of weeks of quick work and I seem to recall we even recycled the db schema.

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.


We switched to python about 4 months into the startup and a full year before getting acquired.


And some people still haven't forgiven you.


I can remember this switch back in the day, but for some reason my memory has failed me. I could have sworn the original was in Haskell, not Lisp.

Selective memory I guess.


Yeah I think that post dates from a time where you still heard people refer to them as "weblogs".

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


Thanks for sharing this post!

About this: ===If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented.===

If Clojure was available back then and if you had written it in Clojure instead of Lisp (and given that Clojure can leverage JVM based libraries) - would you still have continued using Clojure?

I know this is an extremely hypothetical question but I am trying to figure out if Lisp is finally getting ready for "mainstream" adoption because Clojure is bootstrapped of the libraries of Java.


Clojure is a beautiful language and its web ecosystem is improving rapidly, but breadth of, depth of, and support for libraries is still its main weakness next to the likes of rails and django. Clojure's a lot better for solving hard problems, but you'll also spend a lot more time getting tripped up by things that seem like they should be easy and reinventing wheels. Fortunately, it seems a near certainty that this will eventually no longer be true.


I think OP meant a writeup about the switch from web.py to Pylons. I'm not sure we ever wrote that one down.


Point! I think I found it http://www.redditblog.com/2007/08/its-slow-its-unstable-its-...

Also just as anemic as the last one. Oh well.


I dunno; the ending's pretty good.


Yup that was the case. Though, I believe it was also a long weekend -- I think it might have been Veteran's day because I remember putting the finishing touches on it around Thanksgiving.


At the time it was "TBNL" (http://weitz.de/tbnl/), which I believe has indeed evolved into Hunchentoot.


Yeah it should be noted that all of the referenced decisions we made around web frameworks in this thread predate django's 1.0 release. I think I was comparing pylons to django 0.96 iirc, and in 2005 when aaron wrote web.py, I don't think django was on anybody's radar (or at least it wasn't on ours).

Django has definitely come a long way!


A lot of the decisions made in designing web.py were also carried over to tornado's web framework (which not coincidentally is also a web.py).

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.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: