MurphyA/hacker-news huggingface dataset:
by ty6853 | 2025-06-03 17:27:56+00:00
>can occupy parts of national parks and have an armed standoff with federal agents, again with no real consequences.

... until you realize ~ a dozen of the Malheur were informants, and the 'boat ramp' live fire exercises they touted were orchestrated by a self described "psyops" 20 year swiss military veteran (Fabio Minoggio) on the payroll of the FBI who took on a "supervisory" role. Then the FBI refused to identify the informants during trial, so we don't even know which of the 'armed standoff' members were actual just the government fighting themselves and instigating others along with it.

The more you look into the case the more you find out why the jury acquitted ammon. It looks as if the jury decided the government had a standoff with itself.
by kubb | 2025-06-03 17:28:01+00:00
TLDR: we didn't fix it for such a long time that now it's too late to fix it. We won't be fixing it, thanks!

Edit: looking at the results of their H1 2024 survey, they're making a hard turn into AI, and most likely will be developing AI libraries to close the gap with Python.

Don't expect language features.
by gspencley | 2025-06-03 17:28:20+00:00
> "generate unit tests" is interesting? I have literally never written a unit test before and the code it produces is lengthy. Unit tests are a waste of time; but others disagree and so AI can produce it.

This statement worries me for a number of reasons.

First, I work on a very massive codebase, with a large engineering organization. And I have seen a number of AI generated unit tests. I have not seen a single example of an LLM-generated unit test that didn't contain a number of test anti-patterns. To the extent where I would argue that they are creating a self-fulfilling prophecy. You said you think that unit tests are a waste of time. I would argue that they CAN be even worse than that.

The benefit of unit tests is that, at their best, they give you a safety net for refactoring existing code. If you change the implementation of a system under test, and the tests pass, you know you didn't introduce a breaking change.

But a lot of tests couple themselves tightly to the implementation details. Every single LLM-generated unit test I have observed in the wild introduces this anti-pattern. If you have a system under test, and changing the implementation of that system without breaking its behaviour causes a test to fail... that's called the "Fragile Test" problem. Now your unit test is not only failing to encourage you to refactor code... it's actively DISCOURAGING you from refactoring code. In this case, the unit test is providing DISVALUE rather than value.

So the fact that a) you think unit tests are a waste of time and b) you look at AI as a way to save you from a chore ... tells me that you have no business ever writing uint tests with or without AI. Please stop. You are making the world worse by leveraging an LLM to do these things for you.

I have NEVER looked at writing a unit test by hand as a "chore" or as a "waste of time." I often write my tests before even writing my implementation code, because doing so helps me think through both the design and requirements of my code... and gives me a little mini-sandbox context where I can make sure that the brand new code that I am writing is doing what I want it to. It's a problem solving tool. Not something to be done after the fact as a chore.

"Write Documentation" is not writing code. And if you don't read the documentation you're generating, no one else will. So what's the point of having it in the first place if no one reads it? Food for thought.

"Find problems" I see as being akin to a spell check, or the red squigglies when you have a syntax error. I do see the value of having ML tech within the internal IDE implementation. We've been using ML for email SPAM filters for decades. There are interesting problems that can be solved there. But this is an area where I want my IDE to flag something for me. It's not me actively prompting an LLM to generate code for me.
by varispeed | 2025-06-03 17:28:24+00:00
"The contractor market is hardly dead" - no, it's captive. People still need income, but now they're herded into umbrella schemes or inside-IR35 roles that offer none of the rights of employment and none of the autonomy of business ownership. Independence wasn't taxed - it was dismantled.

Contractors and consultancies are the same thing, just at different scales. Both supply labour-for-hire. The only distinction is scale and ownership. IR35 only applies if the worker owns the business. That's protectionism.

The employer NIC line is a classic diversion. Taxes aren't moral based on the label. What matters is total contribution - and many contractors paid more in combined personal and business tax than consultancy employees and their firms ever did.

"From HMRC’s perspective…"

