Thursday, September 11, 2008

Buggy Quotes

I've been collecting quotes about programming from all over the internet. Here are a few of my favorites about software bugs.

There has never been an unexpectedly short debugging period in the history of computers.
--Steven Levy

Any sufficiently advanced bug is indistinguishable from a feature.
--Rich Kulawiec

If debugging is the process of removing software bugs, then programming must be the process of putting them in.
--Edsger Dijkstra

As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
--Wilkes, Maurice

Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
--Brian Kernighan

Beware of bugs in the above code; I have only proved it correct, not tried it.
--Donald Knuth

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at and repair.
--Douglas Adams

In a software project team of 10, there are probably 3 people who produce enough defects to make them net negative producers.
--Gordon Schulmeyer


These quotes just underscore the fact that programming is error prone and debugging software is hard. Since this is the case, it always amazes me that more people aren't using unit testing as a part of their daily development cycle.

I'm not saying that every developer should religiously follow every tenet laid out in Kent Beck's Test Driven Development, just that a good set of unit tests is a nice safety net to have. It can give you the confidence you need to change your code, knowing that you can always run the tests to make sure you didn't break anything. If you're not making unit tests a part of your daily routine, then why not?

Saturday, September 6, 2008

Turn off balloon tips

I love using Outlook's built-in Tasks list to keep my daily tasks organized. By organizing all of my tasks by categories that I define, it really helps me to keep up to date on what I need to do on various projects. Unfortunately, having my "To Do" list integrated into my email application is far from ideal. I like to leave my task list minimized so I can refer to it with one mouse click, which means I also have my email client running all the time. This is less than ideal from a productivity standpoint because it means having Outlook notify me every time I get an email that I'd prefer to ignore.

Fortunately, there's a way to have my cake and eat it too. Using Tweak UI or a quick registry edit I can turn off those annoying balloon tips that Windows uses to so effectively destroy my concentration.

Tweak UI

TweakUI is a Windows PowerToy that gives you access to system settings that are not exposed in the Windows XP default user interface. Essentially, it is a GUI front end that allows you to safely edit your system's registry without resorting to regedit. You can download TweakUI from Microsoft's PowerToys site. Once installed, you can disable balloon tips by going to the TweakUI "Taskbar and Start menu" tab, then unchecking the "Enable ballon tips" box.



After you press "Apply", TweakUI will save this preference in your registry, disabling balloon tips across all Windows applications.

Edit the registry

If you're the kind of Windows power user who likes to see what's going on "under the hood", you might be more comfortable editing your own registry, rather than relying on a tool like TweakUI to do it for you.

1. Run regedit (Start -> Run, then type in "regedit").
2. Navigate to the HKEY_CURRENT_USER | Software | Microsoft | Windows | CurrentVersion | Explorer | Advanced registry node.
3. Create (on the Edit menu, select New -> DWORD Value) or edit the DWORD value named EnableBalloonTips, setting it to a value of 0.
4. Log off and log back in again for the new setting to take effect.

Congratulations! Now you can run Outlook all the time without being constantly interrupted by alerts generated by incoming emails.