8. September 2012
Sad day, yesterday. Dan Weinreb died. He had cancer. He was born in 1959. Another one who died too early. He is one of those giants, even though not widely known, on whose shoulders we stand.
Dan Weinreb started very early. When I used a Lisp Machine, a Symbolics 3600 called Hans, for the first time, in the mid 80s, Dan already had a decade Lisp experience. For me using that machine, knowing nothing, was an unique experience. With its large bitmap screen, a mouse, Ethernet, a hard disk, a tape drive, lots of memory (maybe 16 MB RAM), its speed of about a million instructions per second, its Lisp operating system, the GUI-based editor Zmacs, the debugger, the mailer, ... but this technology already existed several years and some privileged people, like Dan, were using it already ... knowing much more than I did.
This page is generated from a Lisp variable named *dan-weinreb*. It resides in a Lisp image which runs in Clozure CL, a Lisp implementation Dan used himself at ITA. Implementing a language he co-designed.
This web page is generated by a web server which had been written almost two decades ago by John Mallery, on a Symbolics Lisp Machine. Dan co-founded Symbolics in the beginning 80s and he wrote a lot of software for the Lisp Machine. Dan wrote Eine, the first Emacs in Lisp and the second Emacs ever. It was also the first GUI-based Emacs - one of the first GUI-based text editors ever written. I used it in the later version of Zwei/Zmacs on the 3600, my 3640, my MacIvory 3 and my NXP1000. John Mallery used Zmacs to write much of his software. John also used Statice in the publications web site for the White House as a database. Statice was one of the first object-oriented databases and its architect was Dan Weinreb.
So we used the software tools Dan wrote. The source was always available when you had the Lisp Machine. It was a keypress away and it opened in Zmacs, Dan's editor. So we also learned from his code. Zmacs already was largely written using Flavors, the object-oriented programming extension for ZetaLisp. This was a time when code was uppercase and the integer base was 8.
We also read the documentation Dan wrote. Again, on the Lisp Machine it was just a keypress away. Dan co-wrote some of the manuals of the Lisp Machine. I was and still am deeply impressed by those. The manuals were excellent and a joy to use. I've used a lot of different documentation over the years, but the Lisp Machine manuals, including the ones written by Dan, are my favorites. Especially if you know you had them online, too.
We were immersed in a development environment, which Dan had influenced and co-authored. The editor as a central part of the Lisp machine, an integrated development environment for Lisp from hardware to software, has had huge impact. Many users of the Lisp Machine experienced this total development flow.
Dan was also very active in the Lisp community. He was one of the five core designers of the early Common Lisp. Later he was chairman of an International Lisp Conference in Boston.
Dan left Symbolics, where he had developed Statice, the object-oriented database. He worked on a successor in C++, called Objectstore, which was commercialized by a company he co-founded: Object Design.
Then Dan worked at BEA on WebLogic, a widely used application server written in Java.
Interestingly Dan made it back into the Lisp world. At ITA he worked on a large application whose core business logic was written in Common Lisp. There he used SBCL and Clozure Common Lisp (CCL, from Clozure Associates). CCL is also what runs this web page. It's an implementation of Common Lisp, a language Dan co-designed. It runs on a tiny, cheap, education computer - still quite a bit more powerful than the pioneering Lisp Machines Dan used to write much of his early code - 30 years ago.
I was always extremely impressed by both the quality, the variety and the amount of work Dan has done. Even more I remember that he was a really nice person both in his online communication style and personally.
The variable in the Lisp image is not persistent. Just like us. But whenever I use my Lisp Machine, I'll use some of his software. Some of the documentation he wrote has a prominent place on my bookshelf.