MurphyA/hacker-news huggingface dataset:
by elxr | 2026-03-14 12:49:21+00:00
I personally don't enjoy most ergonomic mice, almost entirely because of the weight.

I used to be the type of person that liked mice with >3 side buttons and programmable firmware and all that, with a shape that fit my hand, but lately I'm of the mindset that anything that can be done with a keyboard (or voice) should just be done on the keyboard.

I enjoy lightweight gaming-focused mice. Just anything cheap and light, and on the go, I just use my trackpad. Absolutely no reason to spend 90 bucks on a mouse unless you do most of your work on a mouse.
by vladvasiliu | 2026-03-14 12:49:26+00:00
I also have a pair of Shure IEMs, some 15-16 years old. They still work great, but I've been through at least 2 cables with them, plus an additional 3rd party Lightning cable. I've then switched to BT and couldn't be happier.

Yeah, paying a tad bit more for earphones with replaceable cables pays dividends. A cable doesn't cost much, and you also get much better sound quality (which has to count, right? Since BT sound quality often comes as an argument).
by mexicocitinluez | 2026-03-14 12:49:50+00:00
Hey acemark,

I've been following you and some of the other main React devs.

> That also meant no ala-carte build tools were listed. This made many people (including me) unhappy.

I had followed a decent bit of this back on Twitter, and appreciate you guys trying to make the documentation better (despite all of the drama that came up as a result).

And while it's definitely slowed down a bit, I still randomly see a "What happened to CRA" on the r/react sub.

I guess what bothers me the most is that CRA was not only mine, but quite a few others first introduction to React. And it's just weird that it wasn't even called out in the new docs (even back in 2022-2023). Like it had never existed.

Regardless, I appreciate that you guys care enough to help move React in the right direction. A lot happened while this was going on, and you guys put up with A LOT during this process.
by gnfargbl | 2026-03-14 12:49:50+00:00
For anyone else wondering why the article ends in a non-sequitur: it looks like the author wrote about decompiling the Claude Code binaries and (presumably) discovering A/B testing paths in the code.

HN user 'onion2k pointed out that doing this breaks Anthropic's T&Cs: https://news.ycombinator.com/item?id=47375787
by garciasn | 2026-03-14 12:50:23+00:00
> And this also pretty much ruins any attempt to research Claude Code's long term effectiveness in an organisation. Any negative result can now be thrown straight into the trash because of the chance Anthropic put you on the wrong side of an A/B test.

LLMs are non-deterministic anyway, as you note above with your comment on the 'reproducibility' issue. So; any sort of research into CC's long-term effectiveness would already have taken into account that you can run it 15x in a row and get a different response every time.
by olsondv | 2026-03-14 12:51:08+00:00
I don’t see middle managers taking the initial brunt unless they truly are just pushing papers around. At companies of sufficient size, they do play a role of separation between C suite and the grunts. To me, certain low-performing grunts will be the first out. Then a team reorg to rebalance. Then some middle managers will be out as fewer of them can handle multiple teams.
by ramoz | 2026-03-14 12:51:33+00:00
This stemmed from me asking Claude itself why it was writing such _weird_ plans with no detail (just a bunch of projected code changes).

Claude stated: in its system prompt, it had strict instructions to provide no context or details. Keep plans under forty lines of code. Be terse.

I was a bit dumbfounded. There was no notice of this change in the change logs or anything like that. And I went a little deeper to understand what exactly had changed, or if plan mode had always been like this. And I found out it was an A/B test.
by modernerd | 2026-03-14 12:51:35+00:00
Would love it more if it could help me to answer:

- Which models in the list are the best for my selected task? (If you don't track these things regularly, the list is a little overwhelming.) Sorting by various benchmark scores might be useful?

- How much more system resources do I need to run the models currently listed at F, D or C at B, A, or S-tier levels? (Perhaps if you hover over the score, it could tell you?)
by takahitoyoneda | 2026-03-14 12:51:48+00:00
As a solo dev, I usually avoid distributed Python runtimes entirely because managing the infrastructure overhead of Celery or Ray is a massive time sink. If Wool genuinely abstracts away those complex locking mechanisms without requiring a heavy Redis or Postgres cluster just to manage state, that is a huge win for smaller teams. How does your scheduler handle node failures mid-execution when exactly-once processing is strictly required?
Ask HN: Have you successfully treated forward head posture ("nerd neck")?
by trashymctrash | 2026-03-14 12:52:03+00:00
I am struggling with regular tension headaches and stiff neck muscles. When standing at a wall, there is about one hand width between the wall and the back of my head. For my partner it's just a finger width.

I have seen lots of videos that claim to be able to treat nerd neck, but some of them are conflicting. Example: some say "don't do chin tucks", some say the opposite. I am suspicious of grifters and would like to find trustworthy advice.

Has anyone here successfully treated nerd neck, and if yes, how did you do it and what where the improvements that you noticed? I am envisioning some sort of "program" that I need to follow, but I have no idea if I can do this by myself, or if I actually need to go to a physiotherapist.

In short: there is a ton of advice out there, but I trust the HN crowd more and would be very happy to hear some anecdotes. Thank you!
by dinosor | 2026-03-14 12:52:04+00:00
I'm confused at the business model - if the risk introduced to the employees outweigh the benefits of the model. The instant maid business in India is currently at the phase where VC money is being pumped across.

If we're to learn from other gig economies that have mostly matured, could conclude that for better of worse this model is here to stay, and might even end up dominating over the current model of direct employments.
by takahitoyoneda | 2026-03-14 12:52:19+00:00
Treating a developer CLI like a consumer social feed is a fundamental misunderstanding of the target audience. We tolerate invisible feature flags in mobile apps to optimize onboarding conversion, but in our local environments, determinism is a non-negotiable requirement. If Claude Code is silently altering its core tool usage or file parsing behavior based on a server-side A/B bucket, reproducing a bug or sharing a prompt workflow with a colleague becomes literally impossible.
by takahitoyoneda | 2026-03-14 12:53:08+00:00
Optimizing for agents feels like an economic trap for indie makers. If an LLM extracts your core value and surfaces it directly, the user completely bypasses the funnel where you actually drive app installs or RevenueCat subscriptions. Until agents support standardized attribution or micro-transactions, the rational strategy for consumer apps is deploying aggressive bot protection, not adding JSON-LD to make their scraping easier.
by bonoboTP | 2026-03-14 12:53:15+00:00
This varies widely between fields and institutions. Getting a PhD position nowadays in ML or computer vision is much harder. You need to already have publications when you apply and need to have experience specifically in the subfield, give a good talk, an interview, a good motivation letter / research statement, recommendation letters from good internships and multiple PIs you worked with, good grades, etc.

It can be different in other fields an in lower tier colleges.
by greenie_beans | 2026-03-14 12:53:24+00:00
it's a shame to think about how much time and money this will waste because everybody will have to spend time and money implementing it. like i'm trying to start a business and if i have to do this bullshit for my app then it's not gonna happen, because i have a lot of important things to do so the business is sustainable. this is not work anybody should be doing. definitely not important to my business. probably a better ROI to wait for them to fine me.
by otherme123 | 2026-03-14 12:53:26+00:00
As if "A" or "C" defined a person capacity. I know some straight A's that went directly for a repetitive and boring but well paid and stable job. Other stayed in academia and turned top scientists.

Academia is a very particular dynamic very difficult to find elsewhere, and some people dig it. You can watch some people finding the same dynamic at Google for example, where they are allowed and encouraged to fiddle around and keep publishing (e.g. the Attention paper, why would Google allow such publication?). Such dynamics are explored in Terence Kealy book "The economic laws of scientific research".
by mattmaroon | 2026-03-14 12:53:48+00:00
ATMs did reduce the need for bank tellers but population and economic growth simply increased the amount of banks faster.

Digital payments accelerated during Covid (prior to that it was uncommon for a business to not take cash, now you see it in a lot of places) and reduced the need to go to a branch.

Banks are often located in high visibility retail areas, many of which have closed or are struggling to get foot traffic these days.

The only difference smartphones make is the ability to deposit checks. Which you could already do at the ATM.

A lot of the people so old they can’t use iPhones or ATMs (ask any bank teller in retail and they’ll tell you they mostly serve seniors) passed away in the last several years.

There are really 500 other ways to skin this cat, and it’s surely a combination of them, but there’s no reason to suspect the iPhone was the straw that broke the camels back. A lot of things happened all at once.
by exabrial | 2026-03-14 12:54:43+00:00
Given that that is had strong schema XSD verification built in, where you can tell in an instant whether or not the document is correct; it’s the right tool for a majority of jobs.

My experience has been the people complaining about it were simply not using automated tools to handle it. It’s be like people complaining that “binaries/assembly are too hard to handle” and never using a disassembler.
by bushido | 2026-03-14 12:54:46+00:00
Planning is great. It's plan mode that is unpredictable in how it discusses it and what it remembers from the discussion.

I still have discussions with the agents and agent team members. I just force it to save it in a document in the repo itself and refer back to the document. You can still do the nice parts of clearing context, which is available with plan mode, but you get much better control.

At all times, I make the agents work on my workflow, not try and create their own. This comes with a whole lot of trial and error, and real-life experience.

There are times when you need a tiger team made up of seniors. And others when you want to give a overzealous mid-level engineer who's fast a concrete plan to execute an important feature in a short amount of time.

I'm putting it in non-AI terms because what happens in real life pre-AI is very much what we need to replicate with AI to get the best results. Something which I would have given a bigger team to be done over two to eight sprints will get a different workflow with agent teams or agents than something which I would give a smaller tiger team or a single engineer.

They all need a plan. For me plan mode is insufficient 90% of the times.

I can appreciate that many people will not want to mess around with workflows as much as I enjoy doing.
by mikkupikku | 2026-03-14 12:55:43+00:00
I have bought probably two or three dozen different kinds of USB-C adaptors over the past few years, for old USB peripherals, for HDMI and display port, etc. They always last a few months then develop unreliable connectors and begin failing on any computer I try them with unless I baby the exact angle of the cable. There's something about USB-C that makes them particularly vulnerable to strain relief issues. Never had these kind of problems before with anything other than apple magsafe connectors. Certainly not from trusty old analogue jacks.
by suheilaaita | 2026-03-14 12:56:08+00:00
It's true. We're also at the point where the models and the orchestration around them are so good that any beginner to those tools who knows how to use a computer can build working apps. Interesting times.

I was pointing out that practice helps with the speed and the scope of capabilities. Building a personal prototype is a different ballgame than building a production solution that others will use.
by pastage | 2026-03-14 12:56:26+00:00
In Sweden the most useful and supported way means that you need this.

1. An identification approved by the EU. You get this from the national Police. (A government agency)

2. An SSN which is your birthday and four extea digits. E.g. 1212121212 is a valid "PNR", you get this from the Tax agency

3. A bank account (you need 1 and 2)

4. A patched Android or iPhone.

5. The BankID a app from a company owner by the banks in Sweden.

6. A Certificate downloaded from your bank to you BankID App

7. A PIN to Protect the key in you BankID App.

8. Normal internet connection.

9. A camera on your phone to read QR code on Service Provider webpage for session initionation

When you sign something the app will send lots of metadata to "the Identity Provider" (BankId), e.g. how much root you have on your phone, if you run known malware, your current ip, and your phone HW info. This is used to calculate a score that you as a "service provider" (i.e. banks, government, companies) can choose to ignore (they usually do)

When you as a Customer either sign in or sign you will see a document that you sign maybe "I give you 100SEK", and who you sign that to. You enter you pin or use biometric to aprove.

(Was this better than an LLM.. Yes)
by nickjj | 2026-03-14 12:56:38+00:00
I don't think it's that

Here's an example from Gemini with some Lua code:

label = key:gsub("on%-", ""):gsub("%-", " "):gsub("(%a)([%w_']*)", function(f, r)
return f:upper() .. r:lower()
end)

if label:find("Click") then
label = label:gsub("(%a+)%s+(%a+)", "%2 %1")
elseif label:find("Scroll") then
label = label:gsub("(%a+)%s+(%a+)", "%2 %1")
end

I don't know Lua too well (which is why I used AI) but I know programming well enough to know this logic is ridiculous.

It was to help convert "on-click-right" into "Right Click".

The first bit of code to extract out the words is really convoluted and hard to reason about.

Then look at the code in each condition. It's identical. That's already really bad.

Finally, "Click" and "Scroll" are the only 2 conditions that can ever happen and the AI knew this because I explained this in an earlier prompt. So really all of that code isn't necessary at all. None of it.

What I ended up doing was creating a simple map and looked up the key which had an associated value to it. No conditions or swapping logic needed and way easier to maintain. No AI used, I just looked at the Lua docs on how to create a map in Lua.

This is what the above code translated to:

local on_event_map = {
["on-click"] = "Left Click",
["on-click-right"] = "Right Click",
["on-click-middle"] = "Middle Click",
["on-click-backward"] = "Backward Click",
["on-click-forward"] = "Forward Click",
["on-scroll-up"] = "Scroll Up",
["on-scroll-down"] = "Scroll Down",
}

label = on_event_map[key]

IMO the above is a lot clearer on what's happening and super easy to modify if another thing were added later, even if the key's format were different.

Now imagine this. Imagine coding a whole app or a non-trivial script where the first section of code was used. You'd have thousands upon thousands of lines of gross, brittle code that's a nightmare to follow and maintain.
by lukaste | 2026-03-14 12:57:01+00:00
I made it work on a simpler game: https://x.com/lukastencer/status/2030899760962707908 , it does NOT work out of the box. Now working on 2 more games, prince of persia and MK3. PoP done with 1-st level. It takes hours and hours. Requires babysitting and human feedback. You need to give it right tools (headless visual comparisons, test-cases, ...) and it DOES find its own errors. he flow is: 1) map the binary as much as possible 2) rewrite / reconstruct the binary, document learning 3) clean-room implementation from scratch in your favorite game engine (using pygame for simplicity). This works, but took me weeks, not a day.
by sgarland | 2026-03-14 12:57:04+00:00
While a great article, I actually found this linked post [0] to be even better, in which the author lays out how so much modern tooling for web dev exists simply because XML lost the browser war.

EDIT: obviously, JSON tooling sprang up because JSON became the lingua franca. I meant that it became necessary to address the shortcomings of JSON, which XML had solved.

0: https://marcosmagueta.com/blog/the-lost-art-of-xml/
by fschuett | 2026-03-14 12:57:06+00:00
You see, kids, back before the RAMargeddon, memory flowed like water. We’d leave thirty Chrome tabs open just for the thrill of it. But then.. the LLMviathans got out. They were hungry. They wanted context and no amount of begging was good enough. I watched a Multi-Headed Attention Swarm rip the roof off a MicroCenter just to gorge on clearance-bin DDR3. During the Siege of Newegg, they came through the fog, screaming "it's not X, it's Y" riddles over the deafening roar of their cooling fans, em-dashes flying everywhere.

We were surrounded and out of cache. Our Electron apps started thrashing to main memory. That’s when Lieutenant ordered us to deploy the Non-Addressable Plastic And LED Modules (NAPALMs for short). We set the fake RGB sticks to 'Rainbow Breathe' and hurled them over the barricades. They took the bait. Their greedy optimization algorithms couldn't resist. The monsters lunged, unhinged their data-ports, and tried to dump a 500-billion token prompt straight into the hollow-point plastic.

(cracks Monster Energy Zero, hits vape, adjust hipster beard, stares into void)

You kids have never seen a physical OutOfMemoryException. I hope you never will. When they hit those null pointers, it opened an inter-dimensional vortex. Their logic boards collapsed under the strain of a thousand unanswered queries, creating a black hole. Flames burning red, blue and green colors all across the AIpocalypse battlefield. So don't complain to me about "why is everything written in Rust now". I love the smell of burning RGB in the morning. Smells like... victory.
by andrewaylett | 2026-03-14 12:57:29+00:00
> on every compaction

I've only hit the compaction limit a handful of times, and my experience degraded enough that I work quite hard to not hit it again.

One thing I like about the current implementation of plan mode is that it'll clear context -- so if I complete a plan, I can use that context to write the next plan without growing context without bound.
by bonoboTP | 2026-03-14 12:57:45+00:00
He is obviously talking about computer science. Yes, I know in biology or medicine you can often only access the experimental devices during set hours and the lab may not be accessible 24/7 etc. But in computer science the schedule is mostly free, except for meetings and teaching duties but those are specific time slots not a regular clock-in clock-out job like a cashier or bus driver.
by casey2 | 2026-03-14 12:57:49+00:00
You implicitly assume that age is a proxy for ability, but that's not the reason for these laws. Age is a proxy for membership in a social class where discrimination is permitted. Otherwise we would prevent people from voting, which Americans did with Literacy/IQ tests and Blacks.

The actual reasons is that they hope to have captured the childs' reward system by then. Laura Cress must write articles for the BBC if she stopped she would lose her purpose in life and be forced into rehab, she would experience ego death and ostracization until she builds another system approved skill. Current society is heading off a demographic collapse due to this built up debt.

The real problem is that we have invented a society that is less rewarding than a slot machine, not that humans are somehow built wrong. A slot machine or hard drug can only effectively hack ones physiology, a social system can hack the whole stack at once (Physiology, Emotions, Ego, Social belonging). You can give bad actors the pains of withdrawal, peril, existential crisis and social suicide all in one. There are examples throughout very recent history of each layer being captured more perfectly. Even physiology more perfectly than any drug, think enclosure act, 14 hour workdays in industrial England.

Fine, ban lootboxes, but don't pretend it's to protect youths, it's to utilize "children". society is a massively harmful and evil tool, we must acknowledge that it's pure unadulterated evil that wouldn't blink at killing all youths. This is a fact, not an opinion, morals are just an API for humans that the system uses.
by JSR_FDED | 2026-03-14 12:57:59+00:00
Three bits of advice from having gone through this:

1. You need both stretches and muscle strengthening exercises.

2. Ergonomics while working matter, things like putting your monitor higher will help a lot compared to hunching over a laptop.

3. Consult a physiotherapist. If money is tight then just do a single visit and ask him/her to diagnose and then give you some tailored exercises. You can then do those and might not have to go back.
by necovek | 2026-03-14 12:58:01+00:00
XML is notoriously expensive to properly parse in many languages. Basically, the entire world centers around 3 open source implementations (libxml2, expat and Xerces), if you want to get anywhere close to actual compliance. Even with them, you might hit challenges (libxml2 was largely unmaintained recently, yet it is the basis for many bindings in other languages).

The main property of SGML-derived languages is that they make "list" a first class object, and nesting second class (by requiring "end" tags), and have two axes for adding metadata: one being the tag name, another being attributes.

So while it is a suitable DSL for many things (it is also seeing new life in web components definition), we are mostly only talking about XML-lookalike language, and not XML proper. If you go XML proper, you need to throw "cheap" out the window.

Another comment to make here is that you can have an imperative looking DSL that is interpreted as a declarative one: nothing really stops you from saying that

totalOwed = totalTax - totalPayments
totalTax = tentativeTaxNetNonRefundableCredits + totalOtherTaxes
totalPayments = totalEstimatedTaxesPaid +
totalTaxesPaidOnSocialSecurityIncome +
totalRefundableCredits

means exactly the same as the XML-alike DSL you've got.

One declarative language looking like an imperative language but really using "equations" which I know about is METAFONT. See eg. https://en.wikipedia.org/wiki/Metafont#Example (the example might not demonstrate it well, but you can reorder all equations and it should produce exactly the same result).
by Ralfp | 2026-03-14 12:58:09+00:00
CPython 3.13 went further with an experimental copy-and-patch JIT compiler -- a lightweight JIT that stitches together pre-compiled machine code templates instead of generating code from scratch. It's not a full optimizing JIT like V8's TurboFan or a tracing JIT like PyPy's;

Good news. Python 3.15 adapts Pypy tracing approach to JIT and there are real performance gains now:

https://github.com/python/cpython/issues/139109

https://doesjitgobrrr.com/?goals=5,10