The difference is this one (layerfs) was vibe coded™ and the other (btrfs) is battle tested in mission critical systems for years in the Linux kernel and used by many companies in the SNP 500.
Do not be fooled by the "vibes" of the website design which many here are. If it is too good to be true, it most likely is.
That's what I was concerned about. An unstable filesystem is worse than no filesystem at all; I'd really like to switch to bcachefs but it simply needs to have a few more years under its belt before I'll be comfortable with it (particularly for some of its best use cases, where it becomes responsible for backups).
It's fine if you stay away from it's raid5/6. And realize it isn't going to let you know when you have a mirror fail until you try to boot it and it won't come up.
It is more content aware and tuned towards versioned data vs block aware among other things. There’s a benchmark as to how it impacts things in the site
I think it’s actually a fairly useful thing but I worry about something so obviously vibe coded hitting 1.0.0 and without a track record but the ideas seem pretty useful. I’ve certainly found the work tree semantics most agents and harnesses follow at scale to be obnoxious at best and it seems to tackle issues head on.
Nice benchmarks, impressive numbers. 20x less space than btrfs for the deep seek harness.
They even have some explanations. Files writes in btrfs snapshots recreatethe contents as opposed to storing what's changed. Btrfs has no dedupe, if multiple snapshots happen to have the same data. And small files store metadata twice in btrfs for reasons.
I do think their use case is a bit pathological, checking out the same harness at every commit. Most of these btrfs gotchas don't feel like they would be super impactful to me. But really cool results none the less.
I have this pattern but because I run pipelined agents working on a speculative merge topologically sorted task list merging into a merge train. This leads to lots and lots of work trees that largely overlap except for slight variants. Their articulated use case is mine, and I can have up to a hundred work trees at a time. The storage and related back pressures can be complicated.
For the source code part of that, the difference between using layerfs and btrfs snapshots feels near trivial. There'd be so little difference at the source layer. Unless your changes are massive massive massive repo wide changes, most of the content is going to remain the same, and the btrfs snapshot is going to mean each workspace is a proportionally a tiny delta, have as many as you want.
I guess the win is that often build artifacts are the same in many cases, so a pristine checkout still de-dupes. There's very good build caching systems out there that help with not needing to keep re-compiling the exact same stuff you've compiled, so I tend to discredit this usage some. But each of those workspaces would end up with it's own copy of the build artifacts, so there is a real savings to layerfs in either case, with it's dedupe.
Good for you on your "speculative merge topologically sorted task list merging into a merge train". Fun hard problems to have! Great. I don't want to be too rude, but also, personally, I think you could have simmered that down a bit, at the cost of not presenting quite entirely how super advanced elite super cool you are.
Perhaps but it wouldn’t have been explicit about why I have that problem. I don’t think it’s a normal problem to have, whether it’s elite or not, it’s IMO not common. The speculative pipeline and the merge train is the key part because they overlap with changes in the same files. This is why block based doesn’t help me as much. I’d prefer to not censor myself with respect to my problem statements for some internet humility virtue signaling.
so you're right its not exactly the same (and it might not even be a very similar implementation ala how docker is), but the bullet points are the same.
ephemeral, instant boot strap, append only (I'm pretty sure I was the first person to use ephemeral computing this way, at the time I couldn't find anything that touched it. People used containers, ala ZFS/Zones, but they were generally meant for long term computing and not for bringing up an environment for a very small period of time and then tearing it down.)
though we also approached recording and forking your computation at will - https://dl.acm.org/doi/10.1145/1323293.1294289 (I'm proud of coining the name), though it strongly relates to Microsoft's recall so it would probably be viewed less positively today (in fact, this might be closer in implementation to what they are doing than the above).
with that said, it was a bit more tongue in cheek than anything.
as an aside, I sort of wonder in the age of AI and the ability to reproduce anything easily, we might have to expand patents (related to comment below that got downvoted), but dont have strong thoughts on this yet.
I disagree. Its full of AI slop. Too much animation (cute but distracting) I literally tried for 20 minutes and couldn't focus on reading. I just couldnt comprehend anything.
The evergreen observation; The most self-promote-y among us are mostly using AI to reinvent solutions and disguise them as new designs. These address solved problems, which are themselves disguised as new agentic problems.
Celebrating and promoting this stuff does not help us get better at discovering and building actually new things; change my mind.
I have to try it but I am very well interested in the decentralized agents mentioned there, I am tired of scattered agents and sessions across multiple OSes and harnesses I have, I just need one say an LXC that I can self host and automatically sync (or rather async like push/pull) all my harnesses, regardless wherever the previous session was.
You can achieve this by externalizing the memory outside of every harness and then connecting all harnesses to it via MCP.
Then you will have a single store where you can both read and write, and nothing will need to be synced.
I am the founder of Substrate, a project that aims to provide this capability: having just one memory for all your agents, sessions and tools.
What two harnesses do you switch between most often?
Not memory, rather the sessions and skills. So you start your session in opencode on linux with say sol model, then the next hour you pull your Mbp start claude code on macos and cont the session on opus, with the same skills too. Memory isn’t that useful I found it actually bad as it impacts the output in a different direction than what was asked. I was thinking to build it but didn’t have the time, if something proven exists and open source (to trust it with sessions) then that would be great.
~245k lines of Rust the LLMs coded. So my question is other than DSH does the author(s) have any advice on setup that made creating this possible? or other have tips for best setup that can produce a project like this.
Even those bashing for being AI generated have to admit it’s technically impressive and reflective of where software engineering is headed.
nico | 8 hours ago
PS: it’s just a fun play on memory/storage and AI. Hope you enjoy :)
trollbridge | 8 hours ago
nico | 2 hours ago
Here’s the first write up with the CLI version: https://nicobrenner.github.io/lossy-git/
And repo code: https://github.com/nicobrenner/lossy-git
trollbridge | 8 hours ago
rvz | 8 hours ago
Do not be fooled by the "vibes" of the website design which many here are. If it is too good to be true, it most likely is.
trollbridge | 8 hours ago
ryan-c | 8 hours ago
ikidd | 6 hours ago
otabdeveloper4 | 8 hours ago
And still crashes and corrupts filesystems all the time.
(I have one server platform where just doing `insmod btrfs` immediately locks up the server, hard, without even any kernel panic or log message.)
teiferer | 7 hours ago
otabdeveloper4 | 2 hours ago
0x457 | 5 hours ago
Only in a sense that i went to a battle and lost all of its data to corruption. Should be removed from in-tree so people don't accidently use it.
totetsu | 8 hours ago
fnordpiglet | 5 hours ago
https://layerfs.ai/benchmarks/dsh-dedup/
I think it’s actually a fairly useful thing but I worry about something so obviously vibe coded hitting 1.0.0 and without a track record but the ideas seem pretty useful. I’ve certainly found the work tree semantics most agents and harnesses follow at scale to be obnoxious at best and it seems to tackle issues head on.
jauntywundrkind | 5 hours ago
They even have some explanations. Files writes in btrfs snapshots recreatethe contents as opposed to storing what's changed. Btrfs has no dedupe, if multiple snapshots happen to have the same data. And small files store metadata twice in btrfs for reasons.
I do think their use case is a bit pathological, checking out the same harness at every commit. Most of these btrfs gotchas don't feel like they would be super impactful to me. But really cool results none the less.
fnordpiglet | an hour ago
jauntywundrkind | an hour ago
I guess the win is that often build artifacts are the same in many cases, so a pristine checkout still de-dupes. There's very good build caching systems out there that help with not needing to keep re-compiling the exact same stuff you've compiled, so I tend to discredit this usage some. But each of those workspaces would end up with it's own copy of the build artifacts, so there is a real savings to layerfs in either case, with it's dedupe.
Good for you on your "speculative merge topologically sorted task list merging into a merge train". Fun hard problems to have! Great. I don't want to be too rude, but also, personally, I think you could have simmered that down a bit, at the cost of not presenting quite entirely how super advanced elite super cool you are.
fnordpiglet | 59 minutes ago
compsciphd | 8 hours ago
https://www.usenix.org/conference/usenix-atc-10/apiary-easy-...
https://www.usenix.org/legacy/event/lisa11/tech/full_papers/...
https://patents.google.com/patent/US8589947B2/
russfink | 7 hours ago
compsciphd | 6 hours ago
ephemeral, instant boot strap, append only (I'm pretty sure I was the first person to use ephemeral computing this way, at the time I couldn't find anything that touched it. People used containers, ala ZFS/Zones, but they were generally meant for long term computing and not for bringing up an environment for a very small period of time and then tearing it down.)
This paper with bellovin applied it to system administration - https://www.usenix.org/legacy/event/lisa09/tech/full_papers/...
though we also approached recording and forking your computation at will - https://dl.acm.org/doi/10.1145/1323293.1294289 (I'm proud of coining the name), though it strongly relates to Microsoft's recall so it would probably be viewed less positively today (in fact, this might be closer in implementation to what they are doing than the above).
with that said, it was a bit more tongue in cheek than anything.
as an aside, I sort of wonder in the age of AI and the ability to reproduce anything easily, we might have to expand patents (related to comment below that got downvoted), but dont have strong thoughts on this yet.
russfink | 4 hours ago
amelius | 5 hours ago
evandena | 8 hours ago
shayonj | 8 hours ago
avadodin | 7 hours ago
Sathwickp | 7 hours ago
robofanatic | 7 hours ago
I disagree. Its full of AI slop. Too much animation (cute but distracting) I literally tried for 20 minutes and couldn't focus on reading. I just couldnt comprehend anything.
jiaosdjf | 7 hours ago
weddpros | 7 hours ago
toddmorey | 6 hours ago
pizzafeelsright | 6 hours ago
mtford | 6 hours ago
Rapzid | 6 hours ago
mpalmer | 6 hours ago
Celebrating and promoting this stuff does not help us get better at discovering and building actually new things; change my mind.
tamimio | 5 hours ago
ptkachykby | 2 hours ago
I am the founder of Substrate, a project that aims to provide this capability: having just one memory for all your agents, sessions and tools.
What two harnesses do you switch between most often?
tamimio | 2 hours ago
alchemist1e9 | 5 hours ago
Even those bashing for being AI generated have to admit it’s technically impressive and reflective of where software engineering is headed.