Sunday, September 25, 2005

Do what I say...

I always tell my students to think before coding: that time spent designing and documenting their programs is time well spent. And, I mostly follow that advice. And then there's the occasion that I don't, and I'm reminded why documentation is such a good idea (actually, I'm not reminded so much as driven crazy by the fact that code I once understood is now utterly incomprehensible to me). A case in point comes from my expert systems class, which I am preparing to teach. (Lest you think it's a bit late, my school is on the quarter system, which truly sucks, but which means class doesn't start for a few days yet.)

In this class, I use the JESS expert system shell, which is written in Java. One of its very nice features is that it can easily be integrated into other Java software, and that's what we so in this class, using the expert system to build a player for Wumpus World. Wumpus World is an elaboration of the old text adventure, Hunt the Wumpus, in which players wander around, looking for gold, avoiding falling into pits, and avoid (and/or try to shoot) the Wumpus. In this case, we use a Java version of Wumpus World that includes a server that supports multiple client players across a network. The original code included a very simple example player. The students' task is to develop a more sophisticated player using JESS.

Now on to my stupidity. I spent some time puzzling out some of the Wumpus World code and figuring out how to interface JESS to it. Two years ago. I always intended to document what I figured out, but "didn't have time" to do it right away, let it sit on my desktop for a while, then things came up, and yada yada yada, it's two years later and I haven't a clue how the code works. Now I wish I had spend what would have been perhaps an hour or so writing up some documentation. I remembered that there were two versions of the code, corresponding to the two ways that JESS can be interfaced to Java: with the server communications encapsulated as an object that is manipulated from JESS code or with the JESS engine as an object controlled by a modified Java player. That's about it, until I had invested another half day working out the details. We all need to be reminded of the benefits of good work habits from time to time. I wonder if my return to meticulous documentation will last longer than my post-dental checkup flossing regimen...

Topics: , , .

Wednesday, September 21, 2005

Trials and Tribble-ations

I just couldn't resist this opportunity to use the second Star Trek tribble episode title in a post (having used the first here). The Chronicle of Higher Education's "Ivan Tribble" is back, to remind us that there are some departments we really don't want to work in (i.e., his). He's once again out to save academics from themselves, telling us not to blog because it might reveal something that someone else doesn't like. My advice: worry more about your professional writings' impact on your career. Not that I blame Prof. Tribble for using a pseudonym...

Much better commentary about this matter can be found here, here, here, and here.

Topics: , .

IT employers catching a clue?

Cynicism knows no bounds for Dilbert aficionados, but it just may be that employers are finally starting to wise up to what their IT workers want. As the linked Computerworld article discusses, people rarely gain a feeling of satisfaction from salaries or bonuses.

Compensation is more a dissatisfier than a satisfier
   --Brian LeClaire, VP & CTO, Humana Inc.
Far more important is that employees feel that they are valued by and valuable to their organization, and this includes feeling secure that they won't be fired as soon as the company decides that outsourcing their job will save a penny. The other thing they want is reasonable working hours. But (the main point of the article), to know what people really want, you need to do one special thing: ask them.

Topics: , , .

CS enrollment: no worries

As I've written about before, I think all the fuss about low enrollment in computer science is overplayed. Enrollment will pick up as the job market improves, and in fact it already seems to be improving, as the El Paso Times article linked from the title above states. Regardless of outsourcing and all the other worries, computing employment within the US will still grow robustly over the next several years. Like other engineering-related fields, CS goes through periodic booms where enrollment shoots up dramatically as the field becomes hot, then drops precipitously when the hype cools off. It always recovers because the field is integral to the development of new and improved products and processes. As long as such development is an important part of our economy, demand for computer professionals will remain strong (neglecting short-term fluctuations).

So what does this mean to you if you're thinking of a college degree? First of all, follow your interests. Who knows what the employment situation will be like in four years? Or, for that matter, ten or twenty years? But, hopefully, you will be around and be happy. Doing work you don't like is not a recipe for happiness. Second, right now is the best time to major in CS. Enrollment is bottoming out, so you'll be part of the smallest graduating class in a long time. By the time you graduate, most of the computing professionals who lost jobs will have found new ones (or moved on to other employment). Just like many other areas of life, it sometimes pays to be a contrarian.

Saturday, September 17, 2005

Garden photo of the week

Pear basket
Originally uploaded by stiber.
Nothing can match the taste of home-grown fruit. In particular, asian pears really should be ripened on the tree, but at that point they bruise too easily to ship. So, you'll never be able to get asian pears at a supermarket that are as good as these. Go plant a tree!

Friday, September 09, 2005

Garden photo of the week

I've got a garden again! It was mostly neglected during my absence, but the advantage of living things is that they often can take care of themselves. I've certainly got a lot to do to clean things up, but parts of the garden are amazingly mature and filled in now. My garden photo of the week is from my perennial border, with contrasts in color and similarity in the spiky rudebeckia flowers and cimicifuga leaves.

The "after" picture

Mascot after the trip
Originally uploaded by stiber.
Here's what 6000 miles can do to an antenna ball. Now that I'm back home and at least can see the light at the end of the unpacking tunnel, this will once again become an active blog.