January 29, 2003

Dynamic Learning Center

Franz' "Dynamic Learning Center" is online: "Designed for both teachers and students, this website features examples designed to introduce future developers to the power of Common Lisp."

Wow, thoughtful lisp exercises for students. Teaching tools written in lisp. On a site running on Lisp, and sponsored by Franz but remaining implementation neutral. This could be the start of a great resource.

They need submissions (I guess they better let people know what the copyright/licensing policies are).

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

MCL FAQ-O-Matic

Charles Sutton has started an MCL FAQ. It's a FAQ-O-Matic FAQ, which means that, like a Wiki or CLiki, it can be added to or edited by anyone.

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

January 28, 2003

Stryker

A Reuters article on General Dynamics and their autonomous and semi-autonomous military land vehicles [via robots.net]:

New combat vehicles such as Stryker are part of the U.S. military's bid to transform itself into a faster, more mobile fighting force to deal with new threats around the world.

Stryker unmanned armored vehicle

At the same time, the U.S. military is increasing funding for advanced unmanned systems to use on the ground, in the water and in the air, spurred on by an American public that is less willing to accept the death of U.S. troops in battle.

The U.S. Army plans extensive tests at its Fort Bliss, Texas, facility next month of the robotic Strykers, which can each carry two soldiers who can control up to 10 additional unmanned air and land vehicles from their three-screen command centers at the back of each vehicle.

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

January 27, 2003

Guido

Guido van Rossum sounds a lot like a lisper sometimes [via Aaron].

Over the years Python's data types have collected a lot of useful functionality. The data types are powerful. That makes Python very powerful. And yet because Python has a very small set of data types, it doesn't feel like you have to spend a year learning the language before you know everything that's there. The minimal finger typing and powerful data types work together to make your program small, and make you feel more productive.

...

Yeah. I always feel that the interesting programming jobs are the ones in which you don't know exactly where you'll end up. Implementing another spreadsheet is boring.

...

Early on, when the Web was just becoming interesting for things like shopping online, a small company called eShop was developing various commerce servers. eShop had proprietary protocols and proprietary applications, and it realized that it should just be able to use a Web server and Web browser. The developers decided to do a prototype in Python. Because they used Python, the eShop developers were the first to release a beta version compared to many other startups doing exactly the same thing. They never actually released working code after their beta release, because the company was acquired by Microsoft. Microsoft spent two or three product revisions to eventually replace all the Python code with C++. But if eShop hadn't started in Python, it would never have released something interesting enough for Microsoft to acquire in the first place.

If this were a Philip K. Dick novel, one day Guido would wake up and comp.lang.python would contain a vituperative northern European, graybeards recalling details of ANSI meetings of 10 years ago, and people looking for advice on convincing their bosses to let them use Python. And the Python syntax, of course, would be slightly different.

Posted by jjwiseman at 01:43 PM | Comments (6) | TrackBack

January 25, 2003

SBCL Ascendent

danb is making real progress on adding native threading to SBCL, and Pierre Mai's busy porting it to OS X. Nice.

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

New Allegro NFSd

Franz' NFS server in lisp is at version 1.1.1: "version 1.1.1 - access control and command line switches for adding and removing the NFS service (see ChangeLog) and include binary distribution".

(Their code for writing NT services in lisp has been updated a bit, too.)

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

January 22, 2003

Layoffs

Sudden layoffs are never fun, but often thrilling.

Posted by jjwiseman at 08:48 AM | Comments (3) | TrackBack

Classy

Troutgirl on lisp as a class marker. "When I first started dating Tim, I thought every programmer used Lisp." Heh.

In my somewhat sheltered career, I don't think I've heard anyone suggest that we "do it in lisp" except where it was a very real possibility that made some sense, and that's even in teams where everyone's favorite language was lisp. (After searching my memory and reaching that conclusion, of course I had to consider whether I might have been the one screeching for lisp. I think I kept that to a minimum, though.) I do, however, hear lots of good natured pining for lisp, along the lines of "C++ sucks, man, I wish we were doing this in lisp". Though instead of lisp, maybe they'll mention OCaml. Or T. Or Eiffel. All languages which could be filling a class marker role, and maybe they are, but I think the usual motivation for saying that is someone thinking "Anything but C++, if God is merciful."

I know that the following admission will tarnish my reputation in the eyes of some, but... more than once I have thought "Man, I wish I was doing this in Visual Basic, it would be so much easier." OK, maybe just once.

Posted by jjwiseman at 08:42 AM | Comments (1) | TrackBack

January 21, 2003

OpenMCL 0.13.3

OpenMCL 0.13.3, with one zillion bug fixes, is out.

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

January 20, 2003

Griffith Park

Yesterday was so beautiful and warm, I had to get out of my apartment and do something. So I went and did a little hiking around in Griffith Park, which is about a 5 minute drive from my place.

aerial photo of griffith park

With 53 miles of trails, mountains, rattlesnakes, punks, graffiti, deer, and latino families picnicking, it seems both impossible and neccessary that Griffith Park is in the middle of the LA urban area.

discipline

It was pretty hazy (cue the words of every LA air quality apologist, "That's not smog, that's the marine layer."), but beautiful.

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

January 19, 2003

Weird Music

Otis Fodder is putting up one "incredibly strange" or "outsider" mp3 per day. I don't really care for most of this stuff, but the high school band & choir covering "Fox on the Run" won me over.

It must have been pretty fun to be in that band & choir that year.

Then there's Ween's unaired Pizza Hut jingles. Where'd the cheese go? I don't know.

Posted by jjwiseman at 10:41 PM | Comments (4) | TrackBack

January 17, 2003

LISP 1.5 Programmer's Manual

The LISP 1.5 Programmer's manual. Look at all the M-expressions! And check out the complete list of functions.

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

January 16, 2003

LA Shakedown

LA Shakedown: "2 nights of Punk, Broken Blues, and Primitive Rawk!"

LA Shakedown

Over 50 bands for $35-60 (the online tickets sales deadline is Jan. 31).

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

January 15, 2003

CES Photos

Here are a few photos from CES.

ER1 plays chess
ER1 plays chess
ER1 makes "art"
ER1 makes "art"
ER2 reads
ER2 reads
ER1, uh... eh, fuck it
ER1, uh... eh, fuck it
Posted by jjwiseman at 10:41 PM | Comments (7) | TrackBack

BEE ESS DEE

Brendan Burns has some code to interface with the BSD subsystem of OS X from MCL.

  hilights include:
  support for fopen, fclose, fwrite and chdir (see the man pages)

  and I've added "cd" and "ls".
  cd calls (set-mac-default-directory) so you can:

  ? (cd "/Volumes/Vogon/src/utils/dev")
  "/Volumes/Vogon/src/utils/dev/"
  ? (ls)
  anaphoric.lisp 
  containers.lisp
  ...
Posted by jjwiseman at 10:19 PM | Comments (0) | TrackBack

Well Trained

jwz: "Please keep in mind that the primary function of stories like this is to distract us from the fact that a whole fucking lot of people are going to die."

irobot cave clearing robot

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

January 13, 2003

What Jeff Likes About Lisp

Jeff Caldwell describes the excitement of first learning lisp.

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

January 12, 2003

New from danb

Dan Barlow has new versions of CLiki, his Araneida web server, and db-sockets socket library.

I am exhausted from CES. I'm looking forward to sleeping in my own bed tomorrow night.

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

January 07, 2003

CES. And yeah, Porn

ER2/CES prototype

I am now in Las Vegas, helping set up the Evolution CES booth.

The Adult Video Network Expo takes place at the same time as CES, next door. With more thoughts on this, here's David Cross (3 MB mp3).

i didn't take this one

Posted by jjwiseman at 08:10 PM | Comments (3) | TrackBack

Hot Lisp Dispatch

Digitool is trying something new and interesting. From announce-mcl:

Digitool is setting up a community-maintained directory of all MCL based tools, demos, freeware, shareware, and commercial applications (the MCL Software Directory). The directory is hosted on HotDisaptch and the actual contributions can continue to sit on Digitool's FTP server. The three main benefits of the directory are:

  • it allows MCL users to easily locate and learn about MCL tools and applications.
  • it allows developers of MCL based commercial or shareware applications to promote and sell them.
  • it will give MCL considerable exposure within the community of 60,000+ developers on HotDispatch.

We would like to invite and encourage everyone who has either previously contributed to the MCL "contribs" area or now has a contribution to list it on the MCL Software Directory.

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

January 06, 2003

Fit and Finish

CMUCL has a great compiler. But it sometimes when actually developing with it I felt that it was missing a few features or was a little rough around the edges when it came to being part of a nice development environment. So I'm very interested in Eric Marsden's work in friendlier error reporting via emacs integration.

slim demo

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

Not Neccessarily The Freshest Meat

Sven Van Caekenberghe wrote in to mention his LLGPL implementation of an XML-RPC server and client for OpenMCL.

Matthew Danish has released version 2.1 of CL-SDL, lisp bindings to the free and portable SDL "Direct-X-alike" library.

CL-PDF, Marc Battyani's 100% lisp (no FFI) library for generating PDF files is at version 1.0

Matthias Koeppe's CL-BibTeX 0.3.1 does more stuff.

How serious is Ufasoft? "As target we are developing strong implementation of Common Lisp for Win32 and .NET environment."

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

January 05, 2003

Quesa Progress

Success! Well, to some extent. I snapped off a screenshot just before MCL crashed when trying to display a 3D model, and was able to at least patch things so I wasn't getting the error anymore (I don't know why MCL was crashing when it got an error in an event handler--I can't reproduce it with other errors).

That got me as far as looking at a featureless white window. Almost featureless, anyway; two lines of subtly shaded pixels told me I was looking at a 3D box straight on.

So then I tried to view the box using the QD3D interactive viewer, which has zoom and rotation controls and things, but that caused a crash. And this time there was no error to help guide me in my debugging. It may just be that Quesa hasn't implemented a viewer. Oh well, at least there was some progress.

Tomorrow night I leave for a week in Las Vegas, where I'll be making sure that the Evolution robots make a splash at CES by knowing how to draw a good lissajous.

x = sin(2t) cos(3t), y = cos(2t), z = sin(2t) sin(3t)

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

PAserve for Corman Lisp

Chris Double has added Corman Lisp support to Portable AllegroServe (and to CL-SSL).

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

January 03, 2003

OpenMCL Now LLGPLed

Gary Byers announced on openmcl-devel that OpenMCL would now be distributed under the LLGPL.

The LLGPL is a preamble to the GNU Lesser General Public License (LGPL), which was developed by Franz Inc to clarify how the LGPL applies to Lisp programs and to amend certain LGPL requirements. Notably, the LLGPL waives the LGPL requirement that applications be distributed in a form that would allow the end user to "link to" newer interface-compatible versions of the "library"; this requirement would seemingly force developers to distribute their applications in some sub-optimal format (e.g., as a set of FASL files or something ...)
Posted by jjwiseman at 04:01 PM | Comments (0)

January 02, 2003

QD3D Revived

On a whim, I decided to try to port my QuickDraw 3D lisp interface code to MCL 5.0 Beta, under OS X.

Arturo's Tacos on Western Ave in Chicago, 2:46 am

QuickDraw 3D doesn't actually exist anymore, at least not as a public API provided as part of OS X. But years ago, when Apple announced that it was ceasing development on QD3D and focusing on OpenGL, several people began working on an open source implementation of the QD3D API, called Quesa. A few weeks ago I saw an announcement in Apple's Developer Connection News about a new version of Quesa. Despite a confusing, and at times broken, website, the project seems to be making progress. In particular, I noticed that there was at least some support for mesh geometries, which I used to use heavily.

After installing Quesa, changing a few library names in my code and performing some trivial Carbonization (DisposPtr is now DisposePtr), I was able to load a 3DMF (the QuickDraw 3D file format) model.

As soon as I try to display the model, however, an error message is printed to the listener and then, before I can read it, MCL crashes. Unfortunately, dribble seems to be useless in catching output from MCL's event handling process, so I'm a little stuck. Causing an abort in error doesn't prevent the crash, so I guess I'm going to have to advise error to write messages to a file.

Coincidentally, two days after I started working on this someone asked about the status of the code on info-mcl.

My daydream: To generalize the interface to run on a bunch of implementations, supporting the platforms that Quesa supports (Windows, Mac, Unix). UFFI is an obvious possibility, though I'll still need per-implementation code to create windows and things.

Posted by jjwiseman at 12:03 AM | Comments (0)

January 01, 2003

Design and Research

Paul Graham says: "Now, when someone asks me what I do, I look them straight in the eye and say `I'm designing a new dialect of Lisp.' I recommend this answer to anyone who doesn't like being asked what they do. The conversation will turn immediately to other topics."

Posted by jjwiseman at 08:49 PM | Comments (3)