Mount the filesystem and demonstrate the concept of pi-based storage to amuse colleagues at a hackathon or talk
Study a minimal FUSE user-space filesystem implementation in C as a learning example
Use it as a conversation starter about what it means mathematically for pi to be a normal number
Requires autoconf, automake, and libfuse on Linux, does not run on macOS or Windows.
This is a joke filesystem built in C. It is called πfs (pi-fs) and it rests on a real mathematical idea taken to an absurd practical conclusion: the constant pi (3.14159...) is conjectured to be a "normal" number, meaning every possible finite sequence of digits appears somewhere in it. If that conjecture is true, then every possible file that could ever exist is technically already encoded somewhere in the digits of pi. πfs takes this observation and implements a filesystem around it. Instead of storing your file's actual bytes on disk, it looks up each byte in the digits of pi and records the position where that byte was found. Your file is then "stored" as a list of positions in pi rather than as raw data. The metadata (the list of positions) is saved to a directory you specify. The actual data lives in pi, which is infinite and not on your hard drive. The practical result is exactly what you would expect from this approach: it is extremely slow. The README notes that storing a 400-line text file took five minutes during testing. This is because finding each individual byte's location in the digits of pi takes real computation time, and a typical file has many bytes. Building it requires autoconf, automake, and libfuse, which is the standard Linux library for building user-space filesystems. The build process is a standard configure-and-make sequence. Mounting it is one command where you specify a metadata directory and a mount point. The README is written in a deadpan promotional style, treating 100% compression as a solved problem and suggesting future improvements like cloud-based pi lookup and Hadoop integration. The project is a working piece of software in the sense that it compiles and mounts, but it is not intended for any real use.
← philipl on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.