Reddit: Let's rewrite a better one in Common Lisp.

5259 views
Skip to first unread message

Marc Battyani

unread,
Dec 6, 2005, 2:21:26 PM12/6/05
to
That would be much more fun than whining. ;-)

So let's rewrite a better one. By better one I mean adding new
functionalities like categories and/or comments on links for instance.

Let's set the rules:

Rule 1: Anything is OK as long as it's in Common Lisp.
Rule 2: An exception to rule 1 is accepted for stuff like the OS(Linux,
MacOS, etc.), Database (PostgreSQL, MySQL), Webservers (Apache), etc.

After all there are more than enough Lisp web frameworks around (TBNL, UCW,
AServe, CL-HTTP, Araneida, etc. ;-)

Here is a starting point:

(defclass link ()
((url :accessor url :initform "http://")
(title :accessor title :initform "")
(nb-points :accessor nb-points :initform 1)
(creation-date :accessor creation-date :initform (get-universal-time))
...
))

Any takers ?

Marc


Bill Atkins

unread,
Dec 6, 2005, 2:35:27 PM12/6/05
to
I'm game. I've started working on a Rails clone in Lisp called Lisp on
a Ladder. It will be mostly a toy, but I think it might be a good
stepping stone to Lisp for people who are impressed with Rails. A
Reddit replacement would be a great driver program.

Bill

Marc Battyani

unread,
Dec 6, 2005, 2:39:40 PM12/6/05
to

"Bill Atkins" <batk...@gmail.com> wrote

> I'm game. I've started working on a Rails clone in Lisp called Lisp on
> a Ladder. It will be mostly a toy, but I think it might be a good
> stepping stone to Lisp for people who are impressed with Rails. A
> Reddit replacement would be a great driver program.
>
> Marc Battyani wrote:
> > Any takers ?

Cool. Let's start!

Anybody else ?

Marc


bradb

unread,
Dec 6, 2005, 2:41:34 PM12/6/05
to
IMHO, there is no point in re-writing reddit in Lisp. Though, I do
think that Reddit no longer being developed using Lisp should be used
as a call to action - after all Lispers liked that Reddit was written
in Lisp, and are now disappointed that it is not. I think a better
idea would be to look at why the authors of Reddit abandoned Lisp, and
fix those problems.
>From the horse's mouth "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."

So I think it would be better to start a project to address these
issues. Why not collect together a list of libraries that are already
useful, but lack polish - ie, aren't portible, not asdf-installable,
etc. Then get people on board to polish the libraries, write test
suites, make portable, write documents for. The participants don't
even need to be particularly experienced Lispers - this could infact be
pitched _at_ newbies as a way to learn, much like Kernel Janitors for
the Linux kernel.

I for one would be willing to participate in this as a newbie, now
someone needs to volunteer to administrate & someone experienced in
Lisp needs to volunteer to mentor.

Thoughts?

Brad

Wade Humeniuk

unread,
Dec 6, 2005, 2:55:28 PM12/6/05
to

I am certainly interested. Though I am working full time, I could spare
4 hours/week. I nominate Marc as project lead. Pick a platform, Lisp Implementation
(my preference is LispWorks), database (i assume CL-SQL for the interface).

Wade

Pascal Costanza

unread,
Dec 6, 2005, 2:56:20 PM12/6/05
to
bradb wrote:
> IMHO, there is no point in re-writing reddit in Lisp. Though, I do
> think that Reddit no longer being developed using Lisp should be used
> as a call to action - after all Lispers liked that Reddit was written
> in Lisp, and are now disappointed that it is not. I think a better
> idea would be to look at why the authors of Reddit abandoned Lisp, and
> fix those problems.

Not such a discussion, please. It's not an either/or thing. Any attempt
to improve the status quo is a good idea.

Marc's idea to do better than reddit is a cool idea because this will be
a "problem-driven approach". The libraries that come out of this will be
proven in practice, which is a good thing.

That is to say, if you prefer to do something else do something else,
but don't tell others that what they are doing is wrong. Just my 0.02€.


Pascal

--
My website: http://p-cos.net
Closer to MOP & ContextL:
http://common-lisp.net/project/closer/

Stefan Scholl

unread,
Dec 6, 2005, 3:03:45 PM12/6/05
to
On 2005-12-06 20:41:34, bradb wrote:

> I think a better
> idea would be to look at why the authors of Reddit abandoned Lisp, and
> fix those problems.

I don't think they let use replace their FreeBSD box. :-)

--
Web: http://www.no-spoon.de/ -*- IRC: stesch @ freenode

Peter Seibel

unread,
Dec 6, 2005, 3:06:30 PM12/6/05
to
"bradb" <brad.be...@gmail.com> writes:

> IMHO, there is no point in re-writing reddit in Lisp. Though, I do
> think that Reddit no longer being developed using Lisp should be
> used as a call to action - after all Lispers liked that Reddit was
> written in Lisp, and are now disappointed that it is not. I think a
> better idea would be to look at why the authors of Reddit abandoned
> Lisp, and fix those problems.

