HNHacker News
TopNewBestAskShowJobs

mpyne

8,375 karma · joined November 4, 2010

submissionscomments
mpyne··on Litelm: LiteLLM Without the Bloat
We run it at my org and it's never been a noticeable resource hog. It's actually the best performer between it, our AI observability stack and the front end.
mpyne··on Your intellectual fly is open when you use an LLM to author a post (2025)
I get the context, but then the comment I'd replied to would have said that humans get better at communicating their ideas by writing their ideas on their own, rather than that writing is some kind of human-only mode of exposition. It's not.

And nor is an LLM generating text just "copy/pasting a Wikipedia article", you'd think people on HN would be smarter than that at least.

If all Joe Smith is going to do is cat $(which claude) to his LinkedIn, then he'll deserve the poor results he gets from it, but we shouldn't mistakenly say that this will be because LLMs simply cannot write. It would be just as dumb for Joe Smith to do with with a professional human ghostwriter.

mpyne··on Your intellectual fly is open when you use an LLM to author a post (2025)
And it doesn't foreclose the possibility of LLM achieving human-like writing ability. If I stole the writing of a human author much better than me it would still be plagiarism.

Of course, with real books we do have the problem of ghostwriting, where an author willingly writes for a book that will be published under someone else's authorship. That may be where things end up here, with requirements to acknowledge sources, whether ghostwritten for you or written by others.

mpyne··on Your intellectual fly is open when you use an LLM to author a post (2025)
> Root cause here is that writing is how humans communicate ideas.

Writing is a way humans communicate ideas. It's not the only way humans communicate ideas. And now, it's not only humans who communicate ideas, we just saw with the OpenAI HuggingFace hack how AI agents were able to communicate amongst themselves by using various hacked websites to opportunistically write notes for later agents to use.

All that "X is a thing only humans do" type of circular definitions will buy you, is to expand the definition of what humanity is. And I doubt that's really what you think.

mpyne··on Visualizing Rust's Vtables: How dyn Trait Works In Memory
Yes, that's what I'm talking about. It does expand on the empty base object optimization, though it is still not fully generic.

But you can now have multiple zero-sized types as siblings in a struct or class that can be zero-sized, the restriction is that they do have to be different types.

mpyne··on Visualizing Rust's Vtables: How dyn Trait Works In Memory
It's pretty deeply tied into C++'s object lifetime mechanics, which rely on storage being available and reserved for the use of that object's lifetime. If multiple objects with valid lifetimes had a situation where one lifetime needs to end, what should happen to the other objects' lifetimes?

C++ actually did end up evolving the ability to define a zero-sized class without a unique memory address, but mostly to allow optimizations like the empty base optimization to apply in other situations where it could make sense, especially with templated or constexpr code.

mpyne··on Visualizing Rust's Vtables: How dyn Trait Works In Memory
Everything. The issue is that the compiler won't even bother with polymorphism through a vtable for a polymorphic type (one with a vtable), unless the object is accessed through a pointer or reference.

If you have a value of the type itself (not a pointer or reference), then polymorphism doesn't even enter the equation in C++, even if you initialize from a derived type.

E.g. in this code:

    Base b(m_catalog.makeDerived());
    b.call_virt_func();
Even if `call_virt_func` is declared virtual, it will be `Base::call_virt_func()` that is called here, guaranteed. From a language perspective, we already know that `b` is a `Base`, you literally declared and defined it that way.

Runtime polymorphism is therefore only a game for pointers or references; it is the process of resolving the indirection that even allows for polymorphism to become a thing in C++. But this means that the compiler cannot know the actual type at compile-time for a polymorphic type, unless it can perform devirtualization as an optimization pass.

So although C++ will certainly allow you to define a class method that returns a virtual type by value (and not by pointer or reference), even for complex types, it is almost certainly a bug to do this unless you know for sure what the type will be statically, at compile time. Because the object you create as the return value will be forced to be the return type declared at compile time, "forgetting" the fact that it was created from a type deeper in the inheritance chain. This is the 'slicing problem' that was mentioned in the earlier comment.

mpyne··on Write Software in Latin (2025) [video]
Perl was there decades ago: https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/L...
mpyne··on Claude's new system prompt doesn't want to reproduce song lyrics
RIAA doesn't like it, but my introduction to a video game series I've since spent hundreds of dollars on over the years, came from running across one of its soundtrack pieces on Youtube.

