Re: software development -
you are in a maze of twisty passages, glowing bright

The idea:  A heatsink-maze metaphor for our difficulty with software creation.

Adventure's "maze of twisty little passages, all alike" ( has long been a metaphor for the software development process. Now, vast societal resources are flowing into this software development maze. But disproportunately little is emerging. Most of this vast effort is being dissipated. Thus a maze-heatsink, glowing brightly (i.e. dissipating a lot of energy as heat).


Once upon a time, the maze was new and necessary. Machines were small, and packed tightly with hand-crafted code. Now, I suggest, the maze is largely historical artifact. If one were loaned a productive development environment from a few years in the future, one might easily create a productive environment to run on current machines. But with only our current maze-crippled tools, it is far more difficult. We face a bootstrap problem.

Some related email excerpts

From mcharity Fri Jun 19 14:38:13 -0400 1998
Subject: State of the art

From the preface of John Scott Russell's (engineer and naval architect)
massive "The Modern System of Naval Architecture", 1865 (135 years ago)...

      We the passing generation have had to
    grope our way out of the dark slowly and
    painfully, with trial and error.  But
    what has to be pardoned to us can no
    longer be pardoned to our successors, to
    whom we bequeath the costly knowledge and
    painful experiences that have cost us so
    dear, but which we have gladly earned,
    and now painstakingly contribute for
    their instruction, and the advancement of
    their future...

Heartening to think we may write this ourselves,
about computer and software engineering,
before too many more years have passed.

Mitchell Charity

    (John Scott Russell, from the preface of
     "The Modern System of Naval Architecture", 1865.
     Quoted in Henry Petroski's "John Scott Russell",
     Engineering column of American Scientist,
     v86/1998Jan-Feb, p21)

Russell worked on, among other things, the
first Atlantic cable, and steam-only crossing.

From mcharity Tue Jun 23 16:21:19 -0400 1998 Subject: Re: State of the art Curious indeed - I'd not heard that. My metric is unfortunately subjective. Every once in a while, for some years now, I re-explore the maze of twisty little passages which is our collective software accomplishment, with the objective of perhaps finally being able to stitch together a productive development environment for myself. It remains infeasible, but I've noticed changes in the maze. Path lengths are increasing, in part because systems are "cross-pollinating", incorporating each others ideas. The components may be variously misdesigned, but atleast there is recognition of need, and some real progress. To get some set of components, one now need only contemplate kludging together n systems with some glue, rather than 2n with big gobs of it. It is no longer entirely hopeless to go looking for an embedable interpreter which permits multiple instances in one address space, mixed gc policies, and has a good foreign function interface. It is still improbable... but no longer hopeless. And the character of the dead-ends, the gotchas, has been changing. The most common reaction used to be "Why would anyone want to go there?!?". Now some dead-ends have notes saying "Perhaps this was an unfortunate place to put a wall." Or even a small crowd of people trying to dig through. "Why would anyone want to unlink symbols in a running program?; Oh, ok.; Maybe we should do an expressive linker language under program control..." It seems a bootstrap problem. Hugely escalating resources blunted by a maze which is now mostly historical artifact. The sheer magnitude of dissipation is impressive, but the maze seems to be losing ground. Unless something changes the ablative dynamic (poor intellectual policy might create new walls; an economic downturn might pull people out of the maze), I'd expect a non-linear breakthrough at some point. As for when, and tying back to the objective of a radically more productive environment, I have lately found it heartening that almost every component I care about now seems to have a mob headed vaguely towards it. Some are quite slow, and some don't see it (the Australian Magma folks, for instance, almost have a demonstration you can program using real math... but think it just a research tool for number theorists). But having mobs gets me away from worrying whether some company might fold, language not make it, clueful people rathole, or architecture be misdesigned. There is still contingency, but also a bit of the warm fuzzy feeling that things might be starting to converge.

Comments encouraged. - Mitchell N Charity <>

  "You are in a maze of twisty little passages, all alike."
  "You are in a little maze of twisty passages, all different."
   From ADVENT
  blech.  redraft.
  do concept graph
  quote variants - all a'light , glowing bright , burning bright .
  mention civilization as bootstrap problem
  visual - maze as heatsink
  elaborate on maze as se metaphor
    on bootstrap
  breakdown, inc possible patterns
  the `things looking up' stories

  1998.Oct.03  Added old related email.
  1998.Sep.22  Created.
  1998.Sep.02  Initial notes, from idea a week or four before.