And what better way to find out exactly what those problems are than
to implement the thing that exposed them in the first place. Which is
not to say that folks who are working on well-tested and
well-documented libraries should drop what they're doing in order to
work on a CL Reddit clone. Anyway, Marc Battyani has already produced
a number of great CL libraries--if showing the the world that the
Reddit guys made a mistake by abandoning Lisp get's his juices
flowing, I say more power to him. (BTW, Marc, I might be interested in
helping out; let me know when there's a svn repo.)

> So I think it would be better to start a project to address these
> issues. Why not collect together a list of libraries that are already
> useful, but lack polish - ie, aren't portible, not asdf-installable,
> etc. Then get people on board to polish the libraries, write test
> suites, make portable, write documents for. The participants don't
> even need to be particularly experienced Lispers - this could infact be
> pitched _at_ newbies as a way to learn, much like Kernel Janitors for
> the Linux kernel.

So go for it--there are, I believe, over a hundred libraries on
common-lisp.net now. Surely some of them could stand a bit of
janitorial work: tests, documentation, enchancements, or whatever. And
I'm sure the common-lisp.net folks won't turn down offers to do work
to make common-lisp.net into a an even better one-stop-shopping site
for Lisp libraries.

> I for one would be willing to participate in this as a newbie, now
> someone needs to volunteer to administrate & someone experienced in
> Lisp needs to volunteer to mentor.

Perhaps one of the authors of an existing library on common-lisp.net
that could use a bit of janitorial work will take you up on your offer.

-Peter

--
Peter Seibel * pe...@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp * http://www.gigamonkeys.com/book/

Stefan Scholl

unread,
Dec 6, 2005, 3:07:33 PM12/6/05
to
On 2005-12-06 20:21:26, Marc Battyani wrote:

> Rule 1: Anything is OK as long as it's in Common Lisp.
> Rule 2: An exception to rule 1 is accepted for stuff like the OS(Linux,
> MacOS, etc.), Database (PostgreSQL, MySQL), Webservers (Apache), etc.
>
> After all there are more than enough Lisp web frameworks around (TBNL, UCW,
> AServe, CL-HTTP, Araneida, etc. ;-)

In the first year we discuss which OS to take, which Common Lisp
implementation, Database, Webserver, etc. :-)

justinhj

unread,
Dec 6, 2005, 3:12:38 PM12/6/05
to

Wade Humeniuk wrote:
> I am certainly interested. Though I am working full time, I could spare
> 4 hours/week. I nominate Marc as project lead. Pick a platform, Lisp Implementation
> (my preference is LispWorks), database (i assume CL-SQL for the interface).
>
> Wade

Just my $0.02...

One of the reasons they quoted was that the project wouldn't work on
all their OS's and machines, so it would seem a goal of the project is
to make it work with as many lisps as possible.

Justin

Peter Seibel

unread,
Dec 6, 2005, 3:13:01 PM12/6/05
to
Wade Humeniuk <whumeniu+...@telus.net> writes:

I'm interested too--though I'd put in a vote to at least try to make
the thing vaguly portable between (some) CL implementations. Which can
be easily achived simply by not picking one--let folks who actually
want to work on it use whatever impl they want and let them worry
about making it work on their imple. (Of course if Marc makes certain
high-level decisions such as requiring threads, then that might leave
out certain impls on certain platforms.) I think this is a good idea
because it will entice more folks to work on it; it will likely
improved the design of the software; and will also help uncover areas
of gratuitious difference between impls, which was (loosely speaking)
one of the problems that the Reddit guys cited as a reason to abandon
Lisp. My $.02.

William Bland

unread,
Dec 6, 2005, 3:13:35 PM12/6/05
to
On Tue, 06 Dec 2005 20:06:30 +0000, Peter Seibel wrote:
>
> And what better way to find out exactly what those problems are than
> to implement the thing that exposed them in the first place.

Exactly. Libraries without applications aren't very interesting.

> (BTW, Marc, I might be interested in helping out; let me know when there's
> a svn repo.)

Likewise - sounds like fun!

Best wishes,
Bill.

Paolo Amoroso

unread,
Dec 6, 2005, 3:03:16 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:

> So let's rewrite a better one. By better one I mean adding new

If this is an emotional reaction to Reddit being rewritten in Python,
I think it's a pointless exercise. And I'm afraid it may hurt the
reputation of Lispers.


> functionalities like categories and/or comments on links for instance.

The authors of Reddit explain in an interview why they don't use
categories, but I don't have a link handy.


Paolo
--
Why Lisp? http://wiki.alu.org/RtL%20Highlight%20Film
Recommended Common Lisp libraries/tools:
- ASDF/ASDF-INSTALL: system building/installation
- CL-PPCRE: regular expressions
- CFFI: Foreign Function Interface

Peter Herth

unread,
Dec 6, 2005, 3:30:27 PM12/6/05
to
Paolo Amoroso wrote:
> "Marc Battyani" <Marc.B...@fractalconcept.com> writes:
>
>
>>So let's rewrite a better one. By better one I mean adding new
>
>
> If this is an emotional reaction to Reddit being rewritten in Python,
> I think it's a pointless exercise. And I'm afraid it may hurt the
> reputation of Lispers.
>

While Yoda would disagree, I do think that occasionally anger is a very
good emotion to get things moving :). I never got around using Emacs
until I got so much aggravated about JBuilder 1.0, that I finally took
the plunge into using Emacs which I never regretted after.

Peter

--
Ltk, the easy lisp gui http://www.peter-herth.de/ltk/

bradb

unread,
Dec 6, 2005, 3:36:01 PM12/6/05
to
Pascal Costanza wrote:
> Not such a discussion, please. It's not an either/or thing. Any attempt
> to improve the status quo is a good idea.
>
> Marc's idea to do better than reddit is a cool idea because this will be
> a "problem-driven approach". The libraries that come out of this will be
> proven in practice, which is a good thing.
>
> That is to say, if you prefer to do something else do something else,
> but don't tell others that what they are doing is wrong. Just my 0.02€.
>
>
> Pascal

You're 100% right. I didn't mean to say what I said :) Sorry about
that.
I personally do prefer to do something else, and I do fully support
those who would like to clone Reddit. I shall post my ideas for a CL
Janitors project in a new thread.

Cheers
Brad

Pascal Costanza

unread,
Dec 6, 2005, 3:46:41 PM12/6/05
to

