Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. An Empirical Study of Harness Design for Coding Agents(arxiv.org ↗)
    15comments
  2. I Vibed a Proof of Conway's Conjecture(overreacted.io ↗)
    17comments
  3. AI Protest in Montreal(montrealgazette.com ↗)
    1comments
  4. C++26: Trivial infinite loops are no longer undefined behaviour(sandordargo.com ↗)
    2comments
  5. Bend 2 and the Vibe-Coding Trap(liampwll.com ↗)
    177comments
  6. OpenJev(openjev.com ↗)
    184comments
  7. North Korean nuclear test sets off years of earthquakes – Science – AAAS(science.org ↗)
    discuss
  8. The Shadows Lurking in the Equations – Underwater Islands(gods.art ↗)
    4comments
  9. I don't like passkeys(hawksley.dev ↗)
    312comments
  10. Subnormal floating-point numbers are expensive on Intel processors(lemire.me ↗)
    36comments
  11. Warren Buffett Steps Down as Berkshire Chairman, Names Son to Replace Him(nytimes.com ↗)
    109comments
  12. Cekura (YC F24) Is Hiring(ycombinator.com ↗)
    discuss
  13. Jemalloc 5.4.0(github.com/jemalloc ↗)
    62comments
  14. NATS publishes preliminary report on technical incident of 8 September(nats.aero ↗)
    2comments
  15. Mathematicians Build Long-Awaited Graph Sandwich(quantamagazine.org ↗)
    discuss
  16. The scourge of x86 emulation(fex-emu.com ↗)
    57comments
  17. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    170comments
  18. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    482comments
  19. Astra for Law(openai.com ↗)
    645comments
  20. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    272comments
  21. BeanShell3 in Development(beanshell.github.io ↗)
    1comments
  22. Cloudflare Quick Tunnels(cloudflare.com ↗)
    1comments
  23. Second Circuit Allows Government to Search Electronic Devices at the Border(knightcolumbia.org ↗)
    10comments
  24. ZCode, the GLM coding agent, silently uploads your Git history(tokenstead.ai ↗)
    49comments
  25. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    179comments
  26. Qwen 3.8 Omni Flash(qwen.ai ↗)
    102comments
  27. Wax motor(wikipedia.org ↗)
    89comments
  28. Replacing Pull Requests with Delta(zed.dev ↗)
    50comments
  29. NATS Major Incident Preliminary Investigation Report [pdf](nats.aero ↗)
    1comments
  30. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    242comments

Original Hacker News Source Code (2009)

119 pointsby 5y agogithub.com
34 comments
5y agoHN ↗

Maybe this should read "Original Hacker News Source Code" as this doesn't look like it's been updated since 2015.

5y agoHN ↗

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.

5y agoHN ↗

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.

5y agoHN ↗

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?

5y agoHN ↗

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 :)

5y agoHN ↗

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.

5y agoHN ↗

Keep going! Clojure is a joy. Strong thinkers in the community!

5y agoHN ↗

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.

5y agoHN ↗

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.

5y agoHN ↗

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...

5y agoHN ↗

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.

5y agoHN ↗

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.

5y agoHN ↗

I doubt very much that this is the actual code, not being modified in 8 years is a huge stretch.

5y agoHN ↗

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.

5y agoHN ↗

It's worth noting that this is a very old distribution of it; Arc now runs on Racket.

5y agoHN ↗

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.

5y agoHN ↗

@dang is Hacker News still running on Lisp?

5y agoHN ↗

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?

5y agoHN ↗

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.

5y agoHN ↗

Are there any more current versions of HN code available?

5y agoHN ↗

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.

5y agoHN ↗

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)

5y agoHN ↗

Are you still using Arc these days?

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

5y agoHN ↗

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.