October 2004 Archives
He'd stir the pot once, and then act as if he'd made the whole stew.
--Grandma Mulligan, Brian's gray-haired grandmother from the County Armagh
This year's OOPSLA "Big Event" was held at the Vancouver Aquarium. I was here in 1998, when much of the facility was under renovation. At the reception, I had the opportunity, for the first time to go downstairs and gaze into the Beluga whale tank. These animals are a simple gorgeous sight to behold. I found myself laying on my back and gazing up into the water. I was a ineffably sublime experence.
Still, I found myself, somewhat to my horror, uttering the phrase "Transparent Aluminum", in an oblique reference to a plot element drawn from the fourth Star Trek movie. I'm not sure what was more frightening, that I dredged this up in the first place, or that every single person in the room knew exactly what I was talking about...
Hey, this place has the coolest screen savers I've ever seen.
--Thomas Jay Peckish II, at the Vancouver Aquarium
Photographs (C) 2004 by Munawar Hafiz and Spiros Xanthos
We tried the experiment whereby you drive down the cost of labor to nothing in the United States during the antebellum period, and that didn’t work out very well, did it?
--Thomas Jay Peckish II
If you needed any additional evidence that Microsoft is taking security more seriously at OOPSLA this year, you need look no further than the two Korean destroyers docked next to the conference center.
Rumor has it that should any of the sizable Microsoft contingent come under hostile fire, these vessels could be used to quicky evacutate said contingent to Seattle.
Powerpoint is one of the most leathal weapons ever devised. You can be cut down in a hail of bullets before you ever know what hit you. Your slides can be siezed, and turned around so as to fire on your own troops.
--Thomas Jay Peckish II
Powerpoint is one of the most effect anti-meme agents in our arsenal.
--Thomas Jay Peckish II
I didn't know Microsoft had a Navy.
--Donald Bradley Roberts
No OOPSLA XIX Zeitgeist compendium can ignore the momentium that the Eclipse community continues to exhibit this year. A packed reception on Monday night put an impressive array of contributions on display, notable both for their breadth and depth. Eclipse is moving into what can only be called a Nation Building phase...
It's a simply gorgeous day in Vancouver, and their is some hope that a total eclipse of the moon will be visible later this evening. I knew IBM had a lot of clout...
A nod of some sort to the "two cultures" of art and technology has become obligatory at OOPSLA over the last few years. An OOPSLA 2004 Panel chaired by Jim Haungs on whether software design is math or science or arts or crafts revisited the enduring theme of similes for software development (among other things). The four panelists shown to the left, from left to right, are Richard P. Gabriel, Martin Fowler, Steve McConnell, and Ralph Johnson. Shown to the right is late addition Robert Biddle.
Two newbies I know later dubbed this panel as the single most impressive thing they'd seen at OOPSLA. I found it pleasant, and at times thought provoking (and I am not one who is easily provoked to thought), though I found myself at the disadvantage of being already familiar with the likely positions of most of the panelists.
Ralph took the eminently sensible position, as is his custom, that software development is, above all, engineering, and gave an engaging presentation on the travails of nineteenth and twentieth century bridge engineering based on the work of Henry Petroski. In the early days of railroading, railroad bridges were as prone to failure as software is now, frequently with more lethal results.
Biddle mined the same fertile post-modern vein that has served him and his antipodean sidekick James Noble so well on the Onward! circuit over the last three years. My recollections of his presentation have melded into a conflated kaleidoscope of notions and reconstructed memories like "the death of orthodoxy" and "making do in a post-precision heterogeneous polyglot playground of a world". I'm pretty sure Robert didn't quite say any of these things, but they are in the spirit of what he said, which was in the spirit of the Zeitgeist he was trying to summon out of the humanities. In this respect, he may been the panelist most true to the panel's theme. I recall some mention of nihilism and certain French academicians. All and all, the sensibility was a generation beyond the outmoded technotopianism that our own villiage elders still hew to, and was in considerably better touch with life in the trenches.
McConnell, predictably, hawked his more troublesome notion of software construction. My main beef with the construction metaphor is that it perpetuates an enduring confusion between software design and software product fabrication. Software design has much more in common with the process of deciding on the layout of a house than it does with the process of merely driving the nails at the site. We are more like the people who design cars than the people who assemble them. The analog to auto assembly for us is disk replication. Despite this fact, the industry has exhibited a persistent desire to treat software development as an essentially blue collar activity. Metaphors like McConnell's do little to dispel this harmful perception.
It's customary to conclude such discussions with the observation that no metaphor is perfect, and that a programmer is, after all, just a programmer, as the agile folk are fond if saying. This discussion was no different. "Programming is like nothing else" opined programmer cum poet Richard P. Gabriel.
I had been content, as of late, to leave this issue there, but the panelists had managed to re-convince me instead that metaphor was more important that ever. Metaphor matters. As I pondered their positions, I was struck by a metaphor drawn from the arts: We're all a bunch of clowns.
So, "What a bunch of clowns!", I exclaimed. Not just the panelists, all of us. Programming is like ... comedy.
Another software simile was born.
For instance, APL programmers and comedians share an affinity for pithy one liners. Take this one for instance: What poetry has in common with code is that no one ever reads it.
Doing either well demands creativity, and a mix of improvisation and scripting skill. Comedians test, iterate and polish their material until it executes perfectly.
Fred Brooks, after all, is said to have found that there is a factor of twenty difference between the best and the worst comedians...
I'd missed most of Dick's position, alas, and hard a hard time recalling what Martin had said, at first. Then I remembered that he'd offered yet another software simile: programmers are like lawyers. I'm pretty sure I shopped this around at a panel a couple of years ago. I liked Martin's treatment, though he could have played up the domain expertise angle more. I've posted my 2002 notes here.
This reference also had the effect of reminding me of one of Martin's previous forays into the realm of object-oriented jurisprudence at the Show Trial of the Gang of Four back in Denver during 1999. Martin can be scene in the solicitor's wig, third from the left. He'd painstakingly supervised the trimmng of the solicitor's wigs beforehand, so as to ensure they were shorter than the presiding judge's, and thereby maintain the dignity of the court.
Gabriel et al. Photograph (C) 2004 by Munawar Hafiz
Some subsequent comments on POMO and Biddle from Ian Clysdale...
We've asked about 30 people the question: "Who is the Prime Minister of Canada?" For fairness, we've been excluding Canadian nationals from our sample. So far, one Dutchman, a New Zealander, and two Yanks have come up the the correct answer. (I'll withhold it for now, I may ask you later), but if you are reading this, you no doubt have the technical means to quickly find the answer yourself. Does Google spell death for trivia questions?
For the very first time, the majority of OOPSLA's attendees have come from outside the United States (51% to 49%). I would be tempting, but glib, to hypothesize that this is a consequence of what we Yanks call outsourcing. Hell, we’re even holding the conference itself “abroad”.
Don Roberts came up with the following quips on his way through Canadian Customs:Customs Official: Are you bringing in the products of any endangered species? DBR: I've got 3 gigabytes of Smalltalk code. Customs Official: What is the purpose of your vistit to Canada? DBR: To get a flu shot. DBR: To seek political asylum. DBR: To obtain inexpensive pharmaceutical drugs.
As to the last point, I’ve noticed that several of the younger guys around here were packing tissue paper, cut-rate editions of some of the same trade books we pay full price for in The States. I found myself reminded of the global economics of the pharmaceutical industry, where full retail drug prices in The States underwrite research, as well as cut rate prices elsewhere.
I was reminded of this haunting little ditty by one of my very favorite Canadians, Neil Young, as I contemplated this all:
Global manufacturing, hands across the sea The hotel filled with dealers, everything was free Before the competition, ahead of all the rest The product was presented, it clearly was the best The power link was ruptured, the hotel shook and rolled The old Trans Am just bounced around and took another road --Neil Percival Young, Trans Am
A couple of people have asked me whether I was planning to post anything substantial about OOPSLA 2004. To them I say patience, patience, red meat and fiber take longer to digest than do frilly pastries. For openers, here are a few thoughts on the OOPSLA 2004 Keynote Address.
I apologize in advance for the verbosity of what follows. This is a raw core dump of sorts. Making it taut will take more thought. I’m afraid I’m prone to occasional bouts of logorrhea after traveling abroad.
Microsoft has a checkered past with respect to participation in the broader research community. For too many years, Microsoft was conspicuous only by its absence at OOPSLA. This low profile once prompted one wag to quip that "Listening to Microsoft talk about innovation is like listening to a scavenger talk about hunting."
Hence, its been satisfying over the last several years, dating from around the turn of the century or so, to see the strides Microsoft has made towards the goal of turning this around. They are cranking out more books and papers than ever these days, and their people are getting out more. The acquisition of high-profile free-agents like Ward Cunningham has added more muscle to a lineup that had traditionally been able to boast of a strong bench, but of few long ball hitters.
It was for these reasons, and others, that I was excited at the prospect of hearing from Microsoft's homegrown Research Czar, Rick Rashid.At this point, I must turn to my notes. Ahem, here they are:
Dr. Richard F. Rashid; Founder and Head of Microsoft Research; a CMU alumnus, who'd worked on Mach; a guy who'd gotten a few bits under his fingernails in his day. Indeed, he observed that current users of Apple’s OS X may still be packing a few lines of his original kernel code in their rigs. I knew nothing of Rick’s background until this morning, and his stock was rising fast (in my book, at least).
The talk was seemingly cobbled together from two strikingly distinct sources. The first part of the talk opened with amusing eyewash, recycled from the likes of COMDEX Conferences gone by.The future, Rashid predicted, would be about the data. Hey, not a bad hook. His images reinforced an emerging sense that that long delayed digital convergence that the digerati have been braying about for the last few years may finally be upon us at last.
Now, what they’ve been predicting is a cornucopia, an age of resource abundance, a horn of plenty. Petaflops galore. Scores of cores on every desktop 3D horsepower that rivals Pixars. Bandwidth too cheap to meter. The difference these days is that we can finally see it coming. Yes, he’s there too, the rise of the GPU, multicore processors, the whole shebang.
Now, Rashid is talking about heady stuff: Black box flight recorders for humans. The lawyers will love this. We yanks will need to set to work to fix the fourth amendment for anything like this to work.Hmmm. I guess Planetary Scale is a buzz phrase these days. Will we be able to consult realtime satellite photos to see if there are fresh parking tickets on the windshields of our cars?
Terra Scale / Galactic Scale. Hmmm, 1999 Turing Laureate Jim Gray is talking about Galactic Scale computing. Impressive. Has any mere marketing department ever exhibited megalomania of this magnitude?http://skyserver.stss.org || http://GPGPU.com || http://www.iova.net || http://skyquery.net
I recalled the climax of Arthur Clarke’s 2010: Something Wonderful is About to Happen. It feels as if Moore’s Law has been treading water of late, expending calories on a phase transition, as if melting ice, rather than generating predictable increases in raw heat. It feels as if, after a period of relative stagnation, things are about to change. It feels exciting. 2010 culminated with a new sun in the sky alongside the old. Jupiter transformed through fusion. The sky was yellow and the sun was blue. I wonder what color our new sun will really turn out to be. But the timeframe is starting to sound about right.
Next, Rashid dug his steam shovel into the ubiquitous computing vein. Smart Personal Object Technology, the Ministry of Software calls it. They have a tiny CLR for everyday gadgets. Neat.We’ve been digging into sensor nets, control systems, and MPI-worthy clusters at home, and his tales reinforced our hope that this ore dug from this vein will yield more than base metal one of these days.
Yup, he had me up until right about here.
It was at this point that Rashid’s talk took its first ominous turn toward the worse. For one thing, I began to dawn on me that there hadn’t been anything very meaty, very original, in his presentation up until this point. I felt as if in a Mexican Restaurant, filling up on chips, and wondering when the main course would arrive.
The larger, more serious problem was that his focus had changed abruptly from fuzzy lens ink blot fantasies to what Microsoft calls “Software Factories”.
More copies of “Software Factories” left OOPSLA 2004 in the hands of attendees than any other book in OOPSLA history. Given the healthy attendance, the numbers for SF must have easily eclipsed those posted by the Beck/Gamma Eclipse book IBM bought us all last year. This ploy, in turn, obliterated Gamma’s own record, set in 1994, by the GoF book release’s “reading frenzy” in Portland. Of course, the 1994 books were actually sold, whereas these were comps.
Not that I’m complaining or anything. What Irishman minds hearing the words “On the House”? Why look a gift-horse in the mouth, even if he isn’t the fastest pony on the track? But I digress…
Now, as luck would have it, our Software Architecture Group at the University of Illinois at Urbana-Champaign has conducted a series of writers workshops a few months ago that examined a fair bit of this material. As I recall, we had some substantial reservations about where this effort was heading.
For one thing, the notion of “Software Factories” is way off the mark. Something less grandiose; more intimate; might have worked better. I can’t recall the alternatives we came up with (borrowing “weaver” from the AOP crowd might have been one suggestion). I’ll poll our contingent later in the week.
Our more serious reservation is that we think this “programme” is far too ambitious, far too grandiose, to bear substantial fruit over the short haul outside of a handful of set-piece, niche domains.
Proponents would likely counter with “you’ve got to start somewhere.” I suppose … but …
Nooooo, is this Model Driven Development again? For the love of God, noooooo. A proper rant on the excesses of MDA/MDD advocates is beyond the scope of this screed. The upshot: this stuff is being hyped way way to prematurely.
The presentation turned next to Visual Studio 2005. VS05 will evidently include tools for developing domain-specific languages. This sounds like a worthwhile direction, but wasn’t all that easy to tell how this will work.
VS05 will support building programs using diagrams as well as code, and, mirable dictu, refactoring too.
It began to dawn, somewhere in the sluggish recesses of my shopworn mind, that this all was beginning to sound like a response to Eclipse and Websphere.. Let’s see, we’ll have domain-specific plugins, multiple language support, tools for turning code into pretty pictures, and vice versa, refactoring support, an utterly shameless Java nock-off. There is even something named “Corona” in there somewhere. Get it?
Like U.S. Grant, Microsoft is fighting its customary unrelenting war of attrition. Siege tactics. Lastest with the Mostest, as Nathan Bedford Forest might have said (instead).
And, that’s all fine as far as it goes. I use Visual Studio from time to time, and I like it well enough. A commercial alternative to open-source tools like Eclipse is a healthy thing, in my estimation.
Indeed, I heard a lot of people complain that the VS2005 roll-out announcement reeked of crass commercialism. I simply can’t see the problem. I mean, God help us should someone show up at OOPSLA with software for sale. Doing a roll-out at OOPSLA strikes me more as a gesture of respect than of disdain. It’s no wonder exhibitors are so scarce these days.
No, the problem I had with this part of the talk, other than what I’ve prattled on about already, is that he delegated about half of his keynote to an underling. Sure, the Year 2525 stuff and the roll-out were fine, and a fellow like Rashid surely leads a busy life.
Nonetheless, I felt like we were served left-overs, carrion, and I craved something more meaty, and more fresh. It seemed as if Rick had left his A-Game at home in Seattle. I wanted to run out to try to find Rick Rashid’s dog, to see if I could cajole him into coughing up the talk I wanted to hear instead...
--BF, who reserves the right to revise and extend his remarks.
--BF, who has leaned on alimentary metaphors perhaps more than a person should over the course of a blog post…
If you don’t have the courage to say what you think, there isn’t much use in thinking it, is there?
--Thomas Jay Peckish II
Hey, I just noticed the Visual Studio 2005 Beta DVD in my OOPSLA totebag. Thanks guys, I'll give it a look..,
OOPSLA XIX Memewatch (Installment #1)
The internet never forgets. The prospect of a parrot who siits on you shoulder should cause us to seriously think about refactoring the Fourth Amendment.
Like others here, I've been tinkering with Google's Desktop indexing tool. It's powerful, even wonderful, but rubs your nose in just how hard it is becoming to make things go away.
This is a lesson that ought to have been made clear to me a few OOPSLA's ago when I was party to accidentally exposing the URL's a series of purportedly anonymous reviews to the all-seeing eyes of the Google bots. Once anything leaks out of the bottle, its next to impossible to get it back in.
Still, I've been realizing I use my harddrives as if they were worm drives. An embarassment of storage riches is but one prong in the advance of this age of abundance...
Sure I could just Google it, but I like to listen to the way Grandpa tells it...
--Thomas Jay Peckish II
Alan Kay has had what, by anybody's standards, would have to be called a good year. He recently bagged the Draper and Kyoto Prizes, and is poised to deliver his Turing Award lecture tomorrow night. His praises have been duly and extensively sung elsewhere; let it suffice to say that he has more than ample laurels upon which to rest, should he have so desired.
At the frightful risk of appearing to indulge in "lèse-majesté", I must sheepishly concede that I have, on a few occasions, described Kay as the Orson Welles of Object-Oriented Programming. I'm not completely sure why this comparision came to mind, but genius, pure preternatural genius, was surely a factor. And, like Welles, Kay's best-known, most monumental achievements came at a remarkably young age. Then too, one can, if one squints just the right way, discern a certain pyhsical resemblance between the two.
Unlike Welles, Kay has not taken the luxury of resting his laurels until both had gone to seed. Instead, there's a good chance that he'll be demonstrating Croquet, a remarkably collaborative enviroment that foreshadows what can be done with the coming cornicopia of cycles, bandwidth, and graphical power.
It usually takes a few days to discern OOPSLA's Zeitgeist, if any, but this time its evident already that the buzz junkies will have more than the usual methodone to amuse them...
--BF, who valiantly resisted the tempation to entitle this posting "Citizen Kay"...
Given the vagaries a the lunar calendar, this must be at least the second time that OOPSLA has occured during Ramadan. (Yes, it's a Google question of some sort, I know, I know.) In was in this spirit that we set out on our nineteen annual pilgrimage to OOPSLA XIX, in Vancouver, BC.
This is OOPSLA's third time in Vancouver, and our fourth or fifth time in Canada, depending on how one scores Minneapolis. Our air/land journey from Urbana consumed 16:14, besting James Noble's travel time from New Zealand by at least two hours.
OOPSLA 2004 Wiki page for Thomas Jay Peckish II.
Notorious Gang-of-Four book author Ralph Johnson turned 100 today, were "100" reckoned in Radix 7.
It occured to me that "hundredth" birthdays, whatever the base, do an interesting job of dividing life into epochs: 4 (base 2), 9 (base 3), 16 (base 4), 25 (base 5), 36 (base 6), 64 (base 8), 81 (base 9), and, hence all the way up to that coveted Willard Scott show appearance... ...and maybe even 121...
A sort of Passages for New Math veterans...
I came across a post by Ralph Johnson the other day about an ambitious new project being undertaken by legendary object-oriented methodologist Grady Booch. Here are a few thoughts about this enterprise, in no particular order:
This is a noble, eminently worthwhile, and potentially even monumental undertaking.
This will demand pattern mining on an industrial scale not heretofore seen. IBM is poised to become, in effect, the Peabody Coal Company of Pattern Mining. Properly executing such a programme will take a cadre of specialists with an unusual mix of analysis skills, domain expertise, organizational accumen, and programming knowledge. Oh, and a rich command of the patterns and sofware architecture literature as well. I have no idea whether Big Blue has an underemployed legion of such talent awaiting remobilization. Is this a New Deal-style WPA for pattern miners?
Kudos to Booch for recognizing the seminal role played by Bruce Anderson's groundbreaking architectural handbook workshops at OOPSLA during the early '90s in laying afoundation for the Gang-of-Four's subsequent efforts, and ultimately, this work itself.
Booch may find himself in a position to confirm or refute a conjecture that Joe Yoder and I made a few years ago to the effect that the mostly widely deployed high-level architecture out there, despite widespread claims to the contrary, is, in fact, the BIG BALL OF MUD. To do so, however, might require an impolitic degree of candor, as well as a degree of pick and shovel work beyond the envisioned scope of this effort. Alas, the path of least resistance will likely be to simply parrot each system's high-level brochures.
There is a danger here of allowing this handbook to turn into a coffee table book; of producing an Architectural Digest; of pumping out self-serving, mutually congratulatory puff pieces, rather than objective depictions of how the portrayed systems are really put together. It's easy to imagine an unholy alliance between consultant and client that extols the fictional virtues of set-piece paper palaces, rather than the hard fought victories won out in the trenches. My hope is that in their search for "inner beauty", the authors will strive to see beyond the two-dimensional cartoons and into intricacy and richness of the code itself.
Our web server for the NASA IBEAM Project, http://brain.cs.uiuc.edu, underwent surgery yesterday for an acute respiratory problem, the complications of which included high fever and loss of consciousness. The procedure went smoothly, though more loss of blood than expected was encountered (alas, on the part of the surgeon) than expected. Brian and Brain are resting comforatble, and a complete recovery is expected for both.
The procedure, I'm pleased to report, was neither "brain surgery" nor "rocket science".
Anyway, our server was crashing due to a faulty cooling fan. I rather suspected something of the sort when it would lock up and refuse to do anything, only to return to its old self after being powered down for a few minutes. Still, there was no obvious fan problem to be seen once the covers came off.
Howerver, the BIOS Hardware status page told the take quite vividly. I could see the fan speed for the CPU0 drop from 5400 RPM down to 500, and then to zero, while the CPU temperature rose to nearly 212 F. A smoking gun; a nearly toasted Athlon.
I mention this only because it reinforced something I've been thinking while building test cases of late: why can't more software components work this way? I want code that does more of this kind runtime validation and status reporting in more of the objects I build and use.
Now, this is surely not a new idea; just one I'm personally becoming quite sold on / smitten with of late. Why can't more of these kinds of monitoring and instrumentation facitlites be built into more of our components? As with motherboards, is this a by-product of technical maturity?
After a longer than usual absence from cultivating this space, I had the distinct displeasure of having to remove over 100 postings from some of the most sleazy, repugnant bottom feeders around. In the unlikely event that anyone else stumbled across any of the vile bilge I had to dredge through, my apologies...