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.
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.
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:
- This shirt has a cold war feel
- This shirt has a classic feel from yesteryear
- This shirt comes from francophone Quebec
- This image has personal meaning
- This image may someday lead our country
- (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.
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.
But it's best if you just go to lemonodor.tumblr.com.
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!
While this weblog bas been taking a small break, the Lemonodor Auxiliary tumble blog has been pretty busy lately.
RSVP with Ruchira.
“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.
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.
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.
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).
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.
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.
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:
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.
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 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.
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.
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
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.
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.