I won't be able to directly contribute to this project, but if you
decide to use one of the libraries that I maintain, you will get my full
support when problems arise.

Tayssir John Gabbour

unread,
Dec 6, 2005, 3:57:13 PM12/6/05
to
Paolo Amoroso wrote:
> "Marc Battyani" <Marc.B...@fractalconcept.com> writes:
> > So let's rewrite a better one. By better one I mean adding new
>
> If this is an emotional reaction to Reddit being rewritten in Python,
> I think it's a pointless exercise. And I'm afraid it may hurt the
> reputation of Lispers.

I am sad to say that some of my most productive coding has come from a
sense of competition. (Like on wikis to show how Lisp is more powerful
than other languages. Or distributing scripts to defeat forum defacers
who actively try poking holes in my assumptions.)

So while I think the Reddit guys said nothing wrong, I unfortunately
follow this with interest, and find myself hoping they're going to use
tools I can simply download.

Tayssir

ajones

unread,
Dec 6, 2005, 4:09:33 PM12/6/05
to

Marc Battyani wrote:
> That would be much more fun than whining. ;-)

Too true.

>
> So let's rewrite a better one. By better one I mean adding new
> functionalities like categories and/or comments on links for instance.

Here is my idea for "cool new functionality": autocategories.

By that I mean being able to add keywords to a link, which is pretty
standard, but then have the website analyze the text of that link and
compare it to other websites and see if it may fit into another
category. That way an article about lisp would be expanded into the
computer, programming, and religion categories. (I kid, I kid)

Obviously this would have to be kept distinct. One additionally useful
application of this would be to have the site analyze a submitted link
as you assign keywords to it, and suggest additional ones that might be
applicable. The idea is not perfect, and may end up not working at
times in spectacularly awful ways, but when it does work it would be
pretty useful.

>
> Let's set the rules:
>
> Rule 1: Anything is OK as long as it's in Common Lisp.
> Rule 2: An exception to rule 1 is accepted for stuff like the OS(Linux,
> MacOS, etc.), Database (PostgreSQL, MySQL), Webservers (Apache), etc.
>
> After all there are more than enough Lisp web frameworks around (TBNL, UCW,
> AServe, CL-HTTP, Araneida, etc. ;-)
>
> Here is a starting point:
>
> (defclass link ()
> ((url :accessor url :initform "http://")
> (title :accessor title :initform "")
> (nb-points :accessor nb-points :initform 1)
> (creation-date :accessor creation-date :initform (get-universal-time))
> ...
> ))
>
> Any takers ?

I'll help. Granted I am new to lisp and have little to contribute in
most other categories, but if you ever hit a warm bodies problem you
know who to call.

>
> Marc

Marc Battyani

unread,
Dec 6, 2005, 4:18:48 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> wrote
>...

> So let's rewrite a better one. By better one I mean adding new
> functionalities like categories and/or comments on links for instance.
>...

(Coming back after putting the kids to bed)

I'm replying collectively.

So far the balance is largely in favor of doing it so let's go!

But in my initial idea it's not my project, it's a lot of different
projects.
I mean it will be much more fun if there are several versions of it. So
interested people should use the libraries/tools/implementations they are
familiar with.
Personally, I will use Apache/mod_lisp/lispworks/postgresql/linux with my
framework.

In a second time we can work collectively to find better
algorithms/concepts/ideas.
For now I will at least add categories. I don't understand why they didn't
put them in the first place.

BTW if somebody don't write code but has some graphical elements to spare
that would be cool. (I mean taking the images/styles from reddit will
probably not be appreciated ;-) Things like a nice style, up/down arrows,
etc.

So far I've setup apache+mod_lisp+lispworks on my Debian box at
http://linkit.fractalconcept.com
(Don't rush to it. It only displays internal server error so far ;-)

Marc


ajones

unread,
Dec 6, 2005, 4:31:39 PM12/6/05
to

Marc Battyani wrote:
> "Marc Battyani" <Marc.B...@fractalconcept.com> wrote
> >...
> > So let's rewrite a better one. By better one I mean adding new
> > functionalities like categories and/or comments on links for instance.
> >...
>
> (Coming back after putting the kids to bed)
>
> I'm replying collectively.
>
> So far the balance is largely in favor of doing it so let's go!
>
> But in my initial idea it's not my project, it's a lot of different
> projects.
> I mean it will be much more fun if there are several versions of it. So
> interested people should use the libraries/tools/implementations they are
> familiar with.
> Personally, I will use Apache/mod_lisp/lispworks/postgresql/linux with my
> framework.

I've got one better, instead of just making independent websites +
databases agree on an api now for the sites to share data with each
other. Then if someone is too lazy to (submit to/register on/even read)
multiple sites they don't have to.

Peter Herth

unread,
Dec 6, 2005, 4:44:35 PM12/6/05
to
Marc Battyani wrote:

> BTW if somebody don't write code but has some graphical elements to spare
> that would be cool. (I mean taking the images/styles from reddit will
> probably not be appreciated ;-) Things like a nice style, up/down arrows,
> etc.

I am not much experience with CSS, but I have some arrows for you:
http://www.peter-herth.de/linkit.png
If there is need for more graphical elements, I will gladly try my
unskilled hands at them.

Paolo Amoroso

unread,
Dec 6, 2005, 4:29:08 PM12/6/05
to
Peter Herth <p.h...@t-online.de> writes:

> Paolo Amoroso wrote:
[...]


>> If this is an emotional reaction to Reddit being rewritten in Python,
>> I think it's a pointless exercise. And I'm afraid it may hurt the
>> reputation of Lispers.

[...]


> While Yoda would disagree, I do think that occasionally anger is a
> very good emotion to get things moving :). I never got around using

