7 ms·
Original Hacker News Source Code (2009)
- yellow_lead 5y agoMaybe this should read "Original Hacker News Source Code" as this doesn't look like it's been updated since 2015.
- dang 5y agoYes, I've added that and added the date now- I assume it's from 2009 since that's the last announcement I could find.
- 51Cards 5y agoI always loved working in LISP, it was just so concise and really made you focus on code structure and hierachy. Need to get back into it again sometime.
- qsort 5y agoAgreed, there's something special about LISPs I can't quite put my finger on. Which is kind of funny, because I've never used any lisp professionally and I don't think there are very many use cases I'd use one for. Maybe SICP is just an unreasonably excellent book?
- amackera 5y agoTo me, the specialness of LISPs comes from the uniformity of the syntax (which in turn makes code easier to understand and reason about). This is probably highly subjective! That said, SICP is unreasonably excellent :)
- rgrmrts 5y agoJust adding on to this thread as a fairly new lisp enthusiast. I picked up SICP during the pandemic and have really fallen in the lisp rabbit hole and it has been super fun. I’ve mostly been toying with scheme (guile) and a bit of clojure.
- amackera 5y agoKeep going! Clojure is a joy. Strong thinkers in the community!
- QuadrupleA 5y agoI've enjoyed messing around with Lisp, but for me the uniformity of the syntax makes it harder to reason about - everything looks the same, big blobs of parenthesis. That's part of its appeal, but also a big part of its downfall I think - other languages can utilize a wider "Ascii spectrum" and represent different things in lexically different ways, making it easier to distinguish at a glance.
- amackera 5y agoI think this makes sense. Double-edged swords make for powerful tools. I like to think you can make a DSL for any situation, but it's not like I've actually done that in practice hah.
- skywal_l 5y agoThe syntax for me is a drag on the language. Make me spend more than a 2 seconds trying to untangle parameters from function name and you lost me. What I think made the language special is its level of abstractness. Unless I am mistaken, it is the first language where you could manipulate function as a first-class citizen. This and the ability to use closure. 60 years ago, it was really innovative. Now, javascript does it...
- amackera 5y agoDefinitely first-order functions made LISP powerful compared to its contemporaries-- but also you can't mention abstraction without mentioning macros. Macros are first-class metaprogramming, and very much enabled by the uniformity of s-expressions. That said, people can do awesome stuff with any language, so all this is very subjective IMO.
- kazinator 5y agoThe function name is the first item; the parameters are the others: (fun x y z). Some Lisp dialects separate the two further in definitions: (defun fun (x y z) ...) The Scheme style is "definition follows use": the definition looks like the call: (define (fun x y z) ...) Now if the function name above were actually y and not fun, I'd have to spend more than two seconds separating it from the arguments fun, x and z.
- dijit 5y agoI doubt very much that this is the actual code, not being modified in 8 years is a huge stretch.
- dang 5y agoIt has indeed been modified.
- deleted 5y ago[deleted]
- dang 5y agoRelated old threads: The earliest version of HN I can find; 166 LOC - https://news.ycombinator.com/item?id=723767 https://news.ycombinator.com/item?id=723767 - July 2009 (19 comments) Preliminary release of new Arc version, including latest HN source - https://news.ycombinator.com/item?id=634113 https://news.ycombinator.com/item?id=634113 - May 2009 (9 comments) News.YC open-sourced - https://news.ycombinator.com/item?id=122829 https://news.ycombinator.com/item?id=122829 - Feb 2008 (20 comments) Arc's Out - https://news.ycombinator.com/item?id=106398 https://news.ycombinator.com/item?id=106398 - Jan 2008 (124 comments) Others?
- dvfjsdhgfv 5y ago> The earliest version of HN I can find; 166 LOC - https://news.ycombinator.com/item?id=723767 https://news.ycombinator.com/item?id=723767 - July 2009 (19 comments) Unfortunately the original file (news.6sep06.arc) seems to be missing, anyone has a copy?
- msla 5y agohttps://web.archive.org/web/20090728102853/https://www.ycombinator.com/arc/news.6sep06.arc https://web.archive.org/web/20090728102853/https://www.ycomb...
- dvfjsdhgfv 5y agoThanks! There's something beautiful about early versions of popular projects that expanded later: you can basically grasp the concept of how everything works together and what the basic ideas were, simplicity at its best.
- caslon 5y agoIt's worth noting that this is a very old distribution of it; Arc now runs on Racket.
- hellbannedguy 5y agoI don't know anything about Paul Graham, but I wish more sites were coded like this site. It will probally take me forever, but one of my goals is to understand Lisp, and how this website works.
- bachmeier 5y agoNot that this is the best way to learn Lisp, but this book by PG might help you understand Lisp: http://www.paulgraham.com/onlisptext.html http://www.paulgraham.com/onlisptext.html
- hellbannedguy 5y agothanks
- ibraheemdev 5y ago@dang is Hacker News still running on Lisp?
- sneak 5y agoIs there a particular reason the current HN source code isn't public? Is it security-related (people might find and exploit bugs), privacy/secrecy-related (YC-internal features that aren't publicly disclosed), or just tradition?
- dang 5y agoMore privacy than security related, in the way you're using those terms. There are a lot of anti-abuse features, for example, that need to stay secret (yes we know, 'security by obscurity' etc., but nobody knows how to secure an internet forum from abuse, so we do what we know how to do). It would be a lot of work to disentangle those features from the backbone of the code. Actually pg used to use a clever 'hooks' design to keep those things separate, but inevitably they bleed into each other.
- RyanShook 5y agoAre there any more current versions of HN code available?
- utxaa 5y agowhat about the current source?
- krapp 5y agoThe current source of Hacker News is proprietary, because this forum is attached to a billion-dollar startup incubator and there's apparently real money to be had for wantrepreneurs trying to game the algorithm, and plenty of "business logic" they would have to remove and whatnot. The current source of Arc Lisp is at https://arclanguage.org https://arclanguage.org. It isn't open source in that there is any way to contribute or make pull requests that I'm aware of (I may simply be too much of a pleb to know,) rather now and then new versions simply descend from the Lisp gods and are posted. So it's more 'source available.' The current public fork of Arc Lisp is Anarki at https://github.com/arclanguage/anarki https://github.com/arclanguage/anarki. It has deviated a great deal from Arc and its version of the forum is not in any way in feature parity with Hacker News. But anyone is welcome to make a PR and contribute. The Arc language forum is at https://arclanguage.org/forum https://arclanguage.org/forum.
- d110af5ccf 5y agoArc is most definitely "open source", not "proprietary, source available". It's provided under the Artistic License (https://en.wikipedia.org/wiki/Artistic_License https://en.wikipedia.org/wiki/Artistic_License). That license is GPL compatible, upholds the "spirit" of FOSS, and is OSI certified. A bazaar development model is one that takes place in the open with contributions by strangers actively welcomed. A cathedral model involves development behind closed doors with periodic releases. (https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)
- krapp 5y agoBy "proprietary" I meant HN specifically.
- dang 5y agoAre you still using Arc these days? What are the top three things where Anarki deviates from Arc?