MurphyA/hacker-news huggingface dataset:
by danudey | 2025-10-09 16:59:01+00:00
I'm not sure if golang has the same fundamental issues in common use, but in e.g. C you don't want the compiler reordering your structs or adding arbitrary padding because that makes it incompatible with other in-memory representations - e.g. if you're using shared memory with another process that hasn't received the same optimizations, if you're loading raw data into memory/using mmap, etc.

Likewise, one of the examples is moving from an array of structs to a struct of arrays; that's a lot more complex of a code reorganization than you'd want a compiler doing.

It would be good to have a static analyzer that could suggest these changes, but, at least in many cases, you don't want them done automatically.
by sailingparrot | 2025-10-09 16:59:25+00:00
Definitely a better high level metric than nvidia-smi, and probably fine if you just want to get a very coarse idea of whether or not your are using the GPUs reasonably at all.

But when you get to the point where you care about a few percentage points of utilisation it's just not reliable enough as many things can impact energy consumption both ways. E.g. had a case were the GPU cluster we were using wasn't being cooled well enough, so you would gradually see power draw getting lower and lower as the GPUs were throttling themselves to not overheat.

You can also find cases were energy consumption is high but MFU/HFU isn't, like memory intensive workloads
by qingcharles | 2025-10-09 16:59:31+00:00
I use LLMs to vibe-code entire tools that I need for my work. They're really banal boring apps that are relatively simple, but they still would have wasted a day or two each to write and debug. Even stuff as simple as laying out the whole UI in a nice pattern. Most of these are now practically one-shots from the latest Claude and GPT. I leave them churning, get coffee, come back and test the finished product.
by simonsarris | 2025-10-09 16:59:51+00:00
I mean, you can't use it in any meaningful way as currency without involving the "fake" dollars, whys it the real one? It's hard to even talk about it without mentioning those other dollars!

Have to imagine someone carrying around a real book of laws (maybe they have Leviticus, or the Code Napoleon, or they've got a nice re-chisel Hammurabi's tablets) - unlike the paper law of today
by stevenicr | 2025-10-09 17:00:04+00:00
great job showing this, inspiring!

I want this not for typing all the letters and numbers, but just the keyboard shortcuts to play Empire Earth V4 VR

- until that fantasy materializes maybe enough typing for an Age of Empires type game without being stuck at a full keyboard,

something like this maybe the perfect in-between ps4 controller and full keyboard for many things.
by joshhart | 2025-10-09 17:00:33+00:00
I believe it's intended to convince the audience they are experts, that this type of thing is dangerous to a business, and they are the ones doing the most to prevent it. There is no explicit statement to this effect, but I get the sense they are saying that other vendors, and especially open models that haven't done the work to curate the data as much, are vulnerable to attacks that might hurt your business.

Also a recruiting and branding effort.

All of this is educated guesses, but that's my feeling. I do think the post could have been clearer about describing the practical dangers of poisoning. Is it to spew misinformation? Is it to cause a corporate LLM powered application to leak data it shouldn't? Not really sure here.
by NobodyNada | 2025-10-09 17:01:20+00:00
> if you `Vec::reserve_exact` with size N, fill to N, and then append a single element you are guaranteeing that that first append triggers a potentially O(N) resize.

The documentation does not guarantee this, because memory allocators can't typically allocate arbitrarily-sized blocks of memory, instead rounding to the nearest supported size. For example, for small allocations glibc malloc allocates in multiples of 8 bytes, with a minimum size of 24 bytes. So if you make a 35-byte allocation, there will be 5 bytes of wasted space at the end which you could theoretically use to store more elements without reallocating if your collection grows.

If you're using the system allocator, Rust can't take advantage of this, because the C malloc/free APIs don't provide any (portable) way for the allocator to inform the application about this excess capacity. But Rust's (currently unstable) API for custom allocators does expose this information, and the documentation is written to allow Vec to take advantage of this information if available. If you reserve_exact space for 35 u8's, and your allocator rounds to 40 bytes (and informs the Vec of this the allocator API), then the vector is allowed to set its capacity to 40, meaning the next append would not trigger a resize.