Given the responses in this thread, it does indeed look like emotions
are a good way to get things moving. I just wonder why flamewars
generate more words than code :)

Paolo Amoroso

unread,
Dec 6, 2005, 4:32:49 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:

> For now I will at least add categories. I don't understand why they didn't
> put them in the first place.

From what I remember from the interview I mentioned elsewhere,
categories are important with newspaper-like news sources, where a
large part of content is not interesting for a single reader. Reddit
instead lets the user promote--and hence see--what he is interested in.

Marc Battyani

unread,
Dec 6, 2005, 5:17:45 PM12/6/05
to
"Peter Herth" <p.h...@t-online.de> wrote

> Marc Battyani wrote:
>
> > BTW if somebody don't write code but has some graphical elements to
spare
> > that would be cool. (I mean taking the images/styles from reddit will
> > probably not be appreciated ;-) Things like a nice style, up/down
arrows,
> > etc.
>
> I am not much experience with CSS, but I have some arrows for you:
> http://www.peter-herth.de/linkit.png

Cool. Can you cut them in pieces and send them to me ?
The small ones with shadow please.

> If there is need for more graphical elements, I will gladly try my
> unskilled hands at them.

A logo ?

Marc


Marc Battyani

unread,
Dec 6, 2005, 6:18:20 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> wrote

> I mean it will be much more fun if there are several versions of it. So
> interested people should use the libraries/tools/implementations they are
> familiar with.
> Personally, I will use Apache/mod_lisp/lispworks/postgresql/linux with my
> framework.

Are there anybody trying to do one version or am I going to be the only one
?
(You can email me if you want to stay anonymous ;-)

Let's hope there will be several versions.

Marc


Bill Atkins

unread,
Dec 6, 2005, 6:33:37 PM12/6/05
to
I'll be doing one with Lisp on a Ladder/Postgresql/(Araneida, lighttpd,
and apache, hopefully)/(Linux and Windows)/(SBCL, CMUCL, Clisp, and
Allegro).

As far as I know there are no Lisp FastCGI bindings for lighttpd yet,
which is a shame. So that part of the platform might not be possible.
Even so, I'd like mine to run in as many places as it reasonably can.

Bill

Marc Battyani

unread,
Dec 6, 2005, 6:54:20 PM12/6/05
to

"Bill Atkins" <batk...@gmail.com> wrote

Well, it's interesting to see different views of a same problem. Personally
I will only target Lispworks so that it will work on
Windows/Linux/Unix/MacOS/etc.

I've already the site up and running. Right now I'm working on the
application part. :)

Marc


Creighton Hogg

unread,
Dec 6, 2005, 7:12:07 PM12/6/05
to

So if it's a reddit-ish, do you already have in mind what
algorithm you'd use to decide the ranking of posts?
Do tell!

jayessay

unread,
Dec 6, 2005, 7:29:18 PM12/6/05
to
William Bland <doctorb...@gmail.com> writes:

> On Tue, 06 Dec 2005 20:06:30 +0000, Peter Seibel wrote:
> >
> > And what better way to find out exactly what those problems are than
> > to implement the thing that exposed them in the first place.
>
> Exactly. Libraries without applications aren't very interesting.

Worse: they're almost certainly wrong, since they're "defined" via
some sort of apriori "divination".


/Jon

--
'j' - a n t h o n y at romeo/charley/november com

Marc Battyani

unread,
Dec 6, 2005, 7:44:30 PM12/6/05
to

"Creighton Hogg" <wch...@login01.hep.wisc.edu> wrote

Sorry but I start with the infrastructure. Showing the links, submitting
them, managing the users, the categories, etc.
The ranking function will come later but feel free to expose your ideas on
the subject.

Marc


Marc Battyani

unread,
Dec 6, 2005, 8:30:20 PM12/6/05
to

"Marc Battyani" <Marc.B...@fractalconcept.com> wrote

>
> Sorry but I start with the infrastructure. Showing the links, submitting
> them, managing the users, the categories, etc.
> The ranking function will come later but feel free to expose your ideas on
> the subject.

OK, here is what I have after 4 hours:
http://linkit.fractalconcept.com

So far I have most of the objects classes, the database stuff, the web site
up and running and the basic functionnalities to submit and assign
categories to links.
What is mostly missing is: Links ranking and user management. The data
structure is there but then there is some code to write.

I will leave this site up for a few minutes before going to bed (it's 2:30
am here ;-). I will cut it soon as I don't want to have it full of spam
tomorrow.

Marc


Marc Battyani

unread,
Dec 6, 2005, 8:33:31 PM12/6/05
to

"Marc Battyani" <Marc.B...@fractalconcept.com> wrote

>
> OK, here is what I have after 4 hours:
> http://linkit.fractalconcept.com
>
> So far I have most of the objects classes, the database stuff, the web
site
> up and running and the basic functionnalities to submit and assign
> categories to links.
> What is mostly missing is: Links ranking and user management. The data
> structure is there but then there is some code to write.
>
> I will leave this site up for a few minutes before going to bed (it's 2:30
> am here ;-). I will cut it soon as I don't want to have it full of spam
> tomorrow.

It is supposed to work with IE and firefox. I have never tested this with
other browsers so they probably don't work... ;-)

Marc


Sylvain

unread,
Dec 6, 2005, 8:54:03 PM12/6/05
to
Marc Battyani wrote:
> OK, here is what I have after 4 hours:
> http://linkit.fractalconcept.com

cool!


...and you make me feel sooooo stupid (I am still toying
around with web development while learning / reinventing the
wheel as I go along...)

--Sylvain

Pascal Bourguignon

unread,
Dec 6, 2005, 8:59:47 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:

