May 282011

Web browsers have had bookmark bars for years, but I never used them until I switched to Google Chrome. I’ve always felt that the amount of screen real estate they consume is too great compared to the number of bookmarks that will fit (and I dislike having all my bookmarks in folders).

Screenshot of Google Chrome Bookmark Bar

What made me change my mind was icon-only bookmarks. When adding a new bookmark in Chrome, delete the Name field – leaving it empty. Chrome will insert the bookmark using the favicon provided by the website. As long as these icons are distinct, you end up with a compact bookmark bar.

Apr 252011

I recently purchased an HP Pavilion dm1z laptop after reading how many people were thrilled with the small laptop. It’s been described as a netbook-killer, and I tend to agree with that sentiment. The dm1z is light, power-efficient, quick and runs Linux well. However, there were a few tweaks I needed to put in place to get 32-bit Ubuntu 10.10 running perfectly.

This post was last updated 2011-09-07

Continue reading »

Apr 232011

I’ve been curious about QR codes for quite a while. They certainly seem like an interesting method for distributing data, but are also simple enough for people to do creative things with them. You’ll see them popping up more and more – on ads, in videos, random t-shirts, etc. I fear I’ve spent too much time brainstorming unique QR codes…

I don’t know that animated QR codes will ever be particularly practical, but it seemed like an interesting experiment. One of the simplest examples is a simple QR code clock which updates once a second.

Continue reading »

Mar 272011

Google, Eyebeam and Fast Company are hosting a data visualization challenge:

Every year, Americans fill out income tax forms and make a payment to the IRS. It’s an important civic duty, but it is also a lot of money. Where does it all go? Using data provided by, we challenge you to create a data visualization that will make it easier for U.S. citizens to understand how the government spends our tax money.

When I learned about the visualization challenge, I’ll admit I didn’t actually know many hard facts about government spending. I knew the military and national defense were huge expenditures, but wouldn’t have been able to accurately place them in relation to other large expenses, such as social security.

I decided my level of knowledge would likely be similar to that of potential visitors, so I used that as a strength. Building a tool which helps me better understand the budget should be equally useful to others.

Continue reading »

Jan 302011

Six weeks ago, in an attempt to improve my productivity, I pledged to build a simple game. Regrettably, the deadline has passed and I have nothing to show for it. The reason is not technical but simply a failure of time management. I have two perfectly acceptable designs and I did pick up a bit of Python, but I never sat down to start development.

There are a few reasons for the failure – some avoidable and some unexpected. For several days after I resolved to build a new game, I read through the Python manual and picked over the available tool sets. Then I was distracted by some other projects and the holidays. Two weeks ago, I came down with a particularly nasty illness and was out of commission.

Continue reading »

Jan 222011

I’ve been enjoying Pandora Radio for several years. It has been a great way to discover new artists and even new genres of music. I doubt I’d ever have learned of the existence of Dubsteb without Pandora – see my Music, Movie and Book Recommendations page to hear samples of my latest discoveries.

However, the web client was built on Adobe Flash, which makes it a bit of a CPU hog. I’ve long known that playing Pandora used up a lot more CPU time than playing other music (roughly 50% of the CPU for Pandora vs ~1% of the CPU for an MP3 or OGG). Thankfully, I have found a way to reduce the CPU load considerably.

Continue reading »

Jan 142011
Screenshot of Tomato wifi router firmware - realtime bandwidth plot

For the last few years, I’ve been using DD-WRT on my home wifi router (a Linksys/Cisco WRT54GL). I found DD-WRT to be perfectly fine, and certainly an improvement over the built-in firmware. It was easy to set up and customize the wireless network for our house. Unfortunately, that was about all the use I got out of it.

Besides the easy set up, there wasn’t much that impressed me about DD-WRT. I found the interface to be a bit clunky – I always had to click through many tabs to find the settings I needed. Additionally, the bandwidth/usage statistics it provided were minimal. I would never check it unless the wifi had stopped working.

Eventually, several people starting using wifi and I needed to set up QOS (quality of service). I wanted to ensure video streaming and large downloads didn’t impede remote login sessions, remote router administration, etc. This is where I became particularly unhappy with DD-WRT.

Continue reading »

Jan 062011

Today, I was contacted by several clients at a well-known university. A series of A/C and sprinkler issues apparently caused the complete loss of all equipment in their datacenter. I’m sure it was quite a surprise, quite a headache and potentially a huge disaster for their research. What would happen if the computer/server you rely on most was completely destroyed right now?

Don’t take anything for granted – you’ll never have complete control over your data and your systems. Maybe you can stand to lose some things, but if there’s anything you can’t lose make sure it’s backed up. And make sure the backup actually works. And keep at least one copy in a physically separate location.

Jan 042011

I have been using AN Hosting since November 2010 to host this Drupal site. Finding a responsible shared hosting provider was certainly not an easy task. There are a staggering number of hosts available, along with a huge number of rather questionable “review” websites. I was forced to come up with a list of hosting providers that seemed decent and then individually research them one-by-one. I’m hoping that my experience and real-world performance/uptime report will be useful to others.

This post was last updated 2011-11-20

Continue reading »

Jan 022011
Screenshot of Meld comparing two Apache configuration files

Both coders and system administrators encounter many cases where text files need to be compared. Every *nix system for the last few decades has included some type of plain-text diff tool, but this is often not enough. The human brain just doesn’t have the capability/capacity to merge the differences between two files.

My grandfather taught me a very important lesson about manual labor: you let the tool do the work. The same lesson can be applied to other fields. Our brains are trained to quickly pick up on visual cues. I work much more efficiently with a utility that displays differences visually.

Continue reading »