MurphyA/hacker-news huggingface dataset:
by utopcell | 2025-12-23 16:19:54+00:00
Well, we are discussing a CRT TV that was $40k new a life time ago, so perhaps the fact that it costs $599 to get a 480Hz OLED today is not a consideration. To the point though: it is a fallacy to believe that CRTs could arbitrarily shape their resolution. While the input signal could cover a wide range of possible resolutions and refresh rates depending on the bandwidth supported, the existence of apperture grilles or shadow masks imposed a fixed digital reality that limited the maximum possible resolution to much lower values than the typical 4k panels that we have today. The "pixels" didn't become larger on lower resolutions: they just covered more dots on the mask. We can get much better results today with scaling than we ever could on CRTs, as awesome a technology as they were 40 years ago.
by vzaliva | 2025-12-23 16:20:12+00:00
There are many arguable points in this blog post, but I want to highlight just one: the need for formal specification. It is indeed a big issue. However, one must distinguish between a full specification, which is sufficient to prove functional correctness, and a specification of certain security or safety properties, which only allows us to verify those properties. For example, we can easily specify the property that "the program shall never read uninitialised memory" and prove it. That wouldn't guarantee that the program is functionally correct, but it would at least rule out a whole class of potential errors.
by _alternator_ | 2025-12-23 16:20:28+00:00
Embedding state in a real number, and calling it a “length” is a common trick to show that a physical system is TC. Unfortunately, the abstraction (length<->real number) suffers from numerous real-world issues that typically renders any implementation impossible.

I’m not even talking impractical; real numbers are simply too powerful to be resolved in the physical world. Unless you spend a ton of effort talking about quantizing and noise, you are very, very far from a realizable computer.
by clickety_clack | 2025-12-23 16:20:42+00:00
MBAs do love their neural nets. As a data scientist you have to figure out what game you’re playing: is it the accuracy game or the marketing game? Back when I was a data scientist, I got far better results from “traditional” models than NN, and I was able to run off dozens of models some weeks to get a lot of exposure across the org. Combined with defensible accuracy, this was a winning combination for me. Sometimes you just have to give people what they want, and sometimes that’s cool modeling and a big compute spend rather than good results.
by jandrese | 2025-12-23 16:20:49+00:00
TCP uses the worst congestion control algorithm for general networks except for all of the others that have been tried. The biggest change I can think of is adjusting the window based on RTT instead of packet loss to avoid bufferbloat (Vegas).

Unless you have some kind of special circumstance you can leverage it's hard to beat TCP. You would not be the first to try.
by wakawaka28 | 2025-12-23 16:21:00+00:00
I haven't read that but "gun death rate" is not the same as "gun crime rate"... Of course I expect guns to be used more in areas where they are available. Many legitimate self-defense cases are imperfect as well, and technically count as crime for BS reasons. Gun suicide rates probably would be higher with more guns owned by the public.

In summary, I don't think you are right and I would still support broad gun ownership rights even if you were correct about per capita. I am more worried about the public not having guns than having guns.
by hackyhacky | 2025-12-23 16:22:10+00:00
The NATO thing is justification that even Russia has not applied consistently. Putin is on record saying that Ukraine is part of the Russian sphere of influence, which means, according to him, they get to install their crony of choice. If NATO was their real concern, they could withdraw now in exchange for promises not to join NATO, but they also refuse to give up territory they've occupied or to allow any security guarantees from the west, all but setting up the next stage of their invasion.

> The US has to stop. The US is not the world's policeman, and the US had no legitimate right to declare itself such.

The US has the largest military on the planet, and the (relative) peace of the last 80 years is largely based on a credible threat of our willingness to use it. That power can be used for good; at the moment, we are simply not choosing to do so.
by mikepurvis | 2025-12-23 16:23:07+00:00
You have to do extra work to get the hardlink deduplication in the store though:

https://nix.dev/manual/nix/2.20/command-ref/nix-store/optimi...

