// Internet Duct Tape

People Are Computers Too – How Improving Applications Can Improve Your Life

Lifehacks and Productivity

This week I’ve been talking about code profiling and how if you want to analyze the performance of your application you need to work with large sets of data. Application efficiency isn’t free, it requires measurement, analysis and change. Unsurprisingly, performance analysis for a software application and performance analysis for aspects of your life have a lot in common.

Memory Management

When people ask me how to make their computers faster, my answer is always “more RAM”. The biggest reason why software applications run slowly is because they don’t have enough memory to operate efficiently. People work the same way. You can improve your memory by getting enough sleep at night and by mind-dumping.

Mind-dumping means write things down instead of trying to keep it in your head. Human memory works like computer RAM where it needs constant refreshes of remembering something to keep it from becoming forgotten. By writing down lists of what you have to do in the future you free up your mind and your attention to focus on the present.

Multitasking

Another reason why computer programs run slowly is because there are too many other things going on at the same time. When I’m trying to figure out why a Windows is so slow the first thing I do is look at the task manager or system tray to see what is running at the same time. Context switching between multiple programs adds additional overhead of saving and restoring state information, and if too many things are happening at the same time then nothing gets done.

Like how a computer program will run faster if it’s the only program running, you’ll be able to complete tasks faster if you are focused on only one at a time. Maintaining a list of what you want to accomplish means that when you’re done one task you’ll easily be able to check your list to find something else to work on. Having a list of everything you want to do also makes it easier to prioritize and focus on what’s most important to you.

Profiling and Measurement

It’s easy to read advice on what to improve, but unless you look at your own life and where your time goes you don’t have a clear idea of how your time is wasted. There are several ways to track how your time is used. David Seah’s Printable CEO has print templates that let you easily measure where you are spending your time. I like to use GTDWannabe’s version.

There are a few tools out there that will automatically monitor your computer usage and generate reports about how you spend your time on the computer: TimeSnapper and RescueTime. I’ve been a RescueTime beta tester for a month now and I have to say that I really like the service.

Rescue Time time management screenshot

You can see from my chart that I wasted about 2.5 hrs on personal tasks at work that week. There may be a correlation between working too much overtime and goofing off. Because I know where I’ve spent my time, I know what I can stop doing to free up more time.

Heavy Load

“If you want something done, give it to a busy person.” Nothing makes you more aware of how you are spending your time like when you have no free time at all. Testing your application in a worst case scenario where it has to deal with large sets of data will help you find performance problems. It works the same way with other aspects of your life.

Coming back from a vacation where you haven’t checked mail, email or RSS feeds for two weeks will help you identify the chaff. It’s a great opportunity to unsubscribe from newsletters and set up filters for the major time offenders. You can turn off email notifications when you get messages from Facebook. That relative who always emails you jokes can get their own special folder that you’ll never check. When you have to deal with handling a lot of data it forces you to get rid of the unimportant information.

Do Less

As you measure how your software application performs, you’ll find features that seemed like a good idea but drastically consume resources.  Quite often it is easier to cut those features out rather than spend time improving them. As you measure where you spend time in your life, you’ll find that at their are time consuming activities that seemed like a good idea at the time, but don’t contribute to any of your goals. Don’t spend time on activities with no benefit.

Idle Time

Efficiency for efficiencies’ sake is one of the worst trends of the 20th century. But efficiency in the tasks you have to do frees up time for the tasks you want to do. Every thing you spend time on has an opportunity cost for other things you could be doing with that time. Having idle time in your life frees up room for the unplanned and unexpected.

Overtime Considered Harmful

Posted in Getting to Done, Technology, Workhacks and High Tech Life by engtech on October 29, 2007

(or I’m Too Lazy to Think of a Better Title)

Time Management

In the past month I’ve worked over 100 hours of overtime to ensure that a project deadline was met when unforeseen issues put the entire project at risk. When you’re a high tech worker then this can happen often enough that it feels like a way of life. What I find strange is that I’ve caught myself bragging about the hours I’ve spent tied to my job. In what sick world should living off of food from Styrofoam containers and an intravenous espresso drip be considered an admirable accomplishment?

If anything it’s a sign of monumental failure in project scheduling, design, delegation or personal time management. Spending two thirds of my waking hours at work isn’t a sign of dedication, it’s a sign of screwed up priorities where I’m willing to push everything else in my life to the side to satisfy the SNAFU I find myself in. The sensible decision would be to get my resume in order and find a way out of this mess.

But like bad movies and bad relationships there’s a sickening desire to stick it out until the end. The sunk cost of time invested seems more valuable than the future cost of staying in this downward spiral. Despite having a university education with a strong background in numbers I can’t do the math and see that the grindstone of a doomed project damages my health and completely destroys my ability to respond to new opportunities. If I’m going to spend a significant portion of my life on work, shouldn’t it be something where that time has a chance at being rewarded?

If the project success depends on a Hail Mary pass to the end zone then chances are slim that things will turn out well for the project in the end. There is no room for heroes on large multi-team projects. For large projects success comes from putting in consistent effort over time and crossing your T’s and dotting your I’s. One last hard push to get it out the door isn’t a valid project management strategy. There is no doctor waiting in the sidelines with a chemical cocktail to induce labour.

I’m lucky that I don’t have children, because this isn’t a life blueprint I’d want to pass on to them. Success that comes from time stolen from the other aspects of your life isn’t success at all.

Interesting Links

Related Posts