Hacker News, Clojure, and GSOC

281 views
Skip to first unread message

Tim Daly

unread,
Apr 17, 2013, 3:27:59 AM4/17/13
to Clojure, da...@axiom-developer.org
At least 2 of the people on this mailing list read Hacker News.

One thing that really annoys me is the "Link Expired" message.
If you wait more than a minute or two on a page, the NEXT button
will fail to get the next news item.

It seems to me that the Hacker News people need an education in
using immutable data structures and a lesson or two in Hickey's
notion of state and time.

If Hacker News kept their news chains as immutable data structures
they could update the pages without expiring links. You get a fresh
head of the pages but I'm 3 pages further along on an "old" path
yet we're both walking the same immutable structure.

This is painfully obvious to a Clojure user like myself.
Does anyone know anyone associated with Hacker News?
Can we clue them into immutable data structures?

Better yet, does ClojureScript fully support a method of
walking immutable host data structures so they could code the
pages with ClojureScript? That would be a very visible win in
a widespread community.

How would Datomic play in this game? Would the global immutable
data structure living in Datomic? Or would you simply architect
multiple machines that push/pull git-like updates among themselves?

A clone of Hacker News in Clojure would be a good GSOC project
as it is well defined and small enough for a single person effort.

Tim Daly

Stuart Sierra

unread,
Apr 17, 2013, 9:13:19 AM4/17/13
to clo...@googlegroups.com


On Wednesday, April 17, 2013 3:27:59 AM UTC-4, da...@axiom-developer.org wrote:
Does anyone know anyone associated with Hacker News?
Can we clue them into immutable data structures?

I know that Hacker News is mostly written by Paul Graham in Arc [1], his personal dialect of Lisp. As such, it's unlikely anyone will be able to convince him to switch to Clojure. :)

P.G. recently wrote an article [2] about how he broke the site when manipulating the production database from the REPL.

-S

[1]: http://paulgraham.com/arc.html
[2]: https://news.ycombinator.com/item?id=5239673

Zack Maril

unread,
Apr 18, 2013, 3:24:26 AM4/18/13
to clo...@googlegroups.com
Some fun facts:
1. You could probably get a full history of Hacker News by carefully crawling the HNSearch API[0]. Chronically crawling the new page for links would allow you to stay in synch with Hacker News proper, and a monthly refresh of the data would probably be smart to hit anything you might miss. 
2. The source code for an early version of Hacker News has been floating around, distributed with Arc if I remember correctly. From PG's comments, the main updates to the site has mainly been dealing with spammers and voting ring detection.

Combining the two together, it is quite possible to make a read-only version of hacker news with a full history and proper linking. Most of the changes have been made only to the write only sections. So, it would be pretty straightforward to clone hacker news and keep it cloned if you throw out the write parts. Additionally, if you got the lag for updates down below a few seconds, you could piggyback off hacker news and just redirect submissions and comments there (you could even really tricky with an iframe if that tickles your fancy). In that manner, you could clone the functionality of hacker news with a full history. It seems like this wouldn't even really take a whole summer to do. Maybe a week of concentrated effort, depending on how fast you can pull down the data from the API and how well you understand your stack.

-Zack
Reply all
Reply to author
Forward
0 new messages