Trying to fill in my 2006 Census online has been frustrating. It is amazing that in this year, there are employable web programmers that write such bad software.
Where every important web application I use (online banking, federal tax return database(!)) is willing to at least tolerate Firefox and Linux, this one doesn’t. It has all the needed base function (Java, JavaScript, Flash, Spyware, Adware, SpamZombie2000), it just doesn’t have some particular kind of mystery juju that the web site indiscreetly sniffs for.
“Send email to their contact address!” you say? Ha ha, meagre earthling, unlike every other major web system, there is no email address posted, and I’m just too good looking to dial a toll-free number on the phone to talk to their robots.
“Are you sure you have everything installed?” Oh yes. When the super sekrit MSIE impersonator is activated, the web system’s Java applet even starts. Seconds later, this window appears, indicating a depressing imperative:
“Why don’t you look at the code to work around it?” Not a bad idea, except that every capillary in my eye popped, with a torrent of hot aortal blood rushing down my face, as soon as I hit the “open javascript console” menu option. The circulatory upset was caused by the 37 javascript bugs resulting from a single page. No, my days of building a delectable dish out of doggy doo are long gone, my friend. This is beyond repair.
It stinks. The census will just have to wait until they fix this. I am sorry, World, if my small act of civil disobedience causes you to have spasms of datalessness, but there are principles involved.
This short 1994 paper is worth a read for computer science practitioners.
It discusses fundamental problems of distributed systems, and in particular criticizes that field’s tendency to focus on the simple problems rather than the hard ones.
While some recent frameworks try to deal more with the harder problems of distributed systems (say, J2EE), the similar gloat-about-solving-the-nonproblem comes up all the time in other areas. We solve the GUI widget problem (reinventing a hundred APIs), but as far as rich and complex graphical applications are concerned, those are ant-sized problems. In compilers, we add an optimization, but often lack the procedural safeguards and testing methods to prove that these are worth the cost. In the OS, we take delight in a fancy new CPU or I/O scheduling algorithm, and (why not?) invent pluggable interfaces for them, but then lack any clear statement about why it’s better; if pluggable, which any particular sysadmin should use. “Try each of them.”
What these cases have in common is the disproportional focus on the relatively easy problems, while failing to address, or sometimes even to recognize, the hard ones.
Because GXRP was still under maintenance (due back this week, yey), I got to spend another few hours on commercial airlines last week.
Like last time, the trip went well. Neither security nor customs paid much attention to me, and I got to relax and think in relative silence for a few hours. (As other parents of young ones will know, silence is a rare treat.)
While waiting, that relative silence was broken by a few mundane events: announcements, mutter, and telephones. The latter turned out to be interesting, not just because of what the people talked about, but because of how they talked.
Take a manager of some small business, who had several pay-phone conversations with some fellow manager about a person (“Dave” ?) they needed to dismiss. Apparently this Dave person has committed twelve consecutive offences of insubordination, rudeness, even outright physical threats. Now that Dave was fired, he fired back, threatening to sue. Apparently, getting away with those eleven prior offences may have led him to believe that they were inoffensive. Imagine the poor man’s shock, I mean shock, when the twelfth straw plugged the camel’s snout. The unnamed manager/passenger discussed this matter over a fifteen minute period with all the discretion of Paris Hilton. In the 5000-square-foot waiting area, we could all hear it, and speculate about the exact nature of the repeat offence.
Another person, also apparently a manager, talked with a colleague about why a third person was skipped over a promotion to “director”. The unpromotee apparently lacked “communication skills” commeasurate with the role. The telephone conversation went on and on, with the decision-maker almost pleading with the other person to understand. It was emotional enough that, had we had both been inebriated, there may have been a comforting hug or handshake offered. Not that there’s anything wrong with that.
Neither of these folks was yelling. But in a quiet waiting area, even mid-loud discussion volume is too high. When I use a cell phone in a public place, I nearly whisper and cup its microphone and my mouth with a spare hand.
On the other hand, there was a time with too little noise, and that was during take-off. The CRJ is spooky quiet on the roll and the initial climb. (This is spooky because it is at these times that the engines are producing maximum thrust. Most aircraft are loudest at this time.) In the case of the CRJ, only the whoosh of the air grew louder as we accelerated. It was the sound of parasitic airframe drag – the main kerosene consumer at cruise.
As I write this back home, lawnmowers are working in the background. Noise level: back to normal.
Life’s fortunes have a habit of abruptly swinging between extremes.
One day, your humble correspondent travels to a nearby town to finally retrieve the airplane stuck there for seven weeks. Same day, he visits a lovely home very near that airport, to contemplate buying this property. Then he flies to his soon-to-be-ex home in a shiny newly-improved bird. Electrifying (in a good way).
Next day, your humble correspondent’s wife’s semi-illness turns serious. And the family brat takes really ill. When one of them barfs, the other whines or mopes. Then they swap roles. That leaves just one mostly functional human (me) to look after the dysfunctional ones, plus keep effort flowing toward the day job during a particularly work-intensive period. Sleep? Ha, sleep! Who needs it, when instead one can visit a kids’ hospital emergency room at 3 AM. Concentration? Ha, concentration! Who needs it, with so much to do? Electrifying (in a bad way).
While my soon-to-be-ex neighbourhood is not known for its poor, several eyebrow-raising incidents remind me how I won’t miss some parts of this place.
- The beggars hanging around the upscale grocery store’s main entrance, “selling” poverty papers.
- A beggar lady in her 40s, disheveled, walking right up to me just as I’m loading up Big Yellow Car with the fresh food loot. “Can you spare some change? I need to buy some bread.”
- The sight of a dozen “borrowed” shopping carts sitting in peoples’ front yards or on the street.
- Twenty minutes later, a similar nicotine-stenched lady at my front door, asking for a few dollars to ride a bus home. “I live at Birchmount & Eglinton.” After I turned her away, she walked rapidly down the street, stopping at none of the next twenty homes. It was as if I was specifically targeted.
The two lady beggars were operating well beyond normal etiquette. I hope it gets better rather than worse here, though soon I won’t be here to care.
Our little brat Eric had about seven days of illness recently, four in declining and three in improving health.
Now that whatever bug caused the boy to get sick, has left his system, something else took its place. Now he smiles again. A lot. At us, at strangers, at cats, at airplanes, at things big and small. It is an infectious smile, one of the typical childhood epidemics that deserve more attention from the CDC than guns. Like a chuckling kid, a smiling happy one seems to pass on the good germs to those nearby, where smiles stay and spread.
It reminded me of this little note I passed around in university class many years ago. I must have found the text on Usenet somewhere; I’m recollecting from memory:
Hello, I am a space alien disguised as this sheet of paper. I am very friendly. In fact, I am making love to your hands as you’re holding me right now. I know you like it too because you’re smiling. When you’re done with me, pass me to someone else to enjoy.
One drawback of Eric’s restored health is that I won’t be able to reap one benefit I carefully sowed one day during his illness. I was taking time off work to look after the boy, to give Juimiin some rest. This particular rest interval she spent in the kitchen (?!). While she’s not a coffee drinker, I need one or two swags in the morning, and that morning I hadn’t yet had one. So I finally gave her these step-by-step instructions on how to make me the perfect little mug of coffee, if I happen to be busy with the boy at the time:
- Bring mug of water to rolling boil in microwave.
- Plop in a teaspoon or two of instant coffee into the mug. (I have no taste.) Watch for froth.
- Plop in a wee squirt of milk and a few morsels of sugar.
- Bring me the mug.
- Walk away slowly, subtly wagging that lovely hiney. (I have some taste.
In her moment of weakness (she has been a bit sick too), she consented to me sharing that description with the world. Expect never again to see such compliments of my lovely lady wife though. The other problem is that, now that the boy is well, she’ll just tell me to make my own damn fake coffee.