News for hackers. Stuff that matters.
Re:Original Hacker News Source Code (2009) by dang on Wednesday June 09, 2021 @04:20PM (#27452653)
Related old threads:

The earliest version of HN I can find; 166 LOC - 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 - May 2009 (9 comments)

News.YC open-sourced - https://news.ycombinator.com/item?id=122829 - Feb 2008 (20 comments)

Arc's Out - https://news.ycombinator.com/item?id=106398 - Jan 2008 (124 comments)

Others?

Re:Original Hacker News Source Code (2009) by dvfjsdhgfv on Wednesday June 09, 2021 @04:57PM (#27453126)
> The earliest version of HN I can find; 166 LOC - 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?

Re:Original Hacker News Source Code (2009) by msla on Wednesday June 09, 2021 @05:43PM (#27453637)
Re:Original Hacker News Source Code (2009) by dvfjsdhgfv on Thursday June 10, 2021 @02:10AM (#27457359)
Thanks! 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.
Re:Original Hacker News Source Code (2009) by sneak on Wednesday June 09, 2021 @05:35PM (#27453553)
Is 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?
Re:Original Hacker News Source Code (2009) by dang on Thursday June 10, 2021 @02:08AM (#27457350)
More 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.
Re:Original Hacker News Source Code (2009) by 51Cards on Wednesday June 09, 2021 @04:12PM (#27452542)
I 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.
Re:Original Hacker News Source Code (2009) by qsort on Wednesday June 09, 2021 @04:19PM (#27452647)
Agreed, 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?

Re:Original Hacker News Source Code (2009) by amackera on Wednesday June 09, 2021 @04:43PM (#27452967)
To 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 :)

Re:Original Hacker News Source Code (2009) by QuadrupleA on Wednesday June 09, 2021 @05:25PM (#27453444)
I'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.

Re:Original Hacker News Source Code (2009) by amackera on Friday June 11, 2021 @03:21PM (#27477390)
I 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.

Re:Original Hacker News Source Code (2009) by rgrmrts on Wednesday June 09, 2021 @04:46PM (#27453026)
Just 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.

Re:Original Hacker News Source Code (2009) by amackera on Friday June 11, 2021 @03:19PM (#27477369)
Keep going! Clojure is a joy. Strong thinkers in the community!
Re:Original Hacker News Source Code (2009) by skywal_l on Thursday June 10, 2021 @02:10AM (#27457366)
The 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...

Re:Original Hacker News Source Code (2009) by amackera on Friday June 11, 2021 @03:18PM (#27477362)
Definitely 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.

Re:Original Hacker News Source Code (2009) by kazinator on Friday June 11, 2021 @05:05PM (#27478482)
The 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.
Re:Original Hacker News Source Code (2009) by caslon on Wednesday June 09, 2021 @04:21PM (#27452668)
It's worth noting that this is a very old distribution of it; Arc now runs on Racket.
Re:Original Hacker News Source Code (2009) by hellbannedguy on Wednesday June 09, 2021 @04:54PM (#27453101)
I 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.

Re:Original Hacker News Source Code (2009) by bachmeier on Wednesday June 09, 2021 @05:25PM (#27453436)
Not 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
Re:Original Hacker News Source Code (2009) by hellbannedguy on Wednesday June 09, 2021 @06:17PM (#27454019)
thanks
Re:Original Hacker News Source Code (2009) by RyanShook on Wednesday June 09, 2021 @06:31PM (#27454140)
Are there any more current versions of HN code available?
Re:Original Hacker News Source Code (2009) by ibraheemdev on Wednesday June 09, 2021 @05:24PM (#27453417)
@dang is Hacker News still running on Lisp?
Re:Original Hacker News Source Code (2009) by easton on Wednesday June 09, 2021 @08:00PM (#27455025)
Re:Original Hacker News Source Code (2009) by dang on Thursday June 10, 2021 @02:06AM (#27457322)
Thanks!
Re:Original Hacker News Source Code (2009) by dijit on Wednesday June 09, 2021 @04:12PM (#27452548)
I doubt very much that this is the actual code, not being modified in 8 years is a huge stretch.
Re:Original Hacker News Source Code (2009) by dang on Thursday June 10, 2021 @02:11AM (#27457376)
It has indeed been modified.
Re:Original Hacker News Source Code (2009) by utxaa on Wednesday June 09, 2021 @06:39PM (#27454225)
what about the current source?
Re:Original Hacker News Source Code (2009) by krapp on Wednesday June 09, 2021 @06:50PM (#27454354)
The 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. 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. 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.

Re:Original Hacker News Source Code (2009) by d110af5ccf on Wednesday June 09, 2021 @08:18PM (#27455183)
Arc is most definitely "open source", not "proprietary, source available". It's provided under the 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)

Re:Original Hacker News Source Code (2009) by krapp on Thursday June 10, 2021 @06:53AM (#27459216)
By "proprietary" I meant HN specifically.
Re:Original Hacker News Source Code (2009) by dang on Thursday June 10, 2021 @02:11AM (#27457368)
Are you still using Arc these days?

What are the top three things where Anarki deviates from Arc?

Re:Original Hacker News Source Code (2009) by krapp on Thursday June 10, 2021 @06:29AM (#27459073)
I just work on the forum from time to time so I can't speak much on the language - others have made a lot of changes, the biggest I can think of being using curly braces to create tables. Arc is the first Lisp I've used, and it turns out I'm not a Lisp-1 person. I like proper namespaces and hygienic macros. If I could only change three things about Arc, it would be those and improving error messages.

As far as the forum is concerned - I moved it into a separate folder to create a distinction between "applications" and "library" code. That was controversial. Also related, there's the skeleton of an app manager in progress that will allow creating web app skeletons, and I'm trying to get a plugin manager to work through Arc's hook system.

The end goal (in my head, at least) is that one could install Arc and Arc library code (and possibly language extensions) separately from applications (like the forum, a blog, or whatever you've created for yourself) and from application specific plugins.

The forum page templates have been consolidated so now there's a single page layout with a common UI, which uses HTML lists rather than tables, making page rendering a lot faster. I suspect there's still a lot of work that could be done along those lines - there's just no rational reason why rendering HTML should be as slow as it seems to be sometimes.

And I added some of the user-side features people keep complaining about on HN such as a dark mode, archival links and adjustable font size.

Re:Original Hacker News Source Code (2009) by yellow_lead on Wednesday June 09, 2021 @04:12PM (#27452540)
Maybe this should read "Original Hacker News Source Code" as this doesn't look like it's been updated since 2015.
Re:Original Hacker News Source Code (2009) by dang on Wednesday June 09, 2021 @04:21PM (#27452670)
Yes, I've added that and added the date now- I assume it's from 2009 since that's the last announcement I could find.