From my understanding, we're still searching for empty space? We just have an easily computable sequence of spots to check. E.g., if our stride is 7 blocks, then instead of going linearly with a stateful search, we can easily compute where we check. It's hard to pull this apart from the README. The README looks a bit LLM generated (clued in by OP's comment as well), which contributes to the difficulty versus a more thoughtful writeup. Interesting idea, it's just hard to tell exactly what's going on.
case HN4_ERR_DATA_ROT: return 80;
case HN4_ERR_HEADER_ROT: return 80;
case HN4_ERR_PAYLOAD_ROT: return 80;
Yeah, good luck mounting that filesystem in production. You will need a lot of it...
/* LOGICAL CONSISTENCY (85-90) - TRANSACTION VIOLATIONS */
case HN4_ERR_GENERATION_SKEW: return 85;
case HN4_ERR_PHANTOM_BLOCK: return 82;
phboot•2d ago
It started as “just an allocator experiment.” Then it grew a compression engine. Then repair logic. Then identity. Then tags. Then time slicing. Then a namespace.
At some point I realized I wasn’t building components anymore — I had built the whole substrate.
Not a directory tree. A flat, identity-first namespace with semantic tags, time and generation slicing, CRC defense, extension chains, and deterministic resolution.
No public API. No SDK. It just speaks POSIX now.
I’m releasing the namespace engine today as a public reference implementation. It’s spec-locked, test-covered, and boring in the best way.
There’s no product. No startup. No VC story. Just a filesystem that finally works the way I always wished they did.
I’m tired. But I’m also weirdly calm about it.
If anyone wants to read, criticize, or tell me I reinvented something from 1987 — I’m ready.
reubenmorais•1h ago
promiseofbeans•1h ago
promiseofbeans•1h ago
Boltgolt•1h ago
deafpolygon•1h ago
vlovich123•1h ago
> The file's metadata in memory is updated to the new version.
Which means this doesn’t work well for lots of (presumably small) files because of the bookkeeping overhead of needing to have all the metadata materialized in RAM? Have you tested how your filesystem scales as the number of files increases and how the RAM usage scales?
Anyway, super interesting ideas. Congrats on achieving something difficult!
yjftsjthsd-h•12m ago
Well. No. In order:
It clearly does have a public API, expressed in what I would call an SDK (hn4.h).
And the readme opens with
> The Post-POSIX Filesystem.
and doesn't appear to implement any POSIX that I can see.