Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Common Lisp web startup test-case, two years after the Reddit switch (fallenfrukt.com)
42 points by mqt on Dec 18, 2007 | hide | past | favorite | 15 comments


The only problem we're running into right now is getting SSL to work on portable aserve running on SBCL on Ubuntu. (Our potential workaround until we have time to update aserve is to run huchentoot for the ssl login page only, as it is very noticably slower than aserve. If anyone out there has aserve running with ssl on SBCL - please let me know.)



If you are having problems with SSL, just use stunnel or use Apache's SSL with the ProxyPass and ProxyPassReverse directives. Has the added advantage that it is then trivial to split SSL encryption/decryption off to another machine if needed.


My co-founder fixed the SSL Portable Aserve problem on Ubuntu running SBCL :) (I'm going to try to talk my very technical co-founder into writing a nice blog about the whole experience if anyone is interested)


yes I can't even believe you would worry about SSL in CL at all. Definitely something to offload for a whole lot of reasons.


Be sure that you have

 ProxyRequests Off
specified, with <Proxy [asterisk]> deny from all (or allowing just as needed). E.g. in Ubuntu, make SURE you link to proxy.conf from mods-enabled, because Apache has a horrendous bug where if it doesn't see that option in a config file it defaults to ON.

Which means people can joy-ride using your server as an open proxy.

I don't know what possessed them to make that an opt-OUT.

<Proxy *> -- news. yc markup bug, can't specify a single asterisk if italic markup follows.


Yes I think the "unable to find people" thing is bogus - unless you are looking to pay bottom dollar and don't care at all (you just want "typists" as some people call them).

But otherwise, people will probably beg to have a go, if you are prepared to teach someone smart I am sure they could be productive in a few days, surely ?


There is a real problem in teaching someone lisp, when they had no prior experience with functional languages and too much experience with imperative ones.

You need to rewire your brain and think differently.

Which is probably the exact reason why it is so highly recommended that you go out and learn it, even if you'll never write a single LOC in it professionally.


I don't know much about common lisp (compared to scheme) but pretty much every bit I have seen (which is not that much) has nothing to do with functional (in the "strict" sense). I would think it would be easier to pick up then say haskell, in terms of the "head adjustment" factor (which is also a bit of a bogus argument, anyone who would have an interest in working on a startup using CL would surely have spent some time in functional land anyway).


You're right.

Here's a complete database-driven web application in Scheme:

http://brlewis.com/map.brl

Try the "Show Source" link there.

The same language is in use at my day job. When we hired somebody else to work on it here, he was writing production code his first day. He left to work for the Obama campaign. Someone in house with prior PHP experience took over, and likewise was writing acceptable production code in a day.


great example.


"but pretty much every bit I have seen (which is not that much) has nothing to do with functional (in the "strict" sense)"

CL is the ultimate "multi-paradigm" language. You can program imperatively to your heart's content with progn. CLOS+MOP is perhaps the world's most advanced object oriented system. Meta-programming taken to what would be considered absurd levels in other languages with defmacro.

Now, your code will flow more nicely if written in a functional style. But you are definitely right that CL does not restrict you to functional programming.


PG on why Reddit switched:

"Incidentally, the last straw, I've been told, was some bug in CMUCL threads that kept making the system crash."

http://groups.google.com/group/comp.lang.lisp/msg/574d19d5e7...


Q: What would you do differently if you could do it all over again?

Reddit: Stick with Lisp. (...)

http://notelab.infogami.com/startupschool2006


That sounds like something to score brownie points.

In reality, with their millions, there's nothing stopping them from re-Lisping it. (Not even time considerations -- when they were in negotiations to be acquired, they didn't do any development for months [1]. If you can get away with spending that much time not developing before you have money, you can get away with doing a rewrite after money is no longer a concern.)

[1] "We must have stopped doing real work for six months." -- http://aaronsw.jottit.com/howtoget




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

Search: