November 30, 2004

Comments Disabled

ouch

I've temporarily disabled the posting of new comments. Lemonodor is being attacked by people who are more vandals than spammers (or spammers who forgot to include their url), and mt-blacklist is really geared toward protecting you from people who leave urls.

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

Zeroconf

I'm making some progress on a portable Lisp Rendezvous/Zeroconf interface.

After I eventually got my Cocoa-based code to work in OpenMCL (with help from Gary Byers and the benefit of looking at some of Brendan Burns' code) , I did another version using the Core Foundation API. In the interest of portability I then wrote a UFFI wrapper around the free Howl library.

Here's an Araneida-based Zeroconf browser running on my linux machine, using SBCL:

zeroconf in lisp

To prove that there's something working behind the scenes, we publish a new service.

CL-USER> (sd:publish (make-instance 'sd:service
				    :name "Local CLiki"
				    :type "_http._tcp."
				    :port 8001))
#<SD:SERVICE name: "Local CLiki" type: "_http._tcp." domain: NIL
             host: NIL port: 8001 addresses: NIL {9C0CBD1}>

After then refreshing the page, we see our new Zeroconf-enabled CLiki:

zeroconf in lisp

Howl is not a bad library, but it does have some issues. It's not threadsafe, and its current event handling actually precludes using it from multiple threads on OS X (though it's not clear why one would use Howl in OS X since you have access to the native libraries).

Other options I've considered are switching to the cross-platform code that Apple makes available, or going the pyzeroconf route of implementing multicast DNS in Lisp (maybe Dave Roberts' resolver library would help there). They all seem to have their pros and cons (though I tend to think that doing raw multicast DNS is kind of silly).

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

November 29, 2004

Bitsavers

BBN Tenex Lisp Reference

