« March 2005
May 2005 »
How to debug

Okay, here's a complaint, and then a challenge:

Complaint: All day long, my coworkers pester me with questions about problems they're having. Some of the time, the questions are of the form "What were you thinking when you wrote this code?" I don't mind those questions, and I'm happy to answer them. But most of the time, the questions really boil down to "hey, you're good at solving problems. Come here and help me solve mine."

What I've noticed is that most people, even software professionals, just suck at debugging. You'd think it would (a) be a core competency of almost all technical jobs, and (b) be easy to learn because the skills are so generic. But no.

Challenge: I feel so sure that debugging skills are generic that I'd like to call for a "How to Solve Problems" instruction manual. Send me any snippets you can, either generic patterns in trouble-shooting, or else tricks that are specific to a language or domain that you work in.

I'll make an effort to distill and post some kind of general howto. Maybe together we can make the world a better place. (And everyone will leave me alone so I can work! :)

Signs point to yes
I hate stocks.

Let's say you want to decide if now is a good time to buy, say, my company's stock.
Uh oh. According to this chart the stock seems like it's going down. Down sounds bad. Sell! Sell!
But wait! In this news article it looks like the stock got hammered because of Wall Street's misunderstanding of our deferred revenue model, but actually the company reported record profits and revenues! Buy! Buy!
But oh no! It looks like this analyst is saying that I should sell the stock because the company has too high a debt ratio. Sell! Sell!
But oh wait! According to this chart, that analyst isn't as historically accurate as a bunch of other analysts who are actually saying that I should buy the stock. Buy! Buy!
But hang on! According to this table, although there are 17 analysts who are bullish on the stock, there were 19 bullish analysts just a month ago! So the number of bullish analysts is shrinking. Sell! Sell!
So you see why the mattress is looking like an attractive place for my money these days...
Getting expensive
After my off at Laguna Seca in December, I decided to try the innovative new technique of purchasing tires that are designed for what I use them for. That led me to the much-touted-by-my-friends Toyo Proxes T1-S, which is a more expensive tire than the ones I had been using, but supposedly better.

How much more expensive, you ask? Well, initially they had seemed to cost about $100 more than Falkens. But that was before I knew that I would wear them down to the cord in less than 5000 miles. That means they're really about twice the price of Falkens.

So when I replaced them on Friday, guess which brand I went back to?

It has a purpose
I've finally found a purpose for the San Jose Mercury!

Ever since last month when I stupidly caved to a doe-eyed high school student and signed us up for a "trial subscription" of the Merc, these little blue plastic bags of paper have been piling up in front of our garage door.

Mostly I've been just putting them directly into recycling, but yesterday when I needed to do an oil change, I found it absolutely delightful to tap into an unlimited reservoir of scrap paper to wipe up oil. No need to worry about waste--- the Mercury has been printed on these papers, so it's already ruined! Guiltless bliss!
More Office Bashing
Did you stupidly upgrade to Office 2003? Sure, we all did. When you did, you were blessed with the "Office Clipboard", or as I like to call it, "What the fuck is that go away" window. If anybody gets use out of it, let me know. In the meantime, you can disable it my unchecking all of the choices in the "Options" menu down at the bottom.
Lost in translation

I like to have a playful relationship with my coworkers, and this includes this one girl who likes to trade insults with me 8th-grade style. We have fun, but it can be weird sometimes because her English is not fanstastic.

For example, today our AC at work died today for a couple of hours, so in one meeting we were in together it was getting quite stifling. I said something like "Wow, it's way too warm in here." To which she replied "<giggle> well it's your fault!" To give her a good taunt I replied with "Because I'm so hot?" She giggled again and said, "No! It's because you're burning in Hell!!!"

I have no idea what she was trying to say; maybe it would be less disturbing in Chinese.

Not a good career for me

There is nothing on Earth that is more deaf to the frustration it causes you than software.

This won't scale

If you listen to Terry Gross's miserable show Fresh Air, you know that whenever someone that she has interviewed dies, they interrupt the schedule to replay the dead person's interview.

When I started listening to the show in 1996 this happened a few times a year, but now it's pretty much weekly. And the other day, they actually had two people die too close together to change the schedule in time, thereby creating a Commemorative Dead Guy Episode Backlog.

And if you think about it, everybody that she interviews is going to die at some point, so the ratio of new interviews to Commemorative Dead Guy Interview Replays can only get worse and worse.

I only see two ways out of this situation:

  • If Terry herself dies, breaking the awful cycle in the most final way possible
  • If the interviews they record end up so far behind the backlog that there isn't time to play them before the guest dies, thus obviating the need to play the interview twice (or indeed at all.)
Terry, the road ahead is grim, but I wish you luck.

Black should be BLACK

I dimly remember a friend of mine telling me that Microsoft was going to start trying to do a color-aware anti-aliased font render, where it tried to account for the positions of the red, green, and blue elements of your display device.

It turns out that they really did try to do it, and the results look like complete shit. Another Billy special.

Behold: The Napkin Launcher

I told you, I'm not crazy. We now have a highly sophisticated napkin dispensing contraption in our kitchen. I have not yet figured out how to use it, but there it is.

Mysterious Mysteries

One of my favorite things about Microsoft Office Documents is how the plans for the fucking NASA Space Shuttle could be embedded inside of your letter to Grandma, and there's no way to tell until you try to open the doc on someone else's machine and get an error like this:

Now, keep in mind that my MOTHER sent me the document that contains this error. There is no way that she understands what SQL is, or even Mail Merge (the likely functional area of Word that is producing this error). God only knows what she accidentally copied and pasted that caused Word to decide that it needed an ODBC link to some database on someone's "F" drive. Jesus, Bill.

The views expressed on this site are mine personally, and do not necessarily reflect the views of my employer.