MurphyA/hacker-news huggingface dataset:
by dangus | 2025-09-08 05:10:44+00:00
I would go even further than that and point out that the US still makes plenty of cheap or just "normal" priced, non-artisan items! You'll actually have a hard time finding grocery store Consumer Packaged Goods (CPG) made outside of the US and Canada - things like dish soap, laundry detergent, paper products, shampoo, and a whole lot of food.

I randomly thought of paint companies as another example, with Sherwin-Williams and PPG having US plants.

The US is still the #2 manufacturer in the world, it's just a little less obvious in a lot of consumer-visible categories.
by RugnirViking | 2025-09-08 05:11:24+00:00
Absolutely, this. I see this all the time with colleagues that don't speak English too well (I'm not in an English speaking country, but development offices often use English)

I'm not talking about people who can't express themselves or can't understand, merely that they haven't mastered it - use clumsy wording, or have a thick accent. These are often some of the most technically capable and talented people I've worked with, but also typically are not perceived as such by others, and im ashamed to say, working together with them would often result on the credit being placed unduly on myself.
Show HN: Smallimg.cc – A client-side image compressor with no uploads
by includeleec | 2025-09-08 05:11:30+00:00
Hi HN,

I built a free image compression tool called Smallimg.cc that runs entirely in the browser.

The main motivation was privacy. I was never comfortable uploading potentially sensitive images to a third-party server just for compression. This tool solves that by using JavaScript and WebAssembly to perform all the processing on the client-side. Your files are never transferred over the network.

Key features:

Total Privacy: Your images never leave your computer.

Incredible Speed: No upload/download time, just instant processing.

Full Control: You can adjust quality, resize, and convert formats (JPG, PNG, GIF, WebP) on the fly.

Accessible to All: It's completely free, requires no sign-up, and now supports 10 languages!

I focused on creating a clean UI and making it as fast as possible. I'm looking for feedback on performance, features you think are missing, and any potential bugs.

Thanks for checking it out: https://smallimg.cc/
by jmye | 2025-09-08 05:12:03+00:00
> that some enterprising random makes a compilation of public domain content

My hypothetical book is not, at all, public domain. This is always a non-starter.

> But likewise don't expect me to support a set a property norms that would deprive me of elements of the culture I live in.

I could simply choose not to publish my book, and carry it around and let people read it in front of me. Apparently this is an insufferable “property norm” as you would be unable to consume my work at all, let alone for free and in the manner of your own choosing. What an absurd thing to believe in.

Do you similarly think your entitled to sleep on my couch, or eat my dinner, or do you only think you’re entitled to take what you want when it’s words rather than, say, oranges? Or do you just have a weirdly tenuous grasp of what culture is?
by dkga | 2025-09-08 05:13:33+00:00
> Early-morning listeners could record the audio to cassette and then load it into their computers, effectively downloading games through their radio.

I would love to listen to such an audio-feed to see how it is. I suppose it sounds like 1990s dial-up modems when they were establishing a connection?

Separately, interesting to know about truco! I grew up in Minas Gerais, Brazil where our version of truco is widely played and beloved by most. Actually my very first memory is my grandfather teaching me that 4 of Clubs is the highest card, followed by 7 of Hearts, and so on…
by skinner927 | 2025-09-08 05:13:43+00:00
The point of linters is so the code looks the same regardless of who wrote it. This way it’s easier to read. Some people have horrible style and linters really help.

I find linters make me faster. Sometimes I’m feeling lazy and I just want to pump out a bunch of lines of ugly code with mappings poorly formatted, bad indents, and just have it all synched up when I save.
by dangus | 2025-09-08 05:14:01+00:00
The realistic way I see it happening is more like a product split rather than an explicit migration, or leveraging compatibility layers.

One day Microsoft would say, hey, Windows 15 is Linux-based. It'll run most of your Windows stuff either natively with some nice developer tooling to make a transition or using a compatibility layer (which, as we know, Linux already has!)

