HomeLog InSource


[View] [Short] [Hash] [Raw]

EarthFS 2014-09-14

Ask HN: Has anyone ever tried building an OS that doesn’t use files?

[…] I’m working on a project I’m calling “Library Transfer Protocol”, which is aiming to replace the concept of “file” and replacing it with ‘Library item’. […]

Hey, it’s that guy[#] again! I knew this sounded familiar.

Props that he’s still working on this project.

I don’t know about the file metaphor, but idea of a stream of bytes is timeless and essential. If you have that, you might as well call it a file. “Library items” (what, books?) are practically the same thing. In a filing cabinet or on a shelf, it doesn’t matter.

Realizing that EarthFS should use files (rather than “entries”) was a big step forward in its development. Credit to my friend Dan for his facial micro-expression (best term ever, lol) getting me on the right path.


So, you’re not building a filesystem (because that’s hard, and requires concrete engineering skills), but instead a glorified file metadata search?

So, MongoDB with a file URL? (Hint: that’s you could implement the MVP of this, and if you use a URL you can even reference user files they don’t store locally)

And file permissions are dead? Because nobody has kids that use the same desktop they do?

This is (from a technical standpoint) the silliest goddamn thing I’ve ever heard.

From a product standpoint, you could probably pitch and get a few M. Why the fuck not.

Yeah, this particularly vehement dismissal pissed me off too. Even if it’s not me or the LTP guy, I hope someone can prove him wrong.

I’ve said that content addressing could be done in 30 lines of Python, but for some reason I’ve been working on it for two years, and I know this guy has been working on his project for a long time too.

Incidentally, I’ve given up on file permissions in EarthFS too. There are user permissions but they are repo-wide.

So, you’re not building a filesystem (because that’s hard, and requires concrete engineering skills)

I want to respond to this but I don’t know how.

We don’t need another file system that’s the same as all the existing ones.

I hope I never become this jaded. And I know I’ve come close[#] at times. Sorry.


For your project make sure you plan what to do if one application created the item, but another program wants to open it.

Don’t try to do it by applications registering types they can open - this never succeeds, there are simply too many file types in the world.

Also think about how to send data to someone else.

And finally think about how to integrate with existing devices that still use files.

Wow. Let’s consider each of these.

EarthFS doesn’t have the concept of type handlers at all. So I don’t think this applies.

Sending data to someone else: check.

Integrating with existing devices (and software): it’s not ideal, but it should work.

In conclusion, that wasn’t as useful as I expected. I guess the answer to all three is “uses HTTP.”


There is an argument to be made for having better querying capabilities or permissions or whatever, but what is to be gained from throwing a commonly-accepted idiom away?

This response is much more measured and constructive.