Tomorrow I'm going to an unusual open house: The Hale Solar Observatory in Pasadena has been put up for sale. That would be a pretty neat place to live, if I had $2 million. It's almost worth it for the library alone.
Wired News has a short interview with Glenn Reeves, the Mars Exploration Rover flight software architect.
During one window, we're running a script on the vehicle to tell us which piece of software in the system is causing that reset problem. We've tried that for two days, but so far haven't been successful.
In another, we're trying to dump parts of the 224-MB flash file system back down to Earth, so we can reconstruct the system here. But think about it -- on a good day, we can only transmit less than 5 MB, so moving the whole file means a lot of days with no additional science. We'd prefer to avoid that path, but it's a contingency plan.
In that third window, we try to communicate with the orbiter.
Since we can bring up the system in “cripple mode,” we're doing integrity checks manually. But this takes a lot of time, because we like to do them one by one, in order.
We can't waste any effort, or time. You could say our dialup service is really, really, really slow. It takes forever to get anything back and forth.
Brian Mastenbrook has started the mac-lisp-ide mailing list, “to encourage discussion about what a true, native Mac OS X ide for Common Lisp development would look and feel like, and to encourage the coding of such an IDE.”
He says
Topics of discussion should include but not be limited to:
- Built in Emacs-like editor, based on CL
- Socket connection to other Lisps, perhaps non-Common Lisps (Scheme)
- Debugging and backtracing
- Presentation-based GUIs using Cocoa
- Object clipboard and REPL history
- Integrated documentation
- Threading
Jeff's Robots has lots of crazy robot images from comics, album covers, etc. [via boing boing].
“NAZI ROBOT EXPLOSIVE BEETLES EXAMINED BY NAVY MEN”? Whoa! (Also check out the Nazi WWII robot tank.)
I just noticed that Franz has a new pre-release version of their SOAP support for ACL customers that includes WSDL.
I'm playing with OpenMCL's Objective C support and OS X's Rendezvous.
I can advertise services, but I think I need to figure out some things about Run Loops before I can get the rest of this to work.
(require :objc-support) (defmacro with-nsstrs (init-forms &body body) "Establishes a lexical context with a bunch of stack allocated NSConstantStrings." (flet ((gen (s) #'(lambda (sym) (declare (ignore sym)) (gensym s)))) (let ((cstr-vars (mapcar (gen "CSTR") init-forms)) (string-vars (mapcar (gen "STRING") init-forms))) `(let ,(mapcar #'(lambda (init-form sv) `(,sv ,(second init-form))) init-forms string-vars) (with-cstrs ,(mapcar #'(lambda (cv sv) `(,cv ,sv)) cstr-vars string-vars) (rlet ,(mapcar #'(lambda (init-form cstr-var string-var) `(,(first init-form) :<NSC>onstant<S>tring :isa ccl::*NSConstantString-class* :bytes ,cstr-var :num<B>ytes (length ,string-var))) init-forms cstr-vars string-vars) ,@body)))))) (defmacro @@ (string) "Creates a persistent, interned NSConstantString." `(ccl::objc-constant-string-nsstringptr (ccl::ns-constant-string ,string))) (defun advertise-service (domain type name port &key properties) "Publishes the availability of a service via Rendezvous. The DOMAIN argument must be a string containing the domain name of the machine hosting the service (pass nil for localhost). The TYPE argument is a string specifying the type of service being advertised (e.g., \"_http._tcp\" or \"_daap._tcp\"). NAME is a string naming the service. PORT is the port associated with the service. The PROPERTIES argument, if given, should be a property list containing additional service-specific information that will be part of the published information about the service. For example, ((\"path\" \"~/guest/\") (\"screenname\" \"clowny\")). This function returns a macptr that points to the Cocoa NetService instance representing the advertised service." (let ((net-service (ccl::make-objc-instance 'ns-net-service))) (with-nsstrs ((nsdomain (or domain "")) (nstype type) (nsname name)) (ccl::send net-service :init-with-domain nsdomain :type nstype :name nsname :port port)) #| Something is going wrong here. (ccl::send net-service :schedule-in-run-loop (ccl::send (ccl::@class ns-run-loop) 'current-Run-Loop) :for-mode (@@ "kCFRunLoopDefaultMode")) |# (when properties ;; Hm, kind of odd that we have to use a constant NSString ;; here... (it fails if we use a stack-allocated one). (ccl::send net-service :set-protocol-specific-information (@@ (build-text-record properties)))) (ccl::send net-service :set-delegate (ccl::make-objc-instance 'net-service-delegate)) (ccl::send net-service 'publish) net-service)) ;; Sadly, this doesn't seem to work. (defun cancel-service (service) "Stops advertising a service. SERVICE must be a macptr returned by ADVERTISE-SERVICE." (ccl::send service 'stop)) (defparameter *record-separator* (code-char 1)) (defun build-text-record (properties) (reduce #'(lambda (p1 p2) (format nil "~A~A~A" p1 *record-separator* p2)) (mapcar #'(lambda (property) (format nil "~A=~A" (first property) (second property))) properties))) ;; Here we define an Objective C class that acts as the callback ;; handler for NetService. (ccl::def-objc-class net-service-delegate ns-object) (ccl::define-objc-method ((:void :net-service sender :did-not-publish error-dict) net-service-delegate) (format T "~&Did not publish service.")) (ccl::define-objc-method ((:void :net-service-did-stop sender) net-service-delegate) (format T "~&Did stop service.")) (ccl::define-objc-method ((:void :net-service-will-publish sender) net-service-delegate) (format T "~&Will publish service."))
Last night I was at Versailles for my friend Jill's birthday party when Steven Seagal walked in. I have to imagine that later, after we'd finished dinner, when the waiters turned down the lights and filed out and sing Happy Birthday to Jill, Steven watched, silent and contemplative, hands in their signature pose, until when all the other diners in the restaurant applauded, his inner peace at Jill's having been born finally allowed him to draw his hands apart slowly, inevitably, and then strike them against each other in a single clap that resounded in the spirits of those nearby.
Also, the trained midget that accompanied Tim Robbins to Coach & Horses after his show at the Knitting Factory hit on my girlfriend in a creepy-but-humorous-just-because-he's-a-midget-oh-wait-no-it's-creepy-again-yes-because-he's-a-midget way a couple nights before that.
Over there on the side I added low culture and rabbit blog. One of them gave me a line on a good Indian delivery place in my neighborhood. The other one sounds smart and made me laugh.
Sven Van Caekenberghe announced the availabily of the KPAX web application framework, mentioned in his popular “Rebel With a Cause” case study, and discussed in Nicky Peeters' paper “Using Common Lisp to Build Web Applications”
Went to the Erotic Museum in Hollywood last night, which was its opening night. I liked the ancient ASCII porn, presented on fresh greenbar (“All these images were labeled 'adult'—even the innocuous William Shatner”, and the collection of graphics from Japanese Mah Jongg video games.
They also showed a pretty steamy film from the 40s, purportedly of Marilyn Monroe. All I can say is, take two naked people, put them together, and it doesn't matter whether it's 2004 or 1946, they do exactly the same things with each other.
I totally put my hands into a glovebox that I shouldn't have, though (they had a glovebox so you could play with various things without worrying about uh, germs; that's some canny presentation).
There's an appealing sense of the excitement of confident, smart people at the Red Team Racing Log.
Though this makes one wonder: “With less than sixty days to the race, it is not apparent how to fund the Red Team to the starting line. ”
Also, I'm somewhat ashamed to admit that I'm enjoying their selection of humorous and/or inspirational quotes:
“I know at last what distinguishes man from animals - financial worries.” - Romain Rolland
“Hard work has made it easy. That is my secret. That is why I win.” - Nadia Comaneci
“Some defeats are installments to victory.” -Jacob Riis
(s e x p) is a new weblog by Bryan O'Connor that covers his work on getting OpenMCL to pass the ansi-test compliance suite from GCL.
My girl has a cameo in the new episode of Scott McCloud's online graphic novella, The Right Number. I'm pretty much just trying not to melt.
Also, the story has to do with “math, sex, obsession and phone numbers”—of course.
(I'm not sure I agree that micropayments are the future. But I felt like 25 cents per episode was a good value, and bitpass was easy to use.)
I'm going to the 25th anniversary SRL show in Vegas in a few weeks.
Viva Las Vegas Survival Research Laboratories Celebrates 25 Years! SRL was conceived and founded by Mark Pauline in 1978 as an organization of creative technicians dedicated to redirecting the techniques, tools, and tenets of industry, science, and the military away from their typical manifestations in practicality, product, or warfare.
This will be my first SRL show, and I'm pretty excited.
Jaap Weel has created a lisp machine resource page. “These include some hard-to-find PDF's that I hadn't seen catalogued anywhere else.” [via the CRACL mailing list.]
Dan Barlow's ASDF-INSTALL is basically a lisp package manager that can automatically download and install lisp libraries (and even resolve library dependencies) from vn-cclan.
It started life as an SBCL contrib, but Edi Weitz has ported it to CMUCL, CLISP, AllegroCL, and LispWorks, and Marco Baringer has added support for OpenMCL (the code is currently available on Edi's server).
Edi also wrote a nice ASDF-INSTALL tutorial.
I can't wait to try this.
The source code for Movitz, the lisp OS mentioned here a few days ago, is now available [via Brian Mastenbrook].
Bill Clementson asks an interesting question: “What is the best open source lisp?” His answer: “PLT Scheme”.
In a way, this is in line with my opinion, which is that there is currently no open source lisp that is even “good”, in comparison to the commercial versions. There are a couple open source lisps that are making a lot of progress and seem to be strongly positioned for future greatness, but they're not there yet.
Marco Baringer announced cl-icu, a lisp interface to the ICU library by IBM, for internationalization and unicode support.
It works in OpenMCL, though it might not be hard to port to other lisps.
Movitz, by Frode Vatvedt Fjeld, is
an implementation of ANSI Common Lisp that targets the ubiquitous x86 PC architecture "on the metal". That is, running without any operating system or other form of software environment. Movitz is a development platform for operating system kernels, embedded, and single-purpose applications.
There's a 20 page technical description available, though as yet no code for download [via Xach Beane and gavin].
Less than 24 hours after I read this post by Edd Dumbill about various projects' sort of meta-rss pages and wondered on #lisp whether there were enough lisp-related news sources and weblogs to support something similar, Xach Beane went and implemented Planet Lisp.
Camille Troillard seems to have gotten CL-SDL working in OpenMCL.
I spent some hours installing and debugging and I am very happy to say that CL-SDL is finally working on OpenMCL. This was kind of easy, most of the hard work has been done by Matthew as the code is very clean and very portable. There is still need some work to make a usable distribution. You can see it by looking at the attached screenshots. Animations are smooth (obviously, there are not many objects on screen !), but event-loop is not working yet (keyboard, mouse, etc.).
Screenshots from Camille:
Goddamn. Beyoncé, Outkast, and now Kelis. It's like someone found the Ark of the Covenant and is using it to create pop songs of incredible, unstoppable appeal.
If Randy Newman gets hold of it, that's when the flesh melts off all our faces.
Milkshake video (if the Quicktime player complains, use Real).
I was watching NASA TV last night as the MER got to Mars. When it hit the surface and started bouncing, and then NASA lost the signal from the lander and a few seconds later the NASA TV stream died, I thought that was going to be the end. I'm glad I was wrong.
Maas Digital has a pretty slick, but apparently relatively accurate animation covering the rover, from launch to creeping around the surface of Mars (if you have a serious interest, you'll want this torrent of the 320 MB DVD-quality version).
Susan Kitchens was at the Wild About Mars conference:
Chalres Elatchi:About that question what would you say to your congressman? I just got word from our web people in last 24 hours, 460 million hits. It's a world record, even more than Olympics... shows you how much interest there's been in this mission. And this is only weekend, wait till Monday when people get to work with high speed access.
Check out the 3D panorama taken today:
I spent new year's eve at the CLUI party. Pretty drunken. The next day Lori and Jeff and I put in four hours at Jerry's Deli, where we underwent a highly experimental egg burger & banana split transfusion.
It worked.
I ended up not going to the Christmas party at the Playboy mansion. But a few friends said it was everything they hoped for.
After quarreling between DARPA, some big well-funded teams, and some of the smaller teams and hobbyists, the 25 teams who will be competing in the DARPA autonomous ground vehicle Grand Challenge have been chosen [via wmf].
A quote from the Register article:
These talented participants will bring fresh thinking to autonomous ground vehicle technology for national defense. I am confident that our warfighters will benefit in the coming years from the technologies that these teams will be fielding in the Grand Challenge.
Make no mistake, this is a military project. I know at least one person who quit working on a team for moral reasons.
(Apparently the International Robot Racing Federation is going to hold a clone of the Grand Challenge competition, complete with $1 million prize. Sponsorship by community colleges and coverage by Art Bell makes me a little skeptical about this.)
Rainer Joswig links to an article about how the effects for Gollum in Lord of the Rings were done (the tool of choice for sculpting his face was Mirai, which was developed with Allegro Common Lisp): “The Two Towers: Face to Face with Gollum”
Corman Lisp has a new discussion board/support forum [via Chris Double].
I think both you and I can handle a little something about Dylan every so often, right?
Chris Double mentions (he's back—with a vengeance) that the most recent version of Apple's XCode development environment includes some support for Dylan.
This is kind of like the parallel universe version of a Lisp plugin for Eclipse.
O'Reilly will be publishing a collection of essays by Paul Graham titled Hackers and Painters (see this previous post).
What's the book about? Big new ideas emanating from the world of computers: open source, startups, Web-based applications, the programming language renaissance, spam filtering, digital design, nerds, free speech online.
Many of the big new ideas at the moment are connected with computers. Our field is hot now, and like a hot object it's radiating ideas into other fields. Fields that have nothing intrinsically to do with computers-- law, accounting, architecture, music-- tend to be changing fastest at the point where they and computers meet.
Sam Steingold is trying to stir up interest in the creation of a lisp sourceforge foundry. I wonder if he knows about common-lisp.net's project hosting.