But you can keep using Windows 14 for a very, very long time.
by nomel | 2025-09-08 05:14:21+00:00
My bad, I misread. That wasn't intentional. I put very little effort into arguing with someone trying to make this place shittier.

But, your whole thing still fits the definition of soapboxing.

> To "soapbox" means to deliver a passionate or self-important public speech or express one's strong opinions, often on a topic one feels strongly about, originating from the literal practice of standing on an empty soapbox as an improvised platform to address a crowd. The term is frequently used figuratively to describe speaking forcefully or at length about a personal issue or belief.
by wpm | 2025-09-08 05:16:03+00:00
I had a somewhat dodgy stick of used RAM (DDR4 UDIMM) in a Supermicro X11 board. This board is running my NAS, all ZFS, so RAM corruption can equal data corruption. The OS alerted me to recoverable errors on DIMM B2. Swapped it and another DIMM, rebooted, saw DIMM error on slot B1. Swapped it for a spare stick. No more errors.

This was running at like, 1866 or something. It's a pretty barebones 8th gen i3 with a beefier chipset, but ECC still came in clutch. I won't buy hardware for server purposes without it.
by slowking2 | 2025-09-08 05:16:08+00:00
Making invalid states unrepresentable may be a great idea or terrible idea depending on what you are doing. My experience is all in scientific simulation, data analysis, and embedded software in medical devices.

For scientific simulations, I almost always want invalid state to immediately result in a program crash. Invalid state is usually due to a bug. And invalid state is often the type of bug which may invalidate any conclusions you'd want to draw from the simulation.

For data analysis, things are looser. I'll split data up into data which is successfully cleaned to where invalid state is unrepresentable and dirty data which I then inspect manually to see if I am wrong about what is "invalid" or if I'm missing a cleaning step.

I don't write embedded software (although I've written control algorithms to be deployed on it and have been involved in testing that the design and implementation are equivalent), but while you can't exactly make every invalid state unrepresentable you definitely don't punch giant holes in your state machine. A good design has clean state machines, never has an uncovered case, and should pretty much only reach a failure state due to outside physical events or hardware failure. Even then, if possible the software should be able to provide information to intervene to fix certain physical issues. I've seen devices RMA's where the root cause was the FPU failed; when your software detects the sort of error that might be hardware failure, sometimes the best you can do is bail out very carefully. But you want to make these unknown failures be a once per thousands or millions of device years event.