There's a reason companies talk about "customer acquistion cost", as you generally need to pay to market your products to potential customers of them.

So free marketing can be a real cost reduction. It may not be enough to be a benefit compared to the cost of piracy, but it's hardly a made-up defense.

mpyne··on uv: Deduplicate all files in the wheel cache
> FOSS started as a counter movement against Microsoft in order to escape from surveillance and corporate control.

??? FOSS was around before that, famously so.

The rise of Microsoft made FOSS more important, but FOSS wasn't a reaction to surveillance and control, when it started even multi-user networks were practically unprotected, and it was quite easy indeed to see what other users were up to.

The phone phreaks were the ones who were worried about corporate control of comms, the FOSS people just couldn't figure out why people were paying for software with the hood welded shut when there was better software available to those willing to help contribute to it.

mpyne··on New MCP Roadmap
That doesn't work well for enterprise-managed MCP, where you actually do want the user to overtly authorize their agent to user their identity for MCP services, rather than the MCP server just setting a user ID in an HTTP header somewhere and everyone hoping for the best.
mpyne··on St Lucie Nuclear Reactor Unit 1 manually shutdown, 3 control rods drop into core
Yeah, on one of the reactor designs I was familiar with, control rods were bundled into groups which were managed as a set and were intended to be operated in different sequences over core life.

So when I read "3 control rods hit the bottom" what I hear is "there was an unexpected group scram", but I don't know enough about this reactor design to know if that's actually what happened, or whether it was 3 unrelated control rods instead.

mpyne··on St Lucie Nuclear Reactor Unit 1 manually shutdown, 3 control rods drop into core
Perhaps an interruption of power to the field windings of the affected control rods. Could be as simple as a control cabinet fried unexpectedly or some other electrical gremlin.

3 rods inserted into the core out of the many available would have disrupted the neutron flux profile away from what the reactor is intended to operate against in steady-state, so manual shutdown is the right answer until the cause of the control rod being dropped can be figured out, repaired, tested and then the reactor restarted.

But while not typical, this kind of event has happened many times before and will again. Pretty boring IMO, which is why I agree with the non-emergency declaration by NRC.

mpyne··on Engineers will do anything to avoid learning from history
Man I love and agree with nearly everything about this post except that I wouldn't take the advice to follow waterfall or PMBOK literally.

The post laments that it's hard to find Dr. Royce's original waterfall paper. That's probably true, I have my copy from a compilation book “Ideas that Created the Future: Classic Papers of Computer Science” edited by Lewis [1].

I do agree that it's important to do things like scope out your demands of your AI agent, check-in on progress, give as clear a requirement and test cases as you can. But you've always been able to do that with agile methods, and LLMs are fast enough that you don't need to go full waterfall (and if anything it would be counter productive).

Dr. Royce's paper talks about literally thousands of pages of documentation being needed for any reasonably useful system. Good luck fitting that into even a 1M context window :P.

But the main point to thesis, that you can't just let your coders loose to do whatever and expect the right results even pre-dates Fred Brooks. I'd argue it goes all the way back to the beginning, to the comments about Baggage's computing machine where British politicians asked if it would generate the correct answers even with incorrect inputs.

The answer then is the same answer today: of course not, and expecting anything different is foolishness.

[1] https://www.amazon.com/dp/0262045303

mpyne··on The TEMU-Fication of Software, Digital Goods and Services
I seem to remember “assume the customer will always want better prices” to be one of the few ironclad axioms that Jeff Bezos oriented early Amazon around.

If you're in construction then you need a quality drill that will carry you from one job to the next reliably. If you're just trying to do a one-off drywall repair in your house that you hope never to need to do again, maybe the $10 drill is precisely what you'd buy, if you could find it.

mpyne··on The TEMU-Fication of Software, Digital Goods and Services
> There’s probably an optimum for maximizing sales/growth that doesn’t land on highest quality products in the real world, with non rational consumers, imperfect information etc… sadly.

Of course it wouldn't land on highest quality. None of us need fans which last forever. We need fans which last long enough.

In the optimum scenario companies are able to build fans that do just that, but the quality would still not be highest quality compared to what would be possible. And nor should it, since it would force the consumer to pay for gold-plating they neither need nor want to pay for.

mpyne··on My Rules for Using Spreadsheets
Excel is already a solid grid without a separate report designer being necessary.
mpyne··on Windows 11's built-in Weather app wastes more than 1 GB of RAM
There's probably various methods, but if you don't already have quantitative estimates, you'll probably end up polling SMEs you'd trust for this on how much increase in retention and decrease in acquisition costs you'd expect for a notational more robust Microsoft. Average those out.

