ACMQueue
Wed, Oct 10, 2007
Columns: Curmudgeon Geek@Home Interviews Kode Vicious | Conference Calendar Issue Index Site Map Videos |
Queue Partners:

ALM: Application Development 2.0 - Myths and Realities
Discover 21 Ways to Use Excel with Java Applications
Need Open Source Reporting? Try a Free Copy of Actuate BIRT!
Guide to Effective Software Asset Management Strategies
Download Strategic Licensing Management White Paper
Latest Queuecasts:





White Papers:

Conferences:









Poll
Are you a member of the ACM?

Yes
No, I let my membership lapse
No, but I'm planning to join
No, I've never been a member and don't intend to join
What's the ACM?



Results
Polls

Votes: 2
Comments: 0

What's New
on ACM Queue
·Standardizing Storage Clusters
·Some Swans Are Black
·Voyage in the Agile Memeplex
·Usability Testing for the Web
·Phishing Forbidden
go to issue index
Most Popular Articles
1A Conversation with Joel Spolsky
2DNS Complexity
3API: Design Matters
4A Conversation with Cory Doctorow and Hal Stern
5The Seven Deadly Sins of Linux Security
 more

CRC Career Resource Center


Business -> Curmudgeon -> Web Development issue

Some Swans Are Black

by Stan Kelly-Bootle, Author
  printer-friendly format
  recommend to a colleague

...and other catastrophes. If you think that the color of swans is simply a matter of avian plumage, it could well be that there's an element missing in your programmer's toolbox.

Surprising

Queue Digital Edition
The PDF version of the July/August issue of Queue is now online.
Download here
Only subscribers are able to download the Queue PDF edition. Activate your account here
Sections
1: Surprising
2: Catastrophe

A Conversation with Joel Spolsky
What it takes to build a good software company: The outspoken software entrepreneur and blogger extraordinaire discusses building a software developers' utopia.
Reporting for Duty - Transcript
Transcript of interview with the VP of Product Management at Actuate, Paul Clenahan
Business Process Minded - Transcript
Transcript of interview with Edwin Khodabakchian, vice president of product development at Oracle

Alloneword
Errors, deceptions, and ambiguity: In any live and growing corpus, some errors are inevitable.
Ode or Code? - Programmers Be Mused!
Is your code literate or literary?
As Big as a Barn?
Taking Measure of Measurement

You may well expect from my title that I'm about to plumb the depths of Nassim Nicholas Taleb's theories on catastrophe and quasi-empirical randomness. I, in turn, expect that you've already read (or certainly read of) Taleb's best-selling The Black Swan - The Impact of the Highly Improbable (Allen Lane, 2006) dealing with life's innate uncertainties and how to expect or even cope with the unexpected. Coping involves learning that the right answer to some problems is, "Don't know." I was tempted to end my column right here in order to prove something or other about our many failures in predicting the future, compared with our occasional successes in "postdicting" the past.

Who knows? Your "great expectations" about my ensuing discourse could be unexpectedly frustrated. Speaking of Charles Dickens's novel, recall that he did leave us a choice between a sad and a happy ending, hoping to please both romantics and realists. In fact, neither group emerges really satisfied since the ploy destroys the basic notion of a narrative unfolding as a credible mirror of real life. Dickensian reality has characters behaving against a precisely described Victorian social milieu. Either ending might be taken as plausible in the absence of the other, yet the readers are allowed to play deus ex machina or diabolus ex machina to suit their fancies. Nowadays, more in keeping with Taleb's view of life's vicissitudes, we find hyperlinked novels where the reader/browser can click away to trigger plot diversions at almost any point in the story.

Taleb's titular Black Swan, of course, goes back ages as a theme in philosophical bantering. It is only to be compared with the nonsensical or oxymoronic "square circle" or "even primes greater than 2" if you start with the axiom "All swans are white," or the equivalent "All nonwhite objects are non-swans!" Once you include "whiteness" in your list of swan-defining attributes (along with neck shape and a host of other avian characteristics), then any nonwhite bird you encounter cannot be strictly dubbed a swan, however many other swan-like attributes it has. Poets were free to dream and write of black swans, but that's known in Brit pubs as "poetic off-license," a major curse in decent philosophical nattering. Indeed, up until 1697 there was no reason to doubt that all swans are white. Each swan encountered helped confirm this proposition, as did, bizarrely, the fact that each nonwhite anything we observed was definitely a non-swan!

All this changed in 1697 when the Dutch explorer Willem Vlamingh reported the sighting in Australia of what he could only describe as black swans. The reports triggered many distinct reactions. The circle-squarers, angle-trisectors, and poets said, "There, we told you so. Next time, pay attention." Strict taxonomists said, "Them can't be swans, you daft Dutch sod - swans is white." Others said, "Well, all swans really are white; the black ones are exceptional mutations that need not disturb our concept of innate 'swanness.' After all, dogs are four-legged, even if Fido lost one of them under a tram."

The wise said, "We must change our definition of swan." The latter won out, and taxonomists now list many members of the genus Cygnus - some white, some black, and some, for all I know, Anfield red. There was certainly a red swan event in Istanbul in 2005 when Liverpool Football Club came back from 0-3 at halftime to beat AC Milan in the European Champions Cup.

