Friday, November 30, 2007

Marketing Gone Too Far?

Really, nothing? There's no other apartment on the planet like this one? What, does it have no floor or something?

Is a marketing pitch like this useful?


Thursday, November 29, 2007

Maiden Voyage: Garmin Nuvi 360

We took Shira's new GPS, a nüvi 360, out for a spin tonight. Our previous iQue M5 GPS died on us suddenly, so we needed a quick replacement. Amazon had what appears to be a fantastic price on the nüvi, so we jumped on it.

In the 10 minutes I've used it, I'm thoroughly impressed. The device is tiny, quite responsive and was very easy to setup (no more loading gigs of maps!). The GPS features seem all there, including the 3D map view.

The nüvi also comes with a variety of other features, like an mp3 player and Bluetooth support. Not sure how much use we'll get from them, but they might be handy. Especially the Bluetooth, which should allow for a nice hands free setup while traveling.

The nüvi is billed as a personal travel companion and so far, I think Garmin nailed it.


MySQL Optimization: A Bit Of Kvetching

Call me crazy, but suppose I have the following

  explain SELECT <stuff> FROM <stuff> where name = 'foo';
  -- Explain says:
  | id | select_type | table |  rows | Extra |
  |  1 | SIMPLE      | at    |     1 |       | 
  |  1 | SIMPLE      | us    |     1 |       | 
  |  1 | SIMPLE      | ps    |     1 |       | 
  3 rows in set (0.04 sec)


  explain SELECT <stuff> FROM <stuff> where id  = 'foo';
  -- explain says the same thing as above, but for ID

And those queries above UNION'ed scan, say, 20 rows 1 row:

  | id | select_type  | table     | rows | Extra       |
  |  1 | PRIMARY      | at        |    1 |             |
  |  1 | PRIMARY      | us        |    1 |             |
  |  1 | PRIMARY      | ps        |    1 |             |
  |  2 | UNION        | at        |    1 | Using where |
  |  2 | UNION        | us        |    1 |             |
  |  2 | UNION        | ps        |    1 |             |
  | NULL | UNION RESULT |  union1,| NULL |             |
  7 rows in set (0.05 sec)
why should:

  explain SELECT <stuff> FROM <stuff> 
     where id  = 'foo' OR name = 'foo'
  -- Explain says:
  | id | select_type | table  | rows  | Extra       |
  |  1 | SIMPLE      | at     | 55951 | Using where | 
  |  1 | SIMPLE      | us     |     1 |             | 
  |  1 | SIMPLE      | ps     |     1 |             | 
  3 rows in set (1.77 sec)

scan 55,000 rows?! Your telling me that the MySQL query optimizer can't find a better strategy than a table scan?! Googling around I can't find any work around other than manually optimizing the queries.

A few lessons learned from this:

Always test your queries, and never write them off as *needing* to be slow. Yeah, you've got 55,000 rows of data - big deal, you should need to only scan 20 rows to find what you want.

