Last night Lori and I went to see Brendan Benson at the El Rey. He's a scrawny little guy. Looks very earnest, too, and to an extent he is, but his music has more than enough rocking guitar to make me happy. His backing band was a bunch of characters: The Surfer Bassist With Gray Hair, The Pale Detroit Rocker Guitarist, and The Drummer With Rhythmic Mouth Tics.
We were almost right up against the stage for the whole show, where we were surrounded by die hard fans. They were all girls (OK, there was one guy), none of which broke 4'6". I'm not a short guy, but it seems like most rock shows have a higher proportion of tall motherfuckers in the crowd than you see in the general population, so I relished this one chance to not have to keep swaying from one side to another to see past some hipster's afro.
The guy behind sodaplay is giving a lecture at the The Institute for Figuring's get-together this Friday.
The architect of this online world is Ed Burton, an artist and computer programmer. Burton designed his soda-software as a virtual toy based around the principles of the engineering discipline known as Control and Dynamic Systems. Each model is made up from a set of points and lines: some of the lines are simple springs and act as a kind of soft skeleton; others act like muscles and can change length. In effect, the structures may be seen as virtual tensegrities. By connecting points in various arrangements of lines, structures can be given an internal logic that causes them to move. From these simple beginnings sodaplay users have evolved ever more complex mechanisms that can now mimic such sophisticated tasks as bipedal walking and multi-wheeled rolling. In this talk Burton will discuss the evolution of the sodaplay universe and the processes by which the community of soda constructors collectively develop new styles of form and function within this software world.
I'd definitely be there if I wasn't already going to San Diego's Street Scene.
Uri Kartoun is working with the Washington Hospital Center to get ER1 robots to follow people: 13 MB WMV video.
It looks like Uri is using the Task Execution Layer of the ERSP, which is the layer of the architecture I'm responsible for. It didn't quite turn out how I'd hoped, but I'm glad people are finding it useful.
In his approach people carry RFID tags that the robot homes in on. At Evolution we used to do something similar by using a laser range finder and watching for the range signature of two human legs.
The John Wiseman of a year or two ago was on his way to posting something about Peter Norvig's Common Lisp-To-Dylan converter tool when, I assume, something came along and distracted me, since I don't see that post anywhere.
...here I produce Dylan code with nice indentation, to any specified column width, just by converting Lisp to a parse-tree syntax that is equivalent to Dylan, and then writing pretty-print directives for the parse-trees.
The one time I played with Dylan I was so put off by the terrible, terrible performance of the Harlequin Dylan environment that I had to stop after half an hour. But this code of Norvig's is still kind of neat.
LTD works by first reading a Lisp s-expression with ltd-read, then converting it to an internal s-expression representation which represents a Dylan parse tree with cvt-exp, and then printing the internal representation with dpp-exp (DPP stands for Dylan Pretty-Print). For example, calling ltd-read on the fragment of source file
;; Compute sign of x (cond ((< x 0) -1) ((> x 0) 1) (t 0))results in the expression
#S(com :comment " Compute sign of x" :code (cond ((< x 0) -1) ((> x 0) 1) (t 0)))which gets translated by cvt-exp to the internal form
#S(com :comment " Compute sign of x" :code (IF (< X 0) -1 (:ELSIF (> X 0) 1) (:ELSE 0)))which then gets printed by dpp-exp as something like
// Compute sign of x if (x < 0) -1; elsif (x > 0) 1; else 0; end
After finishing his poker server, Joel Reymont is now working on a real-time trading system, “Uptick” [via Chris Double]. Again, he's starting with Lisp.
The Stanford Grand Challenge Team claims to have traversed all but three miles of last year's 144 mile long course.
CMU's Red Team traveled 200 miles... on a closed race track.
A Princeton team-member claims they “had an 12 hour stress test where we covered all of last year's course, and a little [bit] more”, but that sounds like maybe the vehicle just traveled the same distance as last year's route, not that they actually followed the desert course.
I thought the presence of an endangered turtle species required some sort of special waiver to traverse a portion of last year's course?
Ryan Adams is working on a Lisp interface to gnuplot: Plotting in Lisp, Part I, Part II and Part III.
Theoretically, the gnuplot.lisp module in CLOCC does this, but it has been a very frustrating experience for me because I have found it buggy and badly documented
Also see an old lemonodor post and a very old lemonodor post on a similar topic.
Update: Gary King is also working on a Lisp-to-gnuplot library, clnuplot.
Henry Lenzi sends “photographic evidence of why symbolics went down,” a sales quote from 1985 for an 8 MB RAM, 474 MB disk Symbolics 3675 that comes to $129,900 (after a “Christmas discount” of $55,500).
JSP is a way to insert Java code into HTML pages, right? This frightening JSP code fragment (from here) contains two programming languages: the language of the Java Standard Tag Library (JSTL) and Expression Language (EL).
<c:if test='${empty sessionScope["cart"]}'> <c:if test='${body ne "ThankYou.jsp"}'> <c:redirect url="ChooseLang.jsp"/> </c:if> </c:if>
Neither of the programming languages used is Java. And there doesn't happen to be any HTML.
What kind of person thinks this is OK?
Look at all the people registered for the 2nd European LISP and Scheme Workshop that's coming up.
Paul McJones continues to add new books to the History of Lisp website of the Computer History Museum.
After seeing the “FIELD TEST ASSEMBLY OF LISP 1.5 SEPTEMBER 1961” on the site, which is the collection of punch cards containing the IBM 7090 assembler source for Lisp 1.5, Pascal Bourguignon was inspired to extract the source and will hopefully soon be running it in an emulator.
PCC PAGE 006 ZST * M948-508,FMS,DEBUG,20,40,20000,700 ASSEMBLE LISP 1.5 LISPHERE * FAP COUNT 13000 ABS * FIELD TEST ASSEMBLY OF LISP 1.5 SEPTEMBER 1961 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * THIS IS THE 709 SECTION OF THE UPPER VERSION OF RWTML * SHARE DIST NO. 709 AND 741 * IT LOADS BINARY 704 STYLE CARDS AND OCTAL CORRECTION CARDS * ON LINE * L HED ORG -47 IO POSITION LOAD AT -42 * 709 BINARY-OCTAL BOOTSTRAP LOADER IOCD LOAD,0,21 COMMAND TO LOAD REMAINDER OF LOADER TCOA 1 DELAY TILL LOADER IN TRA LOAD LOAD RCDA INITIATE NEXT CARD
Christian Neukirchen noticed that slides from a bunch of the ILC 2005 presentations are up. Actually, audio for a handful of talks are up, too--and you can even make out what they're saying (if you crank the volume).
47 talks, 17 sets of slides, 4 audio recordings, 1 paper and 1 collection of code.
Lemonodor is now running the latest version of Movable Type, with the SpamLookup plugin.
I've enabled SpamLookup's “passphrase” comment validation, which just means that when you post a comment there will be one extra input field into which you will need to type “lisp”. If you don't do that, Lemonodor assumes you are a spammer and won't post your comment. I'm hoping this will be pretty effective, and it should be clear to most humans what is required (though I'm not sure how the Beyonce thread will fare under this new system).
If you have any trouble posting comments, please let me know at jjwiseman@yahoo.com.
Martin Fowler says “Lisp is probably the strongest example of expressing DSLs directly in the language itself.”
The example problem posed in that article is to read and parse some sort of log of service call records:
#123456789012345678901234567890123456789012345678901234567890 SVCLFOWLER 10101MS0120050313......................... SVCLHOHPE 10201DX0320050315........................ SVCLTWO x10301MRP220050329.............................. USGE10301TWO x50214..7050329...............................
Rainer Joswig came up with a nice little Lisp solution, which boils down to this:
(defmapping service-call "SVCL" (04 18 customer-name) (19 23 customer-id) (24 27 call-type-code) (28 35 date-of-call-string))) (defmapping usage "USGE" (04 08 customer-id) (09 22 customer-name) (30 30 cycle) (31 36 read-date)))
Which I think looks perfectly natural to any Lisp programmer.
You can see exactly the same sort of process at work in the Practical Common Lisp chapter on parsing MP3 files:
(define-binary-class id3-tag () ((identifier (iso-8859-1-string :length 3)) (major-version u1) (revision u1) (flags u1) (size id3-tag-size) (frames (id3-frames :tag-size size)))) (define-tagged-binary-class id3-frame () ((id (frame-id :length 3)) (size u3)) (:dispatch (find-frame-class id)))
(I finally sat down and read my hardcover copy of Practical Common Lisp; I was very impressed. The design and coding is elegant, the exposition was extremely lucid, and the practical chapters are engaging. Thumbs up.)
You can see that there are some benefits to writing your DSL in your host language as opposed to in XML.
[Oops. I just saw that Bill Clementson already posted about this very same thing.]
A Volkswagen research group, the Electronics Research Laboratory, is working together with the Stanford team for this year's Grand Challenge. They believe that derivatives of the technology developed for the DARPA race will eventually make all of our cars safer.
Are there any other car makers significantly involved in the Grand Challenge?
Lemonodor needed a vacation as much as the rest of you. But now it's back, and I even have vague plans of some improvements around here. Cleaning the gutters, maybe a new deck in the back yard, that sort of thing.
From an editorial in Air Force Magazine:
Within 10 years, one-third of US ... deep strike aircraft will be unmanned,” said Congress’ 2001 defense bill. This claim, while shocking at the time, seems much less so in retrospect.
Indeed, unmanned aerial vehicles, in general, have advanced further and faster than had once seemed possible. Previously, the services had only a handful of UAVs; today, they operate upwards of 1,000 remotely piloted aircraft and are clamoring for more, given that many of these systems have proved their operational worth in Afghanistan and Iraq.
The article goes on to discuss problems supposedly due to lack of coordination of UAV development and operation between branches of the military, including crashes.
With so many aircraft over the battlespace, the skies are crowded, and some pilots are unhappy about sharing airspace with the drones. They have cause; there have been at least two collisions and several near misses.
An AP report claims that a crashed UAV may have been indirectly responsible for the death of a Pakistani soldier: “...officials said that the crash of the reconnaissance drone may have sown confusion which led to the skirmish.”