How best to redefine swan in the light of new evidence? Far from being an arcane linguistic or philosophical problem, it hits us daily in many software development contexts such as object-orienteering. We may have had pre-1697 (an early Simula, presumably) the subclass Swan derived from the class Bird. Doesn't that take you back to your first OO class? CanWade; CanFly; EatsWorms; WingSpan; Color! Do we derive new WhiteSwan and BlackSwan subclasses from Swan or just play around with the defaults for Color?

As John Stuart Mill, rephrasing David Hume, put it: "No amount of observations of white swans can allow the inference that all swans are white, but the observation of a single black swan is sufficient to refute that conclusion."1 Since then, Taleb has popularized the term black swan event, now being fashionably bandied around at dinner parties to cover every conceivable political and stock-market surprise. I'm reminded of the brief 1960/'70s vogue for René Thom's seven catastrophes, which, in spite of much topological innovation, fizzled out in a burst of extravagant social extrapolations.

On the other hand, chaos theory has attracted a more respectable following than catastrophe theory, although the confusion over the two names is understandable. Taleb's works offer useful, readable, and witty insights into the whole field of real-life uncertainties. These are of vital importance in computer modeling of biological, financial, global climate (Al Gore rhythm, see later), and other complex systems. Security and related risk analyses have been stimulated by the black swan debate. The old deterministic view of "life as a huge case-statement" is replaced by "life as a sequence of zero-prior-probability events." Taleb addresses the hindsight paradox: that someone, somewhere did predict black swan events such as the 1929 market crash and the 9/11 attack. So, in some sense the unexpected was, in retrospect, certain to happen.

There's that familiar but still-puzzling paradox of the "surprising" examination. Teacher announces on Sunday that pupils will sit for an exam on a day of the following week (Monday or Tuesday or... Friday). The announcement will not be made until the morning of the selected day, and, here's the rub, teacher declares that the announcement is guaranteed to be a complete surprise! Bright students (if any) can rule out Friday, since by the end of Thursday, a Friday exam is inevitable and totally UNsurprising. Likewise, Thursday can be ruled out as a surprise, since the range of possibilities is now reduced to four days (Monday through Thursday), so we can employ the same argument used to eliminate Friday. Proceeding in this way, we eventually rule out Monday, seeming to prove that the teacher lied: he cannot guarantee a "complete surprise" since each of the five days has been eliminated as "surprising."

Some readers may still question the relevance of these excursions into philosophy, seemingly away from the hard-core, nitty-gritty of delivering code on time to an impatient market. It's certainly true that many are content simply to refine their syntax skills in order to push out bug-free systems. To this end, there are plenty of ACM sources in Queue and beyond, not least of which are the effective Kode Vicious sermons on common but avoidable coding errors. Yet a mounting theme in our industry is the shortage of competent programmers and the related problem of what sort of people are likely to "give good code." Apart from all the so-called measurable personality traits tabulated to assist recruiters (see, e.g., "Does Personality Matter?" Alessandra Devito and David Greathead, CACM, May 2007), there's a hard-to-define general problem-solving ability to juggle between the particular and the general: zooming in and out of systems maps, as it were, without losing focus. It's a valued balancing act between patient scrutiny and impatient curiosity. My sneaky, covert message is: if you think that the color of swans is simply a matter of avian plumage, it could well be that there's an element missing in your programmer's toolbox.

next page (2/2)
Catastrophe
next
ACM Queue vol. 5, no. 5 - July/August 2007
by Stan Kelly-Bootle, Author

Submit this story to one of the following blogs:
Slashdot   del.icio.usdiggtechnoratiblinklistfurlreddit

Related Stories
Usability Testing for the Web
- Your users have important things to tell you; are you listening? Today's sophisticated Web applications make tracking and listening to users more important than ever.
Vikram V. Ingleshwar, Yahoo!

Voyage in the Agile Memeplex
- In the world of agile development, context is key. Too often reduced to catchy slogans, these practices must be handled with care.
Philippe Kruchten, KESL and UBC

Gettin' Your Head Straight
- How to Avoid Being Disturbed While Debugging
Kode Vicious

Discuss Some Swans Are Black
 
Be the first to comment on this article.
Post your comment now!
name:
email:
subject:
comment:
note: only <b>, <i>, and <br> tags allowed
Please type in the captcha number below
 

Free QueueNews Email Newsletter
QueueNews is a weekly newsletter featuring a listing and excerpts of the latest articles to appear on Queue's Web site.
Subscribing is quick and easy! Just fill out the form below.
- HTML version
- plaintext version
Please type in the captcha number:
 
privacy policy


Place Your Link Here
AllinfoDir Web Directory Apartments for rent Bonus Casino Businesses for sale Casinos Cheap Personal Loans Counter Strike Hacks Elegant Directory Free Themes
Web development & buy MLB tickets.
Jogos Online Casino Online Casino Games osCommerce Services phone cards Spiele Web Design WoW Hacks


ACM Home
About Queue Advertise with Queue Advisory Board Back Issues Contact Us Dev Tools Roadmap Free Subscription Privacy Policy Writer Faq RSS feeds
© ACM, Inc. All rights reserved.