All database engines are not the same. Now, I'm going out on a limb here because I haven't tested this case in PostgreSQL, but I'm fairly certain it would optimize this query properly. The reality is that MySQL and Postgres (and Sybase, and Oracle, etc.) have different levels of sophistication. Heck, the versions of MySQL I often encounter doesn't even have transactions turned on (or, more likely, I don't know how to turn them on). If you're writing a database centric app (and who isn't these days?) shouldn't you be using the most powerful one available, not just the most popular one?

Maybe I'm not being fair to MySQL here - I think many of the installs I deal with are probably an older version. But still, I'm amazed at how many people I meet who think that any old version of MySQL is just as powerful as everything else out there. Not so.

Take nothing for granted and index like hell.


Update: Per Dave's suggestion, I've put in actual (though scrubbed, and truncated) results of the explain query. See, I'm not making this up.

Geekfest, Here I Come

I feel so cool, as I head into DC for my first Web 2.0 meetup. It's 5:30pm, so trains are packed with people who have real jobs - unlike those of us who can chill in our PJs all day (for the record I actually got dressed today, as I met with a potential client). What a sight this is, makes me feel like a real urbanite.

Tonight's meetup is a chance to talk Web 2.0 with other interested folks. The key aspect being the "talking" part - not bloging, chatting, wiki'ing, or any other virtual activity. We're talking old school wetware here.

Wish me luck as I go hang with DC's most tech savvy.


Wednesday, November 28, 2007

Frank Advice From Firefox

I have a new favorite error message from Firefox. I attempted to use an object attribute named class and was greeted with this wisdom:

Error: used an attribute named class in: span, [object Object]. This won't work in IE. Don't do it.

Simple, direct, accurate. I love it.

Now compare this to basically the same problem I ran into earlier today. I had:

  var foo = { for: 'baz' };

Of course, that's not Kosher because for is a reserved word. Firefox didn't mind. IE, on the hand gave me its stock message: (something like) String or Object expected, line 84. The best part is that: (a) it doesn't say line 84 of which file (or universe for that matter) and (b) the script debugger brings you to a totally different line (not 84, and not related to the problem).

Good, I know the problem is on line 84. Now I just need to build a bigger and better super computer to tell me which actual line of code line 84 belongs to.

Amazing. So not only does Firefox do a better job of debugging, but now, as the first message shows, it's doing a better job of debugging IE too!

Update: I just poked around the code that threw this error - turns out, I wrote that error message. So this advice isn't really so much from Firefox, as it is from Past Ben to Future Ben.

Radio Station To Try: Radio Country Club

If you don't usually listen to country music, you should give Radio Country Club a listen. It seems to be a nice blend of more rock 'in country (with a bit of bluegrass mixed in) versus the usual what-you-hear-on-the-radio country. Trust me, it's worth a try.

But the best part by far are the commercials - the stream is, apparently, being broadcast in France. So all the commercials and station announcements are in French. It's hilarious. One minute you're hearing some Southerner talk about drinking too much and the next minute you've got Pepe Le Pew going on about something or another. Priceless.

I love the internet.

Just click here to listen.

And here's the clever quote for the night from a song I heard earlier today:

I wear the pants in this house, but she picks them out for me

Tuesday, November 27, 2007

Google Maps Icons

Yesterday I was working on a Google Maps application and wanted to show a bunch of different types of markers on the map. Rather than creating my own icons, I did a bit of Googling around. Turns out, Google offers over 100 icons that aren't documented.

Check out this thread for a list of them.

Everything from the arts () to a webcam () is available.

Even if you aren't working with Google Maps, it's probably worth checking out this set of icons. Icons are ridiculously difficult to create - they need to be both small and instantly recognizable - so good examples are extremely helpful.

Update: Peter was kind enough to point me to this link which displays all those icons.

Monday, November 26, 2007

Internet Radio In A Pinch

I love Pandora Radio, but of late, it's been bringing my machine to its knees. I shut it down and was left with silence. I don't usually think of myself as a person who needs to code with music on, but apparently I am. I was getting desperate for a new music source.

The thing is, I didn't want to weigh down my current laptop with another streaming app. I almost considered dragging my clock radio over to my desk and just listening to FM. But please, I'm a geek for heaven's sake - we can't do anything that simple.

Instead, I took a few minutes and setup an ancient laptop which runs Damn Small Linux to be a streaming media device. Here's what I did:

  • Using the remarkably cool and light weight MyDSL I was able to easily download and install both aumix and xmms in just a minute.
  • From a shell prompt I could now run aumix to change the volume on my laptop
  • From a shell prompt I could run xmms to kick off the media player - though all it played was an annoying tone. I assume this was to show it was working.
  • I Googled around and learned that XMMS can play any MP3 stream that has a .pls extension.
  • A quick Google search found me this long list of Internet Radio stations. Most of them WMA, but there are a few that are MP3.
  • Using Firefox on my crappy laptop, I browsed to Polskie Radio Londyn and poof, Russian talk what sounded like Russian talk (but could have been anything, actually) Polish talk and dance music streamed forth from my little laptop. It was just what I needed.

What's your favorite MP3 radio station? Know of any big 'ol station lists I should be browsing through?

With all this Russian talk possibly Russian Polish talk, I'm inspired to say: Пусть Ваши поток будет unbuffered и код компилировать

Update: It's occurred to me that I have no idea if this station is in Russian. Apparently all foreign sounding languages map to Russian for me.

Update: I've discovered It lists hundreds (thousands?) of Internet radio stations, many (most? all?) are in MP3 format. They seem to work great with my hacked setup. Rock on!

Update: Thanks to John for setting me straight: Polskie Radio Londyn is a Polish station. Well, duh.

Tool of the day: World Clock Meeting Planner

I have trouble getting the times right for meetings between myself and those on the west coast. This means that I'm a complete disaster when it comes to figuring out the best time to meet with those in farther off lands, like London.

That's where the World Clock Meeting Planner comes in. I put in all the cities that need to be involved in the meeting, and it gives me a nice and clean view of the best times to meet (with green hilighting, no less, to make the process idiot proof).

I'm fortunate that i2x has some over seas customers, and thanks to the meeting planner, I can even find times to meet at sane hours. As a bonus, the site also offers an international dialing helper, so that when it comes time to actually call my client for a meeting, I can figure out the right way to dial the phone (I know, trivial details).

Sunday, November 25, 2007

Peanut Butter Advice

Here's a lesson I just learned...

If you ever accidentally put your peanut butter away in the fridge instead of the cupboard, and decide that you warm it up by sticking it in the microwave for 5 seconds, make sure that 100% of the foil safety seal is removed. I mean every last little bit.

Apparently, all you need is about 2 seconds and a 2mm of tinfoil to get your microwave to arc, split flame and give you an entire light show. Who new? Now I do.

13 Steps To Being A Classy Guy (or Gal)

Seriously, here's 13 steps to being classy:

Far as I can tell, it's good advice. I think every middle schooler in the country should have a required semester long course on how to implement these points. I certainly could have used this.


Classy Close-Up Setup

I needed to snap a few photos for an eBay auction Shira was running, and as always, didn't have the right equipment for a close-up setup.

So I hacked something together with my Gorillapod and a bottle of Martini & Rossi Champagne. It seemed to do the trick, even if it was a bit unorthodox.

What I need to do is hit HomeDepot and buy a bunch of PVC pipe, a few extra lights and some sort of backdrop to make a more official setup. But for now, hitting the bottle will do.


Saturday, November 24, 2007

Tool to try: Browsershots

My buddy John sent me documentation of weird CSS bug tonight by using a cool service: BrowserShots.

Drop in a URL,and get 9 screenshots of your site in 9 different browsers. Curious what a page looks like in Safari on Mac? Opera on Ubuntu? Now you can know.

I wouldn't want to test an entire site using this approach, but it's certainly a good idea to try out a few key pages. Definitely a handy utility site to have around.

Thanks John!

Friday, November 23, 2007

Thanksgiving Extravaganza

Wow, what a fantastic Thanksgiving event. Shira's cousins' hosted and totally outdid themselves with amazing company, food, drink and of course, dessert. Everything was incredibly tasty with way more vegetarian options than one should expect.

What an incredible treat to spend thanksgiving with friends and family. Just makes me appreciate I have so much to be thankful for.

Here are some photos from the evening...

The drive up to Baltimore couldn't have been more beautiful - and we had record breaking temperatures of 76 degrees. What an awesome way to start Thanksgiving.

The bird getting cooked - nothing says Thanksgiving like having to bust out the meat thermometer.

The gang about to dig in and eat. What follows was the joyous silence of folks tucking into delicious food. Can't talk...So much to eat.

It just wouldn't be Thanksgiving if someone didn't bust out the canned cranberry "sauce." Yes, you could see the ridges of the can on the cranberries - that's how you know it's good. (There were also home made cranberries, and about 14 other dishes too...).

Not only were the adults all musically inclined, but so were the children! Take a close look at the scene. Not only is the kid playing the piano, but he's following music that he composed by ear. I'm so humbled. When asked about my connection to music, I responded that I did indeed have an XM subscription. (Ooh, should have mentioned my country music channel).

How do we explain that next year, if we host, we'll be serving hot dogs and not turkey?

Google "Quality" Score Woes

Shira and I were setting up some AdWords campaigns for i2x and thought it would be wise to buy the phrase Ideas2Executables. When we attempted to do this, we were greeted with the dreaded:

... keyword(s) are currently inactive for search. These keywords are marked in the Status column of the Keywords tab below. Improve their quality through optimization, delete them, or raise the keywords' bids to the minimum bids indicated.

And check out the amount they want us to bid:

That's right, for $5.00 we can make the listings active. What measure, exactly, are they using to determine quality? The words we are bidding on are found in our URL, and plastered all over the place in our site. It's the name of our business for heaven's sake.

I just don't get this Google Quality Score. It always feels more like the Google Extortion Score. Actually, I'm willing to give Google the benefit of the doubt that the Quality Score is a good thing. I just would love more details about how it's calculated and what I can do to actually improve my quality.

Update: In the past, when we wanted to understand about Google's Quality score, we would usually end up at the following page, with generic help:

Turns out, what we needed to do was to find the following screen:

Google's telling us what we need to do - our landing page is fine (well, duh), but the ad text is not relevant. So, in theory, all we need to do is add Ideas2Executables to the text ad and Google should be happy. This screen could provide more info, but it's certainly a start.

Thursday, November 22, 2007

Happy Thanksgiving!

Happy t-day all!

Shira and I are planning a break from tradition this year. We aren't planning to hold up at home eating hot dogs, but will instead attend a turkey feast with family.

Should be an interesting change of pace.

We stocked up on Tofurkey and the like last night, so we are so ready to have simulated left overs like the rest of America.

The only tricky part: driving to Baltimore to make it to our final destination. How bad can the roads possibly be today?


Wednesday, November 21, 2007

Putting CSS To Work: Fun With HTML Lists

If you've never played around with styling HTML lists, you should take a few minutes and check out A List Apart's, Taming Lists article. It shows in clear steps how to go from a bland bulleted lists to various interesting layouts. Best of all, there's an emphasis on keeping the HTML nice and clean.

I'll never look at laying out a navbar in the same way again. Consider one example they provide, where by only ul, li tags and using CSS colors, they managed to put together the following navbar:

As I said, impressive stuff. Now, let's pretend that this article wasn't first published in 2002, and I'm not just mastering this in 2007. It'll be our little secret.

Help With .htaccess files

When it comes to configuring Apache, my idea of what's tricky to do is a little unusual. I tend to have no problems setting up complex rewrite rules, yet if you were to ask me to lock down a directory with a username and password, I'd be sent scrambling to Google. I can never remember the right sequence of directives to make Apace require authentication.

But there's hope - I've found the .htaccess password generator. You put in the users you want to have, their passwords and a detail or two about your web server setup and it spits out exactly the files you need.

Here's a glimpse of the UI:

It's a thing of beauty, and will save me from trying to make sense of the official Apache docs.

Tuesday, November 20, 2007

Away Message Of The Day

George wins the away message of the day with:

Buried. Ping only if you have a shovel

Nice. Now, do you think it would have annoyed him if I had messaged him to tell him I liked his away message?

The Evolution Of A Brand

In this case, the brand is none other than our own i2x. Our shipment of new business cards came in yesterday. Check out our new look compared to our older one:

The new cards have a few other minor improvements, such as ditching the e-mail address and the domain name (which was a great bootstrapping hack, IMHO).

My title has remained the same: Technical Guy.

I've got to drop one in the mail to my Mom, as that's what I've found business cards are most useful for: posting on her fridge.

Monday, November 19, 2007

Don't Fight The Back Button

Since, well, forever, people have been annoyed about how the back button and web apps work - or usually don't - together. This has caused no end of pain and suffering in web app creation, and reliable back button handling is one of the reasons I so prefer SISCweb to develop in. How many times have we had to open up an app in new window, just to hide the back button?

And then along comes Google, who does something unexpected - they actually make the back button part of the controls of Gmail.

Your web browser is now a great way to navigate Gmail. Instead of having to find the right links on the page to move from inbox to messages to other Gmail views, you can use the browser navigation buttons (back and forward) to jump back and forth between emails. You can also open your browser history and click on specific emails that you've read to go right back to them. This allows you to quickly access certain emails without having to re-read your inbox. Browser history is something that often doesn't work well on complex web apps like Gmail, but we've gone to great lengths to make it work right.

I love that last sentence.

The thing is, after years of knowing how much havoc the back button can cause to a stateful web app, I can't bring myself to use it. It just feels wrong.

Nice move Google, turning a classic weakness into a strength.

Learn more Gmail tips here.

Chuck For Huck

I laughed way too hard at the list of Chuck Norris Facts I published a while ago. Today, I had a new (and dare I say, scary?) reason to laugh. Chuck Norris has Endorsed Mike Huckabee,and best of all, they've made a commercial to prove it:

At least Mike Huckabee has a sense of humor...

Gardening as Civil Disobedience

I love how the web works. Here's a sequence of steps I took to find a random (to me, anyway) and interesting article A Homegrown Rebellion.

  1. Was checking out the home page of
  2. Noticed Fun with Google's Calculator and checked out the link
  3. Was browsing the comments and saw a reference to most classic of philosophical questions: Can Jesus microwave a burrito so hot that even he could not eat it?
  4. I was curious if that was a Simpsons reference, so I dropped temperature of a burrito that Jesus could not eat into Google
  5. A few hits down the page I noticed I suppose the name was intriguing enough to me that I clicked on it.
  6. A few articles down I caught an interesting article, which I decided to blog about

Whew, what a trip. Keep in mind this happened over a few days on Sidekick's tiny screen.

Regardless of how you get there, I think you'll find A Homegrown Rebellion an interesting article. It's highlighting a movement that's suggesting folks turn their lawns into gardens.

This so appeals to me because I'm such a pragmatist. At least if I was growing food in my front lawn all my pain and suffering to get something to grow might actually be useful (and tasty).

It's either grow a garden, or lay down cement. Though, there must be some option in between.

Sunday, November 18, 2007

Manually Mounting A Thumb Drive In Linux

I wanted to access the contents of my Sidekick from a laptop running Damn Small Linux. I plugged in the appropriate USB cable to both the phone and the computer, and waited. Nothing happened. I had been spoiled by Windows, as I was waiting for a beep or something signifying that the device was detected (Perhaps I was also waiting for a paper clip to come out and do a little dance to entertain me while I waited for said device to be detected).

Apparently, I was out of practice. While, Linux can no doubt auto recognize and mount a thumb drive, a stripped down Linux box wasn't going to do that. Instead, I was going to have to do things the old fashion way.

The first step: search Google. I found two handy articles,here and here that told me everything I needed to know.

First, I ran the command lsusb and was greeted with:

   # lsusb
   Bus 001 Device 001: ID 0000:0000  
   Bus 001 Device 003: ID 0da0:1001 Danger Research 

Considering the Sidekick is made by Danger, this was a very good sign.

I then mounted this drive by doing:

   mkdir /mnt/thumb
   mount /dev/sda /mnt/thumb/

The surprising thing - this just totally worked. I could see the thumb drive just like any other directory on disk.


I so crushed this latest batch of nuts with this handy, dandy new nut-cracker.

That'll teach my food to fight back.


Update: I got a Rated-G picture of the new nut cracker. Here's a question: the nut cracker comes with two meta probe thingies. What they heck are they used for? I feel like Stallone in Demolition Man, with the three seashells.

Saturday, November 17, 2007

Idea: Saturday Night Bot

Here's what I need: an AIM bot like the AOLYellowPages, but one that knows about local events. Specifically, one I can ask the question: it's 9:30pm on a Saturday night, what activity should I do?

It could report on any activity that would be going on in my local area. Because it's an AIM bot, I could have a conversation with it, and dig deeper into topics.

I could have a conversation like so:

 Me  >> Yo
 Bot >> Hey, here are some things you can do tonight: movies (1), 
              concerts (2), fun places to hang (3), more (4)

 Me  >> 3
 Bot >> You could: check out DC memorials at night (1), hit the just opened    
              Club Foo (2), Play a game of pool at Carpool (3), or something else (4)

 Me  >> 1
 Bot >> Check out the Einstein memorial. It's a hidden gem in the city. Cool?

Of course, I have no idea where I'd get the local data - but that's just a minor implementation detail. Heck, as long as I'm wishing for advice bots, I might as well wish for a MarriageAdviceBot. Of course, that one would be trivial to implement, regardless of what you typed into it, you'd get: Face it, you're wrong. Apologize and buy something at Jared for her today, you yutz..

Friday, November 16, 2007

Perfect Fall Day

On my drive to get Shira at the airport I couldn't help but notice it was the perfect fall day - a crisp 46 degress, bright sunshine, picture perfect clouds and an amazingly colorful display of foliage.

Guess there is something to the whole "who wants to live in a place that's always 82 degrees, you'd miss the changing of the seasons" philosophy.

Remind me I said that during winter.


OLPC Overview

Not often that I link to Al Jazeera TV, but this time I can't resist. Here's a video of Nicholas Negroponte talking about the One Laptop Per Child (OLPC) project. In it, Mr. Negroponte anwswers some of the classic tough questions - like, why the heck give kids laptops when they don't have food, shelter or electricity? (hint: it's not really about the laptop).

How can you not love a project that's both saving the world and has cool hardware involved?

OLPC Warning Signs and Suggestions

Yesterday, I checked OLPC News and realized a bit too late there was a local meetup in Washington, DC. D'oh, this would have been a chance to play with this remarkable laptop.

You'd think the latest news on the OLPC would be good, as you can actually buy one of them for the next 10 days. But alas, things aren't going so smoothly. As could probably be predicted, the ordering process was crushed by demand, the customer service is lacking and pretty much everyone but the OLPC has a better idea for distributing the laptops. Oh, and there's a serious competitor on the scene, too.

The last thing the OLPC group needs is yet another person chiming with his opinion, but well, whatever. Here's what I would do if I were in their shoes:

First, way over communicate. Without information, people will fill the void with their fears and concerns. If the shipment isn't going to arrive by Christmas, tell people. If you hired the wrong people to be telesales reps, admit that to. Just keep the information flowing. Don't forget,the laptop exists, and there's evidence that it can succeed. If you're having distribution woes, let's hear about it.

Next, get as many laptops as you can in the hands of geeks. The fact is, the OLPC laptop has features that you'd find on a $1500 Panasonic Toughbook. It has features, like its dual mode screen, which you can't find on any widely available laptop. There needs to be a loud and clear message being spread: this is a unique laptop that's well worth the wait. Sure, there may look like there are competitors out there, but don't be fooled - we've played with it, we have the evidence. Geeks can and would love to spread exactly the message (providing its true, of course).

Bottom line: let's see an OLPC blog from the inside, airing all the dirty laundry, and let's see 500 laptops delivered to folks who will do their homework on the machine, and then spread the word. Oh, and for gosh, take the 10,000 laptop unit order from Vietnam.

Update: Thinking about his some more, I think I should add: when I say geeks above, I don't just me gadget geeks (though, some of them too). I'm talking about anyone who's devoted to digging deeper into their field - math teacher geeks, library geeks, home schooling geeks, mobile geeks, etc. Again, I'm suggesting you get the device into the hands of a variety of folks who can evalute and potentially sing its praises.

Thursday, November 15, 2007

Random Thoughts Of The Day

A few random thoughts I had today...

  • When I joined Innovectra I needed to upgrade my wardrobe from .com startup t-shirts and shorts to professional starched shirts and dress pants. This morning I realized that I need to upgrade my wardrobe again, but this time to be optimized for the web based entrepreneur. This is all to say, I really need to buy some more sweat pants.
  • I knew When Harry Met Sally was an inspiring movie - but even I was surprised to see that it could inspire a country music song.
  • What kind of language offers a built in function to convert newlines to BR's? PHP, of course. That seems a bit excessive to me, but as I'm doing more and more PHP these days I'm finding that's the norm. In general, if you want to do something relatively common, PHP probably has a convenient way to do it. Compare file_get_contents(path) with the gobs of code you need to accomplish the same thing in Java.
  • Whoever claimed that PHP was more readable than say Scheme, needs to have their head examined. Now, tell me, which one is easier to parse?
    (if (unset? model)
        `(span ,make)
        `(a (@ (href ,(build-url make model)) (style ,link-style)) ,make))
    <?php if(empty($model)) { ?>
      <span><?php echo $make ?></span>
    <?php } else { ?>
      <a href='<?php echo build_url($make, $model); ?>' 
         style='<?php echo $link_style ?><?php echo $make ?></a>
    <?php } >
    And PHP is even harder to read after it's been picked over by a few different programmers. Seriously, it makes perl look easy to follow.
  • ShowMyPC was a godsend this this morning while working with a customer. It's hands down the best desktop sharing app I've seen. And the fact that it's free and doesn't require a login or registration just makes it all the more impressive.
  • Sometimes a song can teach history better than history books. I'm not sure the lyrics alone can do it justice. While listening to the song, I just had to Google the event mentioned to learn more.

Wednesday, November 14, 2007

Add-On Of The Day: Bookmark Keys

Today I discovered Bookmark Keys, and it was love at first key stroke. The plugin is pretty basic - it hardwires you bookmark toolbar to the keys Alt-1 ... Alt-9.

I'm using it to take frequently referenced/edited pages on my wiki, and make them a keystroke away.

Why this isn't built into Firefox is beyond me. But, I guess that's what add-ons are all about.

Speaking of bookmarks, Steve Rubel published a comprehensive list of bookmarklets. If you aren't using bookmarklets, you're really missing out. They are little chunks of functionality that gets treated as a bookmark. Let's say your looking at a page and would like to write a twitter post about. Rather than opening up twitter, you click the TwitThis bookmarklet, and you're work is done.

Ironically, my most frequently used, and oldest bookmarklet isn't mentioned. It's TinyUrl. You click their bookmarklet, and the page your looking at is turned into a tiny url.

His list is still a most excellent place to start to become a bookmarklet master.

10 Minutes To A More Secure Server

The great thing about Rimuhosting's servers (besides their fanatical support) is that you have complete root access. The tricky part about their servers is that you can complete root access. They give you ample rope, to as they say, shoot yourself in the foot with.

I finally got around tonight to spending a few minutes making sure my server wasn't embarrassingly (and dangerously) wide open. Here's what I did...

  • Upgraded the OS and tools. Rimuhosting couldn't make this any easier if they tried. I ran:
           sudo apt-get update
           sudo apt-get upgrade
    (I mention Rimuhosting because these commands are pulling from their repository - so I assume they have at least some hand in this magic)
  • I ran an nmap to see what ports were open. Luckily, all I had to deal with were http, smtp and sshd.
  • http was the easiest - I need that open, so I just left it as is.
  • smtp was a bit trickier. I edited /etc/postfix/ and set: inet_interfaces = localhost. Now my local box can send mail, but the mail server is closed to the outside world. (Real mail is handled for me by Google Apps).
  • sshd was where I got a bit fancier. From my logs, I can tell that there's an endless supply of bots trying to break into my server (what a nasty place the net can be!). I could setup ssh to only listen for some IP addresses. But that means that I won't be able to access my server from random places like internet cafes (remember, we are thinking nomadic). Instead, I changed a few settings in /etc/ssh/sshd_config. They are:
              UsePAM no
              PasswordAuthentication no
              PermitRootLogin no
    The permit root login is especially nice, because now all those bots who are trying to break into the root account are guaranteed to fail. I also turned off password authentication. To log in, I'm forcing myself to use ssh keys. Not only is this more secure, but my guess is that most bots don't even attempt to break in using an ssh key (an extremely tall order). Again, the whole horde of them should be locked out. Ideally, I'd also like to setup S/Key - but that will have to wait for another day.

That's pretty much it for now. I would hardly call my setup hacker proof - but I do believe that the easy exploits have been taken off the table. Besides pulling the plug, what else could I do to secure my box?

Thinking Nomadic

This morning I had to drop David off at the airport at 8am - the worst time to have make a trip on any DC roads. As I was leaving this morning, it hit me - why do I need to fight traffic both ways?

So here I am, at Panera, a few miles from the airport. My plan is to plug in here with my laptop, work for some time till rush hour has safely passed and then head home.

I know this is an obvious plan for some, but I'm still getting used to this new found freedom. Which is just too cool!


Tuesday, November 13, 2007

Picky Wiki, Oh How Tricky

I knew that one essential piece of infrastructure I wanted to get in place for i2x was an internal wiki. Wikis, for me, are a combination whiteboard, scratchpad, document repository and all around general purpose tool. I've used wikis for everything from keeping track of account info for clients to hosting project specifications.

One of the nicest things about wikis is that they are easy to re-organize. As the needs of i2x are becoming clearer, I can change and update where stuff lives on the wiki and how it's organized.

The big question for today was what variant of wiki to install and commit to using? There are a multitude of options.

In the past, I've used UseModWiki and Pbwiki. Though I was curious if Trac, TWiki or MediaWiki would be better options.

MediaWiki is famous for hosting, so that certainly speaks volumes about the project. And TWiki has a really impressive set of features, such as the ability to create interactive forms. And Trac is know for tight its integration with Subversion, which means that your source code, document, and bug repository all have wiki capabilities.

I spent way too long evaluating all these options today, and more.

At the end of the day, though, I decided to stick with the UseModWiki. My reasons?

  • The wiki is drop dead simple, and that's what I need. I want the equivalent of a whiteboard to work with, not a sophisticated drawing program. UseMod offers versioning, handy wiki syntax and no frills to get in the way.
  • Installation is nice and simple. I like that I can understand exactly what's going on with every aspect of the wiki.
  • The source is being maintained - the last release was on 9/12/2007. That may not seem impressive, but quite a few wikis I looked at today had development stop years ago on them.
  • The source is hackable. In the past, I've hacked the UseMod wiki to support embedding bug links (bug:928 automagically turns into a hotlink to bug report 928), calendar references (cal:1/3/07 links to that date) and other changes. The big o'l perl file isn't easy to follow, but I know I can change it if I see a feature I need.
  • I love the old school feel to the Wiki - using RealWikiLinks, and a more or less plain text feel to it. We've got evidence that this sort of simplicity works and works well.

I also looked into using PBWiki - a terrific online service which allows you to create your own wiki in a hurry (less time than it takes to create a peanut butter sandwich, as they say). In the end, I decided I wanted the flexibility of being able to control every aspect of the wiki and that I didn't want to contend with ads or space limitations.

If you don't use a wiki, you should definitely give PBWiki a try. Give yourself a few days with the tool and you'll think of dozens of uses for it.

For those who do use wikis, what variant is your preference?

Update: I should also mention a few more advantages to UseMod that I've found with playing around with it tonight:

  • It's possible to bookmark the edit page URL, which has the format: If you add this bookmark to your toolbar, you suddenly have one click editing for that page.

  • There's a patch to support pressing control+s to save your page and one to insure that a loaded page automatically gets focus on the text area. Combine this with the previous advantage, and you can now click a button to edit page, start typing, and hit control+s to save. Bottom line: edits can be really fast.
  • The wiki is totally usable, both from a viewing and editing perspective, on my Sidekick 3. In general, the HTML is so simple, it would probably work well on any mobile device with an HTML browser.

As I play with things a bit more tonight, I'm getting the sense that I made the right decision to go with UseMod.

Review: Evan Almighty

I just finished watching Evan Almighty and I have to say - I really enjoyed it. Just like Bruce Almighty, it delivered an impressive religious and upbeat message in a way that outright preaching simply can't get across. In fact, they are among my favorite philosophical movies because of the balance they strike between humor and PMA.

I was also impressed how they varied this movie from the original. They could have basically repeated the same story with a different set of characters, but they didn't take the bait. The movie was better off because of it.

I give the movie a 9/10 because of its message, and the reminder that there's more than one way to deliver that kind of message.

Painless Google Sitemaps

It's a best practice to create and submit a Google Sitemap for any site you publish on the web. But I always forget the format, and you know there has to be a better way than creating one by hand.

There is - does exactly The Right Thing. On their home page you plug in your URL, hit submit, and a few moments later you'll be asked which format you want to download your sitemap in.

No signup process, no need to add a link to their website from yours, just easy sitemap generation.

After I downloaded the sitemap file from them, I uploaded sitemap.xml to the server and told Google about it. Couldn't have been any easier.

OK Google, I've done my part - no go ahead and slurp the site into your all knowing index...

Leveraging The iGoogle Start Page

Over these last few days, I've really started to leverage my iGoogle start page. In the past, I had more or less a standard page with news, quotes and of course Dilbert. Fun, but hardly what I'd call useful. In fact, considering how often I'm opening Google to do work, it's probably more of a distraction to have all that content than a help.

I've just started to realize that I can actually turn my Google start page into a control panel, where I can get a birds eye view of my life. Specifically, I'm playing around with:

  • Embedding Gmail for a quick view of my inbox
  • Making use of Slim RSS to track forums where i2x jobs are posted
  • Making use of Slim RSS to display the upcoming events from specific Google calendars (using the very cool private RSS feed ability)
  • Showing a simple world clock so I can keep track of meeting times with folks in other timezones
  • Embedding Google Calendar so I can get a quick view of my upcoming agenda
  • And of course, I still have Dilbert on the page. Hey, a little distraction is good at times.

What are you favorite widgets on your start page? Did I miss any especially good ones?

Monday, November 12, 2007

First Day Of Work Photo

I think it's appropriate to continue my tradition of grabbing a snapshot of myself heading out to my first day of work. Unlike last time, a tie wasn't necessary.

I considered working in boxer shorts, but let's face it, the internet isn't ready for a snapshot of me in boxers - PJs will have to do.

What a fun first day it's been - no orientation, no paperwork, no new names to memorize, just code to write and customers to talk to.


An I2X News Feed - Keeping Up With Ideas2Executables

Curious about what's up with my new full time job and adventure, Ideas2Executables? You can now track all the goings on here.

Yes, it's a Twitter feed, and yes, I had a fairly bad experience last time I attempted to make Twitter a part of my life. But this time it's different - I promise. I'm going to be using it as a sort of headline publication service. It will be more of a Just launched XXX, check it out than a Just ate lunch. Going back to work feed.

Twitter provides a few key advantages over other publication options: (1) the updates are fast to read, so following along is easy. (2) the 140 character limit forces me to be brief and only put the key information online. (3) Publishing a twitter stream is easy, which means that I can plaster my news wherever I want to (on our website, on the blog, in this article, etc.). And finally (4), if folks do want to follow along via IM, SMS, RSS or any other format, they can.

This is officially my PR stream - so, keep an eye on it for the whole scoop on i2x.

Here's a snapshot of the latest feed:

Sunday, November 11, 2007

David Comes To Town

.... and the first thing we do is find Kosher meat. It's what us Simons

Glad to have you Dave, Even if my cholesteral will go up 10 points.


A Football Mensch

I'm listening to Bill Belichick's biography. Bill, for folks like myself who haven't heard the name before was (is?) is an NFL coach. His story has been a fun one, and I'm growing more and more impressed with football as I listen to the book.

One story really caught my ear. The narrator was talking about one of Bill's teams that he coached and mentioned one of his players: Harry Carson (

Apparently, one week Harry was so disappointed with his performance, he tried to *give back* his salary for that week. He claimed he hadn't earned it.

Wow, integrity in pro sports. I'm impressed.

I'll probably have more comments on football as I really start to appreciate it. I can tell you one thing - it's way more nuanced than I ever imagined. Unlike baseball, soccer, tennis and a host of other sports which are single threaded, football appears to be a massively parallel system. Perhaps that's why it's always looked like chaos to me. I'm beginning to appreciate, that at the very least, it's controlled chaos.


Update: Thanks to my brother David for the quick information - not only is Bill Belichick still a coach, but he's the coach that was involved in the latest spying controversy. What a coincidence.

A Google Spreadsheet Running Journal

Now that my schedule is a bit more flexible, I'm hoping I can be more regular about my running. To help me do this, and give me a chance to dabble with my new found spreadsheet skills, I've created a Google Spreadsheet based Running Journal.

Some features I got to practice with while creating the spreadsheet include:

  • More fun with vlookup and countif - I'm becoming a pro at these
  • Date math combined with countif. This allows me to count only my miles for the given week or month
  • Embedding a URL in a cell, which provides 1 button access to it
  • Making use of if(isblank(...),...,...) so I can pre-copy formulas ahead of time and not have them give errors
  • The ability to publish the spreadsheet on an arbitrary web page

If nothing else, this spreadsheet can hopefully serve as a more real example of what you can do with Google Spreadsheets.

Here's what it looks like:

When I have more data in the spreadsheet, I think I'll try playing with graphs.

Farewell Photos

What a day last Friday was, with me leaving Innovectra and all. As you'll see from the photos, it was a really emotional day.

We had our traditional go-away lunch:

The team even presented me a signed mug (they even went through the effort of markering out the PNC Bank logo that was on the freebie mug they used):

Here's a parting shot of me giving a whiteboard a hug. Sure, I'll miss the team - but boy, will I miss all those whiteboards. Sometimes, up to 3 in an office...ahhh, good times.

Then I left the building. I knew the team would be going through a difficult time, what with the leadership deficit I left them with. I just hoped they would find a way to cope with this loss.

Then Beamer sent me some photos from after I left...

I do believe that is was my team, literally jumping for joy that they won't have to deal with my code reviews. Maybe me leaving wasn't all bad for them.

Yeah, yeah, yeah, they're going to do great. I never had a doubt.

Hope For CSS Hell

Earlier tonight I was working a CSS based HTML layout. The layout was really trivial, something along the lines of:


I had various combinations of absolute and static positioning. Firefox had no problems rendering what I was looking for, however, IE was causing the body area to overlap the header. It was a mess.

I Googled for internet explorer absolute positioning margin-top and happened to stumble upon this very handy page. It outlines a variety of issues, workarounds and tests for CSS. Sure enough, I had run into the old IE/Win: Margin collapsing and hasLayout issue (I know, it's obvious, isn't it).

The solution turned out to be incredibly simple: re-order the HTML, so that the body div tags appeared before the header div tags. I would so never have figured that out without this push.

The smart thing to do would be to take some time and study up on the issues mentioned on that page rather than waiting for the next big gotcha.

Saturday, November 10, 2007

Success Is In The Cards

Considering our current I2X business cards are missing our company logo and have the wrong e-mail and web address, we thought it was time to bite the bullet and get a new set.

Previously, we used VistaPrint with good results, and so we returned to them again. We purchased free business cards, which actually ended up costing us $10.00 - $5.00 for shipping and $5.00 for using our company logo.

VistaPrint specializes in self service creation of business cards, stationary, and pretty much anything else they can stick your logo on. Having implemented a self service creative system before, I can tell you, it isn't easy. Finding a balance between customization and idiotproofness is tricky. VistaPrint has done it well. We were able to pick a sane template and then tweak the cards from there.

There's almost too much customization, actually, as I think you can end up with pretty nasty looking output. But that's always the challenge.

VistaPrint is also a marketers paradise. Like GoDaddy, every step of the buying process is fraught with additional upsells. VistaPrint is fairly clever about it though. For example, not only do they want to upsell you on buying mailing labels, but they take the input from the business cards and repurpose it for the labels. The result is that you logo and name is plastered on everything they want to sell you. Most marketers I know would be hyperventilating with glee if they had that kind of capability.

Even with the hard selling of additional items, I still think VistaPrint is a winner. They get the job done and do it cheaply.

Here's a business card tip: remember, sometimes the best thing you can do is to leave your business cards at home.

Friday, November 09, 2007

Turning in my badge and gun

OK, maybe not badge and gun - but in my profession, my laptop and keycard are basically the same thing. Tools of the trade and my ticket in.

Hard to believe this is really happening.


Damn Small Linux and Wireless Network Card Config

I wanted to free my Instant Linux Setup from using Ethernet cables, and go wireless. The laptop I was using was old enough that it didn't have wireless built in, yet I found an old SMC card from back in the day (will the gifts of Amazing Media never cease?). I crammed the SMC card in the PCMCIA slot and I heard that joyous monotone beep that means that the laptop detected it. That was a good start. But then what

After poking around, I learned I needed to use the iwconfig utility to set up the card. I finally reduced the steps to get the network up to:

  iwconfig essid ssid-I-had-set-on-my-router
  iwconfig key s:text-key-I-had-set-on-my-router

If this were a real Linux system, I'd probably have to store these values somewhere. But because I'm using Damn Small Linux on CD, I think I'll just re-enter these commands every time.

It's a crude solution, but it's working.

Thursday, November 08, 2007

Mid Air Stalking

Shira's plane will be landing in 38 minutes and is currently traveling at 435KTS. Her altitude, if you were curious, is 35,000 feet. She has just about 192 miles to go.

I know all this because I'm tracking her flight on I've known that these live tracking sites have existed for quite some time, but I never seem to remember to use them. Not this time, I've got it up and am refreshing the page regularly.

I'm not going to be late to picking her up tonight!*

No discussion of picking up / dropping off women at airports is complete without the classic quote from Harry to Sally:

Harry Burns: You take someone to the airport, its clearly the beginning of the relationship. That's why I have never taken anyone to the airport at the beginning of a relationship.
Sally Albright: Why?
Harry Burns: Because eventually things move on and you don't take someone to the airport and I never wanted anyone to say to me, How come you never take me to the airport anymore?
Sally Albright: Its amazing. You look like a normal person but actually you are the angel of death.

*How much you want to bet I'm late getting her because of the time spent writing this blog post?

Final Team Activity

We re-organized Jade's office today (yes, this is a reacurring theme). It's probably the last team activity I'll have (minus the goodbye lunch), and it was fun.

The team performed flawlessly. I'm starting to think we need to start an Office Makeover show. We'd rock.

Starting Monday, if I want furniture moved I won't have a team of folks to call on. How sad.


More Toys For Geeks

A quick look at the Fly Fusion Pen Computer and it appears to be a chunky input device for kids. And it is. It just also happens to be so much more.

The Fly Pen Computer is based, in part, on the same technology behind the Nokia Digital Pen. It makes use of special paper and a tiny built in camera, to allow it to record and process all the strokes a person makes. Unlike the Nokia Pen, it has more to offer than simply recording pen strokes. It's actually a real honest to goodness computer, packed into pen form.

And what makes it a computer? It has input capabilities, via the pen, output capabilities with audio and most importantly processing capability - doing on the fly text to speech, translation to Spanish, calculations and music generation. If I thought rethinking the UI was impressive, this is rethinking the entire concept of a computer.

Perhaps one of the Fly's most impressive abilities is that users can draw out user interfaces and then interact with them:

But if you’re in the middle of working on an assignment and wanted to access one of the pen’s functions you actually don’t need to flip back to the inside cover to tap on the controls printed there. What’s really cool is that you can actually draw the FLY Compass controls that correspond to the function you want on whatever page you’re using.
Here I’ve drawn the FLY Compass menu for the MP3 player and once it’s done you can access a set of audible instructions that tell you how to draw buttons for Play, Stop, Pause, Prev and Next. Once they’re all drawn you can simply tap on them like real buttons and control the MP3 playback on the pen.
-From Andrew Liszewski in depth review

That's just too cool.

The device isn't all that expensive, at around $80 .

Naturally, I'm curious if the device could be repurposed into one that adults would find useful. What a team this would make, a LeapFrog pen and a neon green kids laptop. But the technology seems to cool not to wonder what the adult version would do.

Could you manage your calendar and todo list with it? What about some sort of paper based spreadsheet? Or how about being able to convert UML diagrams from paper right to code? At the very least it should have a Scheme or Forth intepreter built into it.

Oh, the possibilities are endless. Kids today, they certainly have the best toys.

Want more toys for geeks? Check out my thoughts on the One Laptop Per Child laptop.

Wednesday, November 07, 2007

One Laptop Per Mobile Geek

The One Laptop Per Child project is heating up, as production of the device has started, and in just a few days you'll be able to buy one. People have started to wonder, who, besides children in developing countries, should buy the laptop, and have even suggested that perhaps it might be an ideal device for seniors..

I've been wondering myself, if the device could be repurposed as a mobile laptop for geeks. As I've mentioned before, the hardware is really innovative, being: lightweight, drop-proof, water resistant, having outstanding battery life, supporting an e-book reading mode, having a built in tablet and having better WiFi than most real laptops (see a video showing this all, here). Throw in the fact that the device is cheap, and it seems like an ideal tool to be tossed into a bag and traveled with.

Before the laptop can be declared the ultimate geek machine, I think a bit of work needs to be done. First off, can the hardware be used by adults? Sure, it's optimized for kids, but can adults make do with the screen and keyboard? I'm used to typing fairy long blog posts on my Sidekick 3 - so clearly, where there's a will, there's a way..

Next, what software can reasonably run on the device? At this point I wouldn't concern myself with how useful it is to run the software, just catalog what does and doesn't work. Ideally, there'd be a procedure for wiping off all the kids software on the device and replacing them with more robust tools.

Finally, I'd love to see a series of howtos written that that suggest practical ways to use the laptop in a mobile context. Titles like How to run the perfect brainstorming session using the OLPC laptop, or How to Get Things Done on the road using the OLPC laptop would be ideal. This would insure that all these purchased laptops don't just collect dust as the once-must-have-gadget.

I have a feeling that plenty of kids and parents are going to be disappointed with the OLPC laptop, as it will hardly compare to their PlayStation 2 or Dell Desktop. But geeks, well, us geeks will appreciate any device that can squeeze out 6 hours of battery life from, even if it is neon green with little WiFi ears.

Instant Linux

I had an old laptop lying around that I was curious if it could be turned into a useful piece of hardware. I was pretty sure the drive was shot on it, so I thought I'd try booting off a Live Linux CD.

For years now, I've been a fan of tools like tomsrtbt which fit an entire Linux system on a 3 1/2" floppy disk. You pop in the disk, turn on your computer, and *poof* - your computer is turned into a Linux box. This is true if you're hard drive has Linux on it, or in the case of the laptop I'm trying to revive, you have no hard drive at all.

With bootable CDs and DVDs, these Live Linux Distributions have grown to be much more powerful, as you can fit more and more on such a system. Although it wasn't until two nights ago that I got an idea for just how far things have come.

So you want to try this Linux thing, but don't want to bother wiping your Windows setup? Or you've got an old computer or two lying around, and you'd love to put them to work? My suggestion: create an Instant Linux System.

How To Setup An Instant Linux System

  1. Visit this list of Live CD distributions
  2. Download the appropriate .iso file from one of the sites
  3. Burn the ISO image to a CD
  4. Pop in the CD and reboot your computer
  5. Sit back and watch the Linuxness scroll by on your screen

For me, the hardest part of the process was waiting for the .iso image to download.

I played with two distributions two nights ago. First, I tried SLAX. Wow, what an amazing system is is - it seamlessly booted into a rich desktop environment. Everything about getting the system up and running was painless and couldn't have looked more professional.

I also played around with Damn Small Linux which, while not as polished as SLAX, was tiny (48 Meg) so it was easy to download. It also provided Firefox, so I could access all my Google tools.

These Linux CDs are really remarkable. If you want to breathe new life into old hardware, or experiment with Linux, there's no easier way to get started than popping in one of these disks and booting up.

As an educational tool, these distributions are unmatched. With a book on Linux, your current Windows box and one of these CDs, you can quickly and painlessly setup an environment where you can becomes Unix master. No worrying about drive partitioning or harming your existing system - just boot and go.

Update: To burn the ISO image that you download to a CD you'll need a program that can handle this task. Windows XP can't do this by default, but ISO Recorder, a freeware program will do the trick nicely. See the instructions on how to do this here.

While at work today, my computer at home downloaded Kanotix, yet another live Linux Distribution. Using ISO Recorder, I burned the image to a CD, and in just a few minutes I had yet another Linux On A Disk I could play with.

Tuesday, November 06, 2007

Surprise Family and Food Fun

Today I had a most excellent surprise - my Bro and his family made a spontaneous trip to Washington, D.C. to visit the sites. Unfortunately, I didn't get to go museum and zoo hoping with them, but I did get to enjoy one heck of a dinner with them. We ate at Kosher Bite in Baltimore, which is a kind of serve-any-kind-of-kosher-food-you-can-imagine kind of place. I ate way too much, but boy was it good.

It was such a pleasure seeing my niece and nephew. My niece is an absolute genius, and has plenty to interject about pretty much any topic (her description of jet lag was spot on!). My nephew surprised me with his ability to use, I kid you not, sarcasm. What a treat it was hanging with them.

Work Lasts

Who knew signing/authorizing a vacation form could be a sentimental activity? It is when it's the last one I'll do forever (for Innovectra, anyway).

I'm tempted to authorize vacations for the entire month of December. But that may be overstepping my bounds just a tad.

I'm really going to miss this place.


Monday, November 05, 2007

Saying Farewell to Innovectra

What a day at work! At a company-wide all-hands meeting, I had the opportunity to make a surprising announcement. This will be my last week at Innovectra. Surprised? So were my co-workers!

For the last few years, Innovectra has been a wonderful place to work. The dev team has been world class, the staff in general has been great, the technical challenges have been fun and I've learned lots. With that said, I have decided that it is time to take on a new challenge. The first step of which means leaving Innovectra.

While I hope they are sorry to see me go, I'm sure this will give people a fresh person to blame when things break over the next few weeks. I know the team will continue to go on and do great things and I hope they believe me when I say sincerely, it's not them, it's me.

Thanks, Innovectra, it's been a great ride.

Here's a trip down memory lane, a photo from my first day of work.

Bitten By FireBug

Over the last few weeks I noticed that Firefox was running slower and slower. It seemed that every time I visited Gmail, the CPU would spike to 100% and stay there for way too long. I found myself restarting the browser more and more often.

It got bad. How bad? So bad, I found that IE was a faster browser to use than Firefox and nearly switched to it. Yeah, that bad.

The it hit me last night - I should do something about it. Surely I'm not the only person in the world who's noticed Firefox is crawling these days. I did a Google search or two and found nothing. Then I actually spent a few minutes thinking about my problem (I know, a crazy idea).

After about 30 seconds it hit me, Firebug!. I had installed and turned on Firebug for all pages. The result was that every page I browsed had debugging turned on. This debugging is handy, but is naturally going to slow down sites. This is especially true for JavaScript heavy sites, like Gmail.

A quick right mouse click on the green checkmark in the bottom right hand corner of my browser, and selecting Disable Firebug is all it took to get reclaim my browsing speed.

Now if I could just wash off this emotional stain IE left on me, I'd be all set.