badged by
user-inactivated
recent badges
cwenham  ·  4040 days ago  ·  link  ·    ·  parent  ·  post: Ted Nelson: Computers for Cynics  ·  

One of the most surreal experiences in my life occurred in 1999 in the West-End Manhattan apartment of Richard M. Stallman's mother, where RMS was celebrating his birthday. The messiah of the Free Software movement himself poured me a glass of Guarana soda (not Bawls, btw, but some other brand he sourced from a bodega somewhere in the city), then spontaneously and maybe subconsciously practiced a few folk-dance moves, as if it was a nervous tick. I leaned over his shoulder while he taught Emacs LISP to an attractive Italian lady on his worn, smudged laptop, an external keyboard balanced on top of the laptop's presumably broken (or insufficient) keyboard. Later he and everyone at the party settled down, legs crossed, in the living room while he played folk tunes on a penny whistle, summoned from nowhere like a magician producing your card.

He gave me a GNU/Linux sticker to wear, featuring cartoon representations of the GNU Gnu and the Linux penguin dressed as superheroes in flight. He also gave me his business card, which he submitted in Japanese fashion by holding the card at both edges and presenting it with a polite bow--a slight but rapid lean from the hip.

You say that you're disappointed in Nelson's negative attitude, but he's not alone and I think it comes with the job of being a visionary. Stallman was a polite host, but very blunt and honest. I got into Stallman's party by way of a friend who was very active in the Perl community (as in the Perl programming language). Somebody had passed this on to Richard and he spoke up, asking if my friend could help steer the Perl community towards settling on a single Free Software license for the greater ecosystem rather than the mish-mash of GPL/BSD/Apache licenses they were using at the time. Alas, my friend had to confess that he wasn't that influential, to Stallman's visible disappointment. It was like my friend had instantly fallen off Stallman's radar to become just another warm body at his party.

If you imagine this kind of exchange happening every day for decades, of being the target of harsh criticism--only some of it intelligent or well considered--and routinely snubbed and denied credit for what has become a massive, mainstream cultural and technological movement, then you can see where the bitterness comes from.

In the second video, Nelson quoted Machiavelli: "There's nothing more difficult to take in hand, more perilous to conduct, or more uncertain in success than to take the lead in the introduction of a new order of things." The challenge to one's psyche is not so much about whether the new order can actually technically work, but the resistance of your fellow humans who don't "get" it, or are determined not to get it, a-la Sinclair's refrain: "It is difficult to get a man to understand something when his salary depends on him not understanding it."

But Nelson, I fear, has to battle the former problem more than the latter. Technology geeks like us are easy to excite with brilliant and non-conventional ideas (look how fast BitCoin is growing, for example), but Xanadu and ZigZag imply enormous engineering challenges that may not be practical.

I'm reminded of something similar to ZigZag called the "Triadic Continuum", based on ideas of Charles Pierce in the early 20th century. Someone named Jane Mazzagatti took these ideas and developed the Triadic Continuum data structure at Unisys, patenting the bonkers out of it, and sometime after that a writer named John Zuchero wrote a book on her work called The Practical Pierce.

I do not recommend buying this book. Just don't. It provides a somewhat functional description of the Triadic Continuum, but it doesn't take long to get the idea that Zuchero had fallen head-over-heels for Mazzagatti; it's practically a love letter masquerading as a CompSci book. The data structure he describes seems like a good idea, but on closer examination is an orgy of linking data for the sake of it, with nothing that jumps out as a clear advantage over other techniques. It makes you spend an enormous amount of overhead on pointers and the cycles to follow them, but there aren't any clear techniques for making use of this linkage for anything other than storing and recovering strings.

In the same vein, Xanadu and ZigZag are an orgy of concepts that seem cool on the surface, but they trade an insane amount of overhead for benefits that may not be as useful or justified as Nelson imagines. It might be insanely cool if authorship data can be preserved every time you cut-n-paste a word or sentence from one document to another, linking the documents together in a Xanadian matrix of physical and semantic relationships that can distribute royalty payments every time a book or document is sold, automatically compile bibliographies and allow readers to leap from one related document, idea or word to another, but even if it was technically possible (particularly in respect to scaling), it might be a solution in search of a problem that doesn't exist.

