August 7th, 2007

the pleasures of usenet

Some people are proud of not reading comp.lang.lisp. There's a certain smugness that ranks up there with people who, when you mention a TV show, are quick to point out that they don't have a television ("Notice I didn't say TV, because TV is a nickname, and nicknames are for friends, and Television is no friend of mine!").

Not me! I still love reading it, because every now and then, nestled in all crossposted garbage threads and shark jumping, there are articles that mix humor, utility, personal and industry history, and awesomeness. The latest one for me is Rob Warnock's article about WIRLEX:

I wrote the original version was written in 1971 in "FASTBOL", a compiled SNOBOL-4 from The Stevens Institute. This version used the "expand it all in memory first, then print" approach, and was used to generate wirelists for the DCA Smart/MUX product line as well as several hardware design projects at Emory University. John C. Alderman (DCA) re-wrote it in the "8BAL" macro preprocessor for the DEC PDP-8 in 1972; that version (and all subsequent ones that I know of) output the expansion lines as they were calculated, due to the small memory of the PDP-8. It also ran more than an order of magnitude faster than the FASTBOL version. Since then, Bakul Shah wrote a version in C in 1981 at Fortune Systems, which added the extremely-useful "cross-product" syntax [see below], and I've since coded versions with that syntax in C [1985], Scheme [~2000], and CL/CLOS [August 2007 -- actually, currently in progress as direct a result of this very thread!! ;-} ]. I've also found that discussing the ideas needed for for this application makes a great interview question for software engineers, especially when you forbid the "all in memory" approach!! ;-}

I wish more people wrote articles like this.