January 31, 2004

Personal Observation

hale solar observatory in pasadena
hale solar observatory, in 1926

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.

Posted by jjwiseman at 05:18 PM | Comments (0) | TrackBack

MCL Wiki

Gary King has started an MCl Wiki, Digi-cliki.

Posted by jjwiseman at 11:57 AM | Comments (0) | TrackBack

January 30, 2004

Long Distance Debugging

opportunity on mars

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.

Posted by jjwiseman at 05:47 PM | Comments (0) | TrackBack

January 29, 2004

The Ideal OS X IDE for Lisp

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
Posted by jjwiseman at 10:56 AM | Comments (8) | TrackBack

January 26, 2004

CMUCL on OS X

CMUCL on OS X

Pierre Mai is beta testing CMUCL on Darwin/OS X.

Posted by jjwiseman at 12:34 PM | Comments (0) | TrackBack

January 22, 2004

Nazi Robot Explosive Beetles And Navy Men

Jeff's Robots has lots of crazy robot images from comics, album covers, etc. [via boing boing].

gog NAZI ROBOT EXPLOSIVE BEETLES EXAMINED BY NAVY MEN more than we seem

“NAZI ROBOT EXPLOSIVE BEETLES EXAMINED BY NAVY MEN”? Whoa! (Also check out the Nazi WWII robot tank.)

Posted by jjwiseman at 03:45 PM | Comments (3) | TrackBack

SOAP with WSDL

I just noticed that Franz has a new pre-release version of their SOAP support for ACL customers that includes WSDL.

Posted by jjwiseman at 07:36 AM | Comments (5) | TrackBack

Rendezvous

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."))
Posted by jjwiseman at 07:29 AM | Comments (0) | TrackBack

January 19, 2004

You've Got 5 Seconds... And 3 Are Up.

i have nothing to say here

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.

Posted by jjwiseman at 11:08 AM | Comments (2) | TrackBack

Sideways

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.

Posted by jjwiseman at 10:40 AM | Comments (0) | TrackBack

KPAX Available

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

Posted by jjwiseman at 10:30 AM | Comments (0) | TrackBack

January 17, 2004

Erotic Museum

farrah!

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).

Posted by jjwiseman at 06:42 PM | Comments (2) | TrackBack

January 16, 2004

Red Team Weblog

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

Posted by jjwiseman at 01:06 PM | Comments (0) | TrackBack

(s e x p)

(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.

Posted by jjwiseman at 01:02 PM | Comments (0) | TrackBack

January 15, 2004

The Right Girl

he definitely got her hair right. and her belly button.

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.)

Posted by jjwiseman at 09:25 PM | Comments (4) | TrackBack

No Fun in Vegas

Ow. The SRL show has been cancelled.

Posted by jjwiseman at 04:43 PM | Comments (0) | TrackBack

January 14, 2004

25th Anniversary Survival Research Laboratories Show

srl machines

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.

Posted by jjwiseman at 11:31 AM | Comments (0) | TrackBack

January 13, 2004

Lisp Machine Resources

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.]

Posted by jjwiseman at 05:55 PM | Comments (1) | TrackBack

ASDF-INSTALL

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.

Posted by jjwiseman at 10:59 AM | Comments (0) | TrackBack

Movitz Source Available

The source code for Movitz, the lisp OS mentioned here a few days ago, is now available [via Brian Mastenbrook].

Posted by jjwiseman at 10:32 AM | Comments (0) | TrackBack

January 12, 2004

The Best Open Source Lisp

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.

Posted by jjwiseman at 01:11 PM | Comments (9) | TrackBack

cl-icu

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.

Posted by jjwiseman at 01:00 PM | Comments (0) | TrackBack

January 09, 2004

Movitz

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].

Posted by jjwiseman at 05:52 PM | Comments (1) | TrackBack

Planet Lisp

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.

Posted by jjwiseman at 02:32 PM | Comments (0) | TrackBack

January 08, 2004

+++---

Dong Resin makes me laugh.

My new Sony-Ericcson T616 phone really sucks.

Posted by jjwiseman at 01:50 AM | Comments (3) | TrackBack

January 06, 2004

CL-SDL for OpenMCL

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:

cl-sdl in openmcl cl-sdl in openmcl cl-sdl in openmcl

Posted by jjwiseman at 03:20 PM | Comments (4) | TrackBack

January 05, 2004

Milkshake

kelis

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).

Posted by jjwiseman at 11:59 PM | Comments (18) | TrackBack

MER

the mer

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:

3D mer panorama

Posted by jjwiseman at 09:47 PM | Comments (1) | TrackBack

GhettoHost

My DSL thingy went all like “beep beep beep” and I was all like, well fuck.

Posted by jjwiseman at 09:25 PM | Comments (0) | TrackBack

January 04, 2004

2004

oh yeah
these sideburns were made for lickin'

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.

Posted by jjwiseman at 07:33 PM | Comments (2) | TrackBack

Playboy XMas

neck with hef joanne with ron jeremy

I ended up not going to the Christmas party at the Playboy mansion. But a few friends said it was everything they hoped for.

Posted by jjwiseman at 06:00 PM | Comments (2) | TrackBack

ILISP vs. SLIME

I think ILISP's days are numbered.

Posted by jjwiseman at 05:29 PM | Comments (3) | TrackBack

January 03, 2004

25 DARPA Grand Challenge Teams Selected

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.)

Posted by jjwiseman at 07:15 PM | Comments (1) | TrackBack

Mirai: 17 Years and Still Going

gollum's soulful eyes

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

Posted by jjwiseman at 06:58 PM | Comments (0) | TrackBack

Corman Lisp Discussion Board

Corman Lisp has a new discussion board/support forum [via Chris Double].

Posted by jjwiseman at 06:38 PM | Comments (0) | TrackBack

Dylan for XCode

mulholland drive at night
mulholland drive at night

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.

Posted by jjwiseman at 06:14 PM | Comments (0) | TrackBack

January 02, 2004

More Hackers and Painters

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.

Posted by jjwiseman at 04:59 PM | Comments (6) | TrackBack

Lisp Foundry

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.

Posted by jjwiseman at 03:48 PM | Comments (0) | TrackBack