How I Learned to Stop Worrying and Start Loving the Delete Key

by Krishna on February 16, 2007

Several years ago, in college, I stayed back during a spring break to develop a cricket score management program in C using the Unix Curses library for the user interface. At that time, I was a huge cricket addict and spent (“wasted”) amazing amounts of time collecting cricket trivia. This application was an effort to record the scores during a cricket series and report all sorts of statistics like batting averages, top scores, etc. [Doing such fun projects is IMO a more enjoyable and better way to learn coding than official assignments.]

If you are familiar with the Unix environment, you will recall that compiling a C program results in an “a.out” executable and that the extension of a file really does not matter. I was in the habit of deleting the executable whenever my OCD kicked in. As I got lazy, I started using the “rm” command with wildcards and then one fine day, I missed a letter before hitting the ENTER key. I wasn’t using a source control system at that time. It felt pretty brutal losing that much work.

An incident like that can make one very scared of deleting anything and become obsessed with backups. For a while, that is exactly what I did. I grew into a master of storing copies of work in multiple places – local system, source control, email, backup tapes, etc. The pendulum had swung to the other extreme. But as time passed, I learned to stop worrying so much and start adopting different tactics. Here are some things I do now:

  1. All work-related documents and code is in a version control system. We use Sourcegear Vault which, like most version control systems, offers different repositories and levels of access permissions. The version control system is itself backed up by the system administration team using enterprise backup software.
  2. We have developed an internal project management tool that helps keep track of tasks and bugs and allows us to customize their workflow. If I want to give a task to someone, I or that person records it in this tool. We can add notes and attachments and also collaborate on content using wiki pages. This system acts like a separate hard disk for my brain. I also don’t have to keep MS Project files around and I just need a browser to access this application.
  3. A lot of my personal stuff like email, contacts and calendar is online with various vendors like Yahoo! and Google. I keep a local copy – it is rather unlikely that the two sides will lose data at the same time. I use Intellisync to sync contact information between the online store and my desktop.
  4. Once a month, I write everything onto a DVD and keep that in a safe place. That is a worst-case scenario backup.
  5. Thanks to web search and easy Internet access, I no longer collect trivia and useless facts. Usually anything I want to know about is available online. Why waste time and money copying that knowledge again? The only stuff that I note down nowadays are important points from books that I read and saved in a private blog/website.
  6. For the same reason, once I process information available on the Web, I delete the document or hyperlink. If the information is interesting, I add the link to my bookmark collection or del.icio.us. If it is really interesting, I blog about it.
  7. I have been throwing out information I captured before. This is not an easy thing to do since I remember the effort I took to record it in the first place. So the information has to be available elsewhere or outdated for me to do this.

The balance feels good. I know that my data is secure. At the same time, I don’t have to worry about multiple copies lying all over the place and worrying which is the most recent one.

Comments on this entry are closed.

Previous post:

Next post: