Curmudgeon

  Download PDF version of this article PDF

There’s a Lot of It About

And everybody’s doing it.

Stan Kelly-Bootle, Author

“A lot of what, and about where?” I hear you cry. One question at a time, I reply. First, there’s too much of everything these days, and, second, it’s happening all over. Furthermore, everybody’s doing it. As a contemporary Wordsworth might say: “The Web is too much with us, late and soon, getting and browsing we lay waste our powers.” There is a glut of unfiltered information proving more dangerous than Alexander Pope’s “A Little Learning” where “shallow draughts intoxicate the brain.” Pope surely predicts our age of instant, effortless data access when he writes:

 “But, more advanced, behold with strange surprise
New distant scenes of endless science rise!”

We also have our latter-day Wordsworth, the contrarian’s contrarian Andrew Keen (quod googlet). His The Cult of the Amateur (Doubleday, 2007) is provocatively subtitled “How today’s Internet is killing our culture.” Keen bemoans Web 2.0 as the digital dystopia, regretting that the technology he promoted in the early Internet gold rush has become Frankenstein’s monster. Amateur (in the derogatory sense) content is murdering the traditional media. On the wider cultural front, it spawns instant celebrity cults, not excluding Keen’s own dizzying exposure on the Web! Fads and faddisms come and go thick and fast; fashions, thin and thinner, in a snowclone of clichés. In C++ terms:1

    white = new black; 
   purple = new white;
   hiphop = new rock_and_roll; 
   small = new big; 
   subprime = new affordable; 
   michigan = new florida;
   C# = new C++; 

 Thus, wisdom-free information is not just here-and-there and now-and-then but all-over, all-the-time. Bad news still predominates the digital headlines as it did in the old media, but now any amateur with Photoshop or iWeb can create 9/11 conspiracies for millions of YouTube and Brasscheck viewers. What used to be the occasional endemic scare is now a continuous pandemic panic. Local is dead. Global rules. Private angsts are no longer confined to Freudian couches but relayed live (stretching the meaning of live) via a million blogs. Each counseling group and realtime disaster has its own dedicated e-magazine and TV channel. National Geographic is the daily Tsunami Times. Discovery runs an hourly bird-flu alert digest. What was once the History Channel is now subdivided into the Hitler, Stalin, and Bush channels. Press the red button for Darfur.

Hackers’ moans accumulate on http://thedailywtf.com. (I refuse to explain what wtf means here, except to say that it is unrelated to the World Taekwondo Federation.) Will ACM soon have a Journal of Insoluble Problems and Persistent Bugs with articles such as “Why Your Projects Will Always be Late and Over Budget”? In spite of which, of course, we will continue to worry about the inevitable.

I can, perhaps, offer some good news, or at least a hint on solving the late-project problem. It concerns the world’s largest IT project, the UK’s NHS (National Health Service) $25 billion plan to digitize and centralize all patient records. The word patient is jarringly ironic, perhaps, in view of the six troubled years (missed deadlines, budget rescaling, managerial and staff changes) endured since 2002 when the NHS NPfIT (National Programme for IT) was launched. (The fIT part of the acronym has also invited some titters.)

As Rod Thomas has observed (London Times, April 28, 2008), the NHS has neatly solved its schedule-slippage problems by “renaming its IT strategies once they fail to deliver their objectives against target time scales.” Thus, the original 1992 strategy was called “Getting Better with Information and Technology,” followed by the 1998 strategy named “Information for Health,” subsequently morphing into NPfIT in 2002. The NHS has just appointed two new chief information managers, and Thomas is predicting yet another “rename” to reset the project clock to zero, as it were. From being essentially 16 years late, the project is suddenly well ahead of schedule.

Reverting to real solutions, I suppose that Peter G. Neumann and his ACM risk analyticals2 are redrawing the familiar conclusions from the NHS saga: overly grand plans are overly risky! Even the word grand invites disaster—witness Napoleon’s Grande Armée and the fate of so many grand dukes. Are there some projects that just resist decomposition but must be tackled as a whole? Neumann is aware of the pros and cons of holism in both the medical and SD (systems development) domains.3 Some might find echoes of past Stanford Research, pre-SRI, “close encounters” with pseudoscience and the paranormal when Neumann tabulates various holistic and nonholistic philosophies. Under holistic “alternative health care (cure the causes),” he lumps together, approvingly:

 “Whole-person approaches such as proactive prevention, homeopathy, acupuncture, diet, exercise, and orthomolecular rebalancing can lead to long-term sustainability, less drug use, lower overall costs.”

 The nonholistic nonalternative (i.e., the maligned “traditional” approach to medicine and health care) comes out badly:

 “Allopathic medicine (treat the symptoms): Suppressing symptoms (with pharmaceuticals, radiation, chemotherapy, corticosteroids) causes iatrogenic effects. Antibiotic overuse induces mutations of resistant bacteria. Long-term effects may offset short-term benefits.”

 There are sound points here, lurking in a skewed dichotomy. The downside to allopathic treatment is acknowledged by traditionalists who urge many of the preventive proactions listed as holistic. Diet and exercise are hardly “alternatives,” except perhaps to the Jolt/pizza-stereotype programmers who are now busy Googling the meaning of Diet + Exercise. Yet the mention of homeopathy and orthomolecular balancing (also known as “Eat lots of organic broccoli!”4) brings instant pause. I find “less drug use” and “treat the symptom” in opposite columns a tad problematic, given recent verdicts on the ineffectiveness of homeopathy (beyond the placebo effect), where the “causes are cured” using barely detectable, serially diluted amounts of the “drug” (nonorthodox molecules?) thought to be the cause of the symptoms.

The subject abounds with teasing paradoxes and conflicting definitions of holistic as one moves around the domains. When comparing holistic and nonholistic systems development, Neumann again reveals a bias, albeit a less contentious one. Holistic SD is characterized as “principled SD” in opposition to nonholistic as er, er, “unprincipled.” As defined, we cannot help but side with the holistic angels, etymologically wholesome, who make “pervasive use of requirements, specifications, composable system architectures, sound software engineering practice, design for trustworthiness, evolvability, maintainability...” All of which “...can enhance long-term sustainability and yield overall cost savings.”

They also serve the best apple pies, brush their teeth, and landscape their parents’ graves.

Heading to join Judas in inferno are the unprincipled so-called developers who scarcely deserve to have the predicate “system” whispered in nearby strings. Their “seat-of-the-pants ad-hoc constructions lead to rampant vulnerabilities, low assurance, patch-and-pray system administration, continual remediation, iatrogenic upgrades, cost overruns, development delays, system failures, project failures, wasted human resources.”

Quit stalling, Peter. What d’you really think of these unprincipled bastards?

Iatrogenesis, invoked here in both medical and SD contexts, has suffered some semantic dilution over the years. Originally meaning the side effects of healing, good or bad, it now commonly refers to the (usually unintended) harmful effects of medical treatments (in the widest possible sense). As such, it has its own vast literature and an American Iatrogenic Association doing its best to keep physicians loyal to their Hippocratic oaths.

The basic ethical dictum, “First, do no harm,” is usefully carried over by Neumann into the SD arena, where we all know the dangers of the hasty Band-Aid and its extreme manifestation, the one-line-patch.5 Incidentally, Neumann refers to the nonholistic “patch-and-pray” debugging method, inviting the question as to which God or gods are to be besought by the unprincipled. We do know that the official Hippocratic Oath is “sworn by” Apollo (CTO), his son Asclepius (general practitioner), and Asclepius’s daughters Hygieia (rubber-gloved prevention) and Panacea (holistic healing). A divine family, each a specialist with top qualifications. In my own prayers I add the other four daughters: Iaso (long-term recuperation), Aceso (antibiotics), Aglaea (cosmetic surgery), and Meditrina (longevity/cryogenics). You can’t be too careful.

Elsewhere, I have devised suitable prayers (and sacrifices) to ensure success in diverse SD and IT projects. Suffice it to mention that Jupiter attracts special entreaties when faced with I/O problems.6

How helpful is Neumann’s dichotomy in correcting the NHS setbacks? There’s no doubt that the multibillion-dollar budget attracted the highest-heeled consultants, well versed in all the best practices of SE (software engineering), but not, apparently, consultants from CSI via SRI International, able to translate wish lists into timely, within-budget working systems with happy users. Nobody at the NHS NPfIT level of expertise set out to avoid all the goodies listed under holistic SD. Every single item, from “pervasive” use of requirements and specifications through to design for maintainability, would be noddingly ticked in the YES box.

A unified, central database with reliable, up-to-date information and secure access controls is a major challenge for any industry, but for a national health service it’s a matter of life and death allowing no room for compromise. Yet, scaling up from relatively trivial local trials to a national, integrated network has proved intractable. We are able to pontificate about decomposable architectures but unable to cope when the modules need to mesh.

 Aphorism Contest

The challenge set in my January/February 2008 column was to find contradictory pairs of aphorisms. The trigger example was “More hands make light work” in contrast to “Too many cooks spoil the broth.” The winner is Joseph M. Perret, who submits “Absence makes the heart grow fonder,” conflicting with the unromantic but, alas, realistic “Out of sight, out of mind.” I pause to note that the latter is often cited as an early MT (machine translation) fiasco. It is said, and hard to refute, that this saying was submitted to English-to-Russian then Russian-to-English MT programs, producing the phrase “invisible idiot.”

