Alexander Repenning's “anticipatory symbol completion” for MCL is kind of slick.
Eugene Wallingford has some great notes from this year's OOPSLA. Here are a few excerpts.
OOPSLA DAY 1: THE MORNING OF EXTRAVAGARIA:
Richard is motivated by the belief that computer science is in the doldrums, that what we are doing now is mostly routine and boring, and that we need a jolt of creativity to take the next Big Step.
OOPSLA DAY 3: ROBERT HASS ON CREATIVITY:
Creativity seems to happen almost with cause. Hass consulted with friends who have created interesting results. One solved a math problem thought unsolvable by reading the literature and “seeing” the answer. Another claimed to have resolved the two toughest puzzles in his professional career by going to sleep and waking up with the answer.
So Hass offered his first suggestion for how to be creative: Go to sleep.
This has been happening a lot to me lately; In the half hour or hour that I lie in bed just barely conscious before really waking up, I find that I come up with a clever solution to some tricky problem I'd been struggling with the night before.
OOPSLA DAY 3: SUSSMAN ON EXPRESSING POORLY-UNDERSTOOD IDEAS IN PROGRAMS:
Then Sussman showed what many folks consider to be among the most beautiful pieces of code ever written, if not the most beautiful: Lisp's eval procedure written in Lisp. This may be as close to Maxwell's equations in computer science as possible.
This is where Sussman got to the key insight of his talk, the insight that has underlay much of his intellectual contribution to our world:
There are some things we could not express until we invented programming.
Sussman's wonderful, inspiring talks at the last couple ILCs have convinced me that programming, and figuring out how to program, is one of the greatest intellectual challenges humans face right now.
OOPSLA THIS AND THAT 3: GEEK JARGON:
Example 2: At lunch, Guy Steele asked us if we ever intentionally got lost in a town, perhaps a town new to us, so that we had to learn the place in order to get back to a place we knew. Several people nodded vigorous agreement, and one guy noted that he and his colleagues use a similar technique to learn a new legacy code base. They call this air-drop programming. This is a colorful analogy for a common pattern among software developers. Sometimes the best way to learn a new framework or programming language is to parachute behind enemy lines, surrender connection to any safety nets outside, and fight our way out. Or better, not fight, but methodically conquer the new terrain.
Martin Fowler has a completely different take on the conference, with some good quotes.
Tord Romstad has two chess programs created with OpenMCL and its Cocoa support: Glaurung and Scatha. Glaurung plays traditional chess, while Scatha plays Wladyslaw Glinski's hexagonal chess.
Last Saturday we chilled (there can be no debate, “chilled” is exactly accurate) with rock stars and celebrities in a beautiful manse (Lori says it was more a manse than a mansion, and I believe her) in Calabasas. The next day neck and I saw Opeth at the House of Blues and I was overwhelmed by metal. Friday night we went to Pomona and saw a “secret” Bright Eyes show , at which Lori almost made some poor emo kid cry. Last night we saw the Weezer/Foo Fighters show at the Long Beach Arena, which was satisfactorily arena-y with terrible acoustics and lasers and lightshows like they must have in heaven and confetti cannons (hopefully outlawed in heaven).
Today is my birthday. I'm hanging out in the tea room of the MJT, and then tonight neck is taking me to a hockey game.
Lispjobs.com is a nicely edited list of Lisp-relevant job postings.
Senior Software Engineer: Franz, Inc.. See also craigslist. Lisp use: triple-plus-good; tags: compiler theory and design; other languages: C, C++, Java; salary: $75k-$90k base DOE + benefits package.; location: Oakland, CA; posted: 2005-10-18.
Common Lisp Scientific Programmer: SRI. Lisp use: double-plus-good; tags: human genome, ai; other languages: ; salary:unknown; location: Menlo Park, CA; posted: 2005-10-18.
An RSS feed would be nice...
Other weblogs offer periodic link roundups. But I've never seen one finish the job. Here at lemonodor, we round up the links, alright—but then we take them out back and shoot them.
Here are the suspects most recently implicated in the DARPA 2005 Grand Challenge.
DARPA has posted team technical papers by all the finalists and semi-finalists. Hey—Stanford used Reid Simmons' IPC, which I've used a bit from MCL.
The Mercury News explains how Stanford's winning vehicle worked:
When the Stanford team first started testing Stanley, a blue sport-utility vehicle, he had a 12 percent blunder rate for “false positives” — incorrectly assuming 12 percent of the objects in front of him were obstacles big enough he had to swerve around them.
So the team instructed Stanley's software to take notes while a human driver maneuvered the car over different types of terrain. By following this guidance, the false positive rate dropped to one in 50,000 objects
Nelson Bridwell of Mirage Robotics has a video gallery of the 2005 Grand Challenge, including brief technical interviews with several team members.
Team TerraMax's video gallery includes a time-lapse video of TerraMax's entire first day on the course. Scream in terror as TerraMax roars over dry lakebeds at an apparent 180 MPH! Cry in frustration as it responds to phantom obstacles using its trademark one-step-back-two-steps-forward algorithm! Freak out during the Blair Witch-inspired scenes at the end, when the giant robot truck is alone in the pitch black desert with its only illumination coming from a flashing warning device meant to keep people away. What are those lights approaching? Who's in that pickup?! THE E-STOP MEN FROM D.A.R.P.A.!
Finally, DARPA posted the 2005 course data file (RDDF).
Here's one enthusiast's comparison of the 2004 and 2005 courses:
GC 2004 | GC 2005 | Factoid |
---|---|---|
142.3 | 131.8 | total distance, miles |
2586 | 2935 | number of waypoints |
291 | 237 | average distance between waypoints, feet |
40% | 56% | fraction of course flat to within 1% grade |
40% | 40% | fraction of course with grade 1%-4% |
17% | 3% | fraction of course with grade 4%-8% |
2.7% (~4mi) | 0.8% (~1mi) | fraction of course with grade > 8% |
9.4 | 7.2 | average time between waypoints at 100% allowed speed, sec |
6.8 | 5.9 | hours to finish at 100% allowed speed |
13.8 | 12.2 | average time between waypoints with a 10 hour finish, sec |
68% | 59% | fraction of max allowed speed required for a 10 hour finish |
Furthermore:
The only acknowledged “difficult” section of road, Beer Bottle Pass, was so dense with waypoints that I can't see the road on a map overlay....200 waypoints in 1.6 miles (about 40 feet apart).
Thus ends the Grand Challenge link purge.
I hadn't seen Will Gozer's Trendalicious, “a near real-time view of website popularity trends as reflected by the del.icio.us social bookmarking service. All URLs that have been posted by a minimum of two people in the past sixty minutes are displayed, ranked by the total number of recent posts.”
Trendalicious, like Will's Cafespot site, is powered by Allegro Common Lisp.
Will is interviewed by eHub:
The whole project came together very quickly, and exactly as planned. It only took a month and a half to launch the first version, and new changes are very easy to implement and deploy. CafeSpot is probably the best web application I have built so far
And I hadn't see his Cafespot development blog before, either.
It warms my heart to see people using Lisp to create useful applications that participate in our contemporary web ecology.
Mario Mommer, the guy behind common-lisp.net, is sick of it:
There is a larguish problem with common-lisp.net. That problem simply is that its main admin and otherwise responsible guy (that is, me), has simply had more than enough of it. I just do not want to do this any longer. I enjoyed it for a long time but that time has been over for a while.
I don't think that things are going well with common-lisp.net as they are. The projects page is abandoned. We are still running debian woody. This sort of thing happens because I do not have the time, the expertise, or simply the energy to do better, and because there is no real infrastructure for sharing responsibilities. A project like this should have one, but I don't have the energy nor the time of building one.
[...]
Perhaps someone else might want to take over, which means taking over completely...
I love Hard 'n Phirm's video for their song Pi, “with digits of pi sung in harmony to the 190th decimal place” [via waxy]. And there's a bonus Dragon Boy Suede rap interlude! Dragon Boy makes Pi sexy.
I'm planning on seeing Hard n' Phirm and Dragon Boy pretty soon, too.
Robert Cringely and Dave Winer talk about the Lispic origins of Dave's outlining software:
Bob: How did the Outliner come about?
Dave: Well, I was talking with a friend of mine who was a Lisp programmer, really loved Lisp, and he was telling me about a feature that they had in Lisp editors called Function Illusion, which allowed you to - you know, Lisp was all about names with parentheses. So it's just a ton of - so in order to manage all those parentheses, the software that you use to edit a Lisp program knows how to take all the detail out and just show you the sort of skeleton of it. So you can sort of walk through the structure of a Lisp program.
And I thought, since I wasn't programming in Lisp, I was programming in Pascal and then C, that it would be nice to have something like that for those languages. And so I decided to write an editor like that. This is when I was at Wisconsin. And I showed it to my colleagues in the Computer Science Department. And this is an experience that I repeat to this day - that you try to - computer guys don't wanna try new things out. I mean the theory is that we're very innovative people. But, in fact, we're anything but innovative. And so I showed it to them. They scratched their heads, and they said, “Well, that looks great, but I think I'll continue using the regular old editor that I'm using.”
And I thought it would be like in Kurt Vonnegut's Cat's Cradle Ice Nine that just sorta, you know, the whole world froze because of this great thing. Well, not quite - nobody wanted to use it. So it sorta sat around...
I have no idea what is meant by the term “function illusion”, but maybe he's talking about structure editors. Or emacs-style folding. Damn computer scientists.
Mark Warren enhanced my Grand Challenge route KML file for Google Earth with a scripted tour.
During its Grand Challenge run, Caltech's Alice “experienced some GPS errors after passing under a powerline that caused Alice to have hallucinations about the actual location of the corridor that defined [its] route. Alice was also suffering from an as yet unexplained loss of two LADAR units, which limited its terrain sensing capabilities.”
Which caused it to think it had to charge the crowd, and prevented it from seeing the concrete barriers that were in the way. Not that the barriers stopped it:
The last few seconds of Alice's onboard video record the scattering of photographers and reporters before Alice was E-stopped:
Immediately afterward, people can be seen pouring out of the tents to come look at the commotion. Lori and I happened to be napping in our nearby hotel room when this all went down, so we missed the excitement.
Alice's final resting spot:
If you use Lispworks under Windows with darcs, then Jason Kantz has some editor extensions for version control for you.
Team Buffalo seems to be the first Grand Challenge entrant to hit eBay this year:
With the 2005 DARPA Grand Challenge official over, and no chance for another Grand Challenge in the foreseeable future, Team Buffalo has reluctantly decided to auction their entry in the 2005 Grand Challenge through a listing on e-bay.
Although team members are disappointed that their vehicle was not one of the finalists, they are glad to see that at least three of their competitors were able to successfully navigate the rigorous desert course.
“By auctioning the vehicle, we're hoping to recoup at least some of the cost...” Team Leader Mark Schwartz was quoted as saying. He added, “It was a very difficult decision for us, but realistically speaking, it's the right thing for us to do right now.”
You get the hardware, the software and 8 hours of training. Bidding is already at $2,500 with a week to go.
Fare Rideau's cl-launch offers a single, uniform way to invoke lisp programs from a unix shell for all of SBCL, CMUCL, clisp, GCL, OpenMCL and Allegro.
CL-Launch will create a shell script that, when invoked, will evaluate the specified Lisp software with an appropriate Common Lisp implementation.
The software is specified as the execution, in this order, of:
- loading a small header of code that provides common cl-launch functionality
- optionally loading the contents of a FILE (option --file)
- optionally having ASDF load a SYSTEM (option --system)
- optionally evaluating a series of initialization FORMS (option --init)
Uri Kartoun has a funky little video of an ER1 being driven with a touchscreen.
Oops: Fixed the link to the video; Thanks, Shawn.
Taking the Grand Challenge route coordinates from this Red Team page and feeding them into this online KML generator, I get this Google Earth KML file.
I don't know why there's that obvious offset error—It could be that the CMU page doesn't contain the official DARPA coordinates (I don't think any team or DARPA has made them available to the public yet), but I'm guessing it's just a Google Earth error.
Paul Graham, “What I Did This Summer”.
Two Summer Founder companies have turned down acquisition offers. The ones that are seeking it seem to be finding non-Y Combinator funding, which is a good sign.
We would have been happy if just one of the eight seemed promising by the end of the summer. What's going on? Did some kind of anomaly make this summer's applicants especially good?
[...]
I was surprised how much time I spent making introductions. Fortunately I discovered that when a startup needed to talk to someone, I could usually get to the right person by at most one hop. I remember wondering, how did my friends get to be so eminent? and a second later realizing: shit, I'm forty.
[...]
When we asked the summer founders what surprised them most about starting a company, one said “the most shocking thing is that it worked.”
[...]
If I'm right, “hacker” will mean something different in twenty years than it does now. Increasingly it will mean the people who run the company. Y Combinator is just accelerating a process that would have happened anyway. Power is shifting from the people who deal with money to the people who create technology, and if our experience this summer is any guide, this will be a good thing.
Speaking of end-of-summer assessments, is there any official word on the Summer of Lisp results (other than Kenny Tilton posting a bit in comp.lang.lisp)?
The deadline to apply for Y Combinator's Winter Founders Program, which is in Silicon Valley instead of Boston, is Oct. 25.
From the FAQ:
How are the first batch of startups doing?
Surprisingly well. Of the eight we funded, four have either closed their next round of funding or seem likely to soon. One has already turned down an acquisition offer. Of the other four groups, three have not sought more funding yet, and the fourth are undergrads who are going back to school this fall and will continue working on their company while there.
Lori and I are back from Primm. Stanford won! CMU's two bots came in 2nd and 3rd place, the Gray team also finished, and TerraMax took its sweet time but eventually finished. And unlike last year, the eighteen other entries actually put on a good show.
I took pictures, Lori took pictures and other people took pictures.
You can see a Google maps display of the race course at the CMU web site, and the Google Earth discussion forum has at least one route overlay.
In a few hours Lori and I will leave LA and drive to Primm, Nevada, where we will eat impossibly cheap prime rib and watch robots kick up the dust.
Like last year, we'll take pictures and videos and then I'll try to repeat wittiness like this: “Flipped over in the dust, helpless and scared, Peanut began urinating fuel. Then the kill switch men came.”
If you're planning on going, you better take a look at DARPA's “Information for Spectators” and the Grand Challenge 2005 brochure.
After the race, we'll spend some time in Vegas. I hear there's a sumo tournament at Mandalay Bay...
Last night I went to the Echo with Tom to see the Section Quartet do an all-strings version of Radiohead's entire OK Computer album. Somehow I hadn't been to the Echo before, and it reminded me of Chicago bars. I don't know why. But I liked it.
And I loved the Section Quartet—they were bowing and plucking furiously. It helps that OK Computer is my favorite Radiohead album, and seems particularly well-suited to the strings treatment. They've done other rock songs, too, but I think Radiohead just works better than, say, Queens of the Stone Age (which I love, but must always contain guitar).
I don't know exactly what the Section Quartet/Greg Dulli connection is, but they've played with him a bunch and Twilight Singers was playing on the sound system before they went on stage.
(Any mention of Radiohead covers is a good enough excuse to link yet again to Hard n' Phirm's Rodeohead.)
Tom was tipped off to the Section Quartet show when it was chosen as an Editor's Pick at HeyLetsGo (OK, the editor happened to be Lori), an event thingy started by another Evolution alumnus.
Peter Seibel has released the text processing code that he used when writing Practical Common Lisp to turn his homegrown TeX/Markdown-style markup into HTML and PDF.
Using CL-PDF and CL-TYPESETTING, he's able to turn something like this
* A Sample Here is a paragraph. Here's a sentence with some \i{formatting} in it. And another sentence. And this is another paragraph.
into this intermediate form:
((:H1 "A Sample") (:P "Here is a paragraph. Here's a sentence with some " (:I "formatting") " in" #\Newline "it. And another sentence.") (:P "And this is another paragraph." #\Newline))
And from there it can be rendered as PDF or HTML.
You've already seen the HTML output if you clicked on the “text processing code” link above; There's also a PDF version of that page.
Seeing Peter's invoice generator makes me think it wouldn't be too difficult to create a better Blinksale that included PDF output...
OpenMCL has reached version 1.0. Lots of new features, bug fixes and even a beta 64-bit version await you.
And if you can't wait the 30-45 minutes to grab the release from clozure.com, which seems to be a little slow right now, Dan Moniz has a torrent.
“Soldier tried fake mouth-bomb in heist” [via Zach Beane]:
A robot was used to check the mouth of Jeffry Leon Lewis Jr. after the Army sergeant presented a note at a Tucson bank saying he had a bomb in his mouth. Lewis was handcuffed to to a fence during the procedure. No explosive device was found.
Police used the robot to pull duct tape off the robber's mouth. I bet you thought you'd have to wait until at least the 22nd century to read a sentence like the preceding one.
There was a bit of an accident yesterday at the DARPA Grand Challenge NQE.
By the way, the morning ended a few minutes early when Tommy, the silver egg-shaped vehicle from Team Jefferson, got through the tunnel and promptly sped up suprisingly fast, missed the next gate, veered left, and went across the finish straight-away (2 miles before it was supposed to be there) and crashed into a very solidly built concrete barrier wall moving it several feet. "Lunch Break!" Theories on the crash: The E-Stop requires time to operate. There was a mechanical failure that the E-Stop had no control over. And my personal theory: the DARPA chase vehicle made sure the vehicle was getting to the end of the tunnel, lost sight of the vehicle as DARPA started to drive around the tunnel, and couldn't react fast enough when they realized the vehicle was out of control. The high speed part only lasted about 3 seconds.
According to this daily video report from the Stanford team, a spectator was injured in the incident.
Please don't let TerraMax go rogue while I'm within range.
Paul Wallich, a known Lisper, has an article in IEEE Spectrum about Evolution's ER1 and his quest for a robotically retrieved beer.
Like putting in the screws, the thought may have been simple, but the execution wasn't. Programming the ER1 renewed my appreciation for the complexity of the real world. A wheelchair-bound ex-skateboarder in a body cast with only a thumb and forefinger exposed has more degrees of freedom than the gripper-equipped ER1. The only thing that made my grand plan even remotely plausible was the 5 cm of height difference between the bottom of the fridge compartment and the floor. That clearance ensured that whatever the gripper pulled out of the refrigerator would remain comfortably above the ground during the rest of its trip.
I have an ER1 in my garage that doesn't get out much. Really, the best application I personally have for a robot is feline-focused telepresence, i.e., expensive cat toys.
This week's Ruby Quiz is to translate the game in Conrad Barski's “Casting SPELs in Lisp” to Ruby.
Here's a video of the view from inside Princeton's Prospect Eleven autonomous pickup truck as it slams into a couple obstacles on one of its runs at the DARPA Grand Challenge National Qualifying Event.
Yes, robot cars do listen to James Brown when there's nobody on board.
The Grand Challenge discussion forum (RSS feed) has been very active, with lots of talk about how well teams are doing in the qualifying runs, and DARPA has a half-hearted attempt at a multi-team aggregate blog (RSS only?) where the teams are talking and posting pictures and videos.
CarTV has a nice video about the qualifying event (is that a dump truck rendered as a TRON light cycle?). Finally, DARPA has a sucky Flash scoreboard (click on “NQE Results” on the left sidebar) that shows Stanford and CMU doing pretty well.
After 25 years, MIT has finally released the CADR Lisp Machine source code [via Bill Clementson].
Ben Hyde: “I actually doubt that history would have unfolded very differently if MIT had relinquished the license back in 1980 rather than in 2005; but it’s a debatable point.” The CADR code has historical importance for Lispers and maybe for Open Sourcers, and I love the idea that code archaeologists have a new, significant body of sophisticated software to examine, but I worry that the Lisp community's fascination with the past is mostly pathology at this point.