Archive for December, 2007

Friends Don’t Let Friends Use the Start Menu

I’ve read and listened to Scott Hanselman sing the praises of SlickRun for a long time, but I just recently got around to using it.

For those of you who are as slow to catch on as me, it is essentially just a tricked-out version of the Run window that allows you launch programs much faster than you can through the traditional hide-and-seek start menu approach. This is especially true if you are a tool addict and have a start menu that stretches across your screen.

Best of all, it is FREE, which is one of the few things that still fits into my budget these days. It also only takes seconds to grok and begin saving time with it.

To get started, all you have to do is right-click on the floating SlickRun textbox and select “New Magic Word”. When the dialog box with the nifty wizard hat pops up, you simply drag the magic geen lightsaber circled below over to an open program and it will figure out the program’s filepath. You can also create the mapping by just dragging a shortcut from the start menu on to the floating SlickRun textbox prompt.

Next, you think of a clever and creative keyword (for example NCoverExplorer for NCoverExplorer) and then optionally assign paramters to it. Parameters are cool because you can do things like open FireFox and surf to your favorite porn site in one swift and efficient motion. For NCoverExplorer, I set the parameter value to the path of the NCover xml result file that gets generated from our automated build process.

Finally, thanks to the magic of intellisense, you just have to type a couple of letters until the keyword you want appears in the textbox and then hit return in order to launch it. Easy, huh?

Just remember, REAL geeks don’t use the start menu. If you don’t want all the other geeks laughing at you and kicking silicon dust in your face in the computer lab, then I suggest you download SlickRun immediately.

Helpful Configuration Hints

  • If you’re used to Windows-R to launch programs, you can change the default SlickRun hotkey (Windows-Q) to this more familiar one by setting GrabWinR=1 in the slickRun.ini. You can find this config file in your computer’s app data directory (directory locations vary based on the OS), but it won’t actually be created until you close SlickRun for the first time.
  • I also like turning the ChaseCursor option on so that launcher window pops up where ever your cursor happens to be after hitting the hotkey combination. This saves me from having to shift my focus to a different part of the screen… Yes, I know that it seems lazy beyond words to recommend a feature just because it saves my eyeballs from having to move a few centimeters.

Notes about Vista

  • SlickRun is not quite as compelling on Vista because of the built in launcher in the Vista start menu. However, I still like using it on Vista because it offers more flexibility in terms of creating more logical words for program names as well as automatically passing in parameters to the program.
  • Setting up magic words by dragging shortcuts from the start menu to the SlickRun prompt doesn’t work on Vista for some reason.

Interesting SlickRun Factoid

  • This was actually written in Delphi. I’m going to let you come up with your own Delphi jokes so as to avoid any hate mail from either one of the remaining Delphi programmers out there.

Ten States Down…Forty To Go

Last weekend I ran in the WhiteRock marathon in Dallas, Texas and was thus able to check off the tenth state in my quest to run one marathon in each state. This race was much bigger and better supported than my ninth marathon in Iowa earlier this year and my friends and I had a great time despite the abbreviated time frame and cooler than expected weather.

Now I can finally sign up at the official club website and get myself yet another T-Shirt that my wife will pressure me to throw away. Why am I doing this again?

Here are some race and trip highlights:

  • Near Felony: Apparently Texas state law prohibits taking more than three sips of beer at a time while standing. However, I was still running when I guzzled a small plastic cup full of brew that a kind spectator provided around mile nineteen so I think I am safe. I also have a pretty strong alibi for my second and third beers which I consumed immediately after crossing the finish line since I was definitely in no shape to stand by that point. I won’t admit it in a court of law, but those Michelob beers tasted damn fine by that point. I had no idea that marathons damaged a person’s taste buds on top of everything else.
  • The Stairs of Death: Have you ever seen a person who has just run a marathon try to walk a flight of stairs? It is more fun than a clown on fire. In their infinite wisdom, the race organizers decided to locate the post race festivities on the floor of a basketball stadium, thus forcing the famished finishers to hobble down a gajillion steps immediately after running 26 miles in order to get food. I didn’t think it was so funny while I was doing it, but after I was full and rested I got a big kick out of watching everyone else do it.
  • New Innovative Training Breakthrough: Due to a tenacious cold, bad weather, and some general laziness, I was probably the worst prepared I’ve ever been for a marathon. Against all odds, I somehow slipped into a running zone and managed to finish in 3:49 and pull off my second negative split ever (running the second half faster than first half). As a takeaway lesson, I’m going to skip the heavy training from now on and instead focus on doing some quality tapering right from the start.
  • New Innovative Dating Techniques: There were tons of funny costumes, signs, and T-Shirts, but my favorite was a cardboard sign with the word “Single” on it that was held up by a female spectator. Apparently match.com just isn’t what it used to be. I also saw a woman who ran with fake butt cheeks strapped on her back-side and a sign that read “I’m running my butt off”.
  • The Youngest and Flattest Marathoners Ever: Francy, one of my running cohorts, also ran in the marathon this weekend despite being five months pregnant! I can’t tell you how amazed I am by that. As a preemptive move, she had someone in our group write “Yes, I have my Doctor’s Permission” on her shirt, but I think everyone was much more distracted by the “Flat Scottie” she had strapped to her back. Flat Scottie is the cardboard cut-out of her husband who is currently stationed in Iraq.

