MurphyA/hacker-news huggingface dataset:
by shazbotter | 2025-08-22 14:51:40+00:00
Vile.

You know why we don't give everyone a full body MRI every year? Too many false positives, too many benign findings that result in unnecessary action, too expensive.

This is the same. It's going to have errors, it's going to find benign things, and it's going to be expensive. It's going to hurt people who fundamentally did nothing wrong.

If it's expensive and hurting innocent people, it sure looks like cruelty is the point.
by dreamcompiler | 2025-08-22 14:52:06+00:00
> NOSTR and Mastodon should never be left out of any serious research

I'm a nerd and I've never heard of NOSTR. What I've heard about Mastodon suggests strong "Desktop Linux circa 2000" vibes: Too much fiddling around for too little gain. If I can't be bothered to deal with either of these, the normies certainly cannot.
by Piskvorrr | 2025-08-22 14:52:27+00:00
Except when they "extract" something that wasn't in the source. And now what, assuming you can even detect the tainted data at all?

How do you fix that, when the process is literally "we throw an illegible blob at it and data comes out"? This is not even GIGO, this is "anything in, synthetic garbage out"
by kace91 | 2025-08-22 14:52:35+00:00
But it is a false dichotomy. You can both offer resources to the ones behind and support high achievers.

The latter can pretty much teach themselves with little hands on guidance, you just have to avoid actively sabotaging them.

Many western school systems fail that simple requirement in several ways: they force unchallenging work even when unneeded, don’t offer harder stimulating alternatives, fail to provide a safe environment due to the other student’s disruption…
by thomashabets2 | 2025-08-22 14:52:39+00:00
> I believe I know where it comes from […] poking at Go that it doesn't hide abstractions

Author here.

No, this is not where it comes from. I've been coding C form more than 30 years, Go for maybe 12-15, and currently prefer Rust. I enjoy C++ (yes, really) and getting all those handle-less knives to fit together.

No, my critique of Go is that it did not take the lessons learned from decades of theory, what worked and didn't work.

I don't fault Go for its leaky abstractions in slices, for example. I do fault it for creating bad abstraction APIs in the first place, handing out footguns when they are avoidable. I know to avoid the footgun of appending to slices while other slices of the same array may still be accessible elsewhere. But I think it's indefensible to have created that footgun in the year Go was created.

Live long enough, and anybody will make a silly mistake. "Just don't make a mistake" is not an option. That's why programming language APIs and syntax matters.

As for bare metal; Go manages to neither get the benefits possible of being high level, and at the same time not being suitable for bare metal.

It's a missed opportunity. Because yes, in 2007 it's not like I could have pointed to something that was strictly better for some target use cases.
by delichon | 2025-08-22 14:52:59+00:00
Our HOA maintains the roads and the community water system. The county is unwilling to do either. Without the HOA I'd need a specialized vehicle to get through the mud to my driveway in the rainy season, and I'd have to haul in my water, because it's too deep for me to afford a well. So I'd probably end up living elsewhere.
by maxdamantus | 2025-08-22 14:53:39+00:00
It's never been clear to me where such a type is actually useful. In what cases do you really need to restrict it to valid UTF-8?

You should always be able to iterate the code points of a string, whether or not it's valid Unicode. The iterator can either silently replace any errors with replacement characters, or denote the errors by returning eg, `Result<char, Utf8Error>`, depending on the use case.

All languages that have tried restricting Unicode afaik have ended up adding workarounds for the fact that real world "text" sometimes has encoding errors and it's often better to just preserve the errors instead of corrupting the data through replacement characters, or just refusing to accept some inputs and crashing the program.

In Rust there's bstr/ByteStr (currently being added to std), awkward having to decide which string type to use.

In Python there's PEP-383/"surrogateescape", which works because Python strings are not guaranteed valid (they're potentially ill-formed UTF-32 sequences, with a range restriction). Awkward figuring out when to actually use it.

In Raku there's UTF8-C8, which is probably the weirdest workaround of all (left as an exercise for the reader to try to understand .. oh, and it also interferes with valid Unicode that's not normalized, because that's another stupid restriction).

