HNHacker News
TopNewBestAskShowJobs

quotemstr

8,661 karma · joined March 18, 2011

I've seen some stuff that you wouldn't believe
submissionscomments
quotemstr··on Grok 4.5
You can't ascertain what's true without free speech.

Suppose you start with a true belief. This belief, like any other, has to propagate from person to person to sustain itself. The truth is messy. During each hop, people present the best, cleanest version of the truth in the belief. After enough hops, the belief stops being the best version of the truth and starts being a truth-flavored falsehood.

If you want to optimize for your beliefs being true, you can't just prohibit their opposite. Even if you don't care about truth per se and want only for your beliefs to spread fastest, you should want to make sure your beliefs stay true-ish, because if you decouple your beliefs from truth, then they become so mutated and useless that they prompt people to whom you propagate the idea to seek out other ideas on their own.

Yes, it's easier than ever for bad ideas to spread. What people who use words like "disinformation" miss is that this ease cuts both ways. What makes it easy for opposite beliefs to spread makes it easier for false mutations of their own beliefs to spread.

Even if you can ban opposite beliefs, you can't ban mutated forms of your own beliefs: attacking the mutants looks like attacking the truth forms, yet, because the mutations smooth over the messy parts of the truth, the mutant versions of your belief will out-compete the original within the bubble of your ban.

Truth alone doesn't stop the mutants because it operates on long time horizons and small gradients. Only strong contrast can distinguish truth from appealing falsehood, and only competition with opposite beliefs can establish it. Trying to establish this contrast within your belief's framework against a near-mutant looks like gatekeeping, pedantry, or disloyalty. The near-mutant is always too close to its parent to justify the social cost of an all-out fight.

Furthermore, once a mutant version of your belief has taken over, the original version itself looks like heresy. Deformation occurs in small steps because it happens unwittingly in response to intuitive incentives. Reformation occurs in large steps because it happens wittingly in response to observing incoherence. You can't ban near-mutants, but you can ban far-mutants, and reformers trying to jump from the endpoint of a long line of near-mutations back to the original form get the original form and themselves banned.

So now what? If you think it's hard to defend your true beliefs against opposite beliefs, think how much harder the job will be once you can't wield truth as defense. By default, beliefs win and lose as they become extractive and appealing in cycles. Truth allows an idea to win despite being costly. Without truth as a benchmark, why would anyone prefer your belief over upstarts that promise fewer rules and more fun?

If anything, people will prefer opposite beliefs to yours because you've been the one calling false beliefs true just because they descended from true beliefs and because you're the one telling them to shut up and get in line. Even if you start out with the true belief and the opposite beliefs are all false, you lose.

quotemstr··on Grok 4.5
People, even in tech, even in AI, are allowed to have opinions that differ from yours. Cancellation doesn't work anymore: you can't get away with presenting your side as normal and other side as deviant and let ostracism win your idea's battles without your idea having to fight for itself.

The reason it's cringe is that you can really only understand an idea by placing it in tension with other ideas. Remove your idea's competition and you remove an incentive to explore the weaknesses of your own. Ideological protectionism, just like the economic kind, breeds weakness. Your idea mutates and, without fitness feedback, drifts into a ridiculous parody of itself. Your idea ceases to be a thing that can live on its own and comes to depend on the protectionism for it's survival. Yet, the more ridiculous your idea becomes, the more protectionism it needs to compensate. One day, your idea collides with other ideas (which are still out there) despite your best efforts to shield it attack, and when it does, you're shocked by how weak your coddled, mutated idea really is compared to the original form one might remember.

All the people out there criticizing Grok, or Grokipedia, or whatever for espousing the wrong ideas are ultimately undermining their own. Even if you don't believe in high-minded mumbo-jumbo about the value of free speech, even if you just want your side to win, trying to shame models like Grok into not existing is foolish and undermines your goals.

quotemstr··on Unicode's transliteration rules are Turing-complete
From a computer science POV, it's spooky how Turing-completeness arises spontaneously out of the most mundane data-processing machines. You look at UTS#35, see "Transforms provide a set of rules for transforming text via a specialized set of context-sensitive matching rules." and think, "Ah! Rewrite rules! Those are often Turing-complete! Maybe this one is too!".