I think the military encourages the cardboard cutout to help families better cope with the father’s absence, but we mostly just enjoy photographing him in a number of compromising positions like this one. I’d show my favorite one, but I’m afraid it might get him thrown out of the military. Good thing he has a great sense of humor.

With my own little one due to show up early this spring, I’m afraid I’m going to have to put off my eleventh state until late next fall.

Don’t worry. I’m still on pace to complete the 50th state before I retire.

A Touching VSS Moment

Today it was decided that a bug fix that I recently added to our production branch in Visual Source Safe would not be included in an upcoming hotfix release as originally planned, so I was asked to remove it.

My fix only touched 6 files, so my first thought was just to do it manually. Then I saw the rollback button in the ‘Show History’ window. If I were a betting man, I would have put good money on this functionality not only failing, but also wreaking havoc with our version history. However, I was feeling strangely brave today so I held my breath and clicked the button anyways.

Contrary to all expectations, it actually worked. It erased the historical records that came after the version I rolled back to, but since I already had those changes merged into the mainline I was in a forgiving mood and considered it an unfettered success.

In fact, I was so pleasantly surprised that I started to utter what might have been the first positive words about VSS that ever came out of my mouth. However, before I could finish my sentence I was greeted with this response.

I guess VSS was verklempt due to my kind words. Either that or it detected the ever so subtle note of sarcasm in my voice and closed in a huff. Truth be told, I don’t think it ever forgave me for the poem I wrote about it several weeks ago.


I bet SubVersion is not this sensitive to criticism.

Look Who’s Got a Language Crush!

I just read Don Box’s Languages and Beauty Contests post and was surprised to see him praising the aesthetic value of VB.NET.

Am I mistaken or has the collective self-esteem of millions of VB.NET programmers just risen considerably?

Perhaps the word ‘just’ is a bit of a stretch since the post was actually written several weeks ago. I would have come across it sooner, but I am currently living in mortal fear of my RSS Reader which has somehow managed to swell in size to a couple of hundred subscriptions and now spends all of my computer’s spare CPU cycles calculating evil plots to take over the world. But I digress…

For those of you who have never worshiped at the alter of Don, here are his wiki-street creds. Besides being one of the original designers of SOAP, he’s also authored of a few books in the DevelopMentor “Essential” series that I wasn’t quite smart enough to fully grok the last time I tried reading them. If you’ve been around long enough to have had the pleasure of working with COM, then you probably recognize the “COM is Love” phrase that he coined.

To put it in historical context, he was a full-fledged geek rock-star when Ayende was still busy popping zits.

Back in the .NET beta days when I was still fairly new to the industry, I was lucky enough to have the opportunity to attend a DevelopMentor sponsored .NET conference that he led. Don had the unbeatable combination of being scary smart, extremely articulate, and wildly charismatic in front of crowds (at least by tech standards). If I remember correctly, he also seemed to have a cult following of wide-eyed tech groupies who hung on his every word. I was obviously a little awe struck by him myself.

He was also a self-avowed CSharpophile with deep C++/Java roots. I’m sure I heard him poke fun at his fellow DevelopMentor cohort, Ted Pattison, who was the premier VB guru of the day.

Now you understand my surprise at his post. It is sort of like the most popular kid in school suddenly putting the moves on the 300 pound pimply band chick with braces that walks around mumbling to herself. Having him pick VB.NET as the Language beauty contest winner was just… well …unexpected.

So move over Ruby, a new long-legged programming language super model is in town. Let the creepy code crushes and disturbing language lust begin!

Welcome Back Tech Bubble

I started my developer career on the tail end of the last tech bubble, so I can’t help getting all misty eyed thinking about the Tech Bubble Part Deux.

What better way to celebrate this historic event than to pay homage to some soon-to-be classic YouTube satire by the Richter Scales. It’s set to the tune of of Billy Joel’s “We Didn’t Start the Fire”. I especially like the minute by minute rags-to-riches twitter stream along with the “Just Go Blog About It” refrain at the end. The irony of using an 80’s Billy Joel song to lambaste Web 2.0 is pure evil genius.

So now I finally understand what is driving the big IT salary increases in recent months that has been touted in this CIO magazine article.

Note to self: Pack a few extra bucks under the mattress for when the bubble goes kerplewy again in a couple of years.

The November 2007 Caffeinated Codey Winners Are…