Meanwhile the Unicode standard itself specifies Unicode strings as being sequences of code units [0][1], so Go is one of the few modern languages that actually implements Unicode (8-bit) strings. Note that at least two out of the three inventors of Go also basically invented UTF-8.

[0] https://www.unicode.org/versions/Unicode16.0.0/core-spec/cha...

> Unicode string: A code unit sequence containing code units of a particular Unicode encoding form.

[1] https://www.unicode.org/versions/Unicode16.0.0/core-spec/cha...

> Unicode strings need not contain well-formed code unit sequences under all conditions. This is equivalent to saying that a particular Unicode string need not be in a Unicode encoding form.
by psadauskas | 2025-08-22 14:54:23+00:00
There's also the Pink Elephant Paradox (Whatever you do, DO NOT think about a pink elephant).

If you mention X or Y, even if they're preceded by "DO NOT" in all caps, an LLM will still end up with both X and Y into its context, making it more likely it gets used.

I'm running out of ways to tell the assistant to not use mocks for tests, it really really wants to use them.
by gus_massa | 2025-08-22 14:54:51+00:00
It's easy to solve if they modify they training to remove some weight from Stack Overflow and add more weight to Yahoo! Answers :) .

I remember a few years ago, we were planing to make some kind of math forum for students in the first year of the university. My opinion was that it was too easy to do it wrong. On one way you can be like Math Overflow were all the questions are too technical (for first year of the university) and all the answers are too technical (first year of the university). On the other way, you can be like Yahoo! Answers, where more than half of the answers were "I don't know", with many "I don't know" per question.

For the AI, you want to give it some room to generalize/bullshit. It one page says that "X was a few months before Z" and another page says that "Y was a few days before Z", than you want an hallucinated reply that says that "X happened before Y".

On the other hand, you want the AI to say "I don't know.". They just gave too little weight to the questions that are still open. Do you know a good forum where people post questions that are still open?
by t43562 | 2025-08-22 14:54:58+00:00
Cross compiling go is easy. Static binaries work everywhere. The cryptographic library is the foundation of various CAs like letsencrypt and is excellent.

The green threads are very interesting since you can create 1000s of them at a low cost and that makes different designs possible.

I think this complaining about defer is a bit trivial. The actual major problem for me is the way imports work. The fact that it knows about github and the way that it's difficult to replace a dependency there with some other one including a local one. The forced layout of files, cmd directories etc etc.

I can live with it all but modules are the things which I have wasted the most time and struggled the most.
by openasocket | 2025-08-22 14:55:18+00:00
I've worked almost exclusively on a large Golang project for over 5 years now and this definitely resonates with me. One component of that project is required to use as little memory as possible, and so much of my life has been spent hitting rough edges with Go on that front. We've hit so many issues where the garbage collector just doesn't clean things up quickly enough, or we get issues with heap fragmentation (because Go, in its infinite wisdom, decided not to have a compacting garbage collector) that we've had to try and avoid allocations entirely. Oh, and when we do have those issues, it's extremely difficult to debug. You can take heap profiles, but those only tell you about the live objects in the heap. They don't tell you about all of the garbage and all of the fragmentation. So diagnosing the issue becomes a matter of reading the tea leaves. For example, the heap profile says function X only allocated 1KB of memory, but it's called in a hot loop, so there's probably 20MB of garbage that this thing has generated that's invisible on the profile.

We pre-allocate a bunch of static buffers and re-use them. But that leads to a ton of ownership issues, like the append footgun mentioned in the article. We've even had to re-implement portions of the standard library because they allocate. And I get that we have a non-standard use case, and most programmers don't need to be this anal about memory usage. But we do, and it would be really nice to not feel like we're fighting the language.
by adastra22 | 2025-08-22 14:55:39+00:00
I have a CS theory background. If by prompt you mean the full context provided, then there isn’t an effective limit. Claude now has 1M token context windows. You are not going to fill that with just a task specification. You could easily fill it in a large repo with the accumulated design history and total codebase. However this is also largely static, and could be used for fine-tuning. With fine tuning you’re back to a 1M token task specification for the unique variation of this prompt, and recent changes. You are not going to easily fill that.
by ryandrake | 2025-08-22 14:55:52+00:00
> The only difference was leadership.

