Thursday, January 7, 2010

Tips for Making the Post Linux Reinstalls Process Painless

I am in the middle of reinstalling my operating system, and I thought it would be a good idea to share some of the tricks I use to make the post install process hassle-free. These tips fall into three categories: backup/recovery, software installation, and restoring configurations (bookmarks, passwords and such).

  1. Use Subversion for your work.
    If what you are working on is in a format supported by Subversion(SVN) then use it. I am already assuming that you are using SVN for your code.


  2. Use Dropbox to backup everything that is not supported by SVN as well as your personal repository.
    Dropbox is simply put a great idea. If you have not already heard about Dropbox it does two things. First, it synchronizes folders between multiple machines over your network or the interwebs in a manner similar to rsync. Second, Dropbox maintains an online backup of that folder on Amazon's S3 servers. To top it off your first 2GB are free which, needless to say, is pretty slick. Now, in terms of security the data being transferred is encrypted, but I believe the data is stored in the clear on Amazon's servers. My advice here is to treat like you would email.
    So, the idea here is simple everything you can keep under version control, you do, everything else you place in your Dropbox folder, and on the server hosting SVN place the repository in Dropbox.


  3. Every time you install something record the commands.
    The idea here is that you not only keep track of what you are installing, but you are also incrementally creating a post operating system install script that you can run to install the bulk of your non-standard applications. Any third party application that needs to be downloaded should have a corresponding wget command to grab the file automatically.


  4. Reduce the number of installable applications that you use with web-based ones.
    Google is leading the way with the software-as-a-service idea, and it is not a bad one. Whenever you stumble upon a web application that can substitute for an installed one, take the time to evaluate it. If it is good enough for your purposes, and your data is easily exportable in a non-proprietary format, then jump on it. For example, Google Docs and Calendar, Evernote, Don't Forget the Milk, CiteUlike for storing references instead of jabref. The opportunities are endless here, and sometimes these applications integrate nicely into other services like RSS.


  5. Maintain a Copy of your bookmarks on a social bookmarking site.
    Rather than systematically backing up your bookmarks begin using a social bookmarking site like Delicious to maintain your bookmarks. It makes not only recovery but keeping your bookmarks consistent across machines trivial, and if you are opposed to sharing your web interests you can opt to keeping your bookmarks private.


  6. Maybe Push towards centralizing your web accounts with OpenID.
    Many people like the convenience of password managers, but unless you use the same password for all of your accounts (awful idea), but after an unexpected reformat of your system you run the risk of loosing access to those accounts until you recover and change all of those passwords.

    Rather than maintaining a set of user names and passwords for all of your online accounts you can maintain one account on a providers' site (Google, Blogger, Yahoo, etc.) and authentic the other sites(Facebook, Delicious... ) against that one account. Now, I am not telling you to jump on this one right away, but keep an eye on this.

These are just a few tips, and if you have any ideas, suggestions, alternatives or corrections by all means comment away.

Sunday, January 3, 2010

Why did I create this blog and what will I write about?

Simply stated, the purpose of my blog is to keep those who are interested up to date on my research. Additionally, I will throw in some interesting finds that I happen upon.

So, what type of posts should be expected from my blog?

  1. Preliminary Ideas - Like everyone else I come across a reasonable amount of head-tilting problems on a day to day. Actually, the problems are not necessarily all that interesting instead it is how they can be mapped onto a system in a non-conventional way and solved that makes them interesting. If a quick Google of the idea turns up nothing then I will discuss the idea and its mapping.
  2. Current Research - The bread-and-butter of my blog will be updates on my research, its status and direction. The goal here is to find a nice mix between "this week in review" type posts and daily updates. Most likely these posts will cluster around meeting days.
  3. How-To and non-research related technical stuff - I am Linux user, and like any Linux user I carry with me a bag of tricks to get things going. With that said, I will share those tricks if I know that it will save someone a substantial amount of time and hassle. Also, if I find a noteworthy technical goody then I might write about it.

This should give an outline of what is to come from The Richard Veras Idea Blog.