> "Marc Battyani" <Marc.B...@fractalconcept.com> wrote
>>
>> Sorry but I start with the infrastructure. Showing the links, submitting
>> them, managing the users, the categories, etc.
>> The ranking function will come later but feel free to expose your ideas on
>> the subject.
>
> OK, here is what I have after 4 hours:
> http://linkit.fractalconcept.com
>
> So far I have most of the objects classes, the database stuff, the web site
> up and running and the basic functionnalities to submit and assign
> categories to links.
> What is mostly missing is: Links ranking and user management. The data
> structure is there but then there is some code to write.

Great! Now we can all boycot reddit and switch to linkit! :-)


> I will leave this site up for a few minutes before going to bed (it's 2:30
> am here ;-). I will cut it soon as I don't want to have it full of spam
> tomorrow.

Leave it.


--
__Pascal Bourguignon__ http://www.informatimago.com/

"Indentation! -- I will show you how to indent when I indent your skull!"

Pascal Bourguignon

unread,
Dec 6, 2005, 9:00:10 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:

It works with Safari.

Marc Battyani

unread,
Dec 6, 2005, 9:07:53 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> wrote

OK sleeping time, I will cut the site ;-)

27 people have come to look at it in 35 min and I have already had to remove
one spam item which was not kind for some guys...

As you may have seen, I've already added categories to links and I will also
add comments soon.

Any ideas we could try ?
Comments on the site so far ?
Suggestions for the ranking algorithms ?
etc.

Marc


Pascal Bourguignon

unread,
Dec 6, 2005, 9:28:13 PM12/6/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:
> OK sleeping time, I will cut the site ;-)
>
> 27 people have come to look at it in 35 min and I have already had to remove
> one spam item which was not kind for some guys...
>
> As you may have seen, I've already added categories to links and I will also
> add comments soon.
>
> Any ideas we could try ?
> Comments on the site so far ?
> Suggestions for the ranking algorithms ?
> etc.

Start with an antispam filter to be able to let it on 24x7 ;-)


--
__Pascal Bourguignon__ http://www.informatimago.com/

In a World without Walls and Fences,
who needs Windows and Gates?

rsher...@gmail.com

unread,
Dec 6, 2005, 9:55:04 PM12/6/05
to
>As far as I know there are no Lisp FastCGI bindings for lighttpd yet,
>which is a shame. So that part of the platform might not be possible.
>Even so, I'd like mine to run in as many places as it reasonably can.

There's a native implementation of FastCGI for CMUCL, and I believe
there's a binding to libfcgi for Clisp. I haven't tried either of
them, but if they implement the FastCGI protocol, they should work with
lighttpd (or apache, or any other server which supports FastCGI).

Pitr

unread,
Dec 6, 2005, 10:12:08 PM12/6/05
to
Marc Battyani wrote:
> OK sleeping time, I will cut the site ;-)
>
> As you may have seen, I've already added categories to links and I will also
> add comments soon.
>
> Any ideas we could try ?
> Comments on the site so far ?

You seem to be rewriting Slashdot of some sort, with those categories
and comments. The philosophy behind Reddit is pretty clear: minimalism.
That is really the only thing that attracts me to it. They have minimal
design, with tiny arrows, very little HTML code per se. Some minimal
AJAX (which I hope we are to implement eventually). No useless words.
Less is bloody more. Even their logo is tiny.

--pitr

Message has been deleted

nall...@gmail.com

unread,
Dec 7, 2005, 1:32:41 AM12/7/05
to
Message has been deleted

Ulrich Hobelmann

unread,
Dec 7, 2005, 3:31:39 AM12/7/05
to
Pascal Bourguignon wrote:
> "Marc Battyani" <Marc.B...@fractalconcept.com> writes:
>> OK sleeping time, I will cut the site ;-)
>>
>> 27 people have come to look at it in 35 min and I have already had to remove
>> one spam item which was not kind for some guys...
>>
>> As you may have seen, I've already added categories to links and I will also
>> add comments soon.
>>
>> Any ideas we could try ?
>> Comments on the site so far ?
>> Suggestions for the ranking algorithms ?
>> etc.
>
> Start with an antispam filter to be able to let it on 24x7 ;-)

Or maybe moderation, so registered users can vote out the crap (not just
spam, but troll comments maybe)?

--
Majority, n.: That quality that distinguishes a crime from a law.

Timofei Shatrov

unread,
Dec 7, 2005, 5:39:06 AM12/7/05
to
On Wed, 07 Dec 2005 09:31:39 +0100, Ulrich Hobelmann
<u.hob...@web.de> tried to confuse everyone with this message:

Killfile is the perfect solution :)

--
|a\o/r|,-------------.,---------- Timofei Shatrov aka Grue ------------.
| m"a ||FC AMKAR PERM|| mail: grue at mail.ru http://grue3.tripod.com |
| k || PWNZ J00 || Kingdom of Loathing: Grue3 lvl 18 Seal Clubber |
`-----'`-------------'`-------------------------------------------[4*72]

Emre Sevinc

unread,
Dec 7, 2005, 8:44:18 AM12/7/05
to
>>>>> "CH" == Creighton Hogg <wch...@login01.hep.wisc.edu> writes:

CH> On Wed, 7 Dec 2005, Marc Battyani wrote:
>> "Bill Atkins" <batk...@gmail.com> wrote > I'll be doing one
>> with Lisp on a Ladder/Postgresql/(Araneida, lighttpd, > and
>> apache, hopefully)/(Linux and Windows)/(SBCL, CMUCL, Clisp, and
>> > Allegro).
>> >
>> > As far as I know there are no Lisp FastCGI bindings for
>> lighttpd yet, > which is a shame. So that part of the platform
>> might not be possible. > Even so, I'd like mine to run in as
>> many places as it reasonably can.
>>
>> Well, it's interesting to see different views of a same
>> problem. Personally I will only target Lispworks so that it
>> will work on Windows/Linux/Unix/MacOS/etc.
>>
>> I've already the site up and running. Right now I'm working on
>> the application part. :)