Not really. There are a lot of external factors that could explain the difference in the company's performance. Different time, different customers, different overall market strength, different availability in capital, different interest rates. You can't pin the company's success or failure entirely on the CEO, and there is not that much correlation between CEO compensation and company success.

I think a lot of people could do Nadella’s job and you’d see similar company performance. In fact I’d be so bold to say that the higher up on the totem pole you go, the more people could do an equal or better job. The world has few CEOs simply because the world has few companies, not because the job is particularly difficult or requires niche, rare skill.

We love to hero worship, though, and the fiction we consume loves to uplift That One Person who won the day, downplaying everyone else who contributed to that win, and the environment in which the win happened.
by xg15 | 2025-08-22 14:56:01+00:00
Not sure it was only that. I remember a lot of "we're not Java" in the discussions around it. I always had the feeling, they were rejecting certain ideas like exceptions and generics more out of principle, than any practical analysis.

Like, yes, those ideas have frequently been driven too far and have led to their own pain points. But people also seem to frequently rediscover that removing them entirety will lead to pain, too.
by taeric | 2025-08-22 14:56:06+00:00
Just searching "cost of owning a car in Amsterdam" says it is expensive, though? Now, it does cite parking costs as a major driver of that. Which, again, if you are willing to specifically make parking/driving expensive, I fully agree that city design can get fewer drivers.

This can be seen easily in NYC. The new congestion tolls on roads has shifted people from driving to transit. Not by any new physical design of the city, but by making it cost more to drive.
by zimpenfish | 2025-08-22 14:56:29+00:00
> Nothing?

It breaks. Which is weird because you can create a string which isn't valid UTF-8 (eg "\xbd\xb2\x3d\xbc\x20\xe2\x8c\x98") and print it out with no trouble; you just can't pass it to e.g. `os.Create` or `os.Open`.

