JoAnne and I had dinner at uWink last night. uWink is Nolan Bushnell's new high-tech restaurant concept, where every diner has their own touch screen for ordering food and playing games.
The concept may not be so bad, if your goals include minimizing (almost removing) interaction with waitstaff and adding opportunities to interact with other diners, but wow right now this is a terrible realization of that concept. From the perspective of a customer it was ridiculously terrible. As a software guy, I found it totally entertaining and educational—failure on this scale is compelling.

“The application ClientController quit unexpectedly.” Yes, we did send a report to Apple.
When we first walked in, JoAnne asked the host about some tables that looked like they were set up as multi-player LCD projector-based gaming stations. The host said “Oh, those don't work. I don't really know why not.” That could be the restaurant's motto.
Once we were seated, I swiped my driver's license and our waiter/runner helped us login. I entered my name and then JoAnne accidentally skipped past the part where she was supposed to enter her name. There was no going back, so she was “Guest 2” from then on.
We ordered food and drinks, and the interface was pretty straightforward, but tedious and slow compared to the old fashioned way of ordering.
After submitting our order we got a screen for paying our bill. So we paid it, before we even got our drinks. Then our screen locked up. We flagged someone down and were told that once you pay your bill your session ends, so we should have waited until the end of the meal. This also meant that we lost the game credits from our previous order. The runner reset the thing and we logged in again. This time JoAnne entered her name but I got confused and skipped past my part and so I became Guest 2. I think we both need to sign up for classes at the Learning Center.

Trying to redeem a non-existent coupon.
About every two minutes a big message would pop up asking if we wanted to join a group game. This was extra distracting when we were busy trying to figure out how to remove something from our order or submit a request for more bbq sauce for my sandwich.
We played a bunch of games, which were mostly kind of pointless or difficult to figure out. There was a Boggle clone that was fun because we played against two other tables (we smoked 'em).

For fun, visit local.uwink.com and check their router settings. Update: It might be down now... intentionally? Who knows. Another update: Oh, this was my mistake. local.uwink.com seems to be an internal address; I probably just saw the router of the cafe I was in.
There were constant crashes, hangs, resets, error messages and console spew. For a while one of the projectors displaying group game info just showed a big 404 error. Two or three times we had to ask a waiter to go in back and reset our station.
If you need a waiter for something, like more salt or bbq sauce, you need to touch the help icon, then select “I need assistance $0.00” or “I need more sugars $0.00” or “I just want someone to explain to me why it costs $0.95 to get my drink up as opposed to on the rocks $0.00” and add it to your order, then submit the order. For real. Only a programmer could come up with an interface like that and then not be ashamed to unleash it on the public.
The guy with two kids who sat down at the table behind us gave up and left after 15 minutes. If we didn't find the whole thing so funny we might have done the same.
At a conference last year I heard Bushnell talk about how he wanted robot waiters that could serve your food at uWink. At the time I thought that would be fun and awesome, but I'm having second thoughts today. It's true that the restaurant has only been open for a year, but it's in need of something more profound than a few software tweaks.
Summary: Ambitious idea, less than impressive UI design, terrible execution. Food was eh. Once they get robots, stay away—for your own safety.
Update: More comments on reddit.
Over the last 13 years Eric did his best to teach me about the manly mysteries of sideburns and other mojo, the female predilection for butt dances, vomit-inducing parabolic trajectories and recent work in unification grammars. He was a supporter of and mentor to lemonodor, and me.
He knew we would miss him and he was right.
I guarantee I'll be removing my pants in tribute to his memory.
Update: Len Sassaman has a post about Eric.

From Ledermüller's Amusement Microscopique tant pour l'Esprit, que pour les Yeux; Contenant Cinquante Estampes [..] Dessinées d'après Nature et Enluminées, avec leurs Explications, 1766.
The Daily Cross Hatch has an interview with Scott McCloud and Douglas Rushkoff, plus video and audio from their panel at the NYC Comic Con [via Boing Boing].
How do [you] see pop-culture’s recent flirtation with comics as affecting the medium?
McCloud: I think it’s benign right now, it will turn ugly.
So it’s not necessarily a bad thing at the moment?
McCloud: Yeah, well, it’s bringing some people to the medium and at the moment, in this particular time in our cultural history, it’s produced some okay movies. I mean, I’ll go see Iron Man.
Rushkoff's blog post.
Also, Sky & Winter moderate a “My Dad Makes Comics!” panel:
Sky: How is it different to have a dad who makes comic books as opposed to any other jobs your friends' parents have?
Winter: It definitely pays the bill, that's for sure.
Sky: "The bill?"
Winter: The bills. Anyway, it's really fun to have my dad making comics because I get to go to places and most of my idols make comics or TV shows. So since my dad makes comics about making comics, usually they know who my dad is. So I can [say], "Hello, I'm Winter McCloud, Scott McCloud's daughter." And they'll be like, "Oh my God, it's an honor to meet you!"
Sky: Really? I've never gotten that reaction. (audience laughs)
Terje Norderhaug is doing some cool stuff. His Swank client for MCL “turns MCL into an IDE for other Common LISP environments.”
Put another way, you can (for example) run the ClozureCL compiler and environment from within MCL, developing and executing code simultaneously on MCL and ClozureCL. Forms in Fred or an MCL Listener can be evaluated on ClozureCL. The MCL Apropos Dialog, Trace Dialog, Package indicator and Packages Inspector all works for ClozureCL much like they do for MCL.
So instead of using Slime in emacs as the Swank protocol client to provide a Lisp IDE, you're using MCL. Here's an example of typing bad code into MCL, having it evaluated it in ClozureCL/OpenMCL, and choosing a restart from MCL:
Using MCL's apropos dialog to browse symbols in ClozureCL/OpenMCL:
More screenshots.
Terje says
I am sure you all have noted that the MCL Swank Client is a step towards integrating the OpenMCL/ClozureCL compiler into the MCL IDE... It's becoming like having two LISP environments in one, bringing OpenMCL back home!
Imagine MCL running on Intel under Rosetta, integrating an Intel- native ClozureCL environment. That would give us the best of two worlds and a smooth transition path for MCL and MCL applications to run on Intel.
This might be what helps us escape from the emacs ghetto.
Lemonodor.tumblr.com has the rest of the ephemera that I can't cram into this page here. Prefilled with 5 pages of stuff for your enjoyment, hardly any boring text.
Like Jorn Barger's Robot Wisdom auxiliary, except his auxiliary contains the longer stuff, mine is the short stuff.

Edward Hopper, Rooms by the Sea, 1951.
I learned from Will Fitzgerald that OpenDMAP has been released.
OpenDMAP is an ontology-driven, rule-based concept analysis and information extraction system. Unlike traditional parsers, OpenDMAP does not have a lexicon that maps from words to all the possible meanings of these words. Rather, each concept is associated with phrasal patterns that are used to recognize that concept. OpenDMAP processes texts to recognize concepts and relationships from a knowledge-base. OpenDMAP uses Protégé knowledge-bases to provide an object model for the possible concepts that might be found in a text. Protégé models concepts as classes that participate in abstraction and packaging hierarchies, and models relationships as class-specific slots.
OpenDMAP advances the performance standards for extracting protein-protein interaction predications from the full texts of biomedical research articles. Furthermore, this level of performance appears to generalize to other information extraction tasks, including extracting information about predicates of more than two arguments. The output of the information extraction system is always constructed from elements of an ontology, ensuring that the knowledge representation is grounded with respect to a carefully constructed model of reality. The results of these efforts can be used to increase the efficiency of manual curation efforts and to provide additional features in systems that integrate multiple sources for information extraction. The open source OpenDMAP code library is freely available at http://bionlp.sourceforge.net/
Will, Jim Firby, Mike Hannemann, Charles Martin and I used to work on various DMAP-style (Direct Memory Access Parser) parsers back in the day. Back then it was mostly Lisp; OpenDMAP, which Will and Jim worked on, is Java; And in the past year I wrote a Python DMAP.
Conrad Barski has posted a sneak peak at his upcoming Lisp textbook/comic: “Land of Lisp”.
Johann Korndoerfer's perfectstorm is a “real time strategy game study written in common lisp using OpenGL for graphics display and cairo for texture generation.”
It's nice to see something written in Lisp that doesn't look terrible, and almost wouldn't surprise me if I saw it on my XBox 360.

Game Boy damaged in the first Gulf War.
CRACL met in LA on Sunday, though I was unfortunately not able to make it. Apparently 70 people showed up to the Boston Lisp meeting (pictures).

Table of contents of a letter Ann wrote in 1993.
Maciej is learning to tango.
The host seats guests around the dance floor based on his guess at their dancing skill and other intangible factors (such as how great they look). Men ask women to dance by trying to make eye contact and nodding towards the dance floor in a gesture called the cabeceo. In theory this is a discreet way for men to save face in the event of a refusal; in practice it means men cross the darkened room, stand three steps in front of their intended partner, and wag their head gravely until she either gets up to dance or tells them to go away.
And
A Partial List of Tango Mistakes I Have Made
- Weird panther-like shuffle that kept head unnaturally level
- Knees not bent
- Knees bent too far
- Moved without waiting for partner
- Wrong-footed partner
- Instead of taking smooth steps with the sole of foot gliding along the floor, staggered like Frankenstein monster
- Somehow ended up with partner many meters from dance floor, in construction area in the back of the studio

Julius Shulman: Case Study House n° 21, Los Angeles, California, 1958. Via Gavin.
Auctomatic, a Y Combinator company that includes 19 year old Lisp fan Patrick Collison as one of its founders, was recently sold for a bunch of money [via Aaron].
DUBLIN (AFP) — Two Irish teenagers have sold their fledgling computer software venture to a Canadian company in a multi-million deal, they said on Thursday.
Brothers Patrick and John Collison sold their auctomatic.com to new media company Live Current Media, based in Vancouver. The sale price is thought to be in excess of 5 million dollars (3.2 million euros). "That's ball-park. We can't give the exact figure but that's close enough," Patrick, 19, told RTE state radio.
Auctomatic, set up last year in Limerick in the south-west of the country, involves commerce technology and tools that enable sellers easily to transact online through sites such as eBay.
Patrick and his 17-year-old brother have two British partners and the proceeds of the sale, which will be closed in May, will be shared amongst all the owners.

Mr. Jalopy discusses the meaning of a 1964 Ford Galaxie 500 rocket car.
JWZ gets prehistoric:
;;; -*- Mode:Lisp; Syntax: Common-Lisp; Package:USER; Base:10 -*- ;;; 21 Mar 90 Jamie Zawinski Created. ;;; When you load this file, the constants MOST-POSITIVE-BIGNUM and ;;; MOST-NEGATIVE-BIGNUM will be defined. ;;; ;;; These are the absolute largest and smallest numbers which can be ;;; represented in the TI Explorer's memory architecture. ;;; ;;; WARNING: if you try to print these numbers, the microcode will ;;; hang. They are totally useless quantities, and dangerous to ;;; have around. You can examine them with ;;; (sys:dump-memory most-positive-bignum :bignum-is-dump-object t) ;;; and perform normal arithmetic operations on them. But the same ;;; dangers apply to any numbers this large.
For non-lispers: bignums aren't supposed to have limits, so just the name “MOST-POSITIVE-BIGNUM” will make Lispers laugh a little. In practice, a number with more than one million digits, that takes 3 days just to display on screen, doesn't seem like much of a limit.
The fact that adding 1 to MOST-POSITIVE-BIGNUM results in a piece of data whose value is 0 but takes up 524 KB of memory is just a bonus.
Older Stuff
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
December 2001
November 2001





