3 ms·
On the topic of filesystems: for me, hardware storage systems, file systems, operating systems, user library, filesystem caching, file formats, persistence guar
by larve 4y ago
On the topic of filesystems: for me, hardware storage systems, file systems, operating systems, user library, filesystem caching, file formats, persistence guarantees, recovery, that stuff is really complicated. I just can't say that it's simple, because to me it never will be. Maybe it's simple for the other person, but I don't understand why "giving in" helps any of us in this case. I just won't say "writing a file is simple", even if you threaten to fire me. That's fine by me, I might change my mind if my survival depends on it, but it really is not what I'm here for.
We can go ahead writing your file-based persistence layer, and I"m fine supporting and maintaining it too. But I won't say that "it's simple".
- KronisLV 4y agoHah, that's a fair point. Whenever someone tries to figure out how to store files, I'm usually inclined to just point them in the direction of S3 to attempt to at least minimize some of the eventual issues of dealing with files. You know, even MongoDB GridFS or binary blobs in RDBMSes could be less problematic options, rather than dealing with inodes, maximum file path lengths, file name constraints, storing metadata, maximum files in a directory and eventually having to build a system for having a tree of nested folders to work around those (a bit like what Ruby on Rails ActiveStorage does with uploaded files out of the box, for example).
- larve 4y agoOnce you involve the cloud, things get exponentially more complicated. Your `fwrite(foobar)` has ramifications that no human can legitimately understand. That's what I meant with . I am happy to write `fwrite(foobar)` and get the project going, but it's not simple, and there might be very valid reasons to not do just `fwrite(foobar)`. If you don't want me to even mention these, then I'm out. Otherwise, I will fully engage. I'm really a pragmatist when it comes to getting stuff done. Anything getting shipped is better than nothing getting shipped, and I will maintain it for as long as it needs to.