Readit News logoReadit News
lynx97 · 3 months ago
Regarding the "worse is better" discussion: At least its definitely better accessibility-wise. HN is about the last well-known site that allows interacting with it, including writing comments, with plain old Lynx. I am well aware that most web devs do not care anymore these days, and they have their reasons for sure. However, its still nice to see sites that refuse to go for SPA. It makes them so much more useable for people like me (blind). A big THANK YOU to the site maintainers, its one of the last corners of the net where interesting stuff happens which is still accessible.
jmathai · 3 months ago
Accessible UX results in good UX. I use a modern browser and appreciate how reliably Hacker News works. It's a great example of less is more when it comes to UX.
pona-a · 3 months ago
Well, I think proper font scaling would do wonders for making HN more accessible. As things stand, I have to zoom to 120% to read the text. I recall WebKit making a special case in its font rendering logic just for HN.
adr1an · 3 months ago
I can recommend the browser extension "modern for hacker news". Some features are premium (no subscription though) but only the defaults gives SO MUCH ux like font size, spacing between lines, text width.

Another great accesibility feat is the APIs for this web. I use upvoterate listing from quality news as front page.

To sum it up, opening the tab previews under Zen Browser made my experience feel like the coolest SPA, haha.

sirodoht · 3 months ago
If you browse with Lynx you might like https://mataroa.blog/ too!
zoogeny · 3 months ago
Hacker News is a perfect example of the "Worse is better" mantra applied to social engineering. I mean, slashdot had more features and functionality in the late 1990s.

What makes HN work is the tight focus and heavy moderation.

dang · 3 months ago
Finally a Lisp system wins the worse-is-better crown!
kqr · 3 months ago
For context, "worse is better" refers to Gabriel's observation that products with simple implementations and complicated interfaces tend to achieve adoption faster than products with complex implementations and elegant interfaces.

One of the original motivating examples were Unix-like systems (simple implementation, few correctness guarantees in interfaces) vs. Lisp-based systems (often well specified interfaces, but with complicated implementations as the cost.)

keeganpoppen · 3 months ago
oh man... this comment is just so, so incredibly apt.
90s_dev · 3 months ago
"Incidentally, very few people grasp the amount of effort Daniel Gackle expends running HN now, and what an amazing job he does." -Paul Graham, https://x.com/paulg/status/1282055086433284103
oblio · 3 months ago
Well, Facebook is PHP so...
paxcoder · 3 months ago
Yay
johnisgood · 3 months ago
HN may have less features, but do we even need them? I do not think it makes it worse because of that. You could call it minimalistic, which puts it into a more positive light. :)

Edit: or as someone else who has phrased it better: "less is more".

jrockway · 3 months ago
I liked the "friends" and "foes" system that Slashdot had, though I would say generally the "foes" here just get banned which is convenient.

I also thought Slashdot's moderation system was kind of fun. I am not sure it was useful but I enjoyed the annotations (+5 Funny when serious, +5 Insightful when inciteful, etc.) Meta-moderation was also neat?

dotancohen · 3 months ago
I think that the classical phrasing is "less is more".

At least, that's how my bash pager has it in the manpage.