CH> So if it's a reddit-ish, do you already have in mind what
CH> algorithm you'd use to decide the ranking of posts? Do tell!


One of my buddies is writing a way-better-than-reddit clone (in PHP)
and here's the ranking algorithm he used (probably this will be
transformed into something more complex):

(/ (- positive-points negative-points)
(- current-timestamp submission-timestamp))

Simple and useful enough for beginning I guess.

Happy hacking,

--
Emre Sevinc

eMBA Software Developer Actively engaged in:
http:www.bilgi.edu.tr http://ileriseviye.org
http://www.bilgi.edu.tr http://fazlamesai.net
Cognitive Science Student http://cazci.com
http://www.cogsci.boun.edu.tr

Marc Battyani

unread,
Dec 7, 2005, 11:23:51 AM12/7/05
to

"Marc Battyani" <Marc.B...@fractalconcept.com> wrote

>
> OK sleeping time, I will cut the site ;-)
>
> Any ideas we could try ?
> Comments on the site so far ?
> Suggestions for the ranking algorithms ?
> etc.

OK I'm back and I have put the site on again.

I've also adding some new features:
-the user/registration stuff.
-categories for links with catetogry filters for each user.
-submitters filters for each user. (kill files)

As I currently work on the live site you may see some glitches and you will
see the new features coming as soon as I add them. So check from time to
time.

Marc


Pete Kazmier

unread,
Dec 7, 2005, 11:39:11 AM12/7/05
to
"Marc Battyani" <Marc.B...@fractalconcept.com> writes:

> I've also adding some new features:
> -the user/registration stuff.
> -categories for links with catetogry filters for each user.
> -submitters filters for each user. (kill files)
>

I think it would be very helpful if those of you undertaking this
endeavor would make your source code available as you develop. This
would enable others (specifically those new to CL) an opportunity to
see how some of the veteran lispers approach web development using a
non-trivial example.

Thanks,
Pete

Robert Uhl

unread,
Dec 7, 2005, 12:12:40 PM12/7/05
to
I'm afraid I can't read Italian, so the linked-to page does me little
good...

--
Robert Uhl <http://public.xdi.org/=ruhl>
We're going to Moe's. If we're not back, avenge our deaths.
--Homer Simpson

Bill Atkins

unread,
Dec 7, 2005, 12:21:11 PM12/7/05
to

What kind of framework (if any) are you using for this?

Damir

unread,
Dec 7, 2005, 4:29:20 PM12/7/05
to
Or even better, setup and environment documentation.

>From what I saw, it's amazing what Marc had done in just 7 hours...

jtd...@gmail.com

unread,
Dec 7, 2005, 7:30:11 PM12/7/05
to

Great job. The site looks really good so far. One comment: since last
night it seems to have started crashing Safari. I'm not sure why.
I'll post again if I can get an easily reproducable scenario.

> Suggestions for the ranking algorithms ?

I do like the idea behind the slashdot Karma system. Posters with a
good history get a point bonus on new posts. Perhaps the following
algorithm would be a reasonable starting point:

(defun initial-points-for-post (poster)
(if (< (total-posts poster) 10)
0
(/ (average-points-on-previous-posts poster) 2)))

So, newbies get no bonus, but with more than 10 posts under your belt
you get free points equal to half the average score on your previous
posts...

Justin Dubs

jtd...@gmail.com

unread,
Dec 7, 2005, 7:38:34 PM12/7/05
to

Okay, I've reproduced the Safari crash. If I go to a profile page for
a submitter, in this case jtdubs (myself) and then click on the "Hot"
link, Safari crashes. Not every time, but better than half the time.

Here are the relavent parts of the Safari crash report:

Date/Time: 2005-12-07 19:32:04.610 -0500
OS Version: 10.4.1 (Build 8B15)
Report Version: 3

Command: Safari
Path: /Applications/Safari.app/Contents/MacOS/Safari
Parent: WindowServer [62]

Version: 2.0 (412)
Build Version: 1
Project Name: WebBrowser
Source Version: 4120000

[... snip ...]

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000074

