20. Why Did The Programmer Quit Emacs?
I decided to stay in Montreal. It was an exciting city, and I spoke French from my high school days in Europe.
I spent a year working at a company called Visual Edge. We were developing a system called UIMX, which was a user interface builder for Motif. Motif was supposed to be the grand standard UI for all workstations running X-Windows. All except Sun, who pushed their own News system based on Display Postscript.
It was the first time I had worked at an established company (albeit a small one) rather than a startup. They were an experienced group of Unix hackers. We worked on HP workstations running HP-UX. We had good conversations about computing and programming languages, including about Lisp. That was where I found out about KCL/AKCL. KCL (Kyoto Common Lisp) was a freely-available portable Unix implementation of CL written in C at Kyoto University. AKCL (Austin KCL) included improvements out of the University of Austin. This information would come in handy later.
It was also my first time working in GNU Emacs. Previously I had worked in EDT (DEC VMS) and vi (SGI IRIX). So one day the following exchange took place.
Me (yelling across the office): How do I quit Emacs?
Older dev: Why do you want to quit Emacs?
Me: I want to check my mail.
Older dev: Meta-x mail.
Many years later I found the standard hacker answer to “How do I quit Emacs?” is “Why do you want to quit Emacs?”
I left the company after a year. UI programming wasn’t my thing and I had met a team in Old Montreal doing some seriously cutting edge 3D graphics development.
Design & Code
This snippet shows more work in progress code. I have been experimenting with more ways of controlling the particle branching. I added mass, angle, and velocity-factor as new parameters. The 90 degree branching is apparent in the image above.
I also wanted more branching towards the end of a branch, and a couple of attempts can be seen here in the various spawn probability functions.
This why programming in an Emacs-Slime-REPL environment is so pleasant. The distance between thought and running code is so small. I feel the language is helping me, and not fighting me. I’ve never felt that way working with C++.