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.
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.
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.
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.
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).
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.