Son of Devil's Advocate, September 2000

Click here to make UNIX performance tuning easier!

Previous SODA Index of SODA Columns Next SODA

Son of Devil's Advocate

Stan Kelly-Bootle

Picture of Stan Kelly-Bootle

I Wish to Register a Foot-Note Rich Complaint

As a naturally lenient kind of guy, fully versed in the rational Socratic tradition of calmly bandying the pros and cons of almost every altercation, I do, nevertheless, find my dander rising and my gast flabbering under certain extreme circumstances. The traditional stance for journalists is to pursue the controversial.

This is mainly the fault of you, yes you, the reader/consumer, provably reluctant to buy the headline "All Quiet On the Western Front," or "NASDAQ Index Stable." The most junior editor would re-write these as "What On Earth is the Bosch Up to Now?" and "NASDAQ Index Strangely Stable," implying real news to follow.

We are definitely, here in the USA, living in what P. J. O'Rourke calls a whining culture. With so much to be thankful for, the "activist" [ref 1] must dig ever deeper for fund-raising "bad news" of the Politically Correct persuasion. Lord knows, the world both near and far has its share of injustices, but try carrying a Civil Rights banner in Somalia, Cuba, Afghanistan or China. Or protest whale-fishing in your local Inuit community.

Whence my guilt at moaning about relative but maddening trivia:

My American Express bill has a paper fold several millimeters above the perforated payment slip. In my haste to pay, can I ever detach that damned slip without ripping down the wrong line? Think of the billions AmEx have spent in mainframe-robust software. Simple form-design has escaped their budget.

Next, Compaq who are supplying hyper-fast multi-processor systems to the French Nuclear industry (bonne chance, je dis), seem unable to correct elementary blunders: first, I ordered a 3-part special-offer carrier-bag pack for my Presario -- they delivered 2 of the parts, then announced that the main part (the bag itself) was discontinued (am I boring you?) -- my credit card was charged for the full amount, yet Compaq are incapable/unbothered to correct the error -- may the whole of La Belle France blow up Louvre, Eiffel and all. Sauve qui peut!

Second: I have two Presarios (don't ask) and one of them (don't ask which) has the front-lid logo glued upside down.