Sean is writing mostly about distributed systems where it sounds like it's not a big deal if certain things are wrong or there's not a single well defined problem being solved. That's very different than the domains I'm used to, so the correct engineering in that situation may more often be to allow invalid state. (EDIT: and it also seems very relevant that there may be multiple live systems updated independently so you can't just force upgrade everything at once. You have to handle more software incompatibilities gracefully.)
by _heimdall | 2025-09-08 05:18:26+00:00
Those are two different use cases for me. A radar detector is much more specific. Waze replaces the usefulness of other drivers flashing their lights at me.

Anecdotally, people rarely seem to do that today for whatever reason. I expect at this point people think I'm either trying to cuss them out or complain about how bright their headlights are today, but if you see me flashing my lights there is a cop ahead looking for tickets.
by ksec | 2025-09-08 05:18:56+00:00
>What business is Intel in, if not competing with Nvidia and AMD.

Foundry business. The latest report on Discreet Graphics Market share Nvidia has 94%, AMD at 6% and Intel at 0%.

I may still have another 12 months to go. But in 2016 I made a bet against Intel engineers on Twitter and offline suggesting GPU is not a business they want to be in, or at least too late. They said at the time they will get 20% market share minimum by 2021. I said I would be happy if they did even 20% by 2026.

Intel is also losing money, they need cashflow to compete in Foundry business. I have long argued they should have cut off GPU segment when Pat Gelsinger arrives, turns out Intel bound themselves to GPU by all the government contract and supercomputer they promised to make. Now that they have delivered it all or mostly they will need to think about whether to continue or not.

Unfortunately unless US point guns at TSMC I just dont see how Intel will be able to compete, as Intel needs to be a leading edge position in order to command the margin required for Intel to function. Right now in terms of density Intel 18A is closer to TSMC N3 then N2.
by sunshowers | 2025-09-08 05:19:23+00:00
If you're on Linux, dmesg containing

EDAC MC0: Giving out device to module amd64_edac

is a pretty reliable indication that ECC is working.

See my blog post about it (it was top of HN): https://sunshowers.io/posts/am5-ryzen-7000-ecc-ram/
by fluoridation | 2025-09-08 05:19:38+00:00
>If someone robs my home because of what it says to do in an unquestionable book that they've been raised on, how is that not literally inspired by the book?

Yes, if I beg the question, I also can reach any conclusion I like. But someone doesn't rob because of what any book says. They rob you because they want what you have and they think they can get away with it. I assure you, if you put a sign on the front of the house saying "beware of the leopard" and the robber hears growling noises coming from inside, he will not rob you, no matter how righteous his unquestionable book says robbing you is.

(If he does, then I'll grant you in such a case there's an ideological component to it.)

>People do things all the time (good and bad) because of what they believe is true in books.

That's not how human nature works. It's not like before Muhammad came around pillaging didn't exist. What do you think vikings were, or the sea peoples? I haven't read the passage, and I don't need to. It doesn't matter what it says. The Old Testament says that Hebrews could take slaves from their neighboring nations. Leviticus didn't invent slavery. All the book did was condone a practice that already existed. At the most what the passage did was let people feel better about what they were doing (and we know they knew slavery was awful, because they had different practices for the in-group than for the out-group), if nothing else because their own countrymen would not punish them for it.

Take everything I said about the Hebrews and apply it to the Muslim pirates.

>I mean... Trepanation? Bloodletting? Countless other things that were believed to be true, were acted on because of that, but were actually wrong?

Now you're just conflating things. Trepanation and bloodletting were performed because it was mistakenly believed they would help the patient. Someone who enslaves you, robs you, or murders you because his holy book tells him is the righteous thing to do is under no mistaken impression that he's doing you a favor.
by jalk | 2025-09-08 05:19:52+00:00
We have been emphasizing on creating abstractions since forever. We now have several different hardware platforms, programming languages, OS's, a gazillion web frameworks, tons of databases, build tools, clustering frameworks and on and on and on. We havn't done so entirely collectively, but I don't think the amount of choice here reflects that we are stupid, but that rather that "one size doesn't fit all". Think about the endless debates and flame wars about the "best" of those abstractions. I'm sure that Skynet will end that discussion and come up with the one true and only abstraction needed ;)
by danpalmer | 2025-09-08 05:20:20+00:00
That might be another factor. You could say that a program in a stable ecosystem doesn't need changing so should priorities strictness over flexibility. However even in a changing ecosystem, rather than building in flexibility that allows for incorrect states, you can raise the level of abstraction and build in extension points that still retain nearly the same strictness while still giving you the flexibility to change in the future in the ways that you will need.
by bakemawaytoys | 2025-09-08 05:21:39+00:00
To me, this article misses the mark.

The database is not your domain model, it is the storage representation of your domain model on disk. Your REST/grpc/whatever API also isn’t your domain model, but the representation of your domain model on the wire.

These tools (database, protocols) are not the place to enforce making invalid states un-representable for reasons the article mentions. You translate your domain model into and out of these tools, so code your domain model as separately and as purely as you can and reject invalid states during translation.
by Balgair | 2025-09-08 05:21:40+00:00
And who is going to set those milestones and hand-offs?

Sure, yeah, the USG can try that, but for the millions(?) of contracts you'd need over years of hand-off with red-tape and poorly paid 'refs' with no experience in the field and some dubious enforcement mechanism of fines or jail time?

It's a totally unworkable system prima face that just ties things up for no reason.
Hard has it been for people to request their medical records
by karma1234 | 2025-09-08 05:21:49+00:00
We're trying to build a tech solution that helps people request their medical records and know that another YC company is already working in this space. That said, it's coming from a personal reason, and we could use this service ourselves. What would y'all want to pay for when it comes to requesting said records though? Would you pay just to get them in the first place? Any recommendations on potential customer profiles for us?
by nine_k | 2025-09-08 05:22:26+00:00
The key part: "For most software, domain models are not real". Indeed, if your reality is ill-defined, you need miracles, aka invalid states, to handle certain practical cases. So it's more about admitting a design failure. One type of such failure may be putting wrong constraints on the model. You have to think hard about what can and cannot be, and often it's not a luxury your boss can afford. To allow representation of invalid states is to admit that you're going to be proven wrong eventually, which is not a wild exaggeration in a wide range of circumstances, alas. It's to plan for a mess, because a mess is inevitable.

(This whole approach reminds me of "I think therefore anything, due to the false antecedent".)
by jauntywundrkind | 2025-09-08 05:23:11+00:00
Alas this is a huge foot gun that ensnares many orgs. Because engineers seem drawn like moths to the flame to Alpine container images. Yes they are small, but the ramifications of Alpine & using musl are significant.

Optimizing for size & stdlib code simplicity is probably not the best fit for your application server! Container size has always struck me as such a Goodhart's Law issue (and worse, already a bad measure as it measures only a very brief part of the software lifecycle). Goodhart's Law:

> When a measure becomes a target, it ceases to be a good measure

This particular musl/Alpine footgun can be worked around. It's not particularly hard to install and use another allocator on Alpine or anywhere really. Ruby folks in particular seem to have a lot of lore around jemalloc, with various versions preferences and MALLOC_CONFIGs on top of that. But in general I continue to feel like Alpine base images bring in quite an X factor, even if you knowingly adjust the allocator: the prevalence of Alpine in container images feels unfortunate & eccentric.

Going distorless is always an option. A little too radical for my tastes though usually. I think of musl+busybox+ipkg as the distinguishing aspects of Alpine, so on that basis I'm excited to see the recent huge strides by uutil, the rust rewrite of gnu coreutils focused on compatibility. While offering a BusyBox-like all-in-one binary convenience! It should make a nice compact coreutils for containers! The recent 0.2 has competitive performance which is awesome to see. https://www.phoronix.com/news/Rust-Coreutils-0.2
by remexre | 2025-09-08 05:27:03+00:00
> Maybe RISC-V?

RISC-V is specified as a RISC (and allows very space-/power-efficient lower-end designs with the classic RISC design), but designed with macro-op fusion in mind, which gets you closer to a CISC decoder and EUs.

It's a nice place to be in tooling-wise, but it seems too early to say definitively what extensions will need to be added to get 12900K/9950X/M4 -tier performance-per-core.

In either case though, a bunch of the tricks that make modern CPUs fast are ISA-independent; stuff like branch prediction or [0] don't depend on the ISA, and can "work around" needing more instructions to do certain tasks, for one side or the other.

[0]: https://tavianator.com/2025/shlx.html
by ggm | 2025-09-08 05:27:08+00:00
Mixture of present and what I called "the implied conditional" future tense (conditional in as much as its "...if we secure funding and the road is smooth...")

RR are great engineers, and we THINK SMR work in principle because we've been running different small non-modular R for decades inside submarines, and so aspects of the small part of the design, the constraints to size, safety, reliability are not a blank field.

But commercial SMR, are a green field. RR want to own the field. They would love to be funded by governments to do so.

Words like "bringing to market" are all you need to see, to know they do not have ".. as demonstrated in the SMR deployment we did in <x> which has been running for the last 25 years..."

There's the Chinese Pebble-bed, There's the Russian stuff, and there maybe is one or two others. There are not a plethora of SMR out there.

So its "implied conditional" future tense for the forseeable. When RR get permission to build even ONE, as a demonstrator, I'd love to know: They seem to be building out their capacity to START a testbed .. production process.

SMR are intensely political. They have been used by competing forces in the Australian electoral landscape to try and end-run Renewables in an election -7 were formally proposed in the LNP platform for the last election, including specified candidate sites, and confirmation compulsory purchase and state government opposition would be overridden in federal planning law, if need be.

Oh yes: Merits of SMR aside, the LNP lost the election in a landslide.

I truly hope RR get to testbed/demonstrator/pilot: make one, run it 24/7/365, run it to produce load for commercial gain.
by athrowaway3z | 2025-09-08 05:30:18+00:00
> so I loaded the module myself, and iteratively pasted the output of dmesg into Claude manually,

One of the things that has Claude as my goto option is its ability to start long-running processes, which it can read the output of to debug things.

There are a bunch of hacks you could have used here to skip the manual part, like piping dmesg to a local udp port and having Claude start a listener.
by AdieuToLogic | 2025-09-08 05:30:19+00:00
> are you advocating for not having code reviews...? Just straight force push to main?

No, not at all.

What I was speaking about was if the person to whom I replied is not a s/w engineer, then perhaps a better contribution to their project would be to define requirements in the form of RSpec specifications (since Ruby is in use) and allow the engineering team to satisfy them as they determine appropriate.

I have seen product/project managers attempt to "contribute" to a development effort much like what was described. Usually there is a power dynamic such that engineers cannot overtly tell the manager(s), "you define the 'what' and we will define the 'how'." Instead, something like the PR flow described is grudgingly accepted and then worked around.
by hurril | 2025-09-08 05:31:01+00:00
See, I don't think you don't really understand my point. I said this elsewhere: I have been programming Scala and Haskell for more than 15 years, which I am sure you have as well. This is not ment as a proof of my point as that would be arguing form authority. This is not my intention. But there are more things at play here.

What I think you are doing is: well quantum mechanics is just simple mathematical construction and some artithmetic.

Is it really? Is it _just_ that?
by thayne | 2025-09-08 05:31:10+00:00
> Soft-deletes come with a lot of complexity at the application layer, more maintenance, more security risk, and require building out user data deletion processes.

That depends on your application and requirements. I've worked on situations where a soft delete, where any fields with sensitive customer data are overwritten with a placeholder or random data (for legal compliance reasons) was a lot simpler than doing a hard delete and leaving a bunch of dangling records with ids pointing to records that no longer exist.

And unless your data model is pretty simple, and you are ok with not having any kind of grace period before fully deleting user data, you'll probably need to build a user data deletion process either way.
by adrian_b | 2025-09-08 05:31:15+00:00
The difference between the "unbuffered" ECC DIMMs (ECC UDIMMs), which you must use in desktop motherboards (and in some of those advertised as "workstation" MBs) and the "registered" ECC DIMMs (ECC RDIMMs), which you must use in server motherboards (and in some of the "workstation" MBs), has existed for decades.

However in the past there have existed very few CPU models and MBs that supported either kind of DIMMs, while today this has become completely impossible, as the mechanical and electrical differences between them have increased.

In any case, today, like also 20 years ago, when searching for ECC DIMMs you must always search only the correct type, e.g. unbuffered ECC DIMMs for desktop CPUs.

In general, registered ECC DIMMs are easier to find, because wherever "server memory" is advertised, that is what is meant. For desktop ECC memory, you must be careful to see both "ECC" and "unbuffered" mentioned in the module description.
by sema4hacker | 2025-09-08 05:31:27+00:00
Paywalled, so I couldn't read the article, but the title immediately makes we wonder how much time and money would it take for a parent to set up AI-based home schooling, especially if a group of parents band together to accomplish that? Making sure the system was teaching facts and not hallucinations might be difficult, but a $65k private school would have the same problem.
by porridgeraisin | 2025-09-08 05:31:34+00:00
> It turns out that sqlite3_analyzer, though disguised as an ordinary executable, is really a TCL application. The main source code file for this application is tool/spaceanal.tcl. During the build process, this script is converted into a C-language string constant (using another TCL script) and added to a very simple C-language wrapper than starts a TCL interpreter and then passes the application script to that interpreter.

Haha, didn't know that. That's cool.

While most of this looks cool, the stuff about parsing vdbe.c's switch cases and assigning opcodes seems a little too much for my taste.