(Bash and a variety of other utils will also complain about it being valid UTF-8; neovim won't save a file under that name; etc.)
by refactor_master | 2025-08-22 14:57:01+00:00
There’s a common misconception that high throughput methods = large n.

For example, I’ve encountered the belief that just by recording something at ultra high temporal resolution gives you “millions of datapoints”. This then has all sorts of effects on the breakdown of statistics and hypothesis testing (seemingly).

In reality, the replicability of the entire setup, the day it was performed, the person doing it, etc. means the n for the day is probably closer to 1. So to ensure replicability you’d have to at least do it on separate days, with separately prepared samples. Otherwise, how can you eliminate the chance that your ultra finicky sample just happened to vibe with that day’s temperature and humidity?

But they don’t teach you in statistics what exactly “n” means, probably because a hundred years ago it was much more literal in nature. 100 samples is because I counted 100 mice, 100 peas, or 100 surveys.
by josefx | 2025-08-22 14:57:22+00:00
> Quote from this article:[1]

The article tries very hard to draw a connection between the licensing costs for the universities and Oracle auditing random java downloads, but nobody actually says that this is what happened.

The waiver of historic fees goes back to the last licensing change where Oracle changed how licensing fees would be calculated. So it seems reasonable that Oracle went after them because they were paying customers that failed to pay the inflated fees.
by CodedRebel | 2025-08-22 14:58:03+00:00
Needed something like this to do everything quickly just by using the keyboard. So I am building a small tool that acts like a command hub with powerful(programmable) shortcuts, fast search, and simple controls all in one place.

With it, I can:

Launch apps, files, or websites instantly

Create workflows (open multiple things with a single hotkey)

Control general system actions (Mic, audioSources, volume, brightness, shutdown, etc.)

A better and more rapid search

Stay fully in keyboard mode without reaching for the mouse

It’s free and made to just get out of your way. Still Building it but soon it will be the daily driver.

If you’d like to try it early or help shape the direction, I’ve put up a waitlist here: [getriser.app]
by marcusverus | 2025-08-22 14:58:10+00:00
People want this kind of service, but they generally don't like the 19th century experience that is rail travel. Which leads me to a hot take: Within a decade, Autonomous RVs will be the preferred method of travel (above rail and flight) for most trips with a one-way drive time under ~10 hours.

Imagine a private rail car which could pick you up at your doorstep and drop you off in front of your hotel. Is your destination more than a few hours away? Book an evening pick up time and utilize the sleeper configuration. For a 16 hour round trip, such a service could reduce the perceived door-to-door travel time from a full day to near zero.
by tuetuopay | 2025-08-22 14:58:31+00:00
Doing a lot of Rust, there is one huge benefit of having cargo handle rustfmt: it knows the fileset you're talking about. It will not blindly format all rust files in the cwd, rather the "current" crate (current having the same definition as cargo!).

Translating this to uv, this will streamline having multiple python packages in the same directory/git repo, and leave e.g. vendored dependencies alone.

Also, since their goal really is "making cargo for python", it will likely support package-scoped ruff config files, instead of begin file- or directory-based.
by af78 | 2025-08-22 14:58:36+00:00
I think it depends on the underlying filesystem. Unicode (UTF-16) is first-class on NTFS. But Windows still supports FAT, I guess, where multiple 8-bit encodings are possible: the so-called "OEM" code pages (437, 850 etc.) or "ANSI" code pages (1250, 1251 etc.). I haven't checked how recent Windows versions cope with FAT file names that cannot be represented as Unicode.
by toastercat | 2025-08-22 14:58:55+00:00
> When did you last touch java, before 2000?

August 22, 2025.

Local environments are not literally tied to IDEs, but they effectively are in any non-trivially sized project. And the reason is because most Java shops really do believe "you are doing yourself a disservice if you don't use a decent IDE irrespective of language." I get along fine with a text editor + CLI tools in Deno, Lua, and Zig. Only when I enter Java world do the wisest of the wise say "yeah there is a CLI, but I don't really know it. I recommend you download IntelliJ and run these configs instead."

Yes Spring Boot is productive. So is Ruby on Rails or Laravel.
by nasretdinov | 2025-08-22 14:59:00+00:00
There's actually one more interesting plus for the for loops that's not quite obvious in the beginning: the for-loops allow to do perform a single memory pass instead of multiple. If you're processing a large enough list it does make a significant difference because memory accesses are relatively expensive (the difference is not insignificant, the loop can be made e.g. 10x more performant by optimising memory accesses alone).

So for a large loop the code like

for i, value := source { result[i] = value * 2 + 1 }

Would be 2x faster than a loop like

for i, value := source { intermediate[i] = value * 2 }

for i, value := intermediate { result[i] = value + 1 }
by dangus | 2025-08-22 14:59:13+00:00
Exactly, I think any solution that is just like “build docker container, push docker container” is very much what you want as a startup.

“Avoid k8s” shouldn’t mean “avoid containers” because they have major velocity and reliability benefits for small teams with no ops engineers.

I totally agree with you that CodeDeploy in particular is miserable. I’d much rather overpay for compute using Fargate than be saddled with that.
by Barrin92 | 2025-08-22 14:59:42+00:00
there's a reason anecdotes aren't data. While people are more divided on the effectiveness, there's pretty overwhelming pubblic support for laws like the Online Safety Act.

https://yougov.co.uk/technology/articles/52693-how-have-brit...

It's always slightly surprising to see Americans online react to this thinking there is some Illuminati conspiracy happening. Britain and Europe are not the US, we don't have much of an interest of having 4chan dictate public policy.

It's also a good lesson in how effective platforms like Twitter can be in manipulating public perception, given that the same users now seem to be able to openly agitate over there.
by tomrod | 2025-08-22 14:59:42+00:00
Thank you again for your thoughts, this will be my last response to you since, based on our interaction, I believe you want the last word. You are substantively incorrect in assertions. You have yet move beyond an assertion that "Georgism is Marxism." I have provided both justification why you assertion is invalid, and pointed out that leading economists of all stripes (orthodox and heterodox) consider a land value tax to both be minimally distortive.

Thanks for the opportunity to present Georgism as a superior policy over the clamor in your prior comments.
by olddustytrail | 2025-08-22 15:00:08+00:00
> If you're saying someone can't credibly criticize a language without having designed a language themselves

Actually I think that's a reasonable argument. I've not designed a language myself (other than toy experiments) so I'm hesitant to denigrate other people's design choices because even with my limited experience I'm aware that there are always compromises.

Similarly, I'm not impressed by literary critics whose own writing is unimpressive.
by staticman2 | 2025-08-22 15:00:18+00:00
Okay... I objected to your use of the word token. Humans don't think in tokens or even write in tokens so obviously what you wrote is not a fact.

That shouldn't even be controversial, I don't think?

You wrote "The text that comes out follows some statistical distribution".

At the risk of being over my head here did you mean the text can be described statistically or "follows some statistical distribution". Are these two concepts the same thing? I don't think so.

A program by design follows some statistical distribution. A human is doing whatever electrochemical thing it's doing that can be described statistically after the fact.

Regardless my point was pretty simple, I know this will never happen but I wish tech people would drop this tech language when describing humans and adopt neuroscience language.
by EvanAnderson | 2025-08-22 15:00:23+00:00
> I think this solution also misses the fact that certain kinds of people (like bored kids) will walk through fire for a free quarter.

This. Soda bottle deposits when I was a kid.

(Heck, even now. Who am I kidding? My state doesn't have them anymore, but I still vacation in places that do, and I still keep an eye out for bottles and cans.)
by AchintyaAshok | 2025-08-22 15:00:48+00:00
Over the weekend I got access to Kiro (Amazon's AI IDE answer to anthropic) and I was pretty excited. One of the biggest leverage points I learned when developing with claude-code was that good requirements gathering and task generation was the key to prevent the slop.

So when I got access to Kiro, which was centered around this very problem, I expected it to go way beyond what claude-code's vanilla quality output was. But.. I was pretty disappointed.

It failed my expectations for a few reasons:

Rigid documentation structure (the steering docs) that requires significant context management with the dynamic path matching configuration.

The way it runs into phases based on a single "vibe" prompt without good back-and-forth feedback made me feel like it was just hallucinating a bunch of random stuff. Didn't really see how this was improving over CC.

No support for persona-based subagents that can operate in independent contexts.

Only supports Claude 3.7/4 with no support for frontier models like Opus or GPT5. I mean what even is the point if you don't have access to the latest and greatest?

Bizarre pricing with “spec” and “vibe” requests. Somehow they’re repeating all the mistakes cursor made instead of leaning into the "cool-down" pricing that anthropic has done (which I personally like).

Wondering if you guys feel the same way? What exactly is the point of Amazon trying to compete with Anthropic or OpenAI if they don't own or cannot vend the frontier models? This alone is enough of a reason not to switch to a AI DevX experience they're vending.
by butterisgood | 2025-08-22 15:00:57+00:00
Where do people get the idea that one thread per core is correct on a system that deals with time slices?

In my experience “oversubscribing” threads to cores (more threads than cores) provides a wall-clock time benefit.

I think one thread per core would work better without preemptive scheduling.

But then we aren’t talking about Unix.
Show HN: Mobile Fluid Simulation Controlled by Device Tilt
by sh4jid | 2025-08-22 15:01:00+00:00
A few days ago I came across the amazing `flip-card` project by Nicholas Johnson, which had fluid simulation running on business cards. I thought there had to be similar projects for mobile phones, since the DeviceOrientation API is widely supported. But after my brief search, I could not find anything that works in the browser!

So I built this. The fluid is intentionally a little jumpy because I found it makes it more fun to play with. I’ve been running it as a PWA on my phone and use it like a fidget toy.

The code is here: https://github.com/shajidhasan/mobile-fluid-sim (please leave a star if you liked the project!)

The `flip-card` project for reference: https://github.com/Nicholas-L-Johnson/flip-card