Unlike in FHS distros where you get some of the separation for free with usr/lib vs usr/share, most nix packages don't have separate store paths for binary vs non-binary files. At most you'll get the headers and build scripts split off in a separate dev path.
by vessenes | 2025-12-23 16:23:54+00:00
Congratulations on the success - you’re rightly proud, and that amount of cashflow brings real stability to owners and employees.

I’m a former VC, and a former CMS company founder (late 1990s for the CMS side, competing with Genuity for instance), and I’m impressed at your margins and success delivering CMS tools, but I think you’re leaving a lot of money on the table and although you don’t realize it, you’re adding existential risk to the business with your current strategy.

Consider this a gentle nudge to think about growing more quickly - I’d propose to you that you’ve misunderstood the rule of 40 - or a useful way to interpret it - in your case, I think it tells you that you have room to spend more on marketing, and thus grow more quickly. You’re clearly happy with high margins and cashflow - don’t ever change! But, unless you’ve tapped out your market (I do not believe this is true for CMS worldwide for a company with 6.5m in revenue) then you have more growth you could achieve by spending some of that profit.

Should you care about this? I’ve noticed over the years that as a general rule some European founders proudly care less about growth than American ones, so clearly there is some default cultural difference here. In this case, though, I think the American values build more successful companies, and I think you should care about growth more than your blog post says you do.

The simple reason is this - you’re tiny. You’ve probably spent no more than 30mm EUR on product development over the life of the company. If any mid-size company with functional distribution and tech wanted to take your business away, they could. Because of how open you are, they could probably do it for even less - much of the value of the thought and engineering and architectural work you’ve done is published with your APIs, developer tools, and so on. This is real existential risk to your business - different than not being able to make payroll, but one that might well hit you on a random Tuesday and not be easily solvable without a major change and possibly outside help (e.g. investment or a buyer)

Years ago, I pitched the idea of my own CMS company staying small to 90s era billionaire Ed McVaney, founder of JD Edwards; one of the first successful ERP companies (sold to Peoplesoft then Oracle) - he told me “in software it’s grow or die.” I think this is generally true. I ultimately sold my portion of that company and it morphed into an agency, where it seems to have cheerfully stayed small and sustainable by layering on services - much worse economic model than you currently have.

Anyway, I hope you are writing the 20 year retrospective happily in 10 years from now; if you are, I think you will have needed to successfully grow into a more defensible market position - don’t put it off. It’ll remove another layer of risk, and make you more money in the bargain!
by simonw | 2025-12-23 16:24:07+00:00
> if you’re doing this for your own learning: you will learn better without AI.

I'm certain that's not true. AI is the single biggest gift we could possible give to people who are learning to program - it's shaved that learning curve down to a point where you don't need to carve out six months of your life just to get to a point where you can build something small and useful that works.

AI only hurts learning if you let it. You can still use AI and learn effectively if you are thoughtful about the way you apply it.

100% rejecting AI as a learner programmer may feel like the right thing to do, but at this point it's similar to saying "I'm going to learn to program without ever Googling for anything at all".

