08 January, 2006

And so this is... Christmas "vacation"

I have been derelict in updating this weblog, because I've been, ah, "enjoying my vacation." What exactly does this mean?

First, it means an obsessive drive to write computer programs. I highlighted some of them in a previous post. However, a significant amount of work has gone into some other programs that, for the time being, are less easy to "see".

Programming is a pursuit in which an unintelligent machine demonstrates conclusively to intelligent people just what fools they are. Do you think that you are a clever person? Take up programming, and the computer will quickly disabuse you of this notion. The number of mistakes a human being can make in pursuit of solving some very, very simple problems is remarkable, humblingly so.

I also set about working on a generalization of the main result of my PhD research. The actual problem I'm working on can be paraphrased like this: Where should one look to find more of these interesting sets? I worked on it for several days, not counting the occasional dabbling I did, on and off, over the past few months.

Proving theorems is another pursuit that humbles the intelligent. The proof comes in a note I recorded after showing that something couldn't be done: "I should try to generalize this!" No surer sign bespeaks my despair than an optimistic-sounding explanation point.

I sat down the next day to work on it some more. I did not try to generalize that nonsense; I toyed with a completely different approach to the problem. It's a good thing, too; I shocked myself by stumbling onto the proof I had been seeking. What's most embarassing is how "simple" the proof is (to those who understand the background material; sorry, laymen). Of course, I had to spend the next few days cleaning up little oversights in the proof — things like special cases. I had to endure the pain of spending one entire day on the two-variable case; I was very close most of the day, and it turned out to be so simple...

The trouble with all this proving and programming is that it left me with insomnia. I spent several nights lying wide awake next to my wife, my mind racing with ideas on how to fix this final hole, be it in the program or in the proof. I imagined many other things besides, none of them particularly interesting. The mind is a curious thing; I've found that that sometimes it becomes a sort of perpetual motion machine when I push it too hard. It's very difficult to recover after that.

The gift of asthma revisited me, too. Had a pretty bad scare last week: I rode the bicycle to a gas station to buy a newspaper; upon my return, I was coughing and choking worse than I have in a long time. Asthma, like computer programming, is an excellent tool for humbling the proud. To my knowledge, there weren't any allergens prompting this episode; it was simply the cold, dry air, and the lungs' sensitivity after several visiting my parents and their cat. Okay, so the cat's an allergen, but I was back in Rocky Mount at the time.

Needless to say, I'm back on the medicine, for the first time in several months. I'm not complaining; I consider asthma a gift, not a curse. It is, however, one of those inconvenient gifts that require accomodation... Blessed be God, and blessed be his holy name.


qkl said...

What are you trying to program and in which language?

jack perry said...

I'm working on various things math-related. The only example that I can show youis here: Java drills for intermediate algebra.

I'm using the languages Eiffel and Java. I plan to combine the two, since the SmartEiffel compiler has a "compile to JVM" option, but I haven't worked on that yet — I've been too busy re-learning Eiffel. (I have to do that every now and then.)

I have in the past worked seriously with (in order) BASIC, Pascal, C, Modula-2, C++, Rexx, Oberon-2, and Maple. I am thinking of changing from SmartEiffel to ISE Eiffel, but that would take some serious redoing. I'd have to be sure that the benefit would outweight the cost...