killerstorm · 3 months ago
I'd like some markdown support:

  * Triple ticks for code ```

  * Bullet lists
Two spaces to mono space is somewhat offensive

lo_zamoyski · 3 months ago
The "tech progressive" mindset cannot comprehend the idea that something cannot be improved or shouldn't be "enhanced". It is too close to the abyss.
jorvi · 3 months ago
Dark mode. Sure, Dark Reader exists but many mobile browsers don't support it.

Annoyingly enough it's been talked about for years but it never gets implemented, despite only three colors really needing a swap: background to dark sepia or just dark gray, and text to white and off-white.

EasyMark · 3 months ago
I want a pickup truck that is designed like HN. The slate may be the answer
ksec · 3 months ago
Dark Mode. And Follow User would be two feature I have been using for years with other tools.

Deleted Comment

nickpeterson · 3 months ago
Also the lack of needing to make money helps a lot.
mike_hearn · 3 months ago
I'd say that's the main thing. People hate ads, HN uses unobtrusive text ads. The moderation isn't that a competitive advantage, IMO. Slashdot's was better, mostly because it had measures to stop moderation abuse whereas HN seemingly doesn't. It's just a plain old up/down system with the added filip of a "super down" button, for those who are really committed to banning their opponents. I read with showdead turned on because perfectly reasonable comments are so often greyed out or dead. That used to happen much less on Slashdot because there were far fewer people with moderation rights and the bad ones got filtered out via metamod.

Maybe now it's been ported to Common Lisp it'll be easier to add features.

andai · 3 months ago
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. —Antoine de Saint-Exupéry

Dead Comment

throwawaymaths · 3 months ago
your comment assumes that features and functionality are a good thing. "worse is better" does not apply here.

"worse is better" is people putting up with footguns like this in python, because it's percieved easier to find a python job:

    def fun(a = []):

HN is very much "less is better", not "worse is better".

zoogeny · 3 months ago
I'm not sure what you mean? The literal quote from the Wikipedia article on "worse is better" is:

> It refers to the argument that software quality does not necessarily increase with functionality: that there is a point where less functionality ("worse") is a preferable option ("better") in terms of practicality and usability.

For that reason, I think I am applying the term precisely as it was defined.

The irony of my comment, which dang picked up, is that the original idea was a criticism against Lisp, suggesting that the bloat of features was a part of the reason its adoption had lagged behind languages like C.

1. https://en.wikipedia.org/wiki/Worse_is_better

7thaccount · 3 months ago
I've written Python for 14 years and have never seen code like that. It certainly isn't a perfect language, but this doesn't look like a common concern.

People write a lot of Python, because the language is easy to get into for a lot of non computer-science folks (e.g., engineers and scientists) and the ecosystem is massive with libraries for so many important things. It isn't as conceptually pure as lisp, but most probably don't care.

Spivak · 3 months ago
Python made a choice to have default values instead of default expressions and it comes with positive and negative trade-offs. In languages like Ruby with default expressions you get the footgun the other way where calling a function with a default parameter can trigger side effects. This kind of function is fine in Python because it's unidiomatic to mutate your parameters, you do obj.mutate() not mutate(obj).

So while it's a footgun you will be writing some weird code to actually trigger it.

jaza · 3 months ago
Ah yes, the ol' default empty list Python gotcha, it bit me I think about 10 years ago, and ever since, sadly I've written code like this so many times it's not funny:

    def fun(a = None):
        _a = a if a is not None else []

smokel · 3 months ago
The ugliness scares most people away, or at least it doesn't accidentally lure them in.
marssaxman · 3 months ago
Some of us genuinely like the way it looks.
encom · 3 months ago
HN is like 4chan, but house-broken.
krapp · 3 months ago
A lot of people claim that but I've never seen evidence of the existence of a vast number of people who would be using Hacker News if only it had more bells and whistles. Craigslist is "ugly" too, and plenty of people use it.

I think it's more likely that most people (even most tech-adjacent people) simply don't know this place exists, or don't care, since no one is sharing links to Hacker News on mainstream social media and nothing goes viral here outside of already established HN-adjacent circles.

7bit · 3 months ago
I like Hackernews. I like the simplicity. I don't bother with better AI. I prefer it that way and I acknowledge that the look and feel of Hackernews does not suite everyone.

But I don't value the look and feel of Hackernews, because it drives people away -- as if these people are of lesser value. That is just elitist and gatekeeper mentality.

drweevil · 3 months ago
I find aesthetically pleasing, tbh.
jt_b · 3 months ago
HN's aesthetic has grown on me honestly!
whyowhy3484939 · 3 months ago
The heavy, thick irony of these people running their own platform on as little technology as possible and depending heavily on human input.

It's like they know somewhere deep inside that "mo tech" is not helping anyone.

dang · 3 months ago
There's a less cynical interpretation of that which is not so far from the case.
hbsbsbsndk · 3 months ago
There's a few levels going on here:

- technologists and startup wannabes feeling like HN is "underground" because of the stripped down aesthetic and weird tech stack

- out of touch VCs who are successful because of money and connections but want to cosplay as technical

- the end users of the startups, who are fed the enshittified products funded by the VCs and created by the technologists

chipsrafferty · 3 months ago
It's not ironic whatsoever.
jgalt212 · 3 months ago
I think HN has some pretty sophisticated automated and human-in-the-loop moderation features that few other sites possess, or throw as much resources at. Because HN is not ad-supported it does not fall victim to tragedy of the commons.
raverbashing · 3 months ago
Honestly it's not "worse"

But I think HN built on what Reddit got right (at least old reddit) and also on a context of more online/faster interactions as opposed to Slashdot that brought some of the old forums structure and on a context of slower and more meaningful (ahem, for the most part) interactions. Hence why moderation was more precise, upvotes had color and you still had things like user signatures

In a way, users and posts on HN are "cattle", not pets ;)

-__---____-ZXyw · 3 months ago
Maybe this was tongue-in-cheek in a way that eludes me, but in case any innocent and curious bystanders are as confused as me by your comment, I'm not sure "Worse Is Better" refers to what you think it does. It isn't about "features and functionality", it's about how ease of implementation beats everything else. I can't see how that applies here, or what your comment means in that light.

Here's the original essay -- https://www.dreamsongs.com/RiseOfWorseIsBetter.html

This is a good little overview entitled "Worse is Better Considered Harmful" -- https://cs.stanford.edu/people/eroberts/cs201/projects/2010-... -- in which the authors argue for "Growable Is Better".

In summary - it's about ease of implementation trumping all else. C and Unix are memorably labelled "the ultimate computer viruses".

donnachangstein · 3 months ago
The genius of Slashdot's moderation system is that it forced you to be fastidious with how your limited mod points were allocated, only using them on posts that really deserved them.

As opposed to tearing through a thread and downvoting any and everything you disagree with.

Slashdot encouraged more positive moderation, unless you were obviously trolling.

The meta-moderators kept any moderation abuse in check.

It's sad to see we have devolved from this model, and conversations have become far more toxic and polarized as a direct result of it. (Dissenting opinions are quickly hidden, and those that reinforce existing norms bubble to the top.)

I believe HN papers over these problems by relying on a lot of manual hand-moderation and curation which sounds very labor intensive, whereas Slashdot was deliberately hands-off and left the power to the people.

emeril · 3 months ago
I miss slashdot when it was at its peak decades back

unsure why precisely it descended so much

not crazy about HN's approach but the quality of the discourse here is so high through whatever mechanism, I don't much care

bawolff · 3 months ago
I remember slashdot being full of "M$ is teh evill111!!" and other childish nonsense. At the end of the day what matters is the results, and i much prefer the discusions on hn than /.
perching_aix · 3 months ago
How are you determining the causative relationship?
soapdog · 3 months ago
I don't think that was what made HN prevail against similar sites that were popular in the past. In my opinion, it is the fact that it is tied to Y Combinator and lots of startups/founders that made it stick. Something that is not technical at all.
jaza · 3 months ago
Not me! For a number of years, I was like "what's with that domain, never heard of ycombinator, oh well, can't be bothered reading up on it right now, anyway, great content here, and nice minimal interface, I'll keep coming back".
udev4096 · 3 months ago
A lot of people on HN do infact hate YC and pretty much everything VC
baq · 3 months ago
I'm still missing being able to read only +5 insightful comments after 20 years.

I'd expect Slashdot's point systems and meta moderation to make a comeback in the LLM slop world we live in currently, but nobody knows about it anymore. Steam kinda rediscovered it in their reviews, perhaps even was inspired by it (I hope...)

Tijdreiziger · 3 months ago
Dutch tech news website Tweakers.net basically has this. Comments are moderated on a scale from -1 to +3, and then you can choose to expand only +2 and up.
akomtu · 3 months ago
HN's dry text-only design is what repels most of the problems. Mods only polish it a bit.
Aurornis · 3 months ago
> and heavy moderation.

I don’t think there is heavy moderation in the traditional sense. It’s primarily user-driven, aside from obvious abusive behavior. The downvote and flagging mechanisms do the heavy lifting.

The heuristics that detect a high ratio of arguments to upvotes (as far as I can tell) can be frustrating at times, but they also do a good job of driving ragebait off the front page quickly.

The moderators are also very good at rescuing overlooked stories and putting them in the second chance pool for users to consider again, which feels infinitely better than moderators forcing things to the front page.

It also seems that some times moderators will undo some of the actions that push a story off the front page if it’s relevant. I’ve seen flagged stories come back from the dead or flame war comment sections get a section chance at the front page with a moderator note at the top.

Back in the Slashdot days I remember people rotating through multiple accounts for no reason other than to increase their chances of having one of them with randomly granted moderation points so they could use them as weapons in arguments. Felt like a different era.

90s_dev · 3 months ago
> I don’t think there is heavy moderation in the traditional sense.

It seems to be a combination of manual and automated moderation (mostly by dang but he has more help now), using the kind of over/under-engineered custom tools you'd expect from technophiles. I've wondered a lot about the kind of programming logic he and the others coded up that make HN as curious as it is, and I have half a mind to make a little forum (yet another HN clone, but not really) purely for the sake of trying to implement how I think their moderation probably works. If I went through with this, I'd have it solely be for Show HN style project sharing/discussion.

smt88 · 3 months ago
HN is heavily moderated by humans. They've discussed it before. They're machine-assisted, but heavily involved day-to-day.
gchamonlive · 3 months ago
Maybe it's an effect of not having to compete with other outlets.
andsoitis · 3 months ago
Το λακωνίζειν εστί φιλοσοφείν

To be spartan is to philosophize.

thaumasiotes · 3 months ago
I'm curious why λακωνίζειν needs to be nominalized and φιλοσοφείν doesn't.
chairmansteve · 3 months ago
Slashdot sold out to Conde Nast. That killed it. It was very well designed.
quantadev · 3 months ago
"Worst and First beats Perfect and Last"

     - Every Venture Capitalist Ever.

rmason · 3 months ago
The exception to that rule was Google. Which coincidentally might have been one of the best VC investments of all time.

Dead Comment

wltr · 3 months ago
What makes HN work is being popular. Nothing more. Stop praising mediocrity.
varbhat · 3 months ago
So, Hacker News was not rewritten in Common Lisp. Instead they reimplemented the Arc Runtime in Common Lisp.
quotemstr · 3 months ago
And that's the sort of thing Lisp excels in
westurner · 3 months ago
There are probably Markdown libraries for Arc by now?

Though, Reddit eventually realized that javascript: URLs - in Markdown - were an XSS risk.

-__---____-ZXyw · 3 months ago
Lisp supremacy approaches!

I'm reminded of definitively the most extreme writing on programming I've ever read, here https://llthw.common-lisp.dev/introduction.html, including but in no way limited to claims such as:

> The mind is capable of unconsciously understanding the structure of the computer through the Lisp language, and as such, is able to interface with the computer as if it was an extension to its own nervous system. This is Lisp Consciousness, where programmer and computer are one and the same; they drink of each other, and drink deep; and at least as long as the Lisp Hacker is there in the flow, riding the current of pure creativity and genius with their trusty companions Emacs and SLIME, neither programmer nor computer know where one ends and the other begins. In a manner of speaking, Lispers already know machine intelligence---and it is beautiful.

Has any other language produced such thoughts in the minds of human beings? Maybe yes, but I don't know of one. Maybe Forth, or Haskell, or Prolog, but I haven't found similar writing. Please do share.

mark_l_watson · 3 months ago
I agree, and it gets even better: while low level ML support in Common Lisp does not match Python libraries, now it often does not matter because LLMs are not embedded in applications, then are often accessed via a HTTP request.
mannyv · 3 months ago
68k assembly is like that.
dang · 3 months ago
> Arc was implemented on top of Racket

Originally on MzScheme, then later PLT Scheme. It was ported to Racket by the great kogir, IIRC.

sctb · 3 months ago
I think MzScheme is just the core (non-GUI) part of PLT Scheme, which was renamed to Racket.

Also, I believe pg started implementing Arc on Scheme48 based on mailing list activity at the time. I've always been curious about the switch to PLT!

neilv · 3 months ago
That might've been more a reflection on PLT than on Scheme48 (which also had some really smart people on it).

As some point, when I was writing a lot of basic ecosystem code that I tested on many Scheme implementations, PLT Scheme (including MzScheme, DrScheme, and a few other big pieces), by Matthias Felleisen and grad students at Rice, appeared to be getting more resources and making more progress than most.

So I moved to be PLT-first rather than portable-Scheme-first, and a bunch of other people did, too.

After Matthias moved to Northeastern, and students graduated on to their own well-deserved professorships and other roles, some of them continued to contribute to what was soon called Racket (rather than PLT Scheme). With Matthew Flatt still doing highly-skilled and highly-productive systems programming on the core.

Eventually, no matter how good their intentions and how solid their platform for production work, the research-programs-first mindset of Racket started to be a barrier to commercial uptake. They should've brought in at least one of the prolific non-professor Racketeers into the hooded circle of elders a lot sooner, and listened to that person.

One of the weaknesses of Racket for some purposes was lack of easy multi-core. The Racket "Places" concept (implementation?) didn't really solve it. You can work around it creatively, as I did for important production (e.g., the familiar Web interview load-balancing across application servers, and also offloading some tasks to distinct host processes on the same server), but using host multi-core more easily is much nicer.

As a language, I've used both Racket and CL professionally, and I prefer a certain style of Racket. But CL also has more than its share of top programmers, and CL also has some very powerful and solid tools, including strengths over Racket.

agumonkey · 3 months ago
Are we iterating over all lisp implementations ? A strange variant of the ship of Theseus
pdpi · 3 months ago
Lisp of Theseus does have a certain ring to it.
oblio · 3 months ago
Next up, the end goal: Emacs Lisp.
kragen · 3 months ago
Aren't MzScheme, PLT Scheme, and Racket the same thing?
dang · 3 months ago
Yes, but for me each name denotes the thing as it was when it was called that.

(This conversation has turned unexpectedly ontological!)

rurban · 3 months ago
They were all based on MzScheme, yes. But nowadays Racket runs on the fastest scheme, chez.

HN runs now on SBCL, which is much faster and also multi-threaded.

Xeoncross · 3 months ago
The article makes it sounds like Dang also helps with the codebase. There must be others, but Dang is the one I've seen for years at this point.

I've beeing a part of many online communities as both a member and moderator. However, Hackernews is the community that I've been apart of for the longest and the one that brings me the most joy.

Dang, is there anything random people like me can do for you? Can I at least buy you a coffee or something?

someperson · 3 months ago
Keep in mind Hacker News (formerly Startup News) is effectively a loss-leading advertising arm of Y Combinator, which at this point is one of the most successful investment firms in the world.

And HN founder and original author Paul Graham is (at least on paper) billionaire, not merely the decamillionare he used to be.

Though it's still good for it to be a self-funding project even if that means accepting donations.

ksec · 3 months ago
> Initially called Startup News or occasionally News.YC., it became known by its current name on August 14, 2007.[4]

Oh I have been on HN since 2008 and didn't know that.

brundolf · 3 months ago
> [Clarc] is much faster and also will easily let HN run on multiple cores

This was all running on a single core??

haiku2077 · 3 months ago
Modern CPUs are crazy fast. 4chan was serving 4 million users with a single server, a ten year old version of PHP and like 10000 lines of spaghetti code. If you do even basic code quality, profiling and optimization you can serve a huge number of users with a fraction of a CPU core.

I/O tends to be the bottleneck (disk IOPS and throughput, network connections, IOPS and throughput). HN only serves text so that's mostly an easy problem.

Tabular-Iceberg · 3 months ago
I still can't wrap my head around how the conventional wisdom in the industry to work around that problem is to add even more slow network I/O dependencies.
bakugo · 3 months ago
4chan is a special case, because all of its content pages are static HTML files being served by nginx that are rewritten on the server every time someone makes a post. There's nothing dynamic, everyone is served the exact same page, which makes it much easier to scale.
sgarland · 3 months ago
Every time a dev discovers how tremendously bloated and slow modern software is, an angel gets its wings.
quotemstr · 3 months ago
Modern CPUs are stupid fast when you use them the right way. You can take scale-up surprisingly far before being forced to scale out, even when that scale out is something as modest as running on multiple cores.
thatwasunusual · 3 months ago
Based on context, you are insinuating that a discussion board like HN _can_ be hard on the CPU alone? If so, how? My guess would be _also_ be that the CPU would have little to do by itself, but that I/O would take the brunt?
whalesalad · 3 months ago
Most apps aren’t suffering from computation. They suffer from I/O
JW_00000 · 3 months ago
I was going to reply that this is pretty common for web apps, e.g. NodeJS or many Python applications also do not use multi-threading, instead just spawning separate processes that run in parallel. But apparently, HN ran as 1 process on 1 core on 1 machine (https://news.ycombinator.com/item?id=5229548) O_O
mbac32768 · 3 months ago
HN is not really that much of a workload. Links with text only comments, each link gets a few hundred comments at most, and commenting on stories ends after they are old enough.

Probably everything that's current fits easily in RAM and the older stories are candidates for serving from a static cache.

I wouldn't say this is an astounding technical achievement so much as demonstrating that simplicity can fall out of good taste and resisting groupthink around "best practices".

galaxyLogic · 3 months ago
I think NodeJS apps typically rely on JavaScript event-loop instead of starting new processes all the time.

Spawning new processes for every user is possible but would probabaly be less scalable than even thread-switching.

Deleted Comment

kevincox · 3 months ago
Yet GitHub can't show more than a dozen comments on the same page. Needing you to click "view more" to bring them in 10 at a time.

HN is an island of sanity in a sad world.

simoncion · 3 months ago
In fairness, HN wouldn't show more than what, twenty-ish thread roots at a time, requiring you to click "more" to bring in more... which could contain the same set of thread roots you'd been looking at, depending on upvote activity.

(I assume that this update has removed that HN restriction, but haven't bothered to go look to verify this assumption.)

xnx · 3 months ago
It's amazing what's possible when you don't use microservices
EasyMark · 3 months ago
Text only processing is amazingly fast, as are static websites. Javascript is heavy, man.
anthk · 3 months ago
Good, sbcl it's great for CL. And now with current CLX from QuickLisp (the one with daily releases, I can't remember it's name) MCClim runs snappy even under Intel n270 ATom machines. Under ECL it almost runs snappy, but the performance gain it's astronomical. From a really laggy UI to instant rendering.

EDIT: UltraLisp for QuickLisp.

quotemstr · 3 months ago
Is QuickLisp entering the 1990s and enabling TLS yet?
atgreen · 3 months ago