Build a FUSE plugin
February 12, 2016
Ok, go ahead. Build a filesystem, using FUSE and the bindings for your favorite language. You could use Python, or Ruby, or Go, or Lua, or JavaScript, or… really, just about any language out there. So give it a shot. It’s stupidly fun.
WTF is FUSE?
- Filesystems in Userspace
- aka, really easy to write custom filesystem - bindings for nearly every language imaginable
- implement a class consisting of up two dozen familiar POSIX methods such as mkdir, rename, symlink, open, read, write, etc. - basic filesystem in 50 lines of code or less
- not unlike implementing a REST api - a hierarchy (file paths, URLs), using a simple set of verbs to manipulate the documents
- like REST, you can do a lot with the basic concepts of directories and files - the unix philosophy, eg.:
/dev/random
,/dev/lp0
,/dev/audio
,/dev/rtc
- GDriveFS, TweetFS, WikipediaFS, and many other awesome examples
</ul>
Resources
- Python: python-fuse-filesystem and writing-a-fuse-filesystem-in-python
- JavaScript: fuse4js and fusejs and fuse-bindings
- seriously, just Google it