Further, I switched to CompuServe 2000, and, blow me as they say, the former sweet welcome/you-have-mail/farewell voice (see last month's SODA) is no longer that of the one with whom I am in love. Ah well, what the hell -- I'm saving $9.95 each month.

Anyroad, on the bright side, I'm delighted to report the ultimate in NON whining. I refer to the URAL motorbike, named from the remote location where these ex-Soviet machines are, to coin a loose phrase, "designed, manufactured and assembled." The URAL has a cult following in Europe and the USA, possibly reflecting the e-commerce laxicon where "failure" and "success" are synonymous. For around US $8000 you get a sort of shoddy 1930 BMW ripoff (literally) complete with a crowd-pulling, but fatally unstable, sidecar. The wonderful URAL sales slogan is

Unspoiled By Progress

which one hopes might be adopted for Windows 2000 when MS really gets to understand post-modern marketing.

The URAL "open" unreliability is legendary, central, and hugely germane. Normal motorbike sidecars were designed to carry the odd spouse and brat, but the URAL sidecar, for trips over 15 miles, is intended to carry manuals, tools, parts, and a spare engine or two.

All the ancient Skoda/Lada anti-Soviet engineering jibes are resurfacing as part of the URAL folklore:

How d'you double the value of your URAL? Fill it with gas.

What d'you say to a URAL owner armed with a Kalashnikov? Nice bike there mate.

And so on --


This column is dedicated to Bjarne Stroustrup who loves my footnote exuberance (see also my current Computer Contradictionary "Mind the Gap" column at for even deeper, recursive Swaine-inspired footnotes)

Well worth a click'n'browse'n'digest is

(but be careful when relating this URL over the 'phone) for some really fruitful Q&A insights from the C++ maestro himself. The advent of Microsoft's C# (aka D flat?) is a mixed blessing: Bjarne will get fewer "What d'you think of Java?" but both he and Jim Gosling will get more "What d'you think of C#?" queries. It's no fun inventing a computer language! So, the expensive MS acquistion of my ex-Borland helden-coder, Anders Hejlsberg, is paying off.

Look out, too, for _Accelerated C++_ (Addison-Wesley, Aug/Sep 2000) by Andrew Koenig and Barabara E. Moo, a team close to Bjarne's Mother Church that guarantees the latest and best in OO pedagogy. The gist is to dip soon and deeply into the powerful ISO C++ template and library abstractions without all those early C distractions.

In view of all the emerging deep-down-kernel "vulnerabilities," you should grab soonest the forthcoming _Real World Linux Security_ (Prentice-Hall, Oct/Nov 2000) by Bob Toxen. I've been reading the pre-pub manuscript with both horror and delight -- so many hints for the defender -- and the attacker?

Stan Kelly-Bootle's Devil's Advocate, UNIX Review, September 1985

Many-One Correspondence

I was delighted to see those "Dear Editor" letters in the "The Last Word" feature of recent UNIX Reviews, whereby you, the readers, the very life-blood without whom etc., can participate in our historic mission etc.

My new WWB (Writers Work Bench) is not performing as promised. I was told that the command etc (extra terms concatenator) would automatically generate apposite, in-line strings, known as _ficelles justes_ or _contextensions_, until you hit Control+S (Suspend). Control+Q (Qeep going?), naturally, causes a resumption of etc output. To avoid any confusion, the Berkeley version uses Control+H (Halt) and Control+R (Resume).

The etc syntax is easier done than sed:

etc with no arguments will amplify your text with a string of up to 64 relevant characters (including punctuation), but you retain the option to pause, edit, continue or exit. Alternatively,

etc '/'s4'/ /'.'/'

for example, will provide four complete sentences, pausing at each full stop, unless you manually intervene. All these textual interpolations come, by default, from the standard WWB input file of context-sensitive data. However,

etc '/'c3'/ /';'/' < yourfile

allows you to use your own private fund of fillers, cliches and placebos. In this last example c3 means that three of your own clauses will be selected with what we call the Reagan option (pause on semi-colon).

If, flying in the face of the "The Chicago Manual of Style" (which I used to think was a Baseball Book until last season's playoffs), you need a _genuine_ unexpanded "etc.", WWB does provide a diacritical tactic, but the exact sequence escapes me at the moment.

Those who question the value of all this, and claim that it's quicker to type in one's own contextensions, are clearly not true UNIX addicts. Besides, for writers in a hurry, especially those paid by the em, it is a joy to produce ten pages of passable rubbish with a quick: "The computer has changed the way we work, play, etc '/'p10'/'"

But back to the correspondence columns which have always been my favorite branch of literature, owing to the paucity of my attention span. A friend of mine who used to edit "Picture Post" (a British version of "Life" magazine) told me once that if things were quiet they would write bogus letters to fill the blanks. The subjects were chosen to invoke torrents of genuine correspondence. His most successful invention, combining pets and religion, purported to be from a widow complaining that her dog was not allowed in with her when she went to Chapel. For several years, writers such as Col. Rtd., Anti-Vivisectionist and Mother of Eight sent in their weekly arguments pro and con the proposition that "Animals have Souls."

Fortunately, UNIX Review has no need to stoop to such trickery. We just ask Bill Tuthill to use goto in a program example...and, whoosh, the mail room is bedlam. "Bill," we say, "page 104 is looking rather bleak. D'you think you could run up something, how can we put it, a tad unstructured?" Never fails.

Many have written asking where I stand on the goto controversy which simply refuses to go away. At the terribly low level of my current programming efforts, all I can promise is that I will forego the old goto construct as soon as Motorola can produce a useful, compatible 68000 with no JMP, BRA or Bcc instructions.

Insofar as I understand the discussion at higher levels, I feel that I am essentially a neo-Knuthian in this matter, not untempered by a few hammer-blows from the post-Dijkstranist Jacopinites. But can it really be that simple? As I have explained elsewhere ("The Devil's DP Dictionary," McGraw-Hill, 1981) the Bible makes it clear that the goto is an integral part of the inescapable Babol Punishment Package:

GOTO, let us go down and confound their language ( Genesis 11:7).

It seems such a nice idea to be able to transfer control to some as yet unwritten part of your program and break for coffee. Yet, verily, your sins will be manifest even unto the next generation.

Recent renewed interest in Reduced Instruction Sets reminds me that in the early poor-but-happy EDSAC days, we used to ask "If you were restricted to just _two_ machine instructions, which would you choose?" The cunning answer was, and still is (I believe), SUBTRACT and BRANCH-NEGATIVE. There you are! Stuck with the dreaded GOTO, unless you avoid multiplication and division. And for all you Buddhing Zens out there, what if you were reduced to a _single_ instruction? Would it be the elusive COMEFROM or the sublime IFONLY? Do write!

ref 1: "Activist" is yet another loaded term, like "do-gooder," "tree-hugger," or even "mother," that has attracted diverging interpretations. And in the weird e-commerce domain, "failure" has come to be the core of a "successful" business plan. The CEO annouces with pride that "It wasn't easy but we met our target -- a total loss of $350 million. [Wild applause.] One of our smaller divisions did, alas, make a nasty profit [Hisses -- Boos] -- but we've fired all the scoff-plans responsible -- read my lips -- this setback will not happen again [Prolonged standing ovation]."

"Activist" is especially interesting in being both bland (bored, demonstrative French students on the _manif[estation] du jour_ praying/screaming to be arrested) and exciting ("No more Jim Crow" marches through Alabama in the 50/60s). Somewhere in between, I see Ralph Nader taking on Ford and General Motors, and the Audubon Society (named for the infamous bird-killer/painter) tackling Shell and Chevron on behalf of the wild-life that survived Audubon's anatomical curiosity. [Tone down the controversy -- DW; OK -- SKB] There's the ever-taxing problem of priorities which defy numerical analysis. A dozen, at most, die when their Pinto gas-tank explodes, while millions suffer from easily preventable diseases.

I spot a socio-linguistic connection with "personality" referring to anyone who has appeared, however fleetingly, in or on the "media." Thus, many activists dream of becoming TV personalities, failing which, being a Radio personality is a nice second. A good third is making the printed page, but in our inter-connected media-ridden days, this oft leads to exposure in the other branches of "personality-awareness." Being on the big wide web, alas, carries no big wide weight. The old Andy Asshol fifteen- minutes of "fame" no longer applies. Rather, for fifteen dollars you can email your 60 million closest strangers each week reminding them of your achievements and agendas. With jpegs of the spouse and kids on your recent trip to Reno. I mean to say, this is low-cost exposure not dreamed of in Time Life's philosophy. And, sadly, for this very reason, it doesn't rate highly in the personality league tables -- unless you seek an entry in the Guinness Records as "World's Most Hated Spammer?"

In our own fair trade, the appellations "methodologist" and "architect" also seem to be sliding down the prestige scale. At least, I'm getting fewer PRs signed "Corporate Framework Architect" or "VP Portable UML Methodologies."

Meanwhile [End digression -- SKB], we, the not-yet-dead "quick" are, by definition, "active" in some observable sense. Indeed, Shakespeare sees us all as _actors_ strutting on the world's stage -- hamming away through life, in fact, playing many roles. Who writes our parts in this grand tragicomedy? Ask Calvin or Hobbes -- but I digress [Yes, we noticed -- DW]. V. I. Lenin, switching metaphors slightly, said "History is a game with no spectators -- we are all _players_" [You are still digressing -- DW. Be patient -- SKB]