On current stable Rust, this is all just theoretical and Vec works as you describe -- but the documentation specifically does not promise this because the situation is expected to change in the future.
by mpalmer | 2025-10-09 17:01:35+00:00
I'm happy to go further, I think the majority of the post is slop that reads like a bunch of tweets stitched together.

And what's with that diagram at the start? What's the axis on that graph? The "symptoms" of the "collapse" are listed as "Calculator", "Replit AI" and "AI Code". What?

Later in the post, we see the phrase "our research found". Is the author referring to the credulous citations of other content mill pieces? Is that research?

Our collective standard for quality of writing should be higher. Just as experienced devs have the good "taste" to curate LLM output, inexperienced writers cannot expect LLMs to write well for them.
by authorfly | 2025-10-09 17:02:50+00:00
Yeah, you are very right.

If you start peaking success, you realize that while your happy path may work for 70% of real cases, it's not really optimal to convert for most of them. Sentry helps a lot, you see session replay, you get excited.

You realize you can A/B test... but you need a tool for that...

Problem: Things like Openreplay will just crash and not restart themselves, with multiple container setups, some random part going down will just stop your session collection, without you noticing.. try to debug that? Goodluck, it'll take at least half a day. And often, you restore functionality, only to have another random error take it down a couple of months later, or you realize, the default configuration is only to keep 500mb of logs/recordings (what), etc, etc...

You realize you are saving $40/month for a very big hassle and worse, it may not work when you need it. You go back to sentry etc..

Does Canine change that?
by _DeadFred_ | 2025-10-09 17:03:15+00:00
You can't 90% utilize everyone. There are lots of rolls where they are needed maybe 2-5% for edge cases, but those cases are brake the company ones. So they do mediocre seemingly unimportant rolls because they are willing/able to meet those 2-5% requirements. They get kissed up to because they literally keep the company around.

I said before but in a pre-2000 world when I worked at a public company I got lectured when my employees timecards utilization were too high because you can't actually utilize people at those levels full time continuously and management wouldn't sign off on incorrect timecards. But the modern world pretends it's fine and is trying to optimize to it and it just won't work. You can't optimize out the key knowledge, and you can't keep the key knowledge and be 80% utilized doing something else.

This is all based on some ideal world that doesn't exist in reality.
by dragonwriter | 2025-10-09 17:04:01+00:00
> The React site is updated slightly, Vite and similar are now mentioned but the perception damage is there and hasn't let go (and last I checked using f.ex. Vite was not "recommended" as being an inferior option to Next for React usage)

The React site recommends a full-stack framework for most users getting started, but Next, React Router v7, and (for native apps) Expo are all highlighted options, and two other additional frameworks are also described as up-and-coming options.

The site also describes a from-scratch options for “if your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app”, with specific instructions for Vite, Parcel, and RsBuild.

There's a legitimate debate to be had, I guess, about the whether the getting started should be optimized toward the lowest-distraction approach to learning basic React or toward what is expected to be the most common production use case, but they seem currently to have decent coverage, concerns about order of presentation aside, of a range of options.
by nradov | 2025-10-09 17:04:14+00:00
The whining wasn't completely nonsense: the JSF / F-35 program is a prime example of procurement malpractice where the government set flawed initial requirements which made the final product later, more expensive, and less capable than it should have been. Congress and the Department of Defense repeated the same errors from the debacle of the TFX / F-111 program and then compounded the problem with additional unforced errors like trying to do concurrent testing and production.

But in the end the F-35 really does work pretty well by all credible accounts. It could have been a lot worse.
by array_key_first | 2025-10-09 17:04:43+00:00
Commenting conservative things is not against community guidelines. However, most conservative comments are against community guidelines.

For example, supporting Trump is fine. Repeating what Trump says might be against community guidelines. Not because being a trump supporter is against the rules, but because trump sometimes says blatantly racist things, and that IS against the rules.

It's simple to be both conservative and not rude, nasty, racist, sexist, etc. Many influential conservative voices struggle with this. So they get banned, and, by value of following their lead, their followers.

