April 7, 2010
I defended my dissertation on March 26. So, I guess that means I’m Dr. Nathan now. I’m not sure what normal people do the week after their defense, but I’m doing sprint after sprint on personal projects. I start work in the middle of July and I hear that this company is known as a black hole. There’s just too many cool things internally to learn so I probably won’t have much time for personal projects for a good while. Thus, the first of my projects that’s ready for the world: Funion.
Consider the case where you have the following two directories, A and B.
But, A and B represent two instances of some common hierarchical scheme. So, unioning A and B, we get:
If you have cabal, you can just do:
cabal install funion
Funion requires: *nix, FUSE, and GHC (preferably the Haskell Platform).
If you have Ubuntu, install the Haskell Platform. Then, to install FUSE:
sudo apt-get install libfuse-dev
Now, you can just
cabal install funion.
Create a mountpoint. Then use funion to union several dirs into that mountpoint:
mkdir mountpoint funion mountpoint /A /B
/B are teh directories to union.
Currently Funion is readonly. The next version will allow file editing, and possibly file creation. If a file is created it will have a specific file system to be placed in. Or perhaps, there could be a round-robin file-writing scheme.
There is no logging as of now. The next version will have a logging mode.
FunionD: A daemon which will allow you to mount your funioned directories upon boot.