Can I make a request?

Posted on Wed, 21 Dec 2005
Last edited Wed, 21 Dec 2005
To: The Lisp Community
Cc: Santa Claus
Subject: The R-word Site in Lisp

I'd like to make a request. While I appreciate the urge to show off your particular toolbox of web programming in Lisp abstractions by implementing a site which allows users to submit links and vote them up and down, can you please refrain from saying that you've implemented the R-word site in Lisp in an absurdly small number of lines of code until all of the following hold?

  • Links must survive a server reboot. If you haven't gotten this implemented, you haven't really implemented anything but a toy.
  • Does it, *ahem*, escape HTML properly?
  • Is it foolproof? Is it smarter-than-foolproof? When I see an R-word clone which starts off with :unsecure t, I begin to suspect that the answer is "no".

  -- The Management

Edit: Sven responds by email: "The option (:unsecure t) means that no login is enforced. The default for KPAX (:unsecure nil) would enforce login against any of a number of sources (but that would then require registration and account management, not hard but too much for a demo)." So this is right for a demo - but clearly some form of access control (whether by login or captcha) is required for a real site to prevent flooding by bots.

He also adds: "The Reddit story had a serious impact on the Lisp community; showing that it is possible and even easy to write web applications in Lisp seems like a logical reaction. In my opinion we should indeed not try to better them or prove them wrong. The right reaction is to try to fix some of the problem they mentioned."

My concern is that by underselling the amount of work necessary to produce a complete web application, and showing off a lot of little prototypes, the Lisp community may come off as un-serious. "See! I can do this in 4 hours! 2 hours! 20 minutes!", when the end result is clearly only a prototype (and this is true of all of the Reddit clones I've seen - and all clearly indicated as such) does nothing to disprove the typical reader's takeaway from the Reddit conversion: that Lisp is good for prototypes and unsuitable when the rubber hits the road.

Trackback pings for this entry are listed below. The URL to ping for this entry is: http://brian.mastenbrook.net/trackback/6