Thread 0 Crashed:
0 com.apple.WebCore 0x95b152d8 DOM::DocumentImpl::part()
const + 0
1 com.apple.WebCore 0x95c080bc
KJS::XMLHttpRequest::changeState(KJS::XMLHttpRequestState) + 72
2 com.apple.WebCore 0x95c08f5c
KJS::XMLHttpRequest::slotData(KIO::Job*, char const*, int) + 236
3 com.apple.WebCore 0x95b4bb5c KWQSignal::call(KIO::Job*,
char const*, int) const + 152
4 com.apple.WebKit 0x958ecb64 -[WebSubresourceClient
didReceiveData:lengthReceived:] + 68
5 com.apple.Foundation 0x928ae8a0
-[NSURLConnection(NSURLConnectionInternal) _sendDidReceiveDataCallback]
+ 564
6 com.apple.Foundation 0x928acd14
-[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 440
7 com.apple.Foundation 0x928acae0 _sendCallbacks + 156
8 com.apple.CoreFoundation 0x9074ae2c __CFRunLoopDoSources0 + 384
9 com.apple.CoreFoundation 0x9074a35c __CFRunLoopRun + 452
10 com.apple.CoreFoundation 0x90749ddc CFRunLoopRunSpecific + 268
11 com.apple.HIToolbox 0x93122ca0 RunCurrentEventLoopInMode +
264
12 com.apple.HIToolbox 0x93122334 ReceiveNextEventCommon + 380
13 com.apple.HIToolbox 0x931221a0
BlockUntilNextEventMatchingListInMode + 96
14 com.apple.AppKit 0x9361d1a4 _DPSNextEvent + 384
15 com.apple.AppKit 0x9361ce68 -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
16 com.apple.Safari 0x00007058 0x1000 + 24664
17 com.apple.AppKit 0x936193cc -[NSApplication run] + 472
18 com.apple.AppKit 0x93709c1c NSApplicationMain + 452
19 com.apple.Safari 0x00002700 0x1000 + 5888
20 com.apple.Safari 0x00057190 0x1000 + 352656

Justin Dubs

Edi Weitz

unread,
Dec 7, 2005, 7:44:23 PM12/7/05
to
I can reproducibly crash Firefox 1.5 (Windows) like this:

Login, then click "Submit", then click "Add Category" but don't choose
one. Now in the popup window click "Close" twice. Boom.

Cheers,
Edi.

--

Lisp is not dead, it just smells funny.

Real email: (replace (subseq "spam...@agharta.de" 5) "edi")

Marc Battyani

unread,
Dec 8, 2005, 3:48:34 AM12/8/05
to

"Edi Weitz" <spam...@agharta.de> wrote in message
news:upso8c...@agharta.de...

> I can reproducibly crash Firefox 1.5 (Windows) like this:
>
> Login, then click "Submit", then click "Add Category" but don't choose
> one. Now in the popup window click "Close" twice. Boom.

Don't do that ;-)

OK I have FF 1.06 I'm getting the 1.5 version

Marc


Jeremy Smith

unread,
Dec 8, 2005, 11:34:19 AM12/8/05
to
Peter Herth <p.h...@t-online.de> wrote in
news:dn50o2$d59$01$1...@news.t-online.com:

> Marc Battyani wrote:
>
>> BTW if somebody don't write code but has some graphical elements to
>> spare that would be cool. (I mean taking the images/styles from
>> reddit will probably not be appreciated ;-) Things like a nice style,
>> up/down arrows, etc.
>
> I am not much experience with CSS, but I have some arrows for you:
> http://www.peter-herth.de/linkit.png
> If there is need for more graphical elements, I will gladly try my
> unskilled hands at them.

Instead of arrows, why not use Lisp parentheses rotated 90 degrees? ;-)

Jeremy.

jtd...@gmail.com

unread,
Dec 8, 2005, 1:43:05 PM12/8/05
to

Let's see, ( and ) rotated 90 degrees. That'd be - and -. I don't
think that looks good at all.

Oh, sorry, wrong axis.

pef....@gmail.com

unread,
Dec 8, 2005, 4:15:13 PM12/8/05
to
Bill Atkins a écrit :

> I'm game. I've started working on a Rails clone in Lisp called Lisp on
> a Ladder. It will be mostly a toy, but I think it might be a good
> stepping stone to Lisp for people who are impressed with Rails.

Have you considered using Lisp on Lines
(http://www.cliki.net/lisp-on-lines)
instead ?

The Lisp community is far from being as huge as those of the other
languages
and web programming is not a field where we can spare talented
contributors,
imho. Duplication of effort at this stage is, again imho, harmful.

I can't speak for D.Crampsie, but i really think you should contact him
about
this, especially since you seem to already have thought through this
problem.

-- Pierre-François

Bill Atkins

unread,
Dec 8, 2005, 4:24:47 PM12/8/05
to

Yep, I'm aware of Lisp on Lines. Aside from the similarly alliterative
names, my project doesn't actually have too much in common with
drewc's. The goal of Lisp on a Ladder is mainly an educational one -
to provide an easy way for people familar with Rails to get involved
with Lisp and to write some applications in it (so the name is kind of
a (n unintentional) reference to its purpose; it's a ladder to an
understanding of Lisp). It isn't meant to be a framework for real
applications; instead, it will be more like a case study in Lisp
programming for those who are unfamiliar with it. Also, the folks who
argue against Lisp will *finally* not be able to claim that "Lisp isn't
practical, because it doesn't have anything like Rails." That gets
really tiresome.

Bill

Gareth McCaughan

unread,
Dec 9, 2005, 3:49:03 AM12/9/05
to
Bill Atkins wrote:

> Yep, I'm aware of Lisp on Lines. Aside from the similarly alliterative
> names, my project doesn't actually have too much in common with
> drewc's. The goal of Lisp on a Ladder is mainly an educational one -
> to provide an easy way for people familar with Rails to get involved
> with Lisp and to write some applications in it (so the name is kind of
> a (n unintentional) reference to its purpose; it's a ladder to an
> understanding of Lisp). It isn't meant to be a framework for real
> applications; instead, it will be more like a case study in Lisp
> programming for those who are unfamiliar with it. Also, the folks who
> argue against Lisp will *finally* not be able to claim that "Lisp isn't
> practical, because it doesn't have anything like Rails." That gets
> really tiresome.

I think I'm confused. How can something be "anything like Rails"
and therefore shown to be "practical", if the thing in question
"isn't meant to be a framework for real applications"?

If someone thiks that practicality means having a Rails-alike
(a pretty weird view, since it means that almost nothing is
"practical", but that's their problem) then they're unlikely
to be convinced by something that's only intended as an
educational tool, or a case study.

What am I missing?

--
Gareth McCaughan
.sig under construc

Bruce Stephens

unread,
Dec 9, 2005, 4:46:09 AM12/9/05
to
"Bill Atkins" <batk...@gmail.com> writes:

[...]

> It isn't meant to be a framework for real applications; instead, it
> will be more like a case study in Lisp programming for those who are
> unfamiliar with it. Also, the folks who argue against Lisp will
> *finally* not be able to claim that "Lisp isn't practical, because
> it doesn't have anything like Rails." That gets really tiresome.

Maybe one of us is mistaken about what Rails is. I understood that it
was being promoted (and used) both as something that's easy to get
into, and as something that can produce real applications.

It's that idea of going from something that's really easy to prototype
right through to the application itself that's an important aspect of
Rails.

I doubt anyone would question lisp's ability to have cool toys, and
maybe having a cool Rails type toy might be useful in some sense. But
that wouldn't be anything much like Rails, I suspect.

Bill Atkins

unread,
Dec 9, 2005, 11:47:58 AM12/9/05
to

Hmm. I think you guys are reading too much into it. :)

All I meant by the phrase "not a framework for real applications" is
that I'm not writing this to serve as an enterprise-grade tool or
because I think the concepts in Lisp on a Ladder will be the best way
to do web programming. I think the future in that area lies with
continuation-based frameworks, and I think that's how "real"
applications ought to be done. But LoaL will follow the Rails model
and will be very similar to it in lots of ways. This isn't because I
think the Rails model is necessarily the best for developing
applications, but again strictly for educational purposes. The idea is
to introduce people who are excited about Rails to the power that
macros can bring. Also, if it can bring more awareness of Lisp and/or
flush out some of the problems that keep Lisp from being used
regularly, all the better. It can still be practical and useful even
if I'm not intending it to be used for truly serious work. For people
who believe Rails to be the most productive framework around, for
example, this will be extremely practical and useful. But that doesn't
mean I think it's the best way to do real applications (nor that I
think Rails is fundamentally bad, just that continuation frameworks
feel much nicer).