Another example, on a bigger scale. Trump can be upset about losing an election. That's allowed. But Trump cannot advocate people go cause violence because of it. That's not allowed, and we had days in court because of that.
by wesfenlon | 2025-10-09 17:05:38+00:00
If you didn't catch the link, a couple issues earlier in the newsletter I did quite an in-depth dive into how emulator developer Nemesis spent the last 15 years finally making it possible to emulate LaserActive games! Much longer than the MAME story if you enjoy the technical stuff :) https://www.readonlymemo.com/this-is-the-first-the-16-year-o...

(And if you don't enjoy the technical stuff, well, now you can actually download some of those laserdisc games you apparently didn't get to play as a kid, haha!)
by javcasas | 2025-10-09 17:06:00+00:00
Every time I see a big chain of technologies as "bad", all I want to do is add more and see where the good/bad separation should be placed. So:

API gateways -> Java servers -> JVM -> C/C++ -> Assembly -> machine code -> microprocessors -> integrated circuits -> refined silicon -> electronics -> refined metals -> cast metallurgy -> iron tools -> copper tools -> stone tools

Anyway, my take is that everything after copper is evil and should be banished.
by andy800 | 2025-10-09 17:06:20+00:00
Sorry, not giving McDonald's a pass. They have a large team of data scientists and technologists working on their app and customer data. Even with a massive base, running a query to find individuals whose spend has dropped 50% y-o-y is not too difficult, and should be an urgent priority at a company that reported "negative comparable guest counts" (i.e. fewer customers y-o-y) for fiscal 2024.
by kotaKat | 2025-10-09 17:06:23+00:00
The key has been blacklisted since at least SP1.

You can certainly use the key today, with period correct media (at least until the first Windows Update):

https://archive.org/details/devils0wn

“It is speculated that the leak came from a major computer manufacturer, namely, Dell, as they received the final version ahead of the official release date.”
by tsunamifury | 2025-10-09 17:07:04+00:00
This seemed pretty obvious from the outset and in many ways it appeared the Elon Musks constant appearances in media were a guerrilla way of doing this. (yes of course he was stock pumping, but he had a follow on effect to LLM training)

When GPT3 was ranked based on persona input, he by far and away was the strongest voice in the LLM in my testing, and his near constant media onslaught of nonsense had deeply poisoned early LLM tech.
by refulgentis | 2025-10-09 17:07:28+00:00
IMHO, just for the sake of discussion, it does seem short of a bombshell. Perhaps only because I'm confused by the math and got some things wrong.

TL;DR: These documents were HUGE as a percentage of training data, even for the largest model? (192 MB / document). Dirty data was ~4% of the training data for even the largest model? And more than 100% of the training data for the smallest?

Via abstract: "on chinchilla-optimal datasets (6B to 260B tokens). We find that 250 poisoned documents similarly compromise models across all model and dataset sizes, despite the largest models training on more than 20 times more clean data."

EDIT: Going through the paper more, p clear there's details that clarify. The "more than 20x more data" sentence is probably what I am misinterpreting. (ex. direct from the paper: "250 poison samples represent only 0.00016% of training tokens for the 13B model and 0.0035% for 600M")

Calculations:

- The largest model was trained on 260B tokens.

- 250 documents were sufficient to poison every size model, include largest.

- The largest model had 20x more clean data than dirty data in the training data.

- 20x + x = 260B tokens, where X = full size of dirty data, in tokens

- 21x = 260B tokens

- size of dirty data = 12B tokens

- size of dirty data = 250 documents

- tokens / document for dirty data = 48M tokens/dirty document

- token ~= 4 bytes

- dirty document = 192 MB?
by slyzmud | 2025-10-09 17:07:28+00:00
The two groups are very different but I notice another pattern: you have people who like coding and understanding details of what their are doing, are curious, what to learn about the why and think about edge cases; and there's another group of people who just want to code something, make a test pass, show a nice UI and that's it, but don't think much about edge cases or maintainability. The only thing they think is "delivering value" to customers.

