Tuesday, June 30, 2009

Middle-Click to Open Firefox Links in a New Foreground Tab

A variation of a useful shortcut. Just include the Shift key when you want to open a tab in the foreground rather than in the background. It also works if you Control-click.
It is common knowledge that middle-clicking on a link opens it in a new background tab, but pressing shift while middle-clicking opens it in a new foreground tab. This especially comes in handy when you've got dozens of tabs open and don't want to shuffle through all your tabs to find the one you just opened.

Tuesday, June 23, 2009

Forty-Three of The Best Free Windows Enhancements That You Should Know About

This post on Freewaregenius lists a number of useful Windows utilities that will make your Windows desktop even better. Check the rest of their site for other useful freeware programs.

When I first thought of this post, I more or less knew what programs I wanted to list here. The common theme that brought these together was that they were all really cool Windows “enhancements”: i.e. apps that tweak or change the way we work with files, folders, applications, or the system environment itself (or, apps that brings functionality to the Windows environment that could or should have been a built-in option in Windows ;)).

Friday, June 19, 2009

Robert J. Sawyer's talk at Google's Waterloo office

Robert J. Sawyer, a Canadian science fiction author, gave a fascinating talk at Google's Waterloo office. He discusses how the world wide web might gain consciousness, the subject of his latest trilogy. The talk touches on several topics related to theories of consciousness, and is worth watching.

I would also recommend picking up his latest novel, Wake, the first book in the WWW (Wake, Watch, Wonder) trilogy. The trilogy is off to a great start, and I will definitely be picking up the other books when they come out.

Friday, June 12, 2009

Three Questions About Each Bug You Find

A useful technique to follow while debugging your software.

The key idea behind these questions is that every bug is a symptom of an underlying process. You have to treat the symptoms, but if all you do is treat symptoms, you'll continue to see more symptoms forever. You need to find out what process produced the bug and change the process. The underlying process that caused your bug is probably non-random and can be controlled, once you identify what happened and what caused it to happen.

Tuesday, June 9, 2009

How to Write an Equality Method in Java

Essential article on how to avoid common pitfalls and preserve the contract of equals() when writing an equality method in Java.
Class java.lang.Object defines an equals method, which subclasses may override. Unfortunately, it turns out that writing a correct equality method is surprisingly difficult in object-oriented languages. In fact, after studying a large body of Java code, the authors of a 2007 paper concluded that almost all implementations of equals methods are faulty.

Friday, June 5, 2009

The Model MHDD - Manual Hard Drive Destroyer

When you need to make sure your data is truly destroyed, use one of these.

Government specifications require that in an emergency situation a hard drive needs to be destroyed so that a person or persons can not spin the drive. This must be done quickly and reliably. The MHDD meets this requirement. It takes less than 15 seconds to destroy each hard drive. All one needs to do is to insert the proper drive height adaptor (if applicable) into the slot and crank the handle 8 rotations. The internal workings of the unit press down on the drive, bending it approximately 90 degrees. The MHDD then pushes the destroyed hard drive out for easy disposal.