It’s time for the next installment of the monthly Caffeinated Codey awards, where the link love flows for my favorite posts from the month.

  1. For Most Likely to Cause My Co-Workers Grief…Jeff Atwood’s post Don’t Forget to Lock Your Computer where he talks about the wonderful world of goating. Don’t get excited, you’ll have to go elsewhere for your daily dose of bestiality. However, this post does offer plenty of good ideas on how you can punish your co-workers the next time they leave their computer unlocked. I can’t wait to replace someone’s desktop with a screenshot of a desktop or replace their screensaver with the the bluescreen screensaver.
  2. For Most Persuasive TDD argument…Max Pool for his post Don’t Unit Test? Start Counting Your “Oh Shits!”. I had to quit counting my own exclamations after a few hours because I ran out of fingers and toes, but otherwise it is a very solid suggestion. It effectively drives home the point that the time wasted on tracking down stupid “collateral damage” bugs usually far outweighs the time it takes to simply write the unit tests that would catch those bugs for you automatically.
  3. For Best Thanksgiving Parable…Rory Blythe for his post Here’s how we’re doing this thing… As you can tell from some of my recent posts, I’ve become a big fan of Rory’s unique style of creative humor this last month so I had a hard time picking out my favorite. This winning post covers a wide gamut of deeply philosophical issues including Captain Bark-Bark’s defecation habits, the unfortunate cultural demise of tar and feathering, innovative reading systems based on hydrochloric acid being injected into eyeballs, turkeynog, and traditional thanksgiving parables involving backstabbing, duplicitous sandwiches. For his award, I have special ordered the new turkeynog flavored blend of coffee from starbucks.
  4. For Most Compelling Reasons to Hire a Software Repo Man…Steve McConnell for his post on Technical Debt. The iconic author of the classic tech book, Code Complete, explains how to distinguish between good and bad technical debt and suggests ways to make debt more visible to stakeholders as well as how to gradually start paying them down. Finally, a voice of reason that suggests an intelligent way to balance both the goal of staying in business with the desire to avoid software maintenance hell.
  5. For Best Rant Directed at Non-Developers…Karle Moore for his post I’m a Software Developer, but I don’t work with computers. If you’ve ever hesitated to admit that you’re a software developer for fear of being asked to solve all forms of computer and electronic problems, then you’ll appreciate this rant. My family and friends now all think that I am an adult video store clerk, but at least now I can blissfully focus on screwing up my own computer for a change.
  6. For Best Mort Mugshot...Paul Vick for his post Is It Time to replace Mort?. Paul attempts to singe-handedly heal the collective VB.NET inferiority complex by attempting to replace the toothless, unkempt hillbilly version of Mort we all know and love with a Ben Franklin-like persona. Before any of you VB.NET programmers rush out to embrace this new Mort 2.0 image, let me ask you this. Who would you rather party with? Which Mort is more likely to have a spare bottle of Jack Daniels to help ease your pain after enduring another three hour HR meeting?
  7. For Most Effort Spent to Make Fun of Microsoft…Philipp Lenssen for his post What If Gmail Had Been Designed by Microsoft? Philip pokes fun at Microsoft’s questionable design sense by showing screen shots of GMail that he gradually transforms into something truly hideous by progressively adding some classic Microsoft design and usability touches.
  8. For Best School of Hard Knocks Lessons…Scott Watermasysk for his post 7 of the Hardest Things I Learned About Writing Software. Scott offers some excellent and concise advice that covers some of the bigger mistakes that developers tend to make in their quest to create software. Pay attention, because these are the “oh crap, I just wasted 10 months of my life on something that nobody cares about” types of mistakes that you’ll probably think are trivial until one of them swoops down and knocks you on your butt some day.
  9. For Best Developer Origin Story…Oren Eini for his post Geek Scripture. Have you ever come back the next morning after a truly inspirational day of programming and you couldn’t figure out what the heck you were thinking? I’m still waiting on my first truly inspirational day of programming, but as soon as it happens I will no longer feel bad when I come in the next day and can’t figure out what I did. All you geeks who figure out how to procreate can now retell Ayende’s parable to generations of your socially maladjusted offspring.

Finally, I am breaking tradition and giving out an award to a non-blogger for his truly inspired idea.

  1. For Best Captcha Implementation…Frozenbear (I guess only bloggers give out their true identity) for his website hotcaptcha.com. I am seriously going to lobby John Alexander and Jeff Julian to consider using this HotOrNot-based safeguard against spammers for geekswithblogs. Just think of how many more comments would be left on bloggers sites if they got to choose hot looking women each time instead of typing in those stupid abstract letters every time they wanted to read a comment! I know the number of comments that I personally leave on my own blog would skyrocket.

Once again, congratulations to all the winners. Hopefully we’ll meet someday so you can claim the alcoholic or caffeinated prize beverage of your choice.

In case you’ve missed the prior four award ceremonies, you can find them here.

« Previous Page