Usually those two groups correlate very well with liking LLMs: some people will ask Claude to create a UI with React and see the mess it generated (even if it mostly works) and the edge cases it left out and comment in forums that LLMs don't work. The other group of people will see the UI working and call it a day without even noticing the subtleties.
by authorfly | 2025-10-09 17:08:02+00:00
LAMP with dynamic webpages (I assume your approach) works just like it ever did (besides SSL)

But are you really keen to make a PHP dynamic webpage application where each page imports some database function/credentials and uses them to render html?

Can you keep the behavior of fluent userflow (e.g. menu not rerendering) that way? Only with minimal design.

When in 2006 most webpages had an iframe from the main content, an iframe for the menu, and maybe an iframe for some other element (e.g. a chat window), it was fine to refresh one of those or have a link in one load another dynamic page. Today that is not seen to be very attractive and to common people (consumers and businesses), unattractive means low-trust which means less income. Just my experience, unfortunately. I also loved that era in hindsight, even though the bugs were frustrating, let alone the JS binding and undefined errors if you added that...
by kstrauser | 2025-10-09 17:08:21+00:00
I've been writing Python professionally for a couple of decades, and there've only been 2-3 times where its performance actually mattered. When writing a Flask API, the timing usually looks like: process the request for .1ms, make a DB call for 300ms, generate a response for .1ms. Or writing some data science stuff, it might be like: load data from disk or network for 6 seconds, run Numpy on it for 3 hours, write it back out for 3 seconds.

You could rewrite that in Rust and it wouldn't be any faster. In fact, a huge chunk of the common CPU-expensive stuff is already a thin wrapper around C or Rust, etc. Yeah, it'd be really cool if Python itself were faster. I'd enjoy that! It'd be nice to unlock even more things that were practical to run directly in Python code instead of swapping in a native code backend to do the heavy lifting! And yet, in practice, its speed has almost never been an issue for me or my employers.

BTW, I usually do the Advent of Code in Python. Sometimes I've rewritten my solution in Rust or whatever just for comparison's sake. In almost all cases, choice of algorithm is vastly more important than choice of language, where you might have:

* Naive Python algorithm: 43 quadrillion years

* Optimal Python algorithm: 8 seconds

* Rust equivalent: 2 seconds

Faster's better, but the code pattern is a lot more important than the specific implementation.
by refulgentis | 2025-10-09 17:08:23+00:00
Generally, yes, companies do blog posts for marketing.

It gets a bit...missing forest for trees?...when viewed solely through the lens of "cui bono? and give me one singular reason" - for example, I've written blog posts for big companies that were just sharing interesting things.

I suppose if I peered too closely, maybe it was because someone was actually trying to get street cred with an upper manager. Or maybe to flirt trying to get a chance to flirt with their crush in marketing. Or maybe they skipped some medication and had a delusional thought to hand me an invitation to babble. :)

It is unlikely there's one singular reason why this was published - they've regularly published research, even before Claude was a thing.

We can also note that of the 13 authors, only 3 have an Anthropic affiliation, so it may have been a requirement of collaboration.
by danudey | 2025-10-09 17:08:35+00:00
I could imagine some kind of compiler declaration in C that would do something like specify break points - sort of like page breaks - for structs, or tell the compiler to automatically pad structs out so that components are on page boundaries, cache line boundaries, etc. Sort of "If we're not properly aligned, add whatever padding you think is best here".

I guess this is largely provided by std::hardware_destructive_interference_size in C++17, but I'm not sure if there are other language equivalents.

https://en.cppreference.com/w/cpp/thread/hardware_destructiv...
by atmavatar | 2025-10-09 17:09:00+00:00
I regret to inform you that one of the largest contributors to the sheer magnitude of the Holocaust was a set of mainframe machines purchased from and continually maintained by IBM.

Technology is a force multiplier just like weapons are, and as such, it can never be extracted from politics.

It can, however, be really difficult to be aware of all the dirty laundry companies have, and cross-company deals like TFA deals with only make that harder. I definitely have a lot of sympathy for those who (admittedly like myself) don't spend their time investigating what every company in their life does behind the curtain.

