Build the Business of Your Dreams

Welcome to the Cranking Widgets Blog. We exist to help you get more done by showing you ways to be more effective and let go of the stuff that doesn't make you awesome. Be sure to subscribe to our feed and follow us on Twitter here.

FileHamster: Version Control for the Rest of Us

FileHamster

Ahem. Cough. Cough. Testing. 1. 2. 3.

Well hello there gentle readers! My name is GTD Wannabe and I’m standing in today for Brett, who’s about to give birth. Well, my name’s not really GTD, and he’s not really going to be doing the heavy lifting ;) but you know what I mean.

I want to introduce you to a version control system today. Given that the Cranking Widget’s tag line is “GTD, Productivity and Life Hacks for the Rest of Us”, I shall make a bit of an assumption that you’re not all keen users of version control systems.

Why version control? Well, for those of you who don’t know me, I’m a grad student in computer science. I actually write all of my papers, theses, etc. in something called LaTeX. If you haven’t heard of it, don’t worry, it’s kind of like HTML but with a wicked ability to handle figures, tables, math equations, etc. My files are basically text files, which I can edit in any text editor. But it’s a little like programming; if you change the name of a file, then dependencies don’t work very well, which means you end up writing to the same file over and over again.

This restriction makes it hard to keep older revisions of my work. Let’s say I’m trying a new way of wording a section. I don’t want to lose the old way, but it’s a pain to rename copies of everything, making sure that the latest version has the right name, etc. etc. Similarly, I want to keep track of each specific version that I’ve submitted to my prof, hopefully with notes attached that explain what version it is, what changes I’ve made, etc.

Enter a version control system. Basically, this is just some application that runs in the background, taking copies of files as they change, or at specific intervals, or whenever you like.

For the longest time I was using a hard-core system called CS-RCS. This was something that was basically hidden all the time, but when I remembered, I could tell it to take a snapshot of a file. It worked very well for years, but I found that sometimes it was a bit buggy and disappeared on me. Plus, I often forgot to tell it to take snapshots. Wouldn’t it be great to have a system that just watches a file or directory and takes snapshots all the time?

Whoa. What an idea. At about the time I was losing heart with CS-RCS, I noticed a post on LifeHacker about a new program that made “real-time backups of your files as you work”. It was touted as designed “with artists in mind”. I thought, “Great – this will be really easy to use, and probably really nice looking too!”. So, I decided to check out FileHamster. The name alone makes me smile.

I’ve been using it for a couple of months now, and I think it’s good enough now that I can post about it. Since it’s new, you can expect a little bit of buginess. Oh, did I mention it was freeware?

What does FileHamster Do?

Basically, you tell FileHamster that you’re interested in keeping tabs on a particular file, or a particular directory. From then on, it watches that file/directory. If something changes, then FH takes a snapshot of it and hides it away.

Later on, when you’ve realized that you’ve just accidentally photoshopped your grandmother out of her birthday photos, and doh! you were working on the original, you can go back to FH. Assuming that the photo was something FH was watching, you can ask it to get back an older copy for you.

I have FH watching all of my writing directories, as well as the directory containing my text calendar and todo.txt files. Sometimes I screw things up at the command line, and man, is it nice to be able to undo those mistakes!

There are also options that you can play with, such as what kinds of files to ignore, how often you want FH to take a copy of a file (say there’s something that changes minute to minute and you don’t want all those changes), how many copies (or days worth) of versions to keep, etc.

Advantages

There are several things that I really like about FileHamster:

  • The look. It’s got a great clean look. Very easy on the eyes, not too much detail, but easy to find what you’re looking for. Plus, when a file is being copied, the little hamster in the task bar runs around in his wheel :)
  • It watches what you tell it to watch. Now I don’t have to remember to check in a particular file; as long as I’m in a directory that FH is watching, my file will be taken care of.
  • When a file is modified and a snapshot taken by FH, there’s an (optional) popup window. One of the choices there is to add a comment to a file, so you can quickly make notes about the various versions that you’re working on.
  • The FileHamster people also offer a series of plugins, which can add even more support. For example, if you were to install a text difference application on your computer, the Diff Plugin will allow you to select two text files, and have that application show you exactly what lines have changed. Kind of like using filecompare from the command line, but oh so much prettier. There’s also a new plugin out now (for a small fee) that offers a lot of calendar-based functionality, such as seeing what files have changed in a particular period of time.
  • It doesn’t matter what kind of file you want to keep track of versions of. Some version systems are purely text based; if they can’t read the file in text, they can’t keep track of it. Because FileHamster just makes copies of files, it can keep track of absolutely anything for you.

Downsides

I don’t really have many dislikes about this program. I’d have to say that my only concern is that it’s still not 100% stable. I notice that if I leave my computer on too long – a couple of days – FH seems to stop responding. That means that backups aren’t being kept. It’s a lot more stable than when I first started using it, so I expect that its performance will just continue to improve. The easy solution is just to restart it once a day.

Another potential downside is that it is theoretically conceivable that you could run out of space. FH is a nice, simple, easy to use, version control system, but it accomplishes this basically by just making a copy of everything, every time something changes. There are no fancy differencing algorithms, so when you change that photo of Grandma, you end up getting two, three, four, etc. copies of the same photo. Do this to enough photos, or other large file formats, and you could have a blowout. But, again, that’s easy to control. Just tweak the options that tell you how many version to keep, and voila, only five shots of Grandma, instead of 50!

Screenshots

Here are a couple of screenshots of my FileHamster in action. The first just shows you what the application looks like. It contains a list of the directories and files that FH is watching from me. I’ve expanded an essay.txt file. As you can see, there are three versions of it collected. I’ve attached a comment to the last one, saying it was the final version.

FileHamster main window

The only daunting thing about FileHamster is the options dialog. It’s a tad busy. This screenshot shows you how I’ve got the options set. Basically, I’m not worried about how many copies I keep by default. I also don’t care how long I keep them. (I can change any of these options for a particular file or directory, but these are my default options.) I do want to see a popup bubble when I make a change. I don’t want to see an automatic dialog box to insert a comment – I’ll do this myself, since I only comment on a few files. I don’t care if this file changes all the time, I want copies kept. That’s the document options. As for the event options, I just ignore those.

FileHamster options window

Conclusion

I think this is a great version control system for non-geeks. This is something I could teach my mother to use. It works right out of the box, and you don’t need to do anything fancy to either install it, configure it, or use it day-to-day. It offers a nice, elegant, albeit brute-force, way to keep track of things that you’re concerned about on your computer. There’s a great help document, plus the web-site is solid and the support forum is active. Finally, there’s even a wiki, which offers excellent explanations about what FH is really doing for you. I heartily recommend FileHamster to anyone out there.

GTD Wannabe is the alter ego of a computer science PhD student. You can read about her exploits in the areas of Getting Things Done, fighting the evil monster of procrastination, and tweaking the pants off of software, big and small, over at the GTD Wannabe blog.

Technorati Tags: , , , ,

If you enjoyed this post…

You'll love getting free and freeing updates when we post new articles.
Enter your email below:

Search the Site