And so it is (https://en.wikipedia.org/wiki/Semi-Thue_system#Undecidabilit...).

It's a scary and wonderful part of our world that you can bootstrap so much complexity out of a little iterated self-reference.

My only quibble with the article is in this line...

> The surprise is that it lives in a data format for locale files, shipped in every OS, whose specification doesn't mention the possibility.

... I'm not surprised. After all, the processor that interprets the data format is Turing-complete not only in its instructions, but in the page table! See https://github.com/jbangert/trapcc

If anything, when you build a system and it starts to get complex, you have to go out of your way to ensure it's decidable and can't accidentally bootstrap the universe.

quotemstr··on GPT‑Live
> GPT-Live-1 is the first version of a new generation of models, and we believe the full-duplex architecture + delegation enables entirely new ways of human-AI interaction.

Awesome. Are you guys able to share anything about the model architecture? I've been interested lately in split-transformer RVQ-based conversational agents, e.g. via stuff like https://arxiv.org/abs/2412.10208 (ResGen) and https://arxiv.org/abs/2603.18090 (MOSS-ITT) and of course Moshi (https://arxiv.org/pdf/2410.00037).

Intuitively, decoupling semantic and audio-timeslice-space generations with coupled but distinct histories is right model architecture, not just for these sorts of assistants, but for domains like robotics too.

quotemstr··on GPT‑Live
> This is the opposite direction AI should be going.

There is no moral obligation, in any domain, to refuse to make a product that adults, with full informed consent, find useful and purchase. Who are you to say you know better than the market?

quotemstr··on It seems that the age of reading might be a short anomaly in human history
Intellectual and economic accomplishment aren't exactly parallel vectors, but you can't expect me to believe they're orthogonal. A mediocre tech CEO is going to run intellectual circles around some random guy you pick out of the DMV ticket queue.

And, yes, some people are smarter than others. Some people are a lot smarter than others. Also, smart people are rare. Very smart people are very rare. These are basic facts of life that continue to exist whether or not you believe in them. Ignore them at your own risk.

quotemstr··on It seems that the age of reading might be a short anomaly in human history
> > London. Michaelmas term lately over, and the Lord Chancellor sitting in Lincoln’s Inn Hall. Implacable November weather. As much mud in the streets, as if the waters had but newly retired from the face of the earth, and it would not be wonderful to meet a Megalosaurus, forty feet long or so, waddling like an elephantine lizard up Holborn Hill.

> The researchers quoted students’ attempts to parse the passage. “So it’s like, um, the mud was all in the streets, and we were, no … so everything’s been, like, kind of washed around and we might find Megalosaurus bones but he says they’re waddling, um, all up the hill,” one student said. At least a quarter of the subjects interpreted the figures of speech literally, leading to the inference that dinosaurs walked the streets of 19th-century London.

It's less that we've forgotten to read and more that technology has made maintaining the historical pretense of mass intellectualism non-viable. The mass bulk of humanity has always been this stupid. Curiosity, epistemic discipline, critical thinking, and counterfactual evaluation have always been the privilege and burden of a few. We've only pretended otherwise to flatter our sense of fair-mindedness, which itself is sparsely distributed among the primate biomass of humanity.

Reality punishes you for refusing to model it properly. A non-predictive theory is worthless. An anti-predictive theory is a hazard. Let's remediate the epistemic toxic waste that is the idea that everyone is capable of the highest level of thought if only properly trained. If you're out in public, look around. A good chunk of the people you see can't understand, having had breakfast, that if they hadn't, they'd be hungry. When you're selected into an environment of concentrated rigor, you lose track of just how dumb most people are. The article is sad yet unsurprising.

quotemstr··on Show HN: your website as a TUI, over SSH right now
You might want to consider using atomic update escape codes: https://github.com/contour-terminal/vt-extensions/blob/maste...

The interface flickers like crazy right now.

quotemstr··on l: A new runtime for k and q
... DuckDB.

Columnar databases are array languages, after all.

quotemstr··on Januscape: Guest-to-Host Escape in KVM/x86 [CVE-2026-53359]
> /dev/kvm is guarded by membership in the kvm group - no need for new capability, just regular old filesystem permissions.

Which is precisely why many kinds of kernel feature should be exposed as operations on device nodes, not as system calls usable out of thin air. UGO and ACL permissions work on device nodes!

quotemstr··on M/PC – A Concatenative OS
It kind of asks "What if we built an OS, but with all data sourced from immutable, append-only logs processed by pure functios?"

Probably not literally realizable right now, but IMHO, the closer we can get, the better

quotemstr··on Mouse: Precision Editing Tools for AI Coding Agents
Not sure what would make you think that.

https://hic-ai.com/papers/mouse-paper-v13.pdf seems like an awfully lot of trouble to go through for a joke that isn't even funny.

HIC AI is a Delaware corporation, registration number 10476082, incorporated 1/16/2026.

quotemstr··on Mouse: Precision Editing Tools for AI Coding Agents
Patent pending? On what?

> insert a line, delete a range, replace a character, edit a column

The ed(1) command set 50 years old. I doubt it's patentable. These guys are far from the first to apply fine-grained text editing to LLM toolsets. I've been teaching models to do it for years. Hell, models want to use sed and awk so much that you have to hold them back.

I'm so repulsed by the idea that these guys think they can fence off a slice of the ancient commons, claim they discovered it, and charge $15/month to access it that I want nothing to do with them and will go to the mattresses to make sure they can't. Nobody owns text editing, not even when it's an AI doing it.

Mouse: sincerely, fuck you

quotemstr··on PostgreSQL and the OOM killer: Why we use strict memory overcommit
It's been a while since I've looked at it, but IIRC it doesn't model the compressed RAM as a special swap tier, which IMHO is a pretty elegant way to look at it.
quotemstr··on PostgreSQL and the OOM killer: Why we use strict memory overcommit
> Typically, performance drops enough that the user kills the program or reboots before the page file expands to fill the disk. And other threads here suggest there is something that will prompt users to kill programs in states like this.

Not in the age of NVMe it doesn't. Swap is fast now. Plus, at least on Linux, you can put zswap in front of the regular swap and introduce an even faster level of memory hierarchy and thereby make page-outs even more profitable.

quotemstr··on Lightning Memory-Mapped Database Manager (LMDB) 1.0
I read the linked post. You're not making a good argument.

The authors aren't arguing that a mmap database is worse because it's "more complex". They are arguing it must work with less information. You haven't refuted the original paper, but you have made me more skeptical of LMDB.

For example, you claim that applications "never" have control of memory. That's simply, again, false. We have explicit memory eviction and pinning operations. We even have VA-batched TLB shootdown IPIs via process_madvise. On some systems (AMD, soon Intel) we can do TLB invalidation without an IPI.

So no, you're just wrong in making the claim that you might as well use mmap because you can't control the memory lifecycle anyway. You absolutely can, and anyone reading this message can look up the relevant APIs for himself.

And you point to LMDB's benchmarks repeatedly as evidence you're right. That's not saying what you think it is. LMDB is fast despite being hobbled by vanilla kernel mmap. Yes, that means other databases are probably doing stupid things, but reverse stupidity is not intelligence.

quotemstr··on Lightning Memory-Mapped Database Manager (LMDB) 1.0
> The best you will ever do, even with full application knowledge and complete control of the machine, is an LRU cache replacement algorithm

First of all, even the kernel can do better than simple LRU. We have MGLRU now for example. That said, the kernel is at a structural disadvantage.

A general purpose eviction and prefetch algorithm is like an automatic transmission on a car. It can react only to what it's seen.

When you drive stick, you can react to what you can see on the road ahead of you. A database has a query plan. It can see the future as well as remember the past. It has more information than the kernel.

> So a simpleminded LRU always makes optimal use of available cache, regardless of access pattern or other load on the system

That cannot be true. If I have a random access pattern, LRU will perform no better than random. If I have a future-oracle, I can just evict what's most distant in my set of future accesses.

Regardless of whether you're right about the suitability of LRU for this or that workload, it's simply false, mathematically, from a computer science POV, that LRU is optimal.

And if you go around making confidently wrong claims like this, one must wonder about what else you are wrong. If you want to be disagreeable in public, fine: just make sure you have math on your side first.

quotemstr··on Great Salt Lake Tracker
Sounds like the northern part of the lake doesn't have much of an ecosystem anyway, so why not start there?
quotemstr··on Lightning Memory-Mapped Database Manager (LMDB) 1.0
You're right about that.

Linux needs a way for userspace processes to participate in the kernel's shrinker system for reclaiming memory under pressure. Watching memory PSI is too coarse. MADV_FREE is too complicated and indiscriminate. You could imagine a notification FD, but then you've just reinvented PSI. You could imagine a synchronous signal, but everyone hates signals and won't couple any new functionality to them.

Shrinker-BPF attached to a memfd perhaps? A BPF shrinker could not only choose which pages to evict in a non-stupid way, but could notify userspace in some sane manner (e.g. setting a bitmask somewhere) that it's done so.

(Zero-fill as "notification" is insane and doesn't actually work because zero is a perfectly valid value in a lot of contexts.)

quotemstr··on Lightning Memory-Mapped Database Manager (LMDB) 1.0
And that's adequate for casual programs. LMDB is big and serious enough to warrant the extra complexity (which, to be fair, is significant) of userspace buffer management. LMDB does the work once and all users benefit.
quotemstr··on Lightning Memory-Mapped Database Manager (LMDB) 1.0
I've never understood the fascination some people have with mmap. Memory-mapped file IO is just a RAM cache combined with a hidden system call (a page fault) to fill the cache. You can do the same thing yourself by using O_DIRECT to fill regular anonymous memory. If you're feeling social, you can fill a mapped and shared memfd.

You can seal memfds too, which means that the "read-only" mode is easy to implement: just map your memfd for write, apply F_SEAL_FUTURE_WRITE, and share the memfd to anyone you want to have read-only access.

By doing your own O_DIRECT IO instead of relying on the kernel's defaults, you get a lot more control. You choose how much readahead to do; you choose your read-cluster size. You choose your cache eviction strategy. You choose when to write back.

BTW: O_DIRECT can also be done asynchronously using aio or io_uring. There's no such thing as an asynchronous page fault. And IO errors? Would you rather deal with EIO or SIGBUS?

Why would you want the kernel to do these things for you? It'll do a worse job: it has less information than you do and has to use blunt heuristics that work sort-of-good-enough for the whole world, not just your program.

And it's not any faster either. O_DIRECT is DMA. A page cache fill is also DMA. It's the same operation, spelled differently.

quotemstr··on Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
Memory encryption is secure under a certain threat model. It makes cold boot attacks, DIMM transfer attacks, and rowhammer much harder to pull off. It doesn't protect against everything and doesn't pretend to do so, but IMHO it's valuable anyway.
quotemstr··on Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
It's because of vulnerabilities like this that I enable Intel's "total memory encryption" feature. No plaintext leaves the CPU package. DIMM swap attacks become useless. Moreover, it's basically free: the cryptography happens directly in the memory controller, in hardware, inline with the bus transactions the CPU is doing anyway.
quotemstr··on Global review confirms mRNA vaccines are safe, effective and full of promise 
Nobody's used state power to mandate peptides and social media censorship to reports of adverse effects.

As many of us said at the time, the mandates weren't worth the destruction of public trust, especially because the vaccine wasn't even sterilizing.

The next time there's a crisis, resist the urge to use the government to achieve outcomes by brute force. It doesn't work and has generational adverse consequences.

quotemstr··on Memory Safe Context Switching
Not if you have an address space conflict, e.g. if you want to move a stack within a single process. Linear addresses are relative to a whole address space root.
quotemstr··on Memory Safe Context Switching
> What ruins this for C is the existence of pointers. Stacks aren't freely relocatable since pointers into the stack could exist.

I sometimes wonder what computing would be like if the 80286 hadn't sucked, if segmentation had won over flat address spaces, and if we'd been able to do relocation pain-free by changing a segment base register in one spot instead of rewriting linear pointers everywhere. We could have done paging within segments.

Oh well.

quotemstr··on .self: A new top-level domain designed to support self-hosting
zkVMs (of which RISC Zero is one example) do not require a TEE. That's the whole point: the privacy properties come out of the math. Basically, nowadays, once you and I can agree on the text of a program, you can run the program on your private inputs and produce a number that proves to me that you actually ran this specific program and not some other.

For example, age verification: I can run a program that takes a signed time-stamp and an officially-signed birth certificate and produces a yes/no "over 18" boolean, then prove to you I actually ran this program, not just "return true", but WITHOUT revealing the birth certificate.

It's a really neat facility that too few people are thinking about. We've had zero knowledge systems for a few decades now, but until now, each one has been a special bespoke mathematical object that would take years to develop. Over the past year or two, we've 1) made the things 1000x faster, and 2) made it possible to write arbitrary code under zero knowledge instead of having to make each ZK system a PHD thesis.

Others say that zkVMs are pointless because they're less efficient than these bespoke mathematical objects. Yes, they are. So what? The flexibility is worth it. Others say that zkVMs came out of Etherium, so they're only good for "crypto" stuff. False. Sure, it's the Etherium people who did a lot of foundational research into efficient zkVMs. We owe them a debt of gratitude, because they made a new kind of CS object that's going to be useful for tons of things not tied to Etherium or web3 in any way.

Anyway, if you want to get a feel for fully programmable ZK systems, check out https://noir-lang.org/, a programming language for ZK programs (not a zkVM, but same UX). Or https://github.com/a16z/jolt, which lets you run normal Rust under zero knowledge.

Today, you can write normal-looking code and have it execute under zero knowledge, and, importantly, efficiently. You literally couldn't do this two years ago, and it changes everything.

quotemstr··on .self: A new top-level domain designed to support self-hosting
RISC Zero verifies that an exact computation was performed. What would be the point of the system otherwise? If you're starting from this incorrect premise, you're going to arrive at an incorrect conclusion.

> Single purpose circuits make a lot of sense for this

No, they don't. They lock your system into a single set of trade-offs without an advantage to offset it. They're premature optimization. How do you think ZK systems can be made resilient to cloning attacks without hardware locking if your ZK vocabulary is limited to stupid BBS-style selective disclosure and nothing else?

quotemstr··on .self: A new top-level domain designed to support self-hosting
It is good that Microsoft Vega is popularizing zero-knowledge identity-based attestations. It's unfortunate that they're doing so in a relatively inflexible way.

I wish the Vega people had oriented their work around general-purpose zkVMs instead of application-specific ZK circuits. The latter is a fleeting efficiency win; the former is a permanent flexibility advantage. ZK-based privacy advocates shouldn't over-index on proof performance on today's systems when zkVM systems have been making multiple-OOM performance improvements over the past couple of years.

IOW, with Nova, the Vega people are trying to do something very clever (just as the BBS+ people are trying to do something very cleaver) that general-purpose compute wins have made unnecessary.

Something like RISC Zero will let you run arbitrary Rust code under zero knowledge in a few hundred milliseconds with little fuss. Nobody appreciates that identity verification is one special case of a vast set of useful applications enabled by widespread adoption of a ZK compute platform.

quotemstr··on .self: A new top-level domain designed to support self-hosting
<something>.duckdns.org. works fine, and being "beholden" to ICANN is no worse than being a client of one of the big traditional gTLDs. If you want "one person, one name", well, .name is there for that.

It's a commons-pollution problem. Are we going to have to start thinking of every word with a dot in the middle as a potential name? IMHO, a new gTLD is justifiable only when there's some concrete differentiator attached to it, e.g. .local indicating mDNS, or .it indicating "Italy"

What value is there in "horse.horse" being something you can resolve with DNS? What value does <something>.self give me, as a reader, that <something>.name or <something>.me or any of the other zillion variations on the same idea doesn't?

If anything, it creates confusion! "Oh, I met Bob McBobFace. Is he mcbobface.me? mcbobface.name? mcbobface.local?".

I have no objection to providing people with free subdomains under whatever assignment scheme you guys are using, but wouldn't <something>.net have worked too, and been a lot cheaper?

I guess I just don't get the value to the public of increasing the set of dotted word suffixes that indicate that a word is a a cognizable DNS object.

← PreviousPage 6 of 34Next →