Even once you know a particular company does something shady, it can be difficult (if not impossible) to find alternatives due to the massive consolidation of markets we've seen in past decades. Or, just as bad - you do have several options, but all of them engage in bad behavior, such that there's still not an obviously good option.

Normally, I'd expect governments to tamp down on this, but, well, even many western countries' governments are bribed to the gills explicitly not to, and I don't see that getting any better in my lifetime.
by airstrike | 2025-10-09 17:09:19+00:00
Congrats on the launch! It looks really cool.

> Unlike other solutions in the space, we're specifically focused on three core areas: (1) the computer vision layer, (2) LLM context engineering, and (3) the surrounding product tooling.

I assume the goal is to continue to serve this via an API? That would be immensely helpful to teams building other products around these capabilities.
by wesfenlon | 2025-10-09 17:09:30+00:00
lol glad they weren't a turn-off for a new reader. Since I write this as a newsletter that ends up in lots of inboxes, it doesn't have the structure of a typical single-topic article, which probably makes for an odd first impression when it gets shared someplace like Hacker News. I'm always psyched to get my little passion project in front of new readers though!
by vel0city | 2025-10-09 17:09:52+00:00
Is it a project where it's pretty much just you doing things, or something with a team of people working on things? Are you working in a space with strong auditability concerns or building pretty much hobby software?

For the personal home hacking projects I do, I often don't even make an external repo. I definitely don't do external CI/CD. Often a waste of time.

For more enterprise kind of development, you bet the final gold artifacts are built only by validated CI/CD instances and deployed by audited, repeatable workflows. If I'm deploying something from a machine I have in my hands with an active local login for, something is majorly on fire.
by bckmn | 2025-10-09 17:09:59+00:00
I think asking your questions in that form is akin to "sorting prompts" that I learned about from https://mikecaulfield.substack.com/p/is-the-llm-response-wro... and I have been using successfully when when writing code (e.g. [as a Claude code slash command](https://www.joshbeckman.org/notes/936274709)).

Essentially, you're asking the LLM to do research and categorize/evaluate that research instead of just giving you an answer. The "work" of accessing, summarizing, and valuing the research yields a more accurate result.
by red_hare | 2025-10-09 17:10:08+00:00
Something cool about Silver and Gold is that we have such a long history of how they translate to labor.

https://people.duke.edu/~charvey/Media/2013/Hurriyet_May_2_2...

> In the era of Emperor Augustus (27 B.C. to 14 A.D.), a Roman centurion was paid 15,000 sestertii. Given that one gold aureus equaled 1,000 sestertii and given there was eight grams of gold in an aureus, the pay comes to 38.58 ounces of gold

Today, 38.58oz of gold would be a salary of $156K/yr.

If we do the same for silver, it comes out to about 470oz of silver. So $23,500/yr.

If we compare that to a US Army E-8 (say 80k/yr), we can argue that gold has doubled its value relative to labor and silver has dropped to almost a quarter.
by Lerc | 2025-10-09 17:10:30+00:00
That's why I stated this case as an opportunity. To be able to do this you would need to have a set of examples where sometimes the dominant narrative is incorrect. This article represents one of those cases. Identifying more would be hard work and objectivity would be difficult, but I think possible.

Addressing your final point, I think there is scope for doing that. Having a provenance aspect to embeddings would do that, I suspect existing LLMs infer this information quite well already but I think there might be a possibility to go a little further at inference time by instead of a straight text to token embedding to have a richer input processing model that takes text plus other known context data to produce an embedding holding that extra data. The input processing model would have to be trained to convert the text plus context into a vector containing that info in a form the model already understands.

I think this would be useful in a number of other areas as well, firstly being able to distinctly tag model generated output so it doesn't confuse itself. Tagging individual tokens from code to say how long this code has been in the project, if it comes from a version that lints correctly, compiles, is used in production etc. Not to mention tagging prompts from the user as prompts and filtering that same tagging out of all non-prompts so that prompt injection is much harder to do.