Perret clinches his victory with the problematic pair: “Mother knows best” and “Father knows best.” He defends this as a true contradiction, claiming that the intersection of his parents’ “wisdoms” was indeed the empty set. I suppose the trendy plural is knowledge sets! In which case, I see a larger Venn diagram for my own immediate family. They’ve joked about my grandfatherly omniscience ever since I told them that I failed in the papal job application by being overqualified in infallibility. Last Christmas they gave me a T-shirt saying, “Forget Google—Ask Stan!”

Next column: L’Affaire Ledin continues. Should we teach the innards of malware? Your views solicited.

References

  1. “The new black” snowclone seems to have started in 1962 as the more colorful “Pink is the new navy blue” when fashion editor Diana Vreeland noticed a swing in Indian fabric preferences. Pedants will note (in vain) that I’m taking liberties with C++ semantics.
  2. This collectivism is deliberate. Brit football (soccer) fans will be familiar with a team called the Hamilton Academicals, founded circa 1874. Fan-chant prosodies are a tad more taxing than for those supporting Chel-sea or Liv-er-pool! See my “Terrace Muse” (Daily Express, 1967). Inevitably, the uncouth Hamiltonians shorten their noble team name to the Accies, not to be confused with the Addicks (Chalton FC’s nickname). Over the years I’ve developed some mock sports-computer collations, including such scorelines as: EDSAC 2, Leo 3 (friendly); Fortran 5, Modula 2; OS 2, Exec 8 (a fine away win for Univac); ICT 1900, IBM 360 (game suspended); Motorola 68000, Intel 8086 (after extra time); the Vista-Leopard game (late kickoff). Fresh examples invited.
  3. Neumann, P. Holistic Systems; http://www.csl.sri.com/~neumann/holistic.pdf.
  4. Leftish greens, who never leave their al dente sprouts uneaten, would point to President George H. W. Bush as an example of what happens to broccoli haters. Alas, his son, Dubya, is quite fond of them. Whom to believe?
  5. D. C. Moulton defined the one-line-patch as “a kludge so minimal that no testing is necessary. Corrected by a further one-line patch.” Kelly-Bootle, S. 1995. TCC (The Computer Contradictionary), MIT Press.
  6. See any anthology of Greek myths by Robert Graves. I/O is still a cow! Also TCC entries at I/O, mount, and prayer [ibid].

STAN KELLY-BOOTLE (http://www.feniks.com/skb/; http://www.sarcheck.com), born in Liverpool, England, read pure mathematics at Cambridge in the 1950s before tackling the impurities of computer science on the pioneering EDSAC I. His many books include The Devil’s DP Dictionary (McGraw-Hill, 1981), Understanding Unix (Sybex, 1994), and the recent e-book Computer Language—The Stan Kelly-Bootle Reader. Software Development Magazine named him as the first recipient of the new annual Stan Kelly-Bootle Eclectech Award for his “lifetime achievements in technology and letters.” Neither Nobel nor Turing achieved such prized eponymous recognition. Under his nom-de-folk, Stan Kelly, he has enjoyed a parallel career as a singer and songwriter. He can be reached at [email protected].

 

acmqueue

Originally published in Queue vol. 6, no. 3
Comment on this article in the ACM Digital Library





More related articles:

Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx in Action
DevEx (developer experience) is garnering increased attention at many software organizations as leaders seek to optimize software delivery amid the backdrop of fiscal tightening and transformational technologies such as AI. Intuitively, there is acceptance among technical leaders that good developer experience enables more effective software delivery and developer happiness. Yet, at many organizations, proposed initiatives and investments to improve DevEx struggle to get buy-in as business stakeholders question the value proposition of improvements.


João Varajão, António Trigo, Miguel Almeida - Low-code Development Productivity
This article aims to provide new insights on the subject by presenting the results of laboratory experiments carried out with code-based, low-code, and extreme low-code technologies to study differences in productivity. Low-code technologies have clearly shown higher levels of productivity, providing strong arguments for low-code to dominate the software development mainstream in the short/medium term. The article reports the procedure and protocols, results, limitations, and opportunities for future research.


Ivar Jacobson, Alistair Cockburn - Use Cases are Essential
While the software industry is a fast-paced and exciting world in which new tools, technologies, and techniques are constantly being developed to serve business and society, it is also forgetful. In its haste for fast-forward motion, it is subject to the whims of fashion and can forget or ignore proven solutions to some of the eternal problems that it faces. Use cases, first introduced in 1986 and popularized later, are one of those proven solutions.


Jorge A. Navas, Ashish Gehani - OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization
OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls.





© ACM, Inc. All Rights Reserved.