Hope that cleared things up.

Bill

Michael Sullivan

unread,
Dec 9, 2005, 1:27:14 PM12/9/05
to
Paolo Amoroso <amo...@mclink.it> wrote:
> "Marc Battyani" <Marc.B...@fractalconcept.com> writes:

> > For now I will at least add categories. I don't understand why they didn't
> > put them in the first place.

> From what I remember from the interview I mentioned elsewhere,
> categories are important with newspaper-like news sources, where a
> large part of content is not interesting for a single reader. Reddit
> instead lets the user promote--and hence see--what he is interested in.

The usefulness of categories is that one can promote things for certain
readers and not others. There are probably *very* few people with all
the exact same interests that I have. If I grade based on how
interesting things are to me, that isn't very helpful to most people,
even those who share my opinions about certain subjects.

With categories you could promote things based on how well I thought
they fit each of their keyword targets (i.e. +Lisp, -General for some
programming link). I envision a set of up and down arrows for each
keyword, plus a "pan" (minus all) and a "general" option for "I think
this is of general interest".

It may be that with a wide enough readership, categories aren't actually
necessary -- that the very low accuracy feedback is sufficient to
produce useful results. But it doesn't look like it works too well as
reddit currently stands, -- it's super-heavy weighted towards topics of
interest to programmers, and especially non-mainstream language
programmers.


Michael

ashtonk...@gmail.com

unread,
Aug 17, 2012, 1:53:01 PM8/17/12
to
On Tuesday, December 6, 2005 1:21:26 PM UTC-6, Marc Battyani wrote:
> That would be much more fun than whining. ;-)
>
> So let's rewrite a better one. By better one I mean adding new
> functionalities like categories and/or comments on links for instance.
>
> Let's set the rules:
>
> Rule 1: Anything is OK as long as it's in Common Lisp.
> Rule 2: An exception to rule 1 is accepted for stuff like the OS(Linux,
> MacOS, etc.), Database (PostgreSQL, MySQL), Webservers (Apache), etc.
>
> After all there are more than enough Lisp web frameworks around (TBNL, UCW,
> AServe, CL-HTTP, Araneida, etc. ;-)
>
> Here is a starting point:
>
> (defclass link ()
> ((url :accessor url :initform "http://")
> (title :accessor title :initform "")
> (nb-points :accessor nb-points :initform 1)
> (creation-date :accessor creation-date :initform (get-universal-time))
> ...
> ))
>
> Any takers ?
>
> Marc

The lack of activity here proves a point I've been trying to make a while: the main problem with Lisp is that Lispers don't work together very well. They like to talk big plans, but very few actually end up implementing.

And before you flame me, I'd like to point out that I work professionally in Common Lisp. The Community's heavily individualistic nature is demonstrable in the lack of tools required for proper team work: e.g. sane build systems, tests, debugging and profiling tools, and IDEs.

--Ashton

Pascal J. Bourguignon

unread,
Aug 17, 2012, 2:17:06 PM8/17/12
to
And what are you doing about it?

People made asdf, Fare's doing xcvb, Xach's doing Quicklisp, people have
made several test frameworks, I did cl-stepper (it could be extended to
a profiling tool adding some counters), people have made emacs+slime,
ccl+hemlock, MCLIDE, ABLE, etc.


Nobody worked on a Redit-look-a-like because the Redit idea is dumb
(newsgroups are much better), because it would be dumb to develop a
system nobody would use, because we're busy working or more interesting
or more paying projects. If you're interested in something like redit,
you'd better work on improving gmane to better deal with web forums
(stuff like redit, news.ycombinator.com, etc, so that you can follow
threads with nntp and post answers without having to touch those
horrible user interfaces).



--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

RG

unread,
Aug 17, 2012, 9:09:35 PM8/17/12
to
In article <87r4r5i...@kuiper.lan.informatimago.com>,
"Pascal J. Bourguignon" <p...@informatimago.com> wrote:

> Nobody worked on a Redit-look-a-like because the Redit idea is dumb
> (newsgroups are much better)

Why?

Pascal J. Bourguignon

unread,
Aug 17, 2012, 9:23:01 PM8/17/12