Contemplating a Hiatal Hernia

Previous Home Next

I don't have a hernia, hiatal or otherwise. I was thinking about the break or interruption since the last entry and was wondering if "hiatus" was an appropriate word to describe my lapse in production. When I asked it for a definition of "hiatus", the on-line version of Merriam Webster's Collegiate Dictionary felt compelled to give me the definition of "hiatal hernia" as well.1 On further prompting it provided a definition for "hiatal" ("of, relating to, or involving a hiatus") which supplied the missing connection. Pondering this led me to think about the ability of human memory to make connections between words, events stimuli of all sorts and then how computers and, in particular, on-line services such as Merriam Webster's, Google, AltaVista, etc., are getting better at making connections that make sense.

Communications between humans and computers continues to provide material for stand-up comedians but I'm finding that more and more often I find some value in the inferences and connections that computers make. I know pretty much how Google works and it makes sense that it would be able to find interesting connections between web pages and rank pages accordingly. To some extent, knowing about Google's basic algorithms removes the mystery, but I have some experience with how algorithmic simplicity can give rise to behavioral complexity.

There isn't much about the computer in front of me with its millions of transistors (my computer has a Motorola G4 processor with around 33 million transistors - an Intel Pentium 4 has around 42 million transistors) and its millions of lines of code (Microsoft Word alone is reputed to have over 25 million lines) that I don't understand or couldn't with a little effort. I'm not particularly unique in this ability; I've just been studying computers for a long time now. But understanding the pieces doesn't mean that I understand the whole nor could I predict its behavior regarding anything more than the simplest or most aggregrate properties. This phenomenon of simple algorithms generating complex behaviors or combinations of simple predictable behaviors giving rise to complex unpredictable behaviors is the subject matter of such relatively new fields of study as chaos and dynamical systems theory.

Since I study computers it's not surprising that I use them in both my work and my daily life. I consider the various computers that I work with as extensions of my brain. I have gigabytes of data stored in archives and databases that I frequently search. I use on-line weather, news, travel, dictionary, translation and search services daily. I have hundreds of little programs that I've written over the years that assist me in navigating in this sea of information and I write new programs all of the time many of which I use only a few times. As I learn about new tools, new libraries and new applications, I incorporate them into my repertoire so I can build on the efforts of other programmers. I've used GNU Emacs (the acronym stands for "Extensible MACro System", the first versions were written by Richard Stallman and the software is currently maintained by Stallman and distributed by the Free Software Foundation) as a text editor and mental prosthesis for over two decades now.2 The latest versions of Emacs are the collective effort of thousands of talented programmers contributing their time and effort to produce a powerful tool that is free for anybody to use or extend as long as they adhere to the GNU General Public License. I frequently add or upgrade extensions and create or maintain those of my own devising.

Often it's easier to write a new program than it is to remember how some existing program works. Over the last couple of days, I've been cleaning up the last few weeks of journal entries in preparation for putting a version on the web. I scanned all of the earlier entries adding extra annotations and little bits of formatting. In addition to writing little snippets of Perl and Scheme, I defined a bunch of formatting functions such as the following one.

(defun codify () 
  (interactive) 
  (insert "</CODE>")
  (goto-char (mark))
  (insert "<CODE>"))

The above definition is written in Emacs Lisp, a dialect that is supported by GNU Emacs and in which many of the higher-level functions are written (most of the low-level functions are written in C). Again using Emacs Lisp, I assigned the functions to keys so that I can invoke a function at a single keystroke.