Back in 2001 I built a web site that implemented bi-directional linking by using the "Referrer" field submitted with every HTTP GET request. The software I wrote kept track of these referrers, visited the pages to verify their existence and capture their title, then listed them at the bottom of each article I wrote. I also got it to support attaching backlinks to individual paragraphs (by appending "?p=#" in the URL you link to). I got written up in MIT Technology review for it! Unfortunately that site isn't online anymore, nor do I have plans to resuscitate it, but I announced the feature in an essay called "Ghosts of Xanadu", acknowledging Nelson's influence.

I think that many of Nelson's ideas are viable and valuable, but not all of them. Any time you have a visionary like Nelson, the world tends to treat their work like a smorgasboard that you can pick and choose from as you please. Ideas 1, 4, 7 and 9 work for me, but not the rest.

There have been many attempts to implement Nelson's ideas in code, but "pure" Xanadu isn't really in use anywhere. I think it may be worth cannibalizing it for some ideas, but not all of them. Which ideas are worth implementing should depend on your vision, though, not Nelson's.

cwenham  ·  4062 days ago  ·  link  ·    ·  parent  ·  post: What would you do with an infinitely fast computer?  ·  

"Genetic algorithms" was the first thing I could think of, since they take time on classical computers and can often produce results that human designers aren't expecting. Furthermore, they don't require any significant storage space, since they don't need to remember anything about previous generations, so your 16 GB limit is not particularly restrictive.

As a summary, and skip the next three paragraphs if you already know how a GA works: they mimic biological evolution by randomly recombining the "genome" of anything you want to optimize, such as a telephone network, chip design, road-map for a proposed highway system, and so-on. You begin with two randomly generated "parents" and, on each loop, recombine randomly chosen "genes" from each parent to produce five offspring. What you then need is some kind of scoring algorithm, which could be a simple formula or an entire simulation (estimated traffic of an airline network for a year, for example), which can calculate a score for each offspring. You pick the two best scoring children and pass them on to the next generation. Lather, rinse, repeat.

You can vary this by tracking multiple "strains" and allowing them to cross-breed, and you can add the element of mutation by randomly changing one of the genes every X-many generations.

Genetic Algorithms have been used to optimize modern telephone networks (cost, capacity, damage resilience), power efficient chips (I understand GAs are being used to optimize the ARM architecture these days), and one interesting case was the first known application: circuits that can distinguish between two musical notes. The result from a few thousand generations was a circuit--programmed on a FPGA--that had a totally unconnected sub-circuit. According to electrical theory, this sub-circuit could not serve any function, but on the physical FPGA chip was acting like a kind of resonance chamber, like the hole in a guitar, inducting a small current that in turn influenced the rest of the circuit. Such an invention was completely unexpected by the programmer, who had no idea such a circuit was even possible.

You run a GA as long as you have the budget or patience for. Sometimes you get excellent results after a weekend, but the longer you run it the closer it asymptotically reaches the ideal implied by your scoring algorithm. You might stop it once it looks like you've found the "ceiling" in the scoring criteria itself.

So I'd bring any reasonable OS and a program that runs a Genetic Algorithm that would essentially do the equivalent of asking a Genie for "infinite wishes": a design for a computer that would also have infinite processing speed, or at least the best possible. Might also run a GA to get the best performance-per-watt design for mobile computers.

Some other ideas, perhaps loaded up to run in series, although they would theoretically all complete the instant I hit "Enter":

A molecule with the lowest mass, highest strength (sheer and tensile), highest melting point and lowest cost that the best simulation of physical materials (my scoring algorithm) can judge. I'll come out and start a Space Elevator company.

A language translation matrix that can satisfy the largest and most varied collection of human-authored and curated "Rosetta Stones" that I can fit on any media I can bring into the room, both text and spoken, including dialects, slang, and inflection. Might solve world peace if we knew what each other was really saying.

Solve every conceivable "Traveling Salesman" route for every mail carrier and delivery company that I can sign-up in my 14-day prelude. Ka-ching. This might actually be the one that takes the longest to run, because I'll be filling up a lot of conventional Flash/portable hard drives with the results.

Find the safest, cheapest and densest way to store hydrogen that my physics simulator can judge, then sell the answer to automobile and fuel-cell makers.

Same for "supercapacitors" and sell it to electric car makers.

Solve Chess.

The potential of GAs starts to become a bit "magic wand-y" after you think about them for a while. Their limitation, assuming an infinitely fast computer, is really the scoring algorithm, and their limitation is human imagination itself.