Death of a Troll, My Memory of Erik Naggum (1965 to 2009)

By Xah Lee. Date: . Last updated: .

Erik Naggum is dead. He's born in 1965, died in 2009-06-20, this month. He's 3 years older than me. He's a well known figure in the SGML and Common Lisp communities, and in newsgroup as a major troll.

I wanted to write a essay about it, my impressions of him, our exchanges, … but it'll take probably a week to write a account or obituary sort of thing in a way that is to my satisfaction. It'll involve digging my unorganized newsgroup archive that are scattered in different places on my hard drive, and endless painful hours in google newsgroup archive search… Seems rather a formidable task, because i want to write it well and fully linked.

Erik Naggum lisp humor
net humor on lisp. (that's Erik Naggum in the picture) (image source: [Read-Eval-Print-λove By Michael Fogus. At http://replove.herokuapp.com/ , accessed on 2013-09-13 ])

For now, see our past exchanges at google group: http://groups.google.com/group/comp.lang.lisp/search?group=comp.lang.lisp&q=naggum%2C+xah&qt_g=Search+this+group. Our first exchange is in , when i was learning Scheme lisp for the first time and was asking about the cons business.


http://groups.google.com/group/comp.lang.lisp/msg/72bf71c6e6c81f80

Newsgroups: comp.lang.scheme, comp.lang.lisp
From: Erik Naggum
Date: 1998-01-03
Subject: Re: why we have cons?

* xah@best.com (Xah)
| From a language design point of view, why do we have the pair notion in
| Scheme?

  well, this list and cons business is an instance of what is commonly
  known as an abstract data type (ADT) and one of the more successful ones
  at that.  you will learn more about ADTs in the basic CS curricula if you
  bother to study.  successful ADTs have simple interfaces and provably
  correct implementations that nobody ever need to mess with again.  in the
  case of lists, most languages simply do not have them, and those that do,
  apart from the Lisp family, get them wrong.  there are two reasons for
  this: (1) short-sighted users who think that “list” is a primitive and
  can't be bothered to understand why a simple interface doesn't have
  simple implementations, (2) stupid language designers who believe too
  strongly in strong typing and thus shoot everybody else in the foot when
  they want lists of objects and certainly can't be bothered to invent a
  useful concept for their short-sighted programmers to use.

  imagine that you want a _list_ ADT that (1) can be read and written as
  lists would ordinarily be written, (2) can hold any kind of object
  without modifying the objects in the list, (3) can be taken apart into a
  head and a tail in constant time, and (4) could be extended with a new
  object in constant time.  as a general rule it takes a real genius to
  implement something so that it looks simple, in contrast to the dumb
  people who implement something the simple way, so it becomes complex and
  generally useless to everybody else.  in our case, John McCarthy is
  probably to credit for the historic invention of the only slightly
  counter-intuitive implementation of the simple “list” concept (ADT).

  instead of parsing and printing lists in a special syntax that did not
  itself produce anything useful, such as C's {a, b, …, z} syntax, useful
  only in initializer lists to the compiler, the decision was that lists
  should be _something_ in their own right, and that programs should be
  able to deal with them internally as well as read and write them.  this
  is brilliant.

  instead of having only one particular type in a list of objects that knew
  they were lists (like linked lists with a pointer in the object itself),
  it would be real cool to have a list “wrapper” that had at least one
  pointer to another object and it would be even cooler if it could point
  to any kind of object so the list could be heterogenous.  let's call this
  the “payload pointer”.  of course, the payload pointer and the resulting
  heterogeneity introduces complexity to the reader and writer functions
  for lists, but fortunately, this complexity is fully contained in the
  implementation of the abstract data type.  constructing a list would be
  equally painless without the programmer having to know the internals.
  this is brilliant.

  instead of the obvious “hardware” solution using a fixed-size vector of
  pointers and the ability to have a pointer to any element of that vector
  count as the whole vector, a linked list approach was made in the list
  “wrapper”.  this makes it possible to add elements at the head of the
  list in constant time, instead of having to copy the entire vector into a
  bigger vector when it outgrew its limits (which you'd have to keep track
  of somewhere, since you already use the hardware ability to point to any
  slot in the fixed-sized vector).  let's use a “link pointer” and put it
  in the list “wrapper”, too.  now, not only do we have a pointer to the
  object we want lists of, we have a pointer to another list “wrapper” in a
  linked list, but we said that the payload pointer would be heterogenous
  and could point to anything, so let's let the payload pointer and the
  link pointer be the same type.  the payload pointer can now point to a
  list “wrapper” and the link pointer can point to data.  this way, we have
  a general object that has two genral pointers and can be used for more
  than just lists, although lists have especially nice read and write
  functions and other accessors.  this is brilliant design!

  finally, let's recognize the fact that there is only one empty list, but
  instead of having an anchor at the end of every chain, let's let the
  empty list be represented by a special list “wrapper” that pointed to
  itself with both the payload and link pointer.  again, this adds some
  complexity to the internals, but we find that this complexity actually
  reduces overall system complexity a _lot_.  (of course, Scheme blew this
  design issue big time and forces you to treat the empty list as an anchor
  in _all_ cases, not just where it acts as an anchor.)

  you see, this list “wrapper” is a profoundly general mechanism.

  now, for historical reasons, the list “wrapper” object is called a “cons
  cell”, and the payload pointer is known as the car of the cons cell, the
  link pointer the cdr of the cons cell.  this comes from the historic fact
  that lists were implemented early on in machine registers that were twice
  as large as pointers, quite contrary to modern machines.  the left half
  of this register was the payload pointer, and the right half was the link
  pointer.  now, this kind of pointer magic had a special meaning to the
  hardware on which it was implemented.  unlike today's braindamaged CPU's,
  pointers into hardware pointer vectors had a _size_ attached to them, so
  you could tell when you had reached the end of the list.  this was used
  to implement the push-down list (PDL), better known as a “stack”.  when
  you pushed an object on a PDL, the PDL pointer itself would be one closer
  to the end of the list, so the size would be decremented, and its payload
  pointer would be incremented.  (stacks that grown downward are a newer
  invention.)  in effect, the kind of register that was later reused for
  the list “wrapper” had an _address_ part and a _decrement_ part.

  on this ancient hardware, it was useful to extract the left half and the
  right half into other machine registers.  the Contents of the Address
  Register was obtained with the “car” instruction.  likewise, the Contents
  of the Decrement Register was obtained with the “cdr” instruction.  since
  we were implementing an abstract data type that users would see as lists,
  it didn't much matter what they were named, but we can probably be glad
  that it was something that simple (they can be combined like “cddadr”,
  which can be appreciated only when dealing with a complexity that most
  newbies take years to discover), not something like HLRZ and HRRZ, as
  which they were actually implemented on another CPU (much more beautiful
  than the IBM, but direct followups on that topic to alt.sys.pdp10 and/or
  alt.folklore.computers :).

  however they were named and initially implemented, it didn't much matter
  that it could be optimally implemented on one computer or had to be
  represented as a pair of full machine-word pointers on other computers.
  the concept of a cons as a pair of pointers prevailed and the “car” and
  “cdr” instructions became general accessors into the “cons”.  of course,
  the Scheme folks threw the baby out with the bathwater in their incessant
  desire for cleanliness and forgot the history, so now call it “pair?”
  although they have yet to understand the usefulness of operators like
  `first’, `second’, …, `tenth’ for individual elements and `rest’ for
  the tail and stick to `car’ and `cdr’ always.

  in Common Lisp, the “list” abstraction is taken one step further, and we
  have the `list’ and `list*’ operators to construct lists of elements or
  elements and another list (tail), respectively.  `first’ and `rest’ refer
  to the head and the tail of the list abstraction.  `cons' is still around
  because the cons cell is so much more general than just lists.  `car’ and
  `cdr’ are generally used to access the pointers in the cons cell as such,
  not as implementation parts of the list abstraction.  this is useful at a
  low level and when dealing with trees or complex list structures.

| All in all, the pairs notion is redundant.

  I hope you understand and appreciate what I have written above so the
  following does not apply to you anymore.  you see, I wrote it all because
  I _really_ wanted to say that that sentence is the single most ignorant
  and shallow-minded line that I have ever seen in any programming language
  newsgroup or forum and I hope _never_ to see anybody display such utter
  disregard for the brilliance and genius of people who came before them
  just because they grew up in an age when “simple interface” is sneered
  and laughed at in favor of “simple implementation” so any dumb fsck can
  implement it right out of a “for Dummies” book.  the “list” concept in
  Lisp is easy to use but actually quite hard to implement correctly.  it
  is in the language because it is hard to implement and because the dumb
  fscks who implement it on their own screw up so monumentally.  (just look
  at what C programmers do when they need lists!  *shudder*)

  thank you and have a nice new year.

#:Erik
 —
The year “98” was new 1900 years ago.  |  Help fight MULE in GNU Emacs 20!
Be year 2000 compliant, write “1998”!  |  http://sourcery.naggum.no/emacs/

(See also: My Impression Of Lisp from Mathematica.)

I read comp.lang.lisp almost exclusively for Erik's posts. [see Why do I Rant In comp.lang.lisp] Since he stopped posting in 2004, i have stopped reading comp.lang.lisp. Only started again in maybe 2007 or so, more as a poster than reader now. I clearly remember his last message on comp.lang.lisp. Here:

Source groups.google.com

Newsgroups: comp.lang.lisp
From: Erik Naggum
Date: 03 Feb 2004 14:48:22 +0000
Subject: Re: moderation of abuse?

* Barry Margolin
| Just tell the newbies to killfile Erik Naggum and they'll be spared
| this indignity.

  There is no need for this.  I won't post here again.  Everybody blames
  me for the misbehavior of other people, anyway, and I just don't have
  the energy to fight that extremely unfair insanity, anymore.

  It must be so simple for you people to have a Devil you can blame.

--
Erik Naggum | Oslo, Norway                                      2004-034

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.

(Note: Barry Margolin is a regular on comp.lang.lisp, and a old lisper, probably much older than Naggum. I think Barry is a reasonable guy, but it's common for Naggum to have many online adversaries.)

According to groups.google.com, there are 338 results of posts in comp.lang.lisp that contains both “naggum” and “xah”. I think that the number of posts i addressed him is probably less than 20, and his reply to me is probably less than 10. Of all his posts, 28 of them contains my name “Xah”. (lots posts may contain our name because other people mentioned us) During 1998 to 2004 when i read comp.lang.lisp mostly of his posts, i also post maybe a couple a month on average. Most of my posts are trolls (of the good sort (see: Netiquette Anthropology.)), and part of it is riding his name, criticizing or making fun of his attackers, and criticizing or lampoon him too. They are mostly not technical. Most are writing exercises too.

Here are few essays i wrote in 2001, 2002 period, that are published on my website that either mentioned Erik or was originally addressing him.

(Note: google group search is quite not reliable or comprehensive, as far as my experience goes in the past couple of years. It used to be very good and quite comprehensive when they first acquired dejanews, because back at that time, the search is quite simple, but now they have all sort of filters and indexes that tries to smart things up and deal with the massiveness (including having to deal with machine generated spams that probably constitute more than 50% of newsgroup posts now). It used to be, that if i know a exact sentence or phrase of a post, then i can find the post. But not today. Nor can i find a comprehensive list of my own posts as searched by my email xah@xahlee.org or xahlee@gmail.com.)

Orkut Incidence

In 2004, we made friendship on google's social networking site Orkut. Then, we exchanged instant message a few times. However, he got really pissed and de-friended me. This incident actually made me angry, because, honestly, i felt i was just trying to make a friend, and he is behaving like a complete ass. According to him, i think he said i offended him by incessantly querying him of his work or invading his privacy without respect, or something of that nature. I don't remember fully now, but i do have everything completely logged. So, i'll have to dig it up and put it here. I was frankly very, very pissed off by this incident. I'm no faaking bugging him about his work or anything. His accusation is totally a shock out of the blue. To even have to defend myself seems silly.

I recall, at the time, i contemplated of writing a full account of it, spending perhaps a day or two to do that, with full records and logs, and publish it on my website and announce it to comp.lang.lisp. Because i felt that his behavior is schizophrenic and totally unreasonable. Also, i was unsure i really want to do that. I recall i thought about it for long. On one hand, i was really pissed and wanted to vent my anger, but on the other hand, i have a discipline of my own to follow, that i should be a loving person, as well powerful and in full control, not some loser who'd trip over a online relationship misstep and cry.

Whatever emotional problem he caused me in our process of getting acquainted as computing professionals or friends, i considered for long whether i should just forgive him. Apparently, he's got severe psychological problems so-to-speak, of which, his public writings in newsgroups is sufficient to certify. So, in the end, i did not write a account of it. I actually have spent a hour or two writing it, but didn't complete and publish it. I'll have to dig all these out someday. (i recall now, that i was angry because in our last instant message (IM) he started to lash out in his typical newsgroup manner at me. I think i was rather quite controlled, and didn't say anything back at him. I just stared at his incoming IM chat with disbelief, although in my mind i have a thousand words racing to tell him to shut the faak up and have a million words follow-up for explanations and justifications. I was angry because he was a few human animals that i would care to contact, partly precisely because of his lone and unusual personality, and him being a free thinker, a non-conformist, like myself. The fact i befriend him was partly out of high respect, and in our last couple of IM exchange, i was thwarted and taken aback.)

In any case, when we initially hooked up as online friends on orkut, it was pleasant, albeit we exchanged little. He told me he's sick, and now works as some sort of librarian, and can not code much. (something to that effect)

Erik's Vocabulary

Erik's English vocabulary usage has been used in my English Vocabulary Compendium. In fact, culling his vocabulary usage is one of the major reason i read him. Here are the entries from his writings.

scaremonger

A conservative estimate of the number of people who would die during a period of five years after only _half_ of the electronic infrastructure in the United States had collapsed is 30 million people. This is part of unclassified disaster planning that surfaced because of the Y2K scare, and it has been published widely by scaremongers that a decimation, in the technical meaning of 10% loss, of the population is considered a tolerable loss.
Computer language online forum posting “comp.lang.lisp” (1999) by Erik Naggum. http://groups.google.com/group/comp.lang.lisp/msg/aee320dc0b7ba543
scaremonger = a person who spreads frightening rumors and stirs up trouble.

out of the woodwork

I'm so … intrigued by the evolutionary refuse that keeps crawling out of the woodwork to share their putrid mind with the world.
Sneering by Erik Naggum in “comp.lang.lisp” newsgroup, 2000-03-06. http://groups.google.com/group/comp.lang.lisp/msg/b58497d2d6f54e1c
out of the woodwork = Emerging from obscurity or a place of seclusion. It often is put as come (or crawl) out of the woodwork, as in The candidates for this job were coming out of the woodwork. The expression alludes to insects crawling out of the interior wooden fittings of a house, such as baseboards and moldings. (AHD)

steamroll

“Oleg” is not the first person to encounter a text that presents the reader with two simultaneous impossibilities: (1) a different view to a reality he does not recognize but feels he should, and (2) such a powerful model (or set of models) that the reader has two choices: (a) to bow to and accept it, or (b) be steamrollered by it. The failure to deal with such impossibilities causes people to take to the street to protest against high prices of necessities, to fight globalization with riots, etc. The /right/ way to deal with it is of course to challenge the underlying model, but this requires both skill and intelligence; hence his profound sense of powerlessness.
online computing forum message, by kook persona Erik Naggum, 2003-01-10, “comp.lang.lisp” http://groups.google.com/group/comp.lang.lisp/msg/db2f3a727a918231

logorrhea

I thought I said that: I concluded that Dylan was a waste of time. What kept me interested in it for a while was the Lisp-like syntax. I didn't find the semantics and the “feature set” sufficiently attractive on their own, and knowing how fixed-grammer languages evolve (rampant keyworditis and logorrhea), didn't appear to be something worth investing in at the time.
Erik Naggum on comp.lang.lisp; 2000-07-01
See also: logorrhea

ascetic

“So I was wondering why call/cc is not implemented.”. Because the Common Lisp crowd doesn't want you to implement manually all the control flow mechanisms that CALL/CC is used to implement, and that is because there is no desire to pare the language down to “essentials” or Scheme's ascetic/annorexic notions of “elegance”.
〈continuations and cl〉 by Erik Naggum. Newsgroup posting on comp.lang.lisp.
annorexia = Loss of appetite for food. annorexia.
Scheme is a programing language. Call/cc is short for Call-with-current-continuation. It is a technical feature of programing languages.
ascetic = A person who renounces material comforts and leads a life of austere self-discipline.
annorexia

ipso facto

Your posting here makes you ipso facto part of the Lisp community.
Erik Naggum in comp.lang.lisp newsgroup

wherewithal

OK, I understand this to mean that you do not have the mental wherewithall to understand that focusing on people is a choice, opposed to focusing on the arguments, on information, on ideas, on knowledge, on understanding, etc.
Erik Naggum in comp.lang.lisp, 2002-09-28

defeatist

… and I frankly do not quite understand the depressingly defeatist attitude of those who think there is no use — a long journey starts with the first step …
Erik Naggum on comp.lang.lisp

minutiae

as long as you wish to fuss about minutiae, at least get them right.
Erik Naggum, 1996-11-09, in comp.emacs.

Evaluation of Erik

Position in Human History

On the web, you see a lot blogs saying such things as “passing of a giant” or other similar statement about how Erik is a computing God of sorts or genius. I don't regard Erik as some kinda god for his computing knowledge. Among human animal's history, in the field of theoretical computer science or practical programing, in this century, if you multiply Erik's contributions 2 fold, he probably wouldn't have a place. So, the bunch of tech geekers online praising Erik being some sort of genius, is too exaggerated. (they do that partly because Erik is dead. Human animals, especially males, love to approve people when they are dead. All those eulogies and posthumous awards and memorials faak. [see Support Living Artists])

Erik's social insights, as far as i've read from 1998 to 2002 inclusive (a period i've read ALL his comp.lang.lisp writings), wasn't anything substantial in any academic or science contexts, nor are they particularly award-winning material when judged as a letter of art in academia.

When you evaluate someone's work, especially in the context of a dead person, you have to judge it from the appropriate field or community. So, taken Erik's work into the computer science domain, you might ask, has he invented some notable theory? No. Of his code, are they widely used, praised, or otherwise influential to computing? Well, no.

If you survey theoretical computer science, there are probably some tens of thousands papers published each year, and of these, probably less that 0.1% that is actually noteworthy, and of these 0.1%, most are only meaningful to a few human animals in esoteric fields. Erik's life time work, when taken in this context, probably don't even make it into that 0.1% barely noteworthy.

Now, on the aspect of writing software in the programing industry, there is a designer or coders behind every protocol and its implementation (For example, the whole TCP/IP protocol suite and apps), languages ( tens of general popular ones or hundreds of notable domain specific ones), software (For example, the well known web browsers, email apps, IM/IRC programs, software on top trafficked websites, encryption software, banking software, tele-communication software, software in commerce, business software such as spreadsheets and word processors, scientific software from calculators to weather prediction…. There are probably few hundred thousand software that are used by significant number of people today), each one of these software, has a person (or more) that actually coded it. Consider Erik's contribution to humanity in terms of software he's written, then it's probably nowhere notable. As a more concrete example, today google has maybe a hundred or more technologies and services, for example: {Chrome, Gmail, Google News, Google Sites, Google Map, Google Earth, Google Webmaster Tools, Google Analytics, Google Code, Google Groups, Orkut, Blogger, Google Docs, iGoogle, Google Talk, Google Books, YouTube, AdWords, AdSense …}. Some of these, are written by a single programer, or few lead programers. Any one of these people, probably has equal, if not more significance, than the code Erik's written in his lifetime. Google is just one company, among the top Fortune 500 or top fortunate 10k successful tech companies. Each company, probably has 10 or 100 notable lead programers, technologists, research scientists, “fellows”. When you consider this, you can see that Erik's code, however fantastic, but in the sense of posthumous evaluation, probably isn't anywhere notable.

XML Criticism

Many people say that Erik has important insight. I don't deny it. After all, he is the person i read in comp.lang.lisp for several years. But if we seriously want to evaluate the quality of his contributions, his insights in his newsgroup rants, are not good criticism proper. His rants are often technically incoherent. For example, this piece of criticism on XML that is one of the more well known among his postings:

Newsgroups: comp.lang.lisp
From: Erik Naggum
Date: 28 Dec 2002 03:08:55 +0000
Subject: Re: S-exp vs XML, HTML, LaTeX (was: Why lisp is growing)
Source groups.google.com
(local copy: erik_naggum_on_xml.txt)

Out of the 2.7k words, close to half is irrelevant rant on human animals, of babies, breasts, rape, American male, George W Bush the motherfucker… If we remove these, and look at his technical content, they are mostly opinions, and not that informative, coherent, or valuable. This piece, at best, is a brilliant rant, but nowhere comes close as a brilliant tech commentary, criticism on XML, history of SGML, nor as a good piece of myth-debunking on XML/SGML for practicing web professionals.

A criticism is not just a list of wise edicts. Perhaps his items are truely on the spot, but a good criticism must give details to backup the argument, and consider issues from many aspects, such as technical, social, theoretical, practical. Or, it must at least delve into a particular aspect or item in depth. Erik's XML rant fails this in many ways, it is simply too short and too unfocused. For example, he did not consider any social aspects of why XML is going the way it is, why people at W3C are becoming stupid as he asserts, he didn't outline any possible relevant history of anything, he did not expound any item in detail, he did not give any overview of SGML in the context of XML or vice versa … All he did, is giving a list of items with a couple sentences long reason for each. However seemingly wise and insightful those comments are, it is not sufficient to qualify it as a good criticism. However you dice it, his writings at best is in the category of rants and ravings and creative writings than criticism proper or educational or informative value.

Criticism on Time Format

His, perhaps only, well-known published piece in some professional context, is about date format.

[The Long, Painful History of Time By Erik Naggum. At http://naggum.no/lugm-time.html , accessed on 2012-01-24 ]

I recall, i read it twice in separate years. I wasn't particularly impressed. At best, its value is about as great as some good piece of RFC writing, and there are few thousands of RFCs, and there are some millions of good tech documents like that. The number of people who have written tens of such good tech pieces, easily number in tens of thousands, and these people are not particularly considered geniuses or notable award winners.

Note also that i think Erik sometimes attacked technologies that he later may have changed his stance. I recall, he has written raving pieces against Unicode (dated late 1990s i think), in his typical fashion, calling it a piece of faaking shit or political disruption or something to that effect.

Emacs Lisp

According to Wikipedia, Erik has contributed significantly to emacs. Quote:

Erik Naggum contributed to the free software project Emacs text editor for almost a decade.[8].

The citation “[8]”, is one of Erik's own posting:

Newsgroups: comp.lang.lisp
From: Erik Naggum
Date: 24 Aug 2002 04:05:25 +0000
Subject: Re: The Next Generation of Lisp Programmers
Source groups.google.com

in which Erik touches on his accomplishments himself.

I have become a emacs lisp programer since 2006. I recall, in ~2008, out of boredom and curiosity, i tried to check what code Erik has put in emacs. My check is only casual and not in anyway thorough or as research, but i recall, all i can find on the surface is one obscure lisp package, i think it was related to date time format. Also, i recall, Erik used to maintain a emacs version without the MULE package. (MULE is a hack to support multi-byte characters, before Unicode became popular. Erik considered MULE severely damaging.) Erik also had a project to write a Common Lisp based emacs more or less from scratch, but it was abandoned; i recall seeing him bitching about the ratio of effort/value being too high. For some more detail, see: Source www.emacswiki.org ErikNaggum .

(Addendum: Daniel Herring wrote “Erik authored roughly 176 emacs commits, most of which were small bugfixes. Not a prolific coder, Erik definitely cared about details, often cleaning up after RMS himself.” http://groups.google.com/group/comp.lang.lisp/msg/ad1fd40f8b0fcf5a.)

Here's a thread where Erik explains and argues about MULE. It showcases his decade long experience in working with ISO standards and charsets. It reads very informative, but is actually quite incomprehensible to me, unless you have dedicated expertise in area of ISO, charsets, encodings, font.

Newsgroups: comp.emacs
From: Erik Naggum
Date: 1997-06-04
Subject: Re: Mule vs Unicode; was Re: 19.35 --- when?
Source groups.google.com
(local copy Erik_Naggum_emacs_mule_unicode_rant_1997-06-03.txt)

I also recall, that Erik doesn't give a shit about XEmacs during the heated years of the GNU emacs vs XEmacs war (this period is roughly ~1990 to ~2004). During that time i was reading Erik (1998 to 2004), XEmacs in my opinion, is much more robust and useful than emacs. [see My Experience of Emacs vs XEmacs] So, this is a tech issue that i find Erik's opinion directly contrary to my own experience in a area i have expertise. (even consider that much of his misgivings about xemacs may be founded on political aspects, i'm more inclined to side with the Lucid/XEmacs on political or social aspects too.)

My Regards for Erik

After all things said, i definitely think that Erik's contribution to society is probably more valuable than average professors, and his computing knowledge, his code contribution, is within the top 10% of notable programers. Certainly, Erik is above average in IQ, and his knowledge in computing, the amount of literature he has read, about computing or about human animal society, i'd think to be among the top 0.1% of college educated population. Erik, being a unique personality, independent thinker, and his wayward mannerism and English mastery in the online world by his rants and ravings, had notable influences to some segment of the computing community, in particular, SGML and Common Lisp (for good or bad). He certainly has influenced my thoughts.

Although i think all of my posts regarding Erik are rather positive or supportive (while he's alive), and he was the only reason i read comp.lang.lisp, however, his newsgroup behavior is really mean, base, despicable. My principle of life is love and knowledge. [see (Knowledge + Love) / Disrespectfulness] I may hate unix, tech geeking ignoramuses, or think that Larry Wall is a criminal (For example, Larry Wall and Cults), but these are expressions of hatred toward things, toward behaviors, criticisms of celebrities. In a term of social law, they are “of public interest”. In particular, i don't hate in the faaking American's blown-up sensibilities of so-called “hate crime”, where any essay that can be intepreted by minority groups as negative are labeled “hate crime”, any non-careful negative commentary on religion is “hate crime”.

Newsgroup's culture has always been harsh and pissing-fights are its daily rituals among participants. However, Erik has the energy to keep on and on attacking individuals in a personal way, on any nameless joe, he'd spend tens of hours, insulting their moms, devising ever more creative writings telling them to kill themselfs (literally). In reading the sheer quantities of such posts, and you can tell that some (or most) of them are simply pure hatred. Quite ugly and bothersome to see. I don't know if Erik truely wished death or mishap to happen to his antagonists, but his writings, express exactly that.

On the other hand, i think most of Erik's views are shared and vehemently expressed by me. We both hated Perl, TeX/LaTeX, unix, to extreme degrees. (See: Pathetically Elational Regex LanguageThe TeX Pestilence: Why TeX/LaTeX SucksThe Unix Pestilence. ) And, we both HATE moralists, and are not afraid to express it.

I miss Erik, if for anything, for losing a non-conformist compatriot, a free thinker.

Other Memorials

Some other online postings about Erik, from people who are mutual acquaintance with me:

Some other online postings about Erik, from people who are not my personal acquaintances.

Addendum:

Archive of comp.lang.lisp and comp.lang.scheme is available, thanks to Ron Garret for getting it and Eli Barzilay for hosting.

Zach Beane, a Common Lisp programer, created a searchable archive of Erik's posts. Erik Naggum comp.lang.lisp archive At http://www.xach.com/naggum/articles/ .