The LA lispers got together last night. At eight people, we had a pretty good turnout. Much of our time was spent discussing the DARPA Grand Challenge and imagining what it might take to field an entry. I was distracted from my plan of doing some serious drinking in spite of myself.
We more or less decided to meet on the last Sunday each month at the Red Lion tavern, which I personally thought was a pretty good venue.
The ALU has begun preparations for the 2003 International Lisp Conference. It looks like the conference will be located in New York this year, and will have a good mix of speakers from industry and academia.
In a bold move the ALU is attempting to put this conference on without financial backing from Franz. Which means that the ALU needs to raise money somehow--a strong possibility is that they'll try to get people to pay for ALU “memberships”, though it's not clear what the benefits of membership would be.
A bold plan, and it's not a bad idea to aim for more independence, but it does seem a bit risky. I hope they figure things out soon.
Last night I went to the Cannibal Flower “underground traveling art show & performance.” Driving through a twisty maze of empty streets in an industrial section of LA to get there was almost as fun as actually being there, but apparently this month's wasn't one of the better ones.
Some of the art wasn't so bad, but it was a lot of that LA porn-plus-religious-iconography stuff that is only superficially appealing. It was like being in an expanded version of the Soap Plant gallery.
Later I saw some great views of the city from the side of a hill in Highland Park. I think it was just an empty lot, a few hundred feet from an apartment complex, but I'll probably remember the setting forever. The howling coyotes were cool, too.
From there, Paul said that if Moore's law holds, computers will be 78 quintillion times faster in 100 years (with similarly large increases in memory and storage capacities). Therefore, things we still see as scandalously wasteful today will be quite acceptable and even desirable tomorrow. Finding these interesting inefficiencies that directly lead to more elegant solutions and more productive programmers are an area that deserves more attention.
franklinmint points to Peter Norvig's Amazon reviews, which are good even when they're bad (“If the author followed his own guidelines for quality management, he would offer every owner of this book a free upgrade...”).
The current issue of AI Magazine has an article describing an intelligent control system used in NASA's Advanced Life Support System, part of which uses Lisp. “Intelligent Control of a Water-Recovery System: Three Years in the Trenches” is a Gamastura-style post-mortem of the project, which “operated autonomously, 24 hours a day, 7 days a week, for 16 months.”
The Integrated Water-Recovery System (IWRS) described in the article was the third in a series of control systems developed by the AI group at JSC for Advanced Life Support, all of which used the same 3T architecture (which is a particular instance of a three-tier architecture). IWRS is intended to recycle waste water on space stations or during long term spaceflight, such as a flight to Mars. (Here I have to brag that I once used a genuine NASA urinal to make a “donation” to the system.)
One of the layers in NASA's 3T architecture is a sequencer, for which they use the RAP system. The RAPS engine is written in Lisp, and is one of the things I worked on at Neodesic and I/NET (the last screenshot in this old post is of a RAPS-based system, as are both the systems pictured in this post). The article includes some screenshots of RAPS and control GUIs running in MCL.
The RAP system is basically a special purpose programming language and runtime for writing software for robots. An example from the paper is this simple startup RAP:
(define-rap (processing-start ?stage ?adjust-time) ;; ... (method purge (context (and (= ?stage purge) (valve-position roskm pps_select ?old-pos ?error) (= ?old-pos pps) (nominal-pump-speed roskm feed ?wwsp) (default-timeout ?dto))) (task-net (sequence (t1 (syringe-pump-p roskm start feed ?wwsp 30)) (t2 (water-flowing-p roskm stop recirc 0 ?dto)) (t3 (turn-valve-p roskm pps_select reject ?dto)) (t4 (turn-valve-p roskm process purge ?dto)) (t5 (turn-valve-p roskm pps_select tank ?dto))))))
The article mentions some of the advantages of using RAPS, and Lisp:
Of course the incremental nature of the Lisp compiler allowed us to change other code without stopping operations. A representative example of this kind of on-the-fly code changing involved the central WRS data display. Frequently, in the early months of the test, the test engineers would desire additional information to be shown on the main WRS monitor. Examples of additional data output not called for in the original design include the reverse-osmosis stage elapsed time and the allowed and average TOC. Because the entire interface was written in Lisp (we used Macintosh Common Lisp [Digitool 1996] running on a Power Mac G4), a control engineer could build, debug, and install such changes to the displays online without disturbing the main control code.
Overall the system worked well and overcame several interesting challenges (in particular I like the ones related to running a long-duration system). WRS seems to make a good success story for NASA, Lisp, Digitool and I/NET. And it's just one of several projects at JSC which use 3T, which has a crucially important lisp component.
My pal Fred at metascene has posted some stuff!
Fred's actually the reason I started lemonodor. He said “You should do a weblog.” I don't think it turned out the way he imagined.
I guess I am now a lemonodor posting machine.
If you're in Los Angeles, the Campaign For Real Ale And Common Lisp is meeting this Sunday, March 30. (Note they have a mailing list, too.)
Great, the Red Lion Tavern is walking distance from my apartment.
Xanalys is soliciting beta testers for Lispworks on OS X.
LispWorks for Macintosh will support:
- native Mac OS X GUI with Aqua look and feel through Cocoa, and
- the X11/Motif-based GUI familiar to users of LispWorks for Unix and LispWorks for Linux
Contact them before March 31, 2003.
There have been rumors (well, ok, more than rumors) about this. It's very cool, though it does make me worry a little about Digitool. I'm probably too sentimental.
Geoffrey Knauth on ll1-dicuss: “I think mentoring makes all the difference with Lisp.”
Also on ll1-discuss, Ken Anderson on MOPs, AOP, and tidbits of PCL history.
New York Times headline: “Ex-Symbol Official Admits Scheme”
Via Mike, who said “It's not about what I wanted it to be about.”
Wow, it's been a while. I'm starting to get a little less busy with the release at work, but in the meantime the ex-Neodesic crew have been writing stuff.
Pinku: “So we are doomed to go to war, kill thousands of people, enrage hundreds of terrorists, and rebuild Iraq at enormous cost because an idiot with a warmed-over communications degree believes it will work.” Heh. So Pinku.
Troutgirl: “It amuses me no end to be lectured about how history will judge the current crisis, by people who were English or electrical engineering majors in school.”
Timboy: “it's weird to be a hawk for the first time in my life.”
In case you care, Tim mirrors my feelings almost exactly, from the strange feeling of being a “hawk” to the disappointment with the peace activists with whom my sympathies usually lie. Though I am immune to certainty, people like Paul Berman (“Bush is an idiot, but he was right about Saddam”) seem to make a lot of sense to me.
Will: “I've been agonizing over whether to basically resign at the end of the school year and do something else.”
I'd heard of Screamer but had always thought it to be a very difficult product which would be hard to port. In fact, it was almost trivial. It's all done with macros. Basically it walks the code you write using macros looking for non-deterministic function calls. When these are found it converts that code to continuation-passing-style and uses these continuations to implement backtracking, etc. It's very clever but you don't need to know anything about the implementation to use it.
Screamer seems like a nice example of the ability to extend the lisp language with macros.
This week I'm really busy at work trying to get a release ready. I am a bug-fixing machine. I am not a lemonodor-posting machine.
Craig Reynolds writes
I had a surreal experience yesterday at the Game Developers Conference. The director of a successful software company was complaining about how hard it was to find good Lisp programmers.
He's talking about Naughty Dog, of course. They're hiring and they're looking for lisp programmers.
(I can't keep track--is the official dogma still that the alleged difficulty of hiring lisp programmers is a myth?)
Actually we got there pretty late and only heard a couple songs and then the encore. But even though it was the end of the show, Ex-Girl was still full of energy and having a blast--bunny ears were flying like crazy. I bet when you're in a Japanese all-girl punk/pop band it's hard not to have a blast.
Though it should be said that spending the evening with a cute girl is a lot of fun, too.
A year ago I decided to leave Chicago and move to LA. It was hard; I was moving away from great friends, my family, a good job, my home, my hang outs. The prospect of leaving everything that was familiar behind was really scary. Weak-in-the-knees scary.
But I think fear can be a good sign. I had grown complacent and too comfortable in my habits. I wasn't taking any risks. I was kind of boring. The fear was a hint that I was probably doing the right thing, because I was ready for a new phase to my life and I doubt there's a change worth making that isn't frightening.
It only took a couple weeks of living here for most of the fear to be replaced by excitement. It was obvious that I had made the right decision.
I miss everyone in Chicago, and I miss Chicago. But I didn't really leave it all behind, that's just not quite how it works. And the past year of my life has been one of the best.
I don't read Software Development magazine now, but I used to love its earlier incarnation, Computer Language, back in the late 80s and early 90s. Which somehow makes this dumb little blurb on Evolution a little special to me in a way that the stories on CNN or in the Wall Street Journal were not. [via Mike.]
Just yesterday I was thinking I could probably throw out my box full of issues of Computer Language from 1992.
Here are a few things I noticed from catching up on the past month or so of comp.lang.lisp. (I sort of dread these laundry list posts. They must appear easy and thoughtless, though they're really not.)
Kaz Kylheku is working on lisp bindings for the wxWindows portable-GUI library.
Erann Gatt requests the honor of your presence if you're into lisp and you're in the LA area. (Hey, that's me!)