(I do not yet know how to teach people to learn effectively with AI though. I think that's a very important missing piece of this whole puzzle.)

I'm a BIG fan of these three points though:

rewrite the parts you understand
learn the parts you don’t
make it so you can reason about every detail

If you are learning to program you should have a very low tolerance for pieces that you don't understand, especially since we now have a free 24/7 weird robot TA that we can ask questions of.
by evanelias | 2025-12-23 16:24:52+00:00
Thanks for the kind words Peter!

There's actually a potential solution here, but I haven't personally tested it: transportable tablespaces in either MySQL [1] or MariaDB [2].

The basic idea is it allows you to take pre-existing table data files from the filesystem and use them directly for a table's data. So with a bit of custom automation, you could have a setup where you have pre-exported fixture table data files, which you then make a copy of at the filesystem level, and then import as tablespaces before running each test. So a key step is making that fs copy fast, either by having it be in-memory (tmpfs) or by using a copy-on-write filesystem.

If you have a lot of tables then this might not be much faster than the 0.5-2s performance cited above though. iirc there have been some edge cases and bugs relating to the transportable tablespace feature over the years as well, but I'm not really up to speed on the status of that in recent MySQL or MariaDB.

[1] https://dev.mysql.com/doc/refman/8.0/en/innodb-table-import....

[2] https://mariadb.com/docs/server/server-usage/storage-engines...
by ImPostingOnHN | 2025-12-23 16:26:13+00:00
"upkeep and maintenance" is largely composed of people costs – the people doing the upkeep and maintenance.

indeed, that's the case for many businesses, even with little-to-no regulation, so it's hard to agree with your opinion there.

e.g. most of the cost of hiring a plumber is a "cost of people" – buying torch fuel and fittings is a much smaller fraction of it.
by sheepscreek | 2025-12-23 16:26:16+00:00
I stand corrected - it seems they have recently clarified their position on this page towards the very end: https://docs.z.ai/devpack/overview

> Data Privacy

> All Z.ai services are based in Singapore.

> We do not store any of the content you provide or generate while using our Services. This includes any text prompts, images, or other data you input.
by UniverseHacker | 2025-12-23 16:26:25+00:00
This seems dishonest, she couldn’t possibly think the administration is going to share more useful information here, and if they did it would have no value. These people were illegally sent to life in prison at a brutal torture camp with no charges or trial, at the expense of US taxpayers. There is no possible excuse or rationale that would make it anything but extremely illegal and unethical, and a betrayal of all of the values our country purports to stand for. It doesn’t matter what crimes someone is accused of or not.
by Larrikin | 2025-12-23 16:26:29+00:00
Why would any actual software engineer be against slopware?

When it inevitably all comes crashing down because there was no actual software architecture or understanding of the code, someone will have to come in to make the actual product.

Hopefully by then we will have realistic expectations for the LLM, have skilled up, and we as a community treat them as just another feature in the IDE.
by packetlost | 2025-12-23 16:26:35+00:00
I haven't done much with CL so I can only speculate, but I think stricter FP principles in general work to minimize the downsides of dynamic typing. CL, to my understanding, isn't the most "pure" when it comes to FP, but does a good job at giving the programmer a lot of power to constrain and explore systems.
by simonsarris | 2025-12-23 16:26:59+00:00
> if you’re doing this for your own learning: you will learn better without AI.

This is not the distinction I would want to tell newcomers. AI is extremely good for finding out what the most common practices are for all kinds of situations. That's a powerful learning tool. Besides, learning how to use a tool well (one that we can expect professionals to use) is part of learning.

Now most common practices and best practices are two different things. They are often the same, but not always. That's the major caveat for many fields, but if you can keep it in mind, you're going to do OK.
by djl0 | 2025-12-23 16:27:30+00:00
In terms of the actual topic, I would be shocked if Williams approved of spiking the CECOT 60 mins story, if it is in fact politically motivated as many suspect. And I'm not particularly a "fan" of Williams or anything, though I've heard him on a couple of podcasts.

But you're also making this point about all signatories being hypocrites because you seemingly have a big bone to pick with the amount of blame Thomas Chatterton Williams portions to each side.
by noman-land | 2025-12-23 16:28:58+00:00
As a practitioner I also inherently believe in well written software but as a lifelong learner, things change, and evolve. There is absolutely no reason why software today has to be written like software of yesterday.

There is no need to be so prescriptive about how software is made. In the end the best will win on the merits. The bad software will die under its own weight with no think pieces necessary.

On the other hand, code might be becoming more like clay than like LEGO bricks. The sculptor is not minding each granule.

We don't know yet if there's long term merit in this new way of crafting software and telling people not to try it both won't work, and honestly looks like old people yelling at clouds.
by theptip | 2025-12-23 16:28:58+00:00
Yes, check again - to be blunt, any opinions (at least tactical on how well feature X works) formed 6 months ago are not really relevant to the conversation today given how fast this is all moving.

Opus 4.5 in Claude Code is a massive jump over 4.0 which is a massive jump over 3.7.

Each generation is being fine-tuned on a huge corpus of freshly-generated trajectories from the previous generation so things like tool use improve really quickly.
by msabalau | 2025-12-23 16:29:10+00:00
Yeah, so what?

There was definitely a broad (not universal) triumphalist belief on the part of both elites and the broader population in the West after the fall of the Berlin Wall and disintegration in the 90s that capitalism and democracy were intertwined and the triumph of both was inevitable.

This widespread belief doesn't have to be true to help contribute to explaining why decisions were made to allow broad economic integration with and technology transfer to China, in a ways that never really happened with the Soviet Union, and only happened in very limited ways with China prior to the collapse of the Soviet bloc.

People who burnt witches generally believed that witches existed. That belief doesn't have to be true to be useful in contributing to explain the behavior.
by 6r17 | 2025-12-23 16:30:00+00:00
Your bias is that you think that because you can use a bike then my bike efforts are worthless. Considering that I often thrash out what I generate and I know I do not generate -> ship ; but have a quality process that validate my work by itself - the way I'm reaching my goals present no value to my public.

The reason this discussion is pathetic, is that it shifts the discussion from the main topic (here it was a database implementation) - to abide by a reactionary emotive emulation with no grace or eloquence - that is mostly driven by pop culture at this point with a justification mostly shaping your ego.

There is no point in putting yourself above someone else just to justify your behavior - in fact it only tells me what kind of person you were in the first place - and as I said, this is not the kind of attitude that i'm looking up to.
by simonw | 2025-12-23 16:30:01+00:00
That's fair. I also just noticed that the sentence before the bit I quoted is important:

> AI overuse hurts you:

> - if you’re doing this for your own learning: you will learn better without AI.

So they're calling out "AI overuse", and I agree with that - that's where the skill comes in of deciding how to use AI to help your learning in a way that doesn't damage that learning process.
by jasomill | 2025-12-23 16:30:02+00:00
Is this a TCP API proposal or a protocol proposal?

Because TCP, by design, is a stream-oriented protocol, and the only out-of-band signal I'm aware of that's intended to be exposed to applications is the urgent flag/pointer, but a quick Google search suggests that many firewalls clear these by default, so compatibility would almost certainly be an issue if your API tried to use the urgent pointer as a message separator.

I suppose you could implement a sort of "raw TCP" API to allow application control of segment boundaries, and force retransmission to respect them, but this would implicitly expose applications to fragmentation issues that would require additional API complexity to address.
by ksec | 2025-12-23 16:30:08+00:00
>Apple worked to create the USB-C standard, was among the first to widely deploy it.

And that is exactly Gruber's take. Apple created USB-C standard and gave it to the USB committee for free.

And it is not even half true. But it spread across the internet as if it was verified.

The other one being Apple AirPod sold at cost, and suggest Apple invented big.SMALL CPU core.
by pm215 | 2025-12-23 16:30:08+00:00
"suspiciously close" isn't close enough, unfortunately, though it might make the task less work:

If your uname output, compiler architecture ifdefs, etc, don't match the existing architecture then basically every program that does per architecture specialisation will need updating, even if fairly trivially so.

If you're not building and running identical binaries, then anybody who distributes binaries needs to be persuaded that it's worthwhile to get hold of build machines and devote archive space and maintenance time to your new architecture.

There may be political issues where neither the owners of the old architecture nor the owners of the new clone want to come out and admit that it's very similar. This may result in projects treating it as "genuinely new architecture" rather than "variant of an existing one", which is more work. (There are also technical concerns about future divergence that might argue for "not just a variant".)

If you have to have the code structure of a complete new architecture then this can also trigger more work where the old arch code got to get away with legacy practices and APIs but the newcomer is expected to reach any project standards for new code, so "copy, paste, rename" is insufficient. Sometimes this imposes constraints that make more work elsewhere: for instance a new architecture in Linux is expected to follow a modern syscall numbering scheme and set of syscalls, so it won't have a userspace ABI that's compatible with the arch it is cloning.

If the architecture you're cloning is a "declining" architecture now mostly in legacy setups, then modern projects you care about for your new architecture might not have good or any support for it. (If you cloned sh4 you won't have easy rust support, for example.)