Even 5 people is enough to significantly narrow the uncertainty (at least, as compared to the prior hypothesis that the true change in odds is somewhere from -1 to 1).

And like a good spam filter, you don't need to be perfect, you just need to be able to turn your initiatives into a forecast of future changes if implemented, and then measure what actually does change for those initiatives you do implement. Even simple linear regression models can be useful in tracking results compared to forecasts.

Most people would probably expect that the improvement is close enough to zero to be nearly indistinguishable from it. And this is why most enterprises don't invest much in reliability work like this, because it doesn't actually seem to move the needle for customer purchasing.

mpyne··on Tail-call optimization in C is relatively recent (2025)
I think this is no longer true. C++26 implemented a change to make trivial loops like these defined behavior (and therefore will loop endlessly as you'd expect). And this example was always defined behavior in C.

Both languages continue to have examples of slightly more complicated loops that can be assumed to terminate in the absence of side effects, but `while(true)` isn't one of those any longer.

mpyne··on Windows 11's built-in Weather app wastes more than 1 GB of RAM
This risks getting into the Fisherian/Bayesian stats wars again, but it would be possible to project a revenue gain, even in advance of making the change. You'd do this in terms of improved customer retention, lower cost of future customer acquisition, increased price a Teams license could sustain based on a rep for higher reliability, etc.

Obviously it's not a change that you'd be able to pin a specific human decision-maker (who was marginal on Teams) down as to this change being the difference between a sale or not, but nor is the change in revenue going to be a random number uniformly distributed in (-∞,∞).

If the change was revenue-neutral, the skip level would probably have been justified in seeing if the teams working that project could have found something to do customers actually care about instead.

mpyne··on Making difficulty curves in games
Probably because some people want to feel like they're succeeding in the 'actual game' and not the 'Fisher Price version of the game'. For those people the solution is ultimately to make their reality appear to be that, even though it isn't.
mpyne··on Making difficulty curves in games
> SBMM also a double-edged sword. Some people like to play game relaxed.

That's just a different way of saying some people like to play games where their opponent has no chance. So your "relaxation" comes entirely at the expense of others.

Single player campaigns are a better way to accomplish this because then you can do whatever you want as far as difficulty goes.

mpyne··on Monitors for Work
> There was a time when these were considered super sharp high-resolution monitors.

I think that time corresponded to when monitors were smaller than 27 inches though. A "good" CRT monitor used to be 15" and at that size 1080p is certainly great.

mpyne··on US Military's cyber command unit grapples with cluster of deaths by suicide
Ukraine is also running headlong into the reality of kill or be killed.
mpyne··on U.S. used 'virtually all' of its long-range precision missiles during Iran war
Yes, but the military exists for the nation, not the other way around, so a military success that turns into a national disaster is not a military success at all.

That's why even in the nuclear Navy, as crazy as they are about reactor safety, they would train and preach continuously that "safety of ship" is more important than reactor safety, because the reactor is not safe if the ship is not safe.

mpyne··on Ruff v0.16.0 – Significant new updates – 413 default rules up from 59
The hidden implication in your extension of the foodie analogy is that consistent food must have worse quality.

That's not true, and if anything in software having consistent software delivery makes it more likely to achieve Michelin-graded level of quality, not less.

mpyne··on Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber
Yes
mpyne··on Claude Code uses Bun written in Rust now
I don't know, did the prior vibe-coded Zig code not ever have pointers aliased to data? Might be preserving semantics too well, if anything.
mpyne··on Open Source is not immune to monopoly
People absolutely will sell you Linux, and they make a lot of money in the process.

I'm not even sure I'd describe it as a monoculture either, if it was that would probably have accelerated its growth even more. Imagine where Linux would be if it were like FreeBSD in having only one distro, one libc, one set of system libs.

You're starting to see it as a server backend lingua franca but even there, there are multitudes. And there remain a great number of organizations that run on one of the BSDs, Windows, old mainframe OS, and so on.

mpyne··on EU ban on destruction of unsold clothes and shoes enters into application
Couldn't they already do this today, without an additional regulation?

Why is a charity supposed to be able to magically conjure sales the original seller was unable to find?

I just think if it was as easy to doing this, there's already be nothing for regulators to be complaining about.

← PreviousPage 3 of 34Next →