In Love with Form
Here in Colorado, the skies are grey and overcast. At this altitude, not much over.
There is moisture in the air. We notice that here because it's usually dry enough that you reset your embedded controller protoboard by walking into the same room whilst shuffling your feet.
A week ago, I knew it was the Last Beautiful Day of Summer. When I told the Wife, she scoffed, but here it is a week later and it has grown steadily cooler and grayer earlier and earlier in the day as the week slipped by and no hot day plus cooling jump in the Creek for me.
Damn. I sat through LDBoS in the basement coding PigIron. I wandered outdoors at noon to check the mailbox and squinted at the Yellow Goddess in the Sky, but that was it. I knew what I was doing.
Don't tell me I don't sacrifice for my Art.
Chess Grandmaster Bent Larsen said of the 1978 Baguio City World Championship that "Rain is much better for chess than hot, sunny days." It's better for computer programming, too. I only mention because, what, 125% of computer programmers are chess players?
That's no surprise because chess, music, and polyglotry all are language, in the case of chess or music, symbolic languages with little intrinsic meaning.
Ditto programming: very powerful manipulation of symbolic language with no intrinsic meaning. After all
chmod chown chgroup egrep
may be poetry or may be an invocation to some demiurge best forgotten.
We programmers should be wary of our excusable Love of Form. Some of the best of us filigree and fancify all that we touch. Form only has yea so much meaning in Programming:
- compactness of representation
- easy understanding for third-party evaluation and maintenance
PigIron gobbled error codes yesterday, mostly with some Perl before the Swine:
{geshibot}public class ReturnCode
// ...
rc = new ReturnCode("RCERR_IMAGECONND", 412);
rc.addReasonCode(new ReasonCode("Image connectivity definition error", "RS_NONE", 0));
rc.addReasonCode(new ReasonCode("Partner image not found", "RS_NO_PARTNER", 4));
rc.addReasonCode(new ReasonCode("Parameters do not match existing directory statement", "RS_NO_MATCH", 16));
rc.addReasonCode(new ReasonCode("Image device not correct type for requested connection", "RS_DEV_INCOMPATIBLE", 28));
rcMap.put(412, rc);
// ...
public static ReturnCode returnCode(int rc) {
ReturnCode result = null;
if (vsmapiRC == null) {
vsmapiRC = new VsmapiRC();
}
result = vsmapiRC.getReturnCode(rc);
return result;
}
// ...
public ReasonCode getReasonCode(int reason) {
ReasonCode result = null;
if (reasonCodes.containsKey(reason)) {
result = reasonCodes.get(reason);
} else {
result = new ReasonCode("RS_UNKNOWN_TO_PIGIRON", "PigIron does not know this reason code", reason);
}
return result;
}
// ...{/geshibot}
I wrote it in a couple of hours, it works, it's reasonably complete. Maybe someday I'll tidy it up. But I can think of lots of things more important, like blowing bubbles under a waterfall on the Last Day of Summer.