Overall, getting a new architecture from "we have a spec" to comprehensive open source ecosystem support is a heavy lift, and clone and copy doesn't get you out of all of it. (Look back at how long it took 32 bit Arm and then 64 bit Arm and now how riscv is following similar paths. These have all been years long efforts with a very long tail.)
by loglog | 2025-12-23 16:30:09+00:00
The author is in the comfortable position of working on a system that does have a formal specification and a formally verified reference implementation. The post is not about how they wish things would work, but how their existing system (Cedar) works.

Regarding your point on Rust, the vast majority of software has nowhere near the amount of static guarantees provided by Rust. If you need more, use static memory allocation, that's what people do for safety critical systems. By the way, it seems that Rust aborts on OOM errors, not panics: https://github.com/rust-lang/rust/issues/43596
by vetrom | 2025-12-23 16:30:10+00:00
Launchpad does this for everything, as does sbuild/buildd in debian land. They generally make it work by both: running the build system in a neutered VM (network access generally not permitted during builds, or limited to only a debian/ubuntu/PPA package mirror), and going to some degree of invasive process/patching to make build systems work without just-in-time network access.

SUSE and Fedora both do something similar I believe, but I'm not really familiar with the implementation details of those two systems.
by moomoo11 | 2025-12-23 16:30:26+00:00
I stopped going on 2 because of assholes who break the lane barrier.