That perspective is the problem. It's not built to protect the taxpayer and foster fair economy - it's built to shield corporate structures, outsource enforcement risk, and target the smallest players who can't fight back
by JamesSwift | 2025-06-03 17:28:47+00:00
Sorry, I wasnt specific in that part. When I say 'rust style' Im really just referring to a union type of `result | error`, with a way to check the state (eg isError and isResult) along with a way to get the state (eg getResult and getError). Optionally '?' and '!' as sugar.

That said, the other responder points out why the sum type approach is not favored (which is news to me, since like I said I havent followed the discussion)
by HippoBaro | 2025-06-03 17:29:01+00:00
Just to add my two cents—I’ve been writing Go professionally for about 10 years, and neither I nor any of my colleagues have had real issues with how Go handles errors.

Newcomers often push back on this aspect of the language (among other things), but in my experience, that usually fades as they get more familiar with Go’s philosophy and design choices.

As for the Go team’s decision process, I think it’s a good thing that the lack of consensus over a long period and many attempts can prompt them to formally define a position.
by pkulak | 2025-06-03 17:29:54+00:00
No, that's not true at all. Adds aren't free. Adding in the middle involves following pointers into the heap all over the disk n/2 times, making them generally as expensive as reads. The only situation I can imagine a linked list making sense is if you only add to the front and only read from/delete the front (or back, if it's doubly linked). So a stack or queue.

But even then, I'm pretty sure Go actually uses an array for it's green stacks nowadays, even while paying the copy penalty for expansion.
by mantas | 2025-06-03 17:29:56+00:00
Yes. But there will always be an obscure case you can’t cover. Let’s say a test is written. Someone can’t write, but can dictate answers. Is it still the same test or not?

On the other hand, how far can society tip-tap around such alternative takes? Could he go study in a field where hand writing is expected and society would still be forced to adapt?
by masklinn | 2025-06-03 17:30:05+00:00
> What would Rust's "From" look like, for example?

Idiomatic Go type-erases error types into `error`, when there is even a known type in the first place.

Thus `From` is not a consideration, because the only `From` you need is

impl<'a, E> From<E> for Box<dyn Error + 'a> where E: Error + 'a,

and that means you can just build that in and nothing else (and it's really already built-in by the implicit upcasting of values into interfaces).
by exe34 | 2025-06-03 17:30:13+00:00
> Take things apart, and try to figure out how they work. Don't worry too much about getting them back together. But then, trying to reassemble it is good practice too.

For some reason I got my hands on a lot of old clocks as a child, and after getting the springs out, I never could get them back in. Turns out there's a special lathe you need to use to coil them up tightly enough. Only learnt that when I was about 20.
by danenania | 2025-06-03 17:30:40+00:00
I have no problem with Go’s error handling. It’s not elegant, but it works, and that’s very much in keeping with the pragmatic spirit of Go.

I’m actually kind of surprised that it’s the top complaint among Go devs. I always thought it was more something that people who don’t use Go much complain about.

My personal pet issue is lack of strict null checks—and I’m similarly surprised this doesn’t get more discussion. It’s a way bigger problem in practice than error handling. It makes programs crash in production all the time, whereas error handling is basically just a question of syntax sugar. Please just give me a way to mark a field in a struct required so the compiler can eliminate nil dereference panics as a class of error. It’s opt-in like generics, so I don’t see why it would be controversial to anyone?
Ask HN: What's with the repeated job posts on "Who's hiring"?
by rafavento | 2025-06-03 17:30:50+00:00
I've been applying to some jobs (EM) that are posted on "Who's Hiring", getting rejected without even an interview and then see them posted again and again. I'm ok with me not being the best candidate but I can't fathom the idea that not a single candidate was good enough in months.

What's going on here?
by doctoring | 2025-06-03 17:31:02+00:00
I think this essay touches on but slightly conflates "younger" with "inexperienced". Younger people are inexperienced at more things in life, sure. But if you write essays about things that are new to the world (new technologies? events? societal changes?) then even older people may be inexperienced with it and could learn something, something that surprises the author and the reader.
by Tycho | 2025-06-03 17:32:29+00:00
A serious literature degree might prescribe a reading list of ~10 books per week. Some of it stuff you don’t even like but is “important context” or whatever. At a certain point it becomes a chore for anyone. You need to find ways to help you get through more.

The reading (listening) of course is not “in the background”. Maybe sometimes you’re distracted and have to skip back 30s and re-listen. Fine. If the game is too distracting, fine, play something simpler, or watch soccer, do chores, anything where the moment to moment continuity does not require effort to track, but still gives you some benefit.
by 01100011 | 2025-06-03 17:32:51+00:00
I think for some folks their job really is just about coding. For me that was rarely true. I've written very little code in my career. Mostly design work, analyzing broken code, making targeted fixes...

I think these days coding is 20% of my job, maybe less. But HN is a diverse audience. You have the full range of web programmers and data scientists all the way to systems engineers and people writing for bare metal. Someone cranking out one-off Python and Javascript is going to have a different opinion on AI coding vs a C/C++ systems engineer and they're going to yell at each other in comments until they realize they don't have the same job, the same goals or the same experiences.
by stusmall | 2025-06-03 17:33:04+00:00
This comment thread is on an article about how Mongo applies TLA+ models to an implementation. They talk about how they use the model to generate test cases for the application. There are fair criticisms of formal modeling, but that they can't test the implementation isn't one.

I mention in another comment, I ended up not going the TLA+ route. It isn't because it cannot offer this, it's because it's a heavy, opinionated investment. That is a good trade off for some systems, like databases, but not for everything.
by specproc | 2025-06-03 17:33:29+00:00
This looks a lot like a digital marshrutka.[0]

These things are actually pretty great, in a way. My city is full of them. The drivers are maniacs, they're overcrowded and dangerous, but they're affordable, have great coverage and are better than yet more cars on the road.

[0] https://en.m.wikipedia.org/wiki/Marshrutka
by energy123 | 2025-06-03 17:33:35+00:00
You seem to be mixing up democratic socialism, which is against capitalism, with social democracy, a more mainstream center-left prescription playing out in various European countries that Ezra subscribes to, which coexists with capitalism but is categorically not right wing or Reaganism. Ezra is basically "social democracy but where the good regulations are enhanced and the bad regulations are removed."

> It argues the opposite: we need to do more capitalism, more deregulation

We definitely need more deregulation of bad regulations and not of good regulations. Some regulations are bad and they need to be removed. This is the non-ideological position that evaluates each regulation on its own merits. Not the ideologically possessed position that clusters every single regulation in a monolithic tent and says "deregulate it all because regulations are bad" or "maintain them all because deregulation is bad".

> Simple deregulation of building will not solve housing prices.

And you are basing this assertion on what economic theory or what empirical research?

Compare rental inflation in San Francisco which has effectively outlawed private construction with Austin Texas where construction is more deregulated and housing starts are allowed to track demand.

Get a dataset of American cities, do a scatter plot of rental inflation on the x-axis against the change in per capita housing starts on the y-axis and observe the high R-squared.

It's the left-wing parties and politicians that stand against supply-side policies informed by this reality.

I am not against a land tax and social housing as added measures but the inability to accept the efficacy of supply-side policies on purely ideological grounds will mean left-wing politicians like Dean Preston will continue to do more harm than good whenever they gain power. They don't know how damaging they are because they fail to grasp the basic facts of housing economics because accepting those facts violates the dishonest shibboleths they need to hold to (developers always bad, capital always bad, regulations always good, economics isn't real).
by stego-tech | 2025-06-03 17:34:06+00:00
Drone warfare has always been equal parts distressing (it’s impersonal, it’s too easy to leverage, and therefore too easy to abuse) and incredible (ultra-thin fiber as a kite line? Brilliant!) to me. These advances are no different.

That said, I do fret we’re staring down a new age of guerrilla warfare. Drones are cheap, widely available, and increasingly autonomous. Their countermeasures are either impractical for communities (AA Cannons or automated firearms) or costly (jammers, interceptors). The programming can be set-and-forget, meaning operations can be staged months ahead of deployment and make it difficult to find or prevent. The autonomy of target termination specifically raises concerns for the immediate future of violent uprisings, coups, and civil wars.

As an engineer, I am fascinated by it all. As a human, I am horrified that we democratized violence on this scale.
by Llamamoe | 2025-06-03 17:34:16+00:00
Respectfully... how do you work in the field, while being so wrong?

Oxygen desaturation correlates with long-term metabolic outcomes, but correlates very poorly to day-to-day symptoms.

The actual primary cause of symptoms in SDB is microarousals resulting from increased respiratory effort, and sleep studies using 3%-or-arousal criteria report MUCH higher OSA rates than the commonly used hypoxia+reduction in flow criteria, while also having a much higher correlation with symptoms(>60% vs ~17% for AHI), and the problem is not over, but under- diagnosis since people with relatively few apneas(e.g. UARS patients) are rarely diagnosed correctly.

Also, (optimally) healthy people DO breathe 100% of the time during sleep- breathing during sleep is controlled by a different system while awake, and is extremely regular during NREM sleep, with REM merely introducing noise to breath amplitude. Any and all pauses in breathing are caused by sleep disruption.

The only reason why it seems like apnea-based criteria are oversensitive is because obese, older men often DON'T wake up from airway collapse and may be fine at 5, 10, or even 15 AHI. For everyone else, it's possible to have debilitating symptoms at 4 because the actual Respiratory Disturbance Index is 20+.

Goddammit man. People like you are why so many go their entire lives unable to find treatment. If you're working in the field, educate yourself about it. Ugh.
by lenerdenator | 2025-06-03 17:34:31+00:00
Most people have given up the concept of being on the "good side".

That's how Trumpism can gain any traction at all. The amount of international engagement Russia had as Putin made himself tsar was embarrassing, and to a person with no scruples if the money is right - like Trump - it just illustrates that the guardrails aren't really there.
by rogerkirkness | 2025-06-03 17:34:40+00:00
PSA: I did a similar thing using Claude about buying a 2012-2016 era Ford F150 and it was so good at providing information like this about each model year. I went with a 2014 since the V8 was most mature and 2012-2013 issues resolved, and got there in 2 minutes instead of having to surf through forums for hours.
by ziml77 | 2025-06-03 17:34:41+00:00
They admit it's contrived, but this isn't very convincing

func printSum(a, b string) error { x, err := strconv.Atoi(a) if err != nil { return fmt.Errorf("invalid integer: %q", a) } y, err := strconv.Atoi(b) if err != nil { return fmt.Errorf("invalid integer: %q", b) } fmt.Println("result:", x + y) return nil }

It's not adding anything that the Atoi function couldn't have reported. That's a perfect case for blindly passing an error up the stack.
by Flemlo | 2025-06-03 17:34:57+00:00
I'm surprised that it's even possible running big models locally.

I agree we will see how this plays out but I hope models might start to become more efficient and it might not matter that much for certain things to run some parts locally.

I could imagine a LLM model with a lot less languages and optimized for one programming language to happen. Like 'generaten your model'
by 6stringmerc | 2025-06-03 17:35:17+00:00
Dissociating English terms from their context and focusing on the ease of relationship is a hilariously bad habit that people actively are trained AWAY from using. The nuance of English is absolutely going to break AI because even the example of “strong” relationships are suspect in utility.

Seriously, when is the last time a casual speaker, writer, or translator used “domicile” in place of “house” in your world? It’s an archaic term appropriated into legal jargon. Flattening out language and drawing lines between terms is funny to me.

The only issue is normalizing “Thesaurus bashing” type mentalities - like this - to degrade the value of coherent, purposeful, meaningful use of English. It’s an amalgamation language with extremely difficult fluency. It’s rife with idioms and contradictory emotional context.

Oh well, I can grasp that I tend to yell at clouds when it comes to this sort of thing. It doesn’t change my opinion this is a harmful exercise and probably should not exist. There are few instances where playing a game will actually make one more stupid, but here we are.
by mkfs | 2025-06-03 17:35:18+00:00
The diffusion-based art generators seem pretty evil. Trained (without permission) on artists' works, devalues said works (letting prompt jockeys LARP as artists), and can then be deployed to directly compete with said artists to threaten their livelihoods.

These systems (LLMs, diffusion) yield imitative results just powerful enough to eventually threaten the jobs of most non-manual laborers, while simultaneously being not powerful enough (in terms of capability to reason, to predict, to simulate) to solve the hard problems AI was promised to solve, like accelerating cancer research.

To put it another way, in their present form, even with significant improvement, how many years of life expectancy can we expect these systems to add? My guess is zero. But I can already see a huge chunk of the graphic designers, the artists, the actors, and the programmers or other office workers being made redundant.
by DamnInteresting | 2025-06-03 17:35:32+00:00
> It's undated

I really dislike this trend of leaving off the publication date. It's a key piece of context, especially for nonfiction, where the known facts may have changed since the story was published (as is the case here).

I get that they want the content to seem evergreen and unmoored from the tyranny of the calendar, but unless they intend to constantly monitor/update the facts of the nonfiction, the date ought to be clearly visible.
by bob1029 | 2025-06-03 17:35:42+00:00
> I think most ui is borken by design possibly for perpetual income reasons.

I don't know how the incentives really play out anymore. It's definitely self-interest in a lot of places.

I have a new theory that some user interfaces are made to be janky on purpose such that the users are constantly bathed in cortisol and made easier to subjugate with the other dark patterns.

The UI/UX for Azure instantly comes to mind as an example. By the time I've been able to ascertain that my VM is actually running, I have forgotten about the five other things I wanted to verify wrt billing, etc. Eventual consistency for something like this appears to me as an intentionally user-hostile design choice, especially in the case of Microsoft with their vast experience and talent pools.
by zahlman | 2025-06-03 17:36:14+00:00
> Level Setting

> First, we need to get on the same page. If you're [6 months out of date with the technology you think of as overhyped after having observed it for the last 4 years or so], you're [not fairly evaluating it].

Perhaps, but this is an extremely unconvincing approach to the argument right out of the gate - it's basically on the same level as "communism has never been tried".

Especially if you're going to start out by describing your interlocutors as "crazy", rather than positing that an effectively completely new thing now exists that ought to be evaluated differently from Copilot et. al.
by tsimionescu | 2025-06-03 17:36:40+00:00
> Going back to actual error handling code, verbosity fades into the background if errors are actually handled. Good error handling often requires additional information added to an error. For instance, a recurring comment in user surveys is about the lack of stack traces associated with an error. This could be addressed with support functions that produce and return an augmented error. In this (admittedly contrived) example, the relative amount of boilerplate is much smaller:

[...] if err != nil { return fmt.Errorf("invalid integer: %q", a) } [...]

It's so funny to me to call "manually supplying stack traces" as "handling an error". By the Go team's definition of handling errors, exceptions* "automatically handle errors for you".

* in any language except C++, of course
by Jtsummers | 2025-06-03 17:37:12+00:00
You're getting downvoted, but this was what tptacek basically wrote about. Key points from his blog are that LLMs are good at tedium, and Go's structure is highly repetitive and amenable to LLM generation. The error handling tedium is probably part of why it's highly repetitive.

> I work mostly in Go. I’m confident the designers of the Go programming language didn’t set out to produce the most LLM-legible language in the industry. They succeeded nonetheless Go has just enough type safety, an extensive standard library, and a culture that prizes (often repetitive) idiom. LLMs kick ass generating it.

https://news.ycombinator.com/item?id=44163063 - 2386 comments
by 9rx | 2025-06-03 17:37:22+00:00
In Go, values are to be always useful, so `result | error` would be logically incorrect. `(result, result | error)`, perhaps – assuming Go had sum types, but that's a bit strange to pass the result twice.

Just more of the pitfalls of it not being clear how Rust-style applies to an entirely different language with an entirely different view of the world.