Login
You're viewing the front-end.social public feed.
  • Oct 21, 2026, 10:22 AM

    @hipsterelectron everyone just gets so horny for the constraints that only corporations care about. I know those constraints inside and out, and they don't actually allow for a really beautiful family of constraint topologies.

    Why can't I have a slider that says how strict my dfs needs to be?? Why are my options fully synchronous remote storage and syncthing?

    💬 3🔄 1⭐ 0

Replies

  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 10:28 AM

    @amy i disagree on this point personally i think a view of a hierarchical filesystem (a domain) should be fully local (except for read only and cow refs) and then syncs across domains should be atomic and transactional. all process-local fds should be local to a named domain and processes should inherit that of their parent by default. access to domains should be serialized to persistence through cryptographic keys. the system works together and the userspace API is largely unchanged but the semantics are wildly different

    💬 2🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 10:32 AM

    @hipsterelectron I notionally don't disagree. This is essentially an object capability design.

    My intention was to say that an extremely simple extension to the existing model that unlocks a lot is to just abstract one level further than "an entire volume" and that in particular directories get you pretty far with no changes needed for the overwhelming majority of software.

    That said, there's much more sophisticated things like you describe that can also be pursued

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 10:34 AM

    @amy i think yours is not opposed to mine they're just for wildly different uses. so i suppose my usage of "disagree" was wildly inappropriate. better word needed here

    💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 10:39 AM

    @amy i was really excited to realize it doesn't need to change anything about the userspace i/o API from POSIX except to express precisely what POSIX won't do

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 10:59 AM
    @amy not a filesystem, but something like git-annex ?

    I'm currently toying with also-not-a-filesystem but basically an S3 endpoint on top of syncthing, following the cassandra quorum thing such that if a file is synced to 2 out of 3 nodes then it's available otherwise not. But it's still actually on your filesystem so if you need them it's there.

    In any case this is a part I'm also extra interested in

    @hipsterelectron
    💬 3🔄 1⭐ 0
  • 💬 1🔄 0⭐ 0
  • Oct 21, 2026, 11:28 AM
    @hipsterelectron
    To me the number one criterion is that I ask the system for a handle, which it gives me, and then I interact with the handle. The system manages state (ie concurrent writes basically)

    otoh, s3 and git-annex I interact as a whole. There's no session. _I_ have to manage state.

    The deuxfleurs team identified this as a core point for managing distributed storage: if the system manages storage then there aren't many possibilities, whereas if the app manages state it knows what can happen and can work around it. There's much more flexibility in there.

    @amy
    💬 1🔄 1⭐ 0
  • Oct 21, 2026, 11:44 AM

    @rakoo @amy yes!!!!!!! it's SO important to propagate information only the application can determine in order to optimize!

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 21, 2026, 11:14 AM

    @rakoo @amy @hipsterelectron i think it’s a pretty satisfying setup because it works on phones and computers pretty seamlessly. syncing specific folders on the mobile devices helps a bit. the volume is also exposed via copyparty in case i want to get at more stuff/stream my music files.

    💬 0🔄 0⭐ 1
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 11:14 AM

    @rakoo @hipsterelectron I honestly would put git-annex on the syncthing side of the slider. Basically all the partial syncs aren't terribly different from having a bunch of individual syncthing shares, and every action is a full commit of an object instead of byte-range updates.

    Your cassandra thing sounds quite interesting. You may also be intrigued by
    pho.spookygirl.boo/book/jmap/article/largeblob_capability/ which I've partially implemented. It's sort of the foundation of some partial sync things I'm noodling on. Not super usable as-is, mostly a matter of exploring problem spaces

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 1:54 PM
    @amy
    heh when the problem of sending a big blob comes up my instinct reaction is always "why can't I make a torrent out of it and let the receiver download it" because I feel it's already solved

    @hipsterelectron
    💬 0🔄 1⭐ 0