Bitsavers' PDF archive of retro computing documents [via LtU] includes a significant amount of Lisp-related arcana. There's a large collection of TI Explorer and microExplorer manuals, a few from Symbolics, a couple LMI books, some CADR manuals (including a ZMail manual), a PDP-1 Lisp manual, a BBN Tenex Lisp reference and some Interlisp manuals (check out the Interlisp Users' Group newsletters).

In true retro pre-web style, the document index, which contains the mapping from filenames like “2533592-0001_8M_mem_Aug85.pdf” to descriptions like “Explorer Memory General Description (Aug 1985)” is kept completely separate from the archive. Hey guys, you might be taking this pre-HTML worldview a little too far.

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

November 27, 2004

cl-l10n

localization for cmucl

Apparently spammers do not take Thanksgiving off. But even while under heavy crap barrage, lisp porn detectors still managed to pick up Sean Ross' “quick and dirty” (portable?) localization package: cl-l10n.

It's nowhere near complete but can load locales and has the basic accessor functions like locale-mon and locale-day.

This post brought to you by BuSpar® (buspirone HCl, USP)! When I feel overwhelmed by 300 spam comments in under 6 hours and am reminded, yet again, that the concept of world-writeable web space is in fact impractical and is doomed to disappear within a few years, I take BuSpar® and all my worries melt away. Yay BuSpar®! Now I feel the freedom to leave comments enabled here on lemonodor!

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

November 23, 2004

Lemonodor Fame

Connected.  Lemonodor-fame is but a hack away.

Slime just gave me the above words of encouragement; it was the first time I had seen them. Aww!

Posted by jjwiseman at 04:46 PM | Comments (1) | TrackBack

λgtk

plotter window

Rick Taube announced a “complete FFI to GTK2 for Darwin/OpenMCL, x86/CMUCL and x86/SBCL”: λgtk.

The image above is from another package from Rick which uses λgtk, plotter.

Confusingly, λgtk is completely different from lgtk.

Posted by jjwiseman at 09:36 AM | Comments (0) | TrackBack

November 22, 2004

ILC 2005 Announced

The International Lisp Conference skipped 2004, but it's officially back in 2005.

International Lisp Conference
June 19-22 2005
Sponsored by the ALU, the Symbolic Systems Program at Stanford University, and Franz, Inc..

There's almost no information at the ILC website, but Carl Shapiro posted a Call For Contributions to comp.lang.lisp.

I had so much fun in NYC for the last ILC, with the Chloe Sevigny and the Jim Jarmusch and the hanging out with good people, that I'm almost disappointed that it's not in New York this time. Others are disappointed that it's not outside the United States.

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

November 21, 2004

LSP 1.1

I've updated my old LSP (Lisp Server Pages) code a little bit. The new version works with Araneida as well as AllegroServe, and lets you specify which package a particular LSP page's code should be in (thanks to Jason Cornez).

You can download LSP 1.1 using ASDF-INSTALL, or as a tarball. See the Cliki page for some examples of how to use LSP.

The old version of LSP has the advantage of being a nice simple single-file implementation, but I thought there was some value in creating a package that could be used by anyone using either of what currently seem to be the top two most popular Lisp web servers after just a single (asdf-install:install :lsp).

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

November 19, 2004

Made In USA

New from Paul Graham: “Made In USA”, an essay for the Japanese edition of Hackers & Painters [via est].

...when you pick up a new Apple laptop, well, it doesn't seem American. It's too perfect. It seems as if it must have been made by a Swedish or a Japanese company.

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

You Are Nothing Without Your Robot Car

you are nothing without your robot car

[via lori.]

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

November 18, 2004

Generic Functions In Python

from Jacobus de Teramo's Das Buch Belial, 1473

Phillip Eby is adding generic functions to Python [via LtU]. It looks like you can do both type- and predicate- dispatch, and there's some support for different types of method combination.

From a short guide of how to use generic functions as an alternative to the Visitor pattern:

Lisp developers have been occasionally known to sneer at the Visitor pattern as a non-solution to a non-problem. Aside from any general tendency for Lisp programmers to sneer at things (ahem!), this is probably because with the Common Lisp Object System (CLOS), they have a delightful thing called a “generic function”.

The decorator syntax is a little weird, but this looks like the beginning of a powerful new feature for Python. Now if someone could just add easy, powerful macros.

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

ER1 Amazonian

ER1 for sale at amazon

Apparently the Evolution ER1 robot has been for sale at Amazon for over two years, and I had no idea.

It even made the “You can buy some Strange stuff on Amazon.com” list, along with 10,000 fly parasite eggs and 1 lb. of prime rattlesnake meat.

I see that the MSRP listed on our site for the model that Amazon is selling is the same as their 40% “discounted” price, and $200 less than the “list price” Amazon has.

Posted by jjwiseman at 11:36 AM | Comments (1) | TrackBack

November 17, 2004

Sequential Progression

maroc dentaire

Jaime Magiera is apparently using OpenMCL (and Common Music) in some sort of collaborative, distributed art happening called Sequential Progression.

The unique thing about this event is that many aspects of it will be controlled by performers across the globe with the use of internet software and Virtual Reality technology. The internet will be used not just as a method of communication between the performers, but also as a conduit for the creation and distribution of the art itself. Audience members will also have a chance to participate in this creative process.

It Happens Nov. 23 in Ann Arbor, MI.

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

November 15, 2004

SK8 Lives

red

Skate is a an attempt to create an updated, open source version of SK8, which is Apple's old multimedia rapid development GUI builder. Mikel Evins, who actually worked on SK8 back when he worked for Apple's Advanced Technology Group, is organizing the project.

Having posted those comments stimulated me to contact Ruben Kleiman, who created SK8. I asked whether he would be willing to contribute to an effort to develop an open-source project in the spirit of SK8, and he said he would

Ruben conceived of Skate's ancestor, SK8, as a system for building applications by drawing them. Like its ancestor, Skate will be a system that enables you to assemble applications by dragging visual elements together and giving them behavior. It will be possible to 'open up' any object in the environment, inspect its innards, clone it, modify it, attach new appearances and behaviors to it, and, when the environment has been customized to the point where it is your application, it will be possible to deliver that application by saving the state of the environment to an executable file.

Skate is meant to be free and open-source, and to run on Mac OS X, Windows, and Linux

The source for Apple's SK8 is available via FTP. An old lemonodor post has screenshots of SK8 from Rainer Joswig. Ruben Kleiman has some photos of the original SK8 development team.

Finally, here's the comp.lang.lisp thread started by Mikel's proposal.

So, for those Lisp enthusiasts who pine for a media-rich, cross-platform, GUI application development platform in Lisp, here's your chance: you could volunteer to help out building a new generation of SK8 on one of the free Lisps.

Posted by jjwiseman at 12:31 PM | Comments (7) | TrackBack

November 13, 2004

The CMS Without Qualities

screenfull

Scott Draves, on Zope [again with the via Zach Beane]:

zope is the closest thing to a lisp machine that i've ever seen, but it runs as a web server, and instead of lisp you have python, which is lisp without parens or macros. there is now a layer on top of zope that adds an asp toolkit oriented towards corporate communications and publishing. the company does consulting using the tools they support as open source.

The Lambda NatureThe Quality Without A NameThe Man Without Qualities (thanks, Mark) →

Posted by jjwiseman at 02:26 PM | Comments (3) | TrackBack

November 12, 2004

Spam Domains

On #lisp, Zach Beane pointed out that in a google search for “lisp porn”, the sixth result is a spam domain: lemonodor-lisp-porn.anime-cartoon-hentai-sex-movies.com.

What surprises me is that it's not completely dynamic, i.e. something random like walrus-lemonodor-lisp-porn.anime-cartoon-hentai-sex-movies.com does not exist, which implies that some process or agency had to go to the trouble of making a static page just for lemonodor-lisp-porn. And then pretty effectively game google to get it ranked well.

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

November 11, 2004

mod_lisp For Apache2

Marc Battyani has announced version 1.0 of mod_lisp for Apache2.

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

November 10, 2004

God Damn That Bastard

fucking bush

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

Biogarbage Collection

Zachery Bir noticed something in the press release for the 2004 Nobel Prize in chemistry: “It's official. The human body uses a Mark and Sweep algorithm for garbage collection.”

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

Delicious Library

delicious library disk image

Ars Technica reviews Delicious Library:

People are right when they suspect that something very different is going on over in the Mac corner of the software development universe. Is it something crazy, or something sublime? You be the judge.

Windows users, think about what your typical download and installation experience is like. How many dialogs are you presented with? What do the file names and icons look like? Do you have to run an installer? What kind of manual clean-up is required afterwards?

Linux users, when you look at the carefully laid out disk image contents in the screenshot and links above, think about how far “desktop Linux” has to come before it can even begin to think about details like how single-icon drag-installed applications are arranged in their disk image windows.

The review completely confirmed my suspicion that I would have no use for Delicious Library, but the discussion of some of the unique aspects of the Mac community and software development were interesting.

Posted by jjwiseman at 10:38 AM | Comments (8) | TrackBack

What Are You Doing In Lisp, Right Now?

soupzilla

Zach Beane summarizes a comp.lang.lisp thread in which posters answer the question “What are you doing in Lisp, right now?”

Massive email-to-voice gateways, web platforms for developing database front-ends, code walkers and DNA walkers, programming languages for writing models of human cognition and generating business applications for .NET in C# are just some of the answers.

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

November 09, 2004

Powered Sherpa

powered sherpa autonomous drone

This is more the sort of thing I expect to see autonomous vehicles doing soon. I think the big benefit from the DARPA Grand Challenge will be the development of large payload (at least compared to flying drones) autonomous resupply vehicles.

The mission planner software for the Powered Sherpa looks rudimentary, but there's probably not much fanciness required:

sherpa mission planning software screenshot

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

November 07, 2004

Neurosis

neurosis

I saw Neurosis last night, with Neck and Heather. I had forgotten how much I like the Troubadour. The last time I was there was over a year ago, to see Smog, and this was completely different--Smog had a waifish girl who played harp open for them, and there were only about two dozen emo hipsters there to watch, while Neurosis had a two and a half hour straight set, no opener, with a full crowd made up of pretty much the usual LA metal fans.

They had a good show. It was like Philip Glass for metal heads, all metal-minimal and repetitive and trancey. “Progressive metal”, I guess. With some nice video as a background: Lots of nature stuff, ants, bee larvae, solar flares, that sort of thing, all in grainy, muddy black & white.

Posted by jjwiseman at 12:46 AM | Comments (5) | TrackBack

November 04, 2004

Lisp and IM

Gordon Weakliem mentioned the idea of combining Lisp, instant messaging and natural language understanding.

Riaan has a post on natural language recognition over IM systems. I've been casually reading Peter Norvig's PAIP and it's occurred to me that this is one of those applications that Lisp is great at. I've even thought about trying to build an MSN Messenger front end for Norvig's ELIZA implementation as a proof of concept.

When I worked at I/NET, we did this.

echo screenshot
Echo screenshot, from Will's portfolio

Echo was a system monitoring tool that used natural language as its primary interface. Notifications, queries and even steps to be taken to try to solve problems were communicated in pretty natural English. Instant messaging was just another communications channel along with email, web forms and SMS text messages. You could even call up Echo on the phone and converse with it.

The natural language understanding engine was certainly the most complex part of the system, and was in fact written in Lisp (at least when I worked on it).

I'm confident there's plenty of interesting developments that will come out of IM as it evolves. I'm less sure that they'll involve natural language understanding, because I think that natural language interfaces that require people to type are only useful and appropriate in very narrow circumstances; in most contexts even a web form is probably superior.

Coincidentally, I recently took a little time to clean up the AIM client code that Echo used, which has been packaged as a project called CLAIM. CLAIM 1.1 works in OpenMCL, SBCL, LispWorks and ACL, and for your convenience is ASDF-INSTALLable.

Posted by jjwiseman at 09:23 PM | Comments (3) | TrackBack

November 02, 2004

Personal Power

vote.  please.

I admit that I feel a little ineffective as an individual voter living in a state that is almost certainly going to cast its 55 electoral votes for John Kerry whether I vote for him or not, and would do so even if I stayed home and played Katamari Damacy and avoided voting altogether (I didn't; I already voted).

So this weekend when Lori and I were in Las Vegas for a wedding, we took advantage of our presence in a swing state to wear some T-shirts that Lori made. The response was pretty good, even in a city known as a national focal point of escapism.

Peter Norvig on selecting a president: “If these two candidates were applying for the job of president, Bush would not get past the initial phone screen.” The rest of it is pretty good, too.

Posted by jjwiseman at 11:43 AM | Comments (5) | TrackBack