(global-set-key "\C-x\C-c" 'codify)

These functions and key assignments allow me to move very quickly through a document adding HTML tags to make the document more readable (you've probably done something similar if you've ever used a word-processing application with a macro facility). I already made a lot of changes by running the journal entries through a series of "filters" that clean up the text and modify it so that it displays properly in web browsers. The formatting functions and key assignments are used in the final pass which I do by hand. As I'm reading if I see a bit of text that I think should be displayed with, say, a fixed-width font so it looks like computer code, then I simply mark the text and, holding down on the "control" key, I press the X key followed by the C key. For example, if I marked the text "function(arg)" it would be transformed into the HTML-tag augmented text "<CODE>function(arg)</CODE>" which you would see as "function(arg)" in your browswer. Other functions add HTML tags to italize or embolden pieces of text or create bibliographic references or links for the subject index. It took me an hour or so to write a dozen or so such functions but they saved me many hours when scanning through the text of the journal entries.

Hiatal hernias, connections between words, complexity of computers and computer software, extensible text editors, digital prostheses and editing macros - there really is a thread to this meandering. The thread began on my bike ride this morning as I recalled talking with Thad Starner, a self-styled cyborg ("cybernetic" + "organism"), a couple of years back. Thad is wired and computer enhanced. He "wears" several computers, can view a computer display projected on his glasses, broadcasts what he sees through a web cam, and is constantly connected to the internet through various wireless technologies. As he is talking with you, he can look up your web site, scan your recent papers, perform searches on various things you mention, or, if he's met you before, consult his archives for information on your last meeting. When cyborgs meet physically they can create secure local networks to enhance their physical interaction with electronic exchanges and shared data and displays. And of course cyborgs don't have to meet physically, they can meet in cyberspace.

It won't be long before you begin to see computer-enhanced people on the street more commonly. Right now the equipment is pretty cranky and expensive but as the interfaces improve and the hardware is miniaturized, it will become increasingly appealing to get wired and enhanced. I'm not advocating becoming a cyborg but it's just a natural extension of what I've been talking about all along, using computers to extend yourself. I find the possibility of using someone else's idea of a cybernetic extension less compelling than being able to create my own extensions in some appropriate programming language. It's just another way in which you can program yourself.

I don't want to leave you with the impression that thinking about using computers as mental prostheses is all that new. For some still-very-relevant ideas on machines as mental amplifiers check out Vannevar Bush's "As We May Think" [Bush, 1945] and the accounts of visionaries like Vannevar Bush, Doug Engelbart, Alan Kay and others in Howard Rheingold's "Tools for Thought: The History and Future of Mind-Expanding Technology" [Rheingold, 2000].

This morning when I was pondering the appropriateness of the word "hiatus", I also thought about taking a longer pause in producing entries for this journal. My plan is to take another day to clean this up and then put it on the web and see what sort of response I get. I need to make some concrete plans for what I want to do for the rest of my sabbatical. When we got back on Wednesday night I had to sift through over two hundred email messages most of which was junk but some were from students and friends I haven't seen for some time. I got an update from one of my graduate students working on her thesis in Colorado, news from a former undergraduate working at a government laboratory in New Mexico, and a note from a former graduate student now working in California. I'd like to visit all three and a bunch more during the next year. I also should be writing new proposals and carving out a new area for research, the latter of which I'm looking forward to. As much as I like working on these journal entries, it isn't exactly practical.

I've been accumulating stuff to incorporate into entries but I think I'll just flush the queue and if I begin again, begin fresh. I'd promised to include something about cool hacks. Not programming hacks so much as engineering hacks. A few years ago I wrote an entry for a personal journal in which I reminisced about building a house on Squirrel Mountain near Bedford, Virginia. Just now I took a quick pass over that old journal entry eliminating some of the more personal bits and linked the resulting web page off of this page. I apologize if the tone is somewhat dry and factual; excising all the bits and pieces about friends and shared associations and memories rendered the remaining prose a little anemic and impersonal.

I was also planning to produce an entry about the proposition "can machines think" which I obviously believe is true. Back in May when Erika, Jen, Leah, Susannah and I were meeting to talk about Artemis and research projects for the summer, I produced a little exercise that involved thinking about robotic pets as a way of leading up to thinking about thinking machines and I thought we might try out on Artemis. The exercise was a little advanced for Artemis but I shared it with Roger Blumberg who will be teaching an introductory seminar at Brown this coming fall that will consider, among other questions, the question of whether intelligent machines are possible. Roger, by way of feedback, revised my exercise and sent the revised version back via email. I had wanted to spend some time discussing the issues raised in our jointly-crafted exercise but now I think I'll wait until later this fall perhaps after (or, in preparation, just before) I attend some of Roger's classes. Right now I'm more interested in hearing what others have to say than I am in expounding on my views.

I feel suitably purged of ideas for now and am ready to lay this project aside for a while. Perhaps a short hiatus will serve to recharge my batteries and accumulate a set of fresh topics.


1. I'd never before associated the word "hiatus" with "hiatal" as in "hiatal hernia". On further reflection, however it makes perfect sense.

Main Entry: hi.a.tus
Function: noun
Etymology: Latin, from hiare to yawn
Date: 1563
1 a : a break in or as if in a material object : GAP b : a gap or
passage in an anatomical part or organ
2 a : an interruption in time or continuity : BREAK b : the occurrence
of two vowel sounds without pause or intervening consonantal sound
Main Entry: hiatal hernia
Function: noun
Date: circa 1944
1 : a hernia in which an anatomical part (as the stomach) protrudes
through the esophageal hiatus of the diaphragm - called also hiatus
hernia
Main Entry: hi.a.tal
Function: adjective
Date: 1909
1 : of, relating to, or involving a hiatus

- Merriam Webster's Collegiate Dictionary

2. Another word that rolls off your tongue pleasingly and has broad application besides the most common use in describing artificial limbs.

Main Entry: pros.the.sis
Function: noun
Etymology: New Latin, from Greek, addition, from prostithenai
to add to, from pros- in addition to + tithenai to put
Date: circa 1900
1 : an artificial device to replace a missing part of the body

- Merriam Webster's Collegiate Dictionary