September 23, 2008
Time Traveling

This week I stumbled across some old lemonodor entries that I apparently forgot to post. I'll be running them this week, but don't be confused: I wrote these months ago.

May 2008

Paige talking about Imagewiki. Photo by Rich Gibson.

Happy beginning of summer, lemonodor readers!

Lately I've been working with Anselm Hook and Paige Saez and others on a project called Imagewiki. Imagewiki is sort of a Wikipedia that's indexed by images—You can take a picture of something with your phone, send it to Imagewiki and you'll be directed to a page that connects you with other people who have taken a picture of that same thing or place.

Imagewiki uses the same object recognition algorithm as Evolution Robotics' visual pattern recognition technology (ViPR), which was used in their ER1 robot and LaneHawk grocery scanner, and in Sony's Aibo robot dogs. I've mostly been working on the object recognition part of Imagewiki, using Rob Hess's free implementation of the SIFT feature extraction and matching algorithm as a basis for Imagewiki's recognition. It's a challenge since Imagewiki depends so critically on highly accurate recognition.

Bill Freeman, SIFT features.

This weekend Anselm and Paige and I were at Google's Mountain View campus for WhereCamp, where we showed off the current state of Imagewiki. We even ran a scavenger hunt—several brave people let us jailbreak their iPhones and install the Imagewiki app, after which they got some clues:

  1. This shirt has a cold war feel
  2. This shirt has a classic feel from yesteryear
  3. This shirt comes from francophone Quebec
  4. This image has personal meaning
  5. This image may someday lead our country
  6. (This is a bonus shirt--gooo Barcelona Futbol!!)

Players had to search the conference for likely candidates, snap pictures of them and upload them to Imagewiki to see if they guessed right.

Paige's tattoo of personal meaning.

There were some bugs we had to work out as the game progressed, but eventually Andrea Moed was able to find all five required items and so became the winner of a dinner with Jason Wilson of Platial.

Development on Imagewiki is being done under the umbrella of Makerlab, a new media prototyping lab and art incubator. The source code is available; I'm hopeful that the image matching component will be useful for other people, at least.

I love that I get to work with friends on fun projects and continue the cafe-surfing freelancing LA lifestyle to which I have become accustomed. No office drone here!

In other news, I've made Lehman Brothers the official managers of the lemonodor nest egg. You can't beat the feeling of security that comes from having your money in a bank that survived the American Civil War.

Posted by jjwiseman at 08:31 AM | Comments (2)
August 13, 2008
Not Dead. Yet.

cedric the cat

But it's best if you just go to

Posted by jjwiseman at 09:10 AM | Comments (2)
June 13, 2008
Montezuma Moved

it's a montezuma oropendola!

Montezuma, my port of Lucene to Common Lisp, has a new home at Google's code hosting.

Yes, this means it now has a publicly accessible source code repository. If you want commit access, email me.

Also if my Mac mini reboots and I forget to restart trac, you'll still be able to access the project pages. Woo!

Posted by jjwiseman at 04:58 PM | Comments (0)
June 12, 2008
Lemonodor Auxiliary Reminder

tactile map for the blind

While this weblog bas been taking a small break, the Lemonodor Auxiliary tumble blog has been pretty busy lately.

Posted by jjwiseman at 04:11 PM | Comments (3)
June 03, 2008
Memorial Service for Eric

Moorabbin Airport, Australia.

A memorial service for est has been scheduled for Sunday, June 15, at Cellspace in San Francisco.

RSVP with Ruchira.

Posted by jjwiseman at 01:55 PM | Comments (0)
May 23, 2008
Trevor Paglen at Machine Project

it's a secret 737!
“Unmarked 737 at ‘Gold Coast’ Terminal/Las Vegas, NV/Distance ~1 mile/10:44 pm”

A geographer by training, a conspiracy theorist by instinct and an investigative reporter by avocation”, and “radical geographer, muckraking author and outlaw artist”, Trevor Paglen will be talking at Machine Project in LA tonight.

He's been one of my biggest inspirations ever since his article in the Village Voice, “Planespotting: Nerds with binoculars bust the CIA's torture taxis”.

Here's a description of a talk he gave in February: Trevor Paglen's talk at Transmediale.

Posted by jjwiseman at 02:51 PM | Comments (0)
May 02, 2008
uWink: A Cold Greasy Plate of Fail

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.

uwink interface failure
“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.

uwink interface failure

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.

uwink interface failure
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).

uwink interface failure
For fun, visit and check their router settings. Update: It might be down now... intentionally? Who knows. Another update: Oh, this was my mistake. 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.

uwink interface failure
You're a finger.

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.

Posted by jjwiseman at 11:47 AM | Comments (21)
April 28, 2008

selfishly, i'm glad you didn't say goodbye
Photo by Jacob Appelbaum.

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.

Posted by jjwiseman at 03:05 AM | Comments (18)
April 21, 2008
Pop Culture Theorists? In *my* Boing Boing?

ledermuller's science-as-art
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)

Posted by jjwiseman at 06:08 PM | Comments (1)
April 10, 2008
MCL as Swank Client

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:

mcl swank client showing restart dialog

Using MCL's apropos dialog to browse symbols in ClozureCL/OpenMCL:

mcl swank client showing apropos dialog

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.

Posted by jjwiseman at 03:40 PM | Comments (0)
April 08, 2008
lemon tumblr

Relationships among scientific paradigms 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.

Posted by jjwiseman at 02:52 PM | Comments (0)
April 02, 2008

i like the name 'the jumping off place' better
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.

From the paper “OpenDMAP: An open source, ontology-driven concept analysis engine, with applications to capturing knowledge regarding protein transport, protein interactions and cell-type-specific gene expression”:

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

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.

Posted by jjwiseman at 04:03 PM | Comments (0)
April 01, 2008
Watch Out For The Hindley Milner Type Checker

what's south of the Land of Lisp?

Conrad Barski has posted a sneak peak at his upcoming Lisp textbook/comic: “Land of Lisp”.

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

perfect storm screenshot

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.

Posted by jjwiseman at 02:46 PM | Comments (0)
Weekend of Lisp Meetings

video game war blah blah
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).

Posted by jjwiseman at 01:19 PM | Comments (0)
Controlled Tango Into Terrain

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.


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
Posted by jjwiseman at 10:05 AM | Comments (2)
March 28, 2008
Auctomatic Sold

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

Posted by jjwiseman at 10:08 AM | Comments (2)
March 26, 2008

Vrrrooooooooom FWOOOOSH
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.

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

Older Stuff