Showing posts with label projects. Show all posts
Showing posts with label projects. Show all posts

Tuesday, November 3

Linux Deleted My Work!!

Ok, so the title is a shameless attention grabber. Linux is not alive, even though there are some who believe Linus Torvalds is trying to create AI life. We probably many reasons we speak anthropomorphically about our computers, but a main one is to cover the fact that WE screwed something up. Either by failure to recognize a problem, failure to understand, or simple brain failure, it is nearly always human error when something goes wrong on a computer... at least if you are running a real operating system. If you are running Windows then it's 100% possible that it's the computer's fault. ;)

The real title of this post should be something more like "Why you need a backup system" or, "How I idiotically failed to back up my files before wiping my hard drive while installing the new version of Ubuntu"... but had I done so you probably wouldn't be reading this right now. The fact is, I know better. I've been an IT professional for nearly 10 years now. I crossed the line from casual user to computer nerd before I hit puberty. These are not mistakes people like me are supposed to make. However, sure enough, last night I was confused by the fact that I couldn't find some work I was looking for when I had one of those moments of complete clarity. I was watching TV, carrying on a conversation about Windows 7, and selecting files to back up off my hard drive before my eagerly anticipated upgrade to Ubuntu 9.10. I remember specifically looking at a directory(poorly named "sandbox" ... first mistake) while thinking to myself, "I don't need that." I was wrong.

The problem was not the operating system, it wasn't a problem with backup software or anything else. It was a problem between keyboard and chair ... an ID-10-T error ... I was my own UserException. The truly unfortunate coincidence is, I have been putting off building a backup system because I said to myself, "It's not that important."

It is important. I was able to recover my mistake in about 3 hours, but there are some things we store on our computers that can never be recovered. Sound overly dramatic? Consider what would happen if your house burned to the ground. What would you lose? Financial statements, bank records, even credit card receipts are all recoverable somewhere. What about the pictures of your kids... your grandkids... your honeymoon or wedding? Those are moments in time that you can never recreate, and if they are gone, they are just gone. Hard copies are not necessarily a fool-proof backup. Physical media has the same problem. Even in a fire safe, it is unlikely a CD or DVD will survive the type of heat you would have in a fire that burns your house to the ground.

As more and more of our lives go on our computers, appropriate measures should be taken to ensure the safety of our data... and the more important your data is to you, the more you should consider backups as one of the most important things you can add to your home computing environment.

This blog is mainly about problems in technology and how to handle them. Over the next few weeks I plan to write about the steps I am taking to preserve my data. I am planning to write on the following topics:

1. Disk is cheap - Backup methods and retention period
2. Some things change, some things stay the same - Selection of backup method based upon media type
3. Fire, EMP, Gamma ray burst, Rapture - Protecting backups
4. The way it should be done - My system

In case you couldn't tell, most of the titles are slightly tongue-in-cheek, I am not arrogant enough to believe that I have all the answers to this problem. My point is, do something and get moving. You never know when something bad is going to happen and you'll wish you had given this a higher priority.

Saturday, August 16

Getting into Grails

For months now I've been wanting to do a simple project to develop a more in-depth knowledge of Grails, but have never been able to make the time to do it. Now I'm starting on a small time-keeping application that will help me analyze and(hopefully) identify areas of waste.

Everyone has their own ideas/preferences about time keeping. Some like to set up all their tasks before hand and apply time in a very structured, hierarchical manner. Some like to keep a simple log of what they have been working on and the time. Then consider all the thousands of permutations in-between and it's easy to see why a time-keeping application that suits everyone is nearly impossible.

I have two guiding prinicples for timekeeping, it should be unintrusive and as accurate as possible. Accuracy is great, but do you really need to know down to the minute? I would rather be able to log things as I go and organize them at another time.

I also like timekeeping systems that ask what you have been doing, not what you are about to do. That's just a matter of simple experience in the reality that one may think they know the next task, but other people have different ideas. Between ringing phones and requests for help/code reviews/etc, the culture I work in doesn't typically allow someone to work on one thing for a block of time with no distractions.

So I saw this as a perfect opportunity for me to develop a timekeeping system that works like I do. In all honesty, the credit for the idea goes to the gtimelog project as it was my introduction to keeping time in this manner. Why not contribute to gtimelog? Well, the goal of my project was to learn Grails, not contribute to an open source project. So while that may be a future consideration, right now it's my own little playground.

More to come soon.