Πfs: Never worry about data again

helterskelter1 pts0 comments

GitHub - philipl/pifs: πfs - the data-free filesystem! · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

philipl

pifs

Public

Notifications<br>You must be signed in to change notification settings

Fork<br>291

Star<br>6.9k

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>22 Commits<br>22 Commits

src

src

.gitignore

.gitignore

AUTHORS

AUTHORS

COPYING

COPYING

ChangeLog

ChangeLog

INSTALL

INSTALL

Makefile.am

Makefile.am

NEWS

NEWS

README

README

README.md

README.md

autogen.sh

autogen.sh

configure.ac

configure.ac

View all files

Repository files navigation

Check out https://github.com/philipl/inferencefs/ for the latest in data-free filesystems!

πfs: Never worry about data again!

πfs is a revolutionary new file system that, instead of wasting space storing<br>your data on your hard drive, stores your data in π! You'll never run out of<br>space again - π holds every file that could possibly exist! They said 100%<br>compression was impossible? You're looking at it!

πfs is dead simple to build:

Firstly, you must install autoconf, automake, libfuse packages in your system.<br>For example, if you have Debian try:

sudo apt-get install autotools-dev<br>sudo apt-get install automake<br>sudo apt-get install libfuse-dev

./autogen.sh<br>./configure<br>make<br>make install

πfs is dead simple to use:

">πfs -o mdd=metadata directory> mountpoint>

where the metadata directory is where πfs should store its metadata (such<br>as filenames or the locations of your files in π) and mountpoint is your<br>usual filesystem mountpoint.

What does π have to do with my data?

π (or pi) is one of the most important constants in mathematics and has a<br>variety of interesting properties (which you can read about at wikipedia)

One of the properties that π is conjectured to have is that it is normal,<br>which is to say that its digits are all distributed evenly, with the<br>implication that it is a disjunctive sequence, meaning that all possible<br>finite sequences of digits will be present somewhere in it. If we consider<br>π in base 16 (hexadecimal) , it is trivial to see that if this conjecture<br>is true, then all possible finite files must exist within π. The first<br>record of this observation dates back to 2001.

From here, it is a small leap to see that if π contains all possible files,<br>why are we wasting exabytes of space storing those files, when we could just<br>look them up in π!

Every file that could possibly exist?

That's right! Every file you've ever created, or anyone else has created or<br>will create! Copyright infringement? It's just a few digits of π! They were<br>always there!

But how do I look up my data in π?

As long as you know the index into π of your file and its length, its a<br>simple task to extract the file using the Bailey–Borwein–Plouffe formula<br>Similarly, you can use the formula to initially find the index of your file

Now, we all know that it can take a while to find a long sequence of digits<br>in π, so for practical reasons, we should break the files up into smaller<br>chunks that can be more readily found.

In this implementation, to maximise performance, we consider each individual byte<br>of the file separately, and look it up in π.

So I've looked up my bytes in π, but how do I remember where they are?

Well, you've obviously got to write them down somewhere; you could use a piece of<br>paper, but remember all that storage space we saved by moving our data into π? Why<br>don't we store our file locations there!?! Even better, the location of our files in<br>π is metadata and as we all know<br>metadata is becoming more and more important in everything we do. Doesn't it feel<br>great to have generated so much metadata? Why waste time with old fashioned data<br>when you can just deal with metadata, and lots of it!

Yeah, but what happens if lose my file locations?

No problem, the locations are just metadata! Your files are still there, sitting<br>in π - they're never going away, are they?

Why is this thing so slow? It took me five minutes to store a 400 line text file!

Well, this is just an initial prototype, and don't worry, there's always Moore's...

file data files metadata install search

Related Articles