Jeff Duntemann's Contrapositive Diary Rotating Header Image

September 8th, 2008:


The original Star Trek premiered 42 years ago today. Feeling old, I went for a walk and tried to identify another pair of three-syllable homonyms and got nowhere. Viritrilbia, we need ya down here for a bit—and bring McPhee if you’ve got him.

Also on the word front, I got a note last night from a reader asking me how I define “fetish”, as my use of the word in yesterday’s entry puzzled him. I think he’s young, and maybe he’s thinking latex or bicycle seats, but not so: A fetish is a morally-neutral opinion held with peculiar force. The words “bias” and “prejudice” are now generally considered pejorative, so I had to think of something else. “Fetish” seemed to fit. We all have them, and as we get older and more willing to consider the possibility that we are not all-wise, we often begin to admit it.

My best-known fetish is the contrarian reaction to the well-known (and pretty silly) tech culture aversion to upper-case characters. Talk about a fetish: EVERYBODY KNOWS THAT UPPER-CASE CHARACTERS MEAN THAT YOU’RE SHOUTING, SO NO ONE ANYWHERE IN THE UNIVERSE SHOULD EVER EVER EVER EVER EVER EVER EVER USE THEM FOR ANYTHING EVER AGAIN!!!!!! well guys in just spring when the little lame goat-footed balloon man begins coding far and wee (in pretty-how towns like palo alto) even e. e. cummings cant figger out wtf hes trying to do especially if he does it in c {heh}

My fetish is this: Upper-case characters should be used for the framing members of program code and content markup. In Pascal, things like BEGIN, END, WHILE, REPEAT, UNTIL, IF, THEN, and so on give the program its shape. They should stand out against the general landscape of functions and variables like kleig lights. Ditto content: Markup tags should be in upper case. They need to stand out. Statistically, ordinary content text is lower case, with a sprinkling of upper-case characters so thin as to barely be there. Not being able to spot a tag in the thick of your text can make errors so hard to see that you start flip<p>ing out, whether you’re in Palo Alto or Pa<hr>ump. The whole idea is to make the structure of your work easier to see at a glance, especially when there are pages and pages of it to go through and keep correct and-up-to-date.

I know I’ve lost the war, but I and others with the same fetish may have fought it well enough that the lower-case fetishists had to build the prohibition into what amount to the physical laws of content markup: XHTML absolutely will not allow upper-case characters in tags. God help us all if somebody somewhere perceived our HTML tags as SHOUTING!

And we give these people Ph.D.s, mon dieu.

(The only rational argument I’ve ever seen about this involves HTML compression, which gains you a mind-boggling 3-4% in markup file size. OMG, PONEZ!)

My other major fetish is about visual development. As our tools get better, hand-coding is increasingly a waste of time and an exercise of pure hubris. I know it’s fun, but how much will you bet that you can write better assembly code than gcc? I’m sure that I can’t, and I may know maybe a little bit about the subject. This goes triple for CSS/XHTML, which compared to modern x86 machine code are almost trivial. The field is newer than native code generation, and the tools are less mature, but the day will come when you draw the screen you want, and correct, optimized markup and styles come out the back end. We may be closer than you think, and halleluia for that!

It’s downhill from there on the fetish side. My off-dry wine fetish is well known. I’m increasingly sure that high-fructose corn syrup lies behind most of our obesity problem. I worry that the Pope will become a serious danger to the Catholic Church, if he hasn’t already. Etc. The point is that we all have our obsessions. We may have reasons for them—or think that we do—but certain ideas put down roots in us, and after awhile it’s difficult to set them aside. The wise person watches his/her own fetishes closely, lest they become damaging in some way. Shoot for moderation in all things, especially your obsessions!