It’s not a race track.

Broke ass (mentally poor is also a thing) motherfuckers driving rental supercars or daddy’s Ferrari at 100+ mph.

Imagine having millions of dollars and not being able to afford track day. Cheap ass, broke ass, losers. The whole lot.
by Lio | 2025-12-23 16:30:40+00:00
I'm sorry but that not acceptable when you're putting people's lives at risk.

Can I ask if you've ever lost someone you love because of a mistake made by a driver?

I'm sorry to have to say this so bluntly to you but migration status is not an excuse.

You should get lessons if you're unsure how to drive correctly and if you can't follow the local rules of the road you shouldn't be driving at all.
by qingcharles | 2025-12-23 16:30:51+00:00
Sure, that's true. Let's say you file a motion, though. Say the cops beat a false confession out of you. You file a motion to suppress. Now you've stopped the speedy trial clock for a year, maybe two, while the motion is responded to, witnesses and discovery are sought, hearings are had, etc. You're stuck in jail that whole time.
by mmh0000 | 2025-12-23 16:30:53+00:00
Layers.

PDF is an absurdly complex file format. It's part of the reason there is no single "good" PDF reader, just a lot of mediocre PDF readers that are all terrible in their own way. Which is a topic for another day.

There are several ways to remove data in a PDF:

- Remove the data. This is much harder than it sounds. Many PDF tools won't let you change the content of a PDF, not because it isn't possible, but because you'll likely massively screw up the formatting, and the tools don't want to deal with that.

- Replace the data. This what what all the "blackout" tools do, find "A" and replace with "🮋". This is effective and doesn't break formatting since it's a 1-to-1 replacement. The problem with "replacing" is that not every PDF tool works the same way, and some, instead, just change the foreground and background color to black; it looks nearly the same, but the power of copy-and-paste still functions.

- Then you have the computer illiterate, who think changing the foreground and background color to black is good enough anyway.