Tuesday, February 28, 2006
Encapsulation Isn't Data Hiding
C. Keith Ray has a nice short post on what "encapsulation" really is.
I still run into far too many programmers who think that "encapsulation" just means making the data members private and writing a pair of get/set functions for each one. When I ask them what's good about that practice, they usually answer that they don't know, but that's what makes their code object-oriented. <sigh>
Monday, February 27, 2006
I'm back from a two-week trip. My apartment is right here where I left it, and I've restocked the refrigerator with fresh food. Now I just need to figure out what's causing the strange smell that now permeates the place.
Two weeks isn't that long, but after working thirteen eleven-hour days on a creaky old office chair in an old warehouse, I'm really glad to be back. This is neither the longest nor the hardest trip I've had, but the older I get, the less tolerance I have for hotel furniture, rental cars, and being unable to use the restroom without borrowing someone's security badge.
We were on-site to put the finishing touches on software that is going into testing this week. In the software world, "finishing touches" often means "rewrite the whole thing from scratch in two weeks because what we've got is completely unusable," but this time, things turned out pretty well. It's not 100% complete, and I'm sure the testers will find some problems, but this is the best initial-release software I've seen at this company. Maybe we really are getting better at this.
The functional spec for the software is supposed to be complete in a couple of weeks. Then we'll know what we should have been doing for the past four months, and what we were supposed to deliver yesterday.
Right down the street from our workplace was a good Italian restaurant. We ate there almost every day. It was nice, but we've all noticed that our pants got a lot tighter during the trip. Next trip, I'll have to take my running shoes along.
I was looking forward to watching the episodes of 24 and other shows I missed, on TiVo. Unfortunately, my satellite receiver apparently locked up a few days after I left, so my TiVo is filled with twenty hours of a blank screen with "Channel 882 Regular Schedule" displayed at the top. Bummer.
Thursday, February 23, 2006
Programmers and Spelling
I am currently working with a group that contains some very poor spellers. That's fine—I understand that the ability to remember arbitrary word spellings has nothing to do with one's intelligence or attention to detail. What does bother me is that when I point out a misspelling, they chuckle, make a joke about "the Spelling Police," and then refuse to make corrections.
It's not just an aesthetic issue. It really does have a negative effect on my productivity if I need to remember to type quanity, catagory, seaquence, seperaters, or IsNetworkOkey while I'm writing code that works with their stuff. Programmers' editors with auto-completion features make it easier to be consistently incorrect than it once was, but it still slows me down.
One day, while tracking down a bug with cash accounting, I searched the code for every instance of the word denomination. I looked at all the places where it was used, and couldn't find a problem. While continuing to browse, I started noticing additional cash-counting code that hadn't turned up in my search. It turned out that the boss has spelled the word as demonination (note the m's and n's) in about half the places. He knew it was spelled wrong, but it amused him, so he left it that way. What fun!
I just don't understand why anybody would want to leave misspellings in place. I don't spell perfectly, but when someone points out mistakes, I want to correct them. But they are so proud of their creative spellings, I'll just have to pretend to enjoy them too.
I've downplayed the aesthetic aspect of poor spelling, but it really is the ugliness that bothers me most. I hate working with crap. It's demoralizing to know that others don't care.
One of these days, when everybody is busy doing something else and nobody is paying attention to this code anymore, I'm going to go in and fix everything myself. Then maybe I can be proud of this stuff, and the Spelling Police will have the last laugh.
Sunday, February 12, 2006
A Break from the Blog
I'm going to be out of town for a couple of weeks, working 12-hour days in a windowless room crowded with eight other programmers, so I probably won't be writing any blog entries for a while. Have a nice February, everyone.
On My Way to Blairsville
While doing some web surfing, I ran across a photo of one of the planes I fly. And I'm inside the plane!
A check of the date of the photo (12/7/2005) and my logbook indicate that I was on my way to Blairsville (46A) when that picture was taken. I remember the flight. Blairsville is in a small valley, with a nearby lake. It was a pretty day. It was about two and a half weeks after I became a Private Pilot, so I was still very excited about being able to fly wherever I wanted whenever I wanted.
By the way, N4363D is the plane in which I did the following:
- First flight lesson
- First solo
- First solo cross-country
- Private Pilot Checkride
- First flight with a passenger (Mom)
She's still my favorite plane.
Friday, February 10, 2006
I've used an electric shaver for most of my adult life. I've got sensitive skin, and have always had problems getting a comfortable shave with razor blades. The electric shaver is comfortable and convenient.
However, I've always wanted to use a real razor, because it gives a closer shave, because it doesn't have to be kept charged, and because it just seems more gentlemanly. Every year or two, I buy a state-of-the-art razor and give it a try. Gillette and Schick are constantly introducing new supposedly-improved razor systems, which multiple blades, spring-loaded heads, lubricating strips, special shaving gels, and all sorts of other stuff. Of course, the new stuff is never that much better, but as a gadget freak, I like to give it a try.
How many of you are old enough to remember when the Trac-II razor first appeared? TV ads had a graphic demonstration of how the two blades worked together, with the first one stretching the whisker so that the second blade could cut it close. Saturday Night Live had a parody ad where they demonstrated a four-bladed razor, which was obviously ridiculous. Or was it? Now, four- and five-blade razors are really being sold.
A few years ago, they also started introducing "power" to razors, which means there is a little motor that makes the blade vibrate. This feature sounded a little silly to me, but I decided to give the new five-blade Gillette Fusion Power razor a try. I also bought the new Gillette Fusion HydraGel, which is of course recommended for all Fusion razor systems. (Yeah, I know, I'm a marketer's dream.) I figured this would give me the chance to try all the silly features all at once, dismiss them, and go back to my electric shaver until the next breakthrough in razor technology.
Guess what? The thing actually works! I've been pleasantly surprised. I get a nice close shave, without the rash or little pinpricks of blood that I usually get with razor blades.
The only thing I don't like about the razor is the flourescent-orange color scheme. It looks like a ladies' razor to me. I'd like to see the marketing research that demonstrated that men want bright, colorful razors.
Anyway, that's my little metrosexual moment. Don't worry—I won't start giving reviews of hair products or moisturizers or other such things. I just wanted to note a technological improvement. The engineers toiling in the razor industry, working to give men the close comfortable shaves they've been seeking for centuries, deserve a little bit of gratitude.
Wednesday, February 08, 2006
I watched The Aristocrats last night. For those of you who don't know, this is a documentary about a classic filthy joke, produced by Penn Jillette (of Penn & Teller) and Paul Provenza. In the movie, dozens of comedians tell their own versions of the joke, and analyze the joke in ways that only seriously funny people can. It doesn't get boring, because the structure of the joke allows each comic to tell it a different way.
If somebody tells you the joke, and you don't laugh, don't let that turn you away from watching this movie. Everybody agrees that the joke itself is not very good. What's great is what talented people can do with it. It can't simply be told—it has to be performed.
The documentary itself is good, but I enjoyed the bonus material on the DVD even more. If you rent it, don't skip the director commentary or the other special features.
Monday, February 06, 2006
Permanent Pilot Certificate
I finally received my permanent pilot certificate in the mail today. I've officially been a private pilot since I turned off the engine at the end of my checkride, but at that time all I got was temporary certificate, which is just a paper form with typewritten information on it.
In contrast, the permanent certificate looks a bit like a credit card, but much more governmental. You can see an example of the front and of the back. (Those are the Wright brothers in the background, if you're wondering.)
If you want to see mine, just ask. It's pretty. Shiny. Oooooh.
Thursday, February 02, 2006
I've just spent the last five hours watching Kill Bill, Volume 1. "But that's only about 90 minutes long, isn't it?" you ask. Yes, but I watched parts of it over and over again.
I once heard Roger Ebert say something like "Either Quentin Tarantino makes movies for you, or he doesn't." He definitely makes movies for me. When I first received KBV1 from Netflix, I kept it for about four months. I was given KB Vols 1 and 2 for Christmas, so now I can watch "Chapter Five: Showdown at House of Blue Leaves" continuously (and I do).
I hope to have time to watch Volume 2 tomorrow night.
Wednesday, February 01, 2006
Evil PowerPoint Style
I don't like incorporating other people's images into my blog, but I can't resist the power of the Dark Side:
Exercise: Recite, from memory, all the words that are hidden behind Darth Vader in the picture.