Skip to main content

The Joys of Coding

I normally don't blog about what I do (I'm a software developer), because 1) I've already got a work blog that's more suited for that, and 2) I'm a software developer, so most of the time it's not amusing. Sure, I find it interesting, and I learn things every day. However, unless you already lean towards Computer Science, it's not going to be very amusing to you. So, for the sake of keeping my audience (all 4 of them) happy, I stay away.

Today, I'm going to break that rule, because my work actually did cause mild amusement. So, without further ado ...

I've got a deadline coming up fairly soon, so I've been coding away for the last few days. It's not busy enough where I'm stressing about it, but let's just say it's a little easier to concentrate on my work these days. In it of itself, that's not news-worthy, but because I've been more productive lately, I've also been generating more working code lately. That's nice when everything works, but when things start going bad, that also means a bigger puzzle to figure out.

This morning, I was working on something I'd started last week. Basically, I'm implementing this thing where you can select an item from a list, and then move it to a different list. You can also do the reverse, should you so choose. Anyhow, I started testing it, and I noticed that it only worked when I moved the item in one direction. The reverse operation just made the item disappear from both lists. Aw, crap.

I fired up the debugger, and started looking through my code. Remember, there was a fresh batch of newly added code, so the mistake could have easily been anywhere in there. I stepped through everything, and it checked out. The item was in the right lists at the right time, but the stupid screen just wouldn't display things properly when I moved items in one direction. No matter what I did, the item just wouldn't show up on the destination side. I'd say that probably took about 30 minutes, and I had nothing.

All right, so I started thinking. Maybe the lists weren't refreshing properly. That's supposed to be something that works automagically (if you absolutely must know, I was setting the ListBox.DataSource & then calling ListBox.DataBind() ). At this point, I was worrying a tad, because anytime you have to mess with the automagic stuff, you're in trouble. Think of it this way - even if you're a mechanic, you expect certain things to just work in your car. The more you have to take things apart, the harder it gets to fix. Same deal here, I was starting to take apart chunks of the engine.

Anyhow, I did some reading & learned how all that stuff works. That gave me some ideas to try, but nothing fixed this disappearing item problem. It kept disappearing on me. So, I now had a bunch of new-found knowledge about the internal workings of some code that Microsoft wrote, but I was out of 90 minutes & my code still didn't work. Oh, and at this point, I was starting to mutter things to myself.

At this point, I resorted to slowly, methodically going through everything one more time. It's the slowest way to work, but if you're methodical about it, you can find the problem by brute force. And, as it turns out, it worked. After another twenty minutes or so, I spotted the problem: when I was moving the item, I didn't tell it what text to display. So, my item was in the right spot all along, but it looked invisible because there was no text there. Going back to the car analogy, that was roughly the equivalent of me complaining that the car wouldn't start when I hadn't filled up the gas tank. It really was that stupid.

After letting out an audible groan & laughing at my own stupidity, I fixed the problem. Frankly, I'm proud of myself for not swearing out loud. Regardless, it took two hours of work, and all sorts of grumbling, but I finally remembered to fill up the tank. Maybe that person who called me retarded was on to something, after all.

Now I just hope that people who end up using this system better like that feature. Otherwise, I'll have admitted to being stupid for no good reason. Well, other than for a laugh or two.

Comments

  1. Aren't you supposed to be regression testing the code you commit, so that you don't have these integration issues? =P

    ReplyDelete
  2. None of this was committed into SVN yet, so essentially this amounted to unit testing. That didn't keep me from being stupid, though.

    ReplyDelete

Post a Comment

Popular posts from this blog

Backlog

I am an information junkie. Always have been. I'm one of those people that cares far more about the storyline in a video game than the actual game play. At work, I will spend time researching things related to solved problems, because I want to know exactly why it failed in the first place. And if someone learns something new, I want to go see what it's about, because I want to know what they know. I know it's not exactly the average outlook on life, but it is what it is. Anyhow, this mentality leads to my habit of tracking various websites, blogs, and other internet web sources to keep my information flow constant. Doing all of this manually is tedious at best, though, so I use Google Reader  to organize all of these feeds. It just makes things simpler to have a single source of RSS feeds, so that I can quickly browse through items related to my interests. Given all of that, it should come as no surprise that I also try to keep up with my feeds on a regular basis. I ...

Units of Measure

I mentioned it recently, but I have a bit of an opinion about valid units of measure. Specifically, I am a fan of the metric system when it comes to temperature . As I mentioned in that post, a system that tells me that the temperature is "negative four degrees" is much better at explaining that it is flippin' cold than one that tells me the temperature is "twenty four degrees." The negative sign matters. Now, as soon as I mentally conceded that the metric system made a ton of sense for temperature, I immediately started thinking that it probably makes sense for other units, as well. I mean, if I'm going to apply the whole "this just makes sense" standard to the ambient temperature, it makes sense to think about mass, volume, and length in the same general way. Why force people to remember that there are sixteen ounces in a pound? Or that, more confusingly, there are eight  fluid  ounces in a cup? The conversion rates just seem arbitrary at that ...

Moment of Truth

I forget where I first heard it (I think it might have been Descartes), but I have long been a fan of the notion that certain things just have a " ring of truth " to them. If you've never heard the idiom before, the basic idea is that some things are super-true. They are not just true, but they are so obviously true, that as soon as you hear them, you recognize the truthiness inherent in them. I usually get excited when I hear one of these, since it means that I am a tiny bit less ignorant from that moment forward. For the first time in memory, though, I experienced the ring of truth. First, let me paint the scene with a little bit of background. I'd made plans to have dinner with my friend, but we'd agreed to play it by ear. The end result was that we ended up settling on a pretty late dinner in a local spot. That worked out just fine, since we weren't shooting for gourmet, we just wanted to grab some food and catch up in the process. So, we headed out to ...