Making HN usable again
I participated on Hacker News for a long time. By "participated" I mean taking part in the discussions of articles posted there. Discussions on some topics have always been garbage: economics, politics, and gender, to name a few. For the last year or so, the discussion of about any topic has been garbage. HN in 2026 feels like Digg in 2006 but with half the IQ.
That's a shame. I've gotten a ton of value from the comments over the years. It's where I learned about Obsidian (Erica posted a comment in the very early days), Digital Ocean, Fossil, various scripting languages, and loads of good reading material.
I still visit HN. Many stories that make it to the front page are worth reading, as are submissions that never get upvotes. What I want to do is avoid discussion, not comments. An example of what I mean is
- Top-level comment says "LLMs don't produce code that you can commit to production without modification."
- Reply says "No, they produce perfect code. You just have to prompt them correctly. There's never a reason to read or modify LLM generated code."
These responses (many of them more toxic than they are stupid) are not a good use of one's time. Maybe the person that replied has low skill, so they don't recognize problems in their code. Maybe they have a boss that only trusts them to work on problems so simple an LLM can do the work. It turns the place into a cesspool, where anyone can make wild, unsupported claims, using condescending language toward others.
This is intended to be a positive post. I've clearly outlined the problem. How can we resolve it?
One way is to create a bookmarklet that closes all comments except those at the top level. That way you can read the comments without having to see any of the discussion. This is what Gemini gave me (it also puts the newest comments at the top:
javascript:(function(){document.querySelectorAll('tr.comtr').forEach(c=>{const i=c.querySelector('td.ind img');if(i&&parseInt(i.getAttribute('width'),10)>0){const t=c.querySelector('a.togg');if(t&&!c.classList.contains('coll'))t.click();}});const ctr=document.querySelector('table.comment-tree tbody')||document.querySelector('table.comment-tree');if(ctr){const rows=Array.from(ctr.querySelectorAll('tr.comtr')),groups=[];let cur=[];rows.forEach(r=>{const i=r.querySelector('td.ind img'),w=i?parseInt(i.getAttribute('width'),10):0;if(w===0&&cur.length>0){groups.push(cur);cur=[];}cur.push(r);});if(cur.length>0)groups.push(cur);groups.sort((a,b)=>(parseInt(b[0].id,10)||0)-(parseInt(a[0].id,10)||0));groups.forEach(g=>g.forEach(r=>ctr.appendChild(r)));}})();
It's astonishing how much better the comments are without the sludge. It's actually a decent experience for most articles. I do wish the moderators were able to do something to raise the level of discussion, but I use the site for free, and there's not an easy solution to low-quality discussion. I'll be using this for now.