Welcome to the Dick Feynman Cabal

Welcome to the Dick Feynman Memorial Cabal of the Discordian Society!



I am Mark-Jason Dominus, Grand Vizopteryx of the Cabal.


Announcement

On 24 April I was in the video rental place, and I gave the lady my last name, and she asked me `Mark?', and I said yes. She said ``It says `Yark' here. I'll fix it.''

I was delighted. ``Yark?'' I cried. ``Excellent! Leave it.''

Such dada wonderfulness cannot be ignored. Henceforward, the Grand Vizopteryx will be known as Yark Dominus.

We now return you the the essay already in progress.


I am Yark Dominus, Grand Vizopteryx of the Cabal.


I am, among other things, a computer programmer.

I think programming is a good discipline for Discordians.

Many people are surprised by this, since computer programs supposedly exhibit a high degree of organization and order, and people think of computer programming as an essentially aneristic task.

But if you have ever programmed professionally, you know an interesting truth of programming: In a well-designed computer program, No two components are alike, or even similar.

Fred Brooks says:

Software entities are more complex for their size than perhaps any other human construct because no two parts are alike. If they are, we make the two similar parts into a subroutine -- open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.

Fred Brooks, Jr.

If there are two components that are alike, we distill the similarities into a single component. We do this at every level, from top to bottom. We take code like this:

  a = x + y;
  b = x + y;

And we remove the repeated part so that it looks like this:

  b = a = x + y;

We take code with a repeated element, like this:

  val a = (foldr (op +) 0 lsa) / length lsa;
  val b = (foldr (op +) 0 lsb) / length lsb;
  val c = (foldr (op +) 0 lsb) / length lsc;

And we remove the repeated part so that it looks like this:

  fun map f [] = [] | f (h::t) = (f h)::(map f t);
  fun mean ls = (foldr (op +) 0 ls) / length ls;
  val meanlist = map mean [lsa, lsb, lsc];

We factor expressions out of loops. We replace repeated parts with macros, subroutines, and modules. At every stage, at every step, at every level, we replace two or more similar parts with a slightly more complicated single part.

The end result is that computer programs have no repeated elements. Every part is different from every other part, not just superficially, but as much as we can make it!

Thus computer programs exhibit a chaotic sort of order unknown elsewhere, an order in which there is no order. A structure that fuses the Eristic and the Aneristic in a unique way.

I was a computer programmer long before I was a Discordian. But Discordianism appeals to me for many of the same reasons that programming does. As a programmer, my Discordian tendencies express themselves as computer programs.

Discordian Items on this Site



It is part of the artistic genius of God that he invented an artistic medium like the universe, a universe in which evolution could happen, a universe in which characters could run away with the plot. -- Larry Wall


This Site is a member of the Ring of Fnords, the only Discordian CyberCabal on the WWW. (Did I really just say `CyberCabal'?)

previous fnord | fnord home | next fnord | see next 5 fnords | randomfnord


Universe of Discourse | Perl Paraphernalia

mjd-discordia@plover.com