C++ Clifford Algebra library getting some use… April 13th, 2010
Patrick Stein

The C++ template classes that I wrote years ago have been one of the most consistent draws to my my website. Every time I check the search terms that brought someone to my site, there are always a few hits for Clifford algebras.

I just received some email today from Mijail Guillemard at the University of Hamburg saying that he extended my Clifford algebra classes and is using them to do feature separation and classification for signal processing.

CL-Growl client library released April 12th, 2010
Patrick Stein

Growl is a notification system for Mac OS X. You run a Growl server on your machine. Then, applications can send notifications that will be displayed on your desktop. Growl supports a thin network protocol called Growl Talk that programs can use to send notifications to the Growl server (and hence, to your desktop).

Growl is incredibly useful for any program that operates asynchronously with the user. If you want to be notified when some portion of your job completes or when there is a critical error in your web application, Growl is a great tool to have at your disposal.

I wrote an implementation for Common Lisp of the client protocol. Here is a simple example of how you might use it:

(let ((growl:*growl-default-app* "My Lisp Application")
      (growl:*growl-default-host* "localhost")
      (growl:*growl-default-password* "my-growl-password"))
  (growl:register :enabled (list "Warn" "Error")
                  :disabled (list "Info"))
  (growl:notify "Program starting up..."
                :notification "Info")
  (unless (connect-to-database ...)
    (growl:notify "Cannot connect to database!"
                  :title "Critical Error!"
                  :notification "Error"
                  :sticky t
                  :priority 2)))

For more complete usage information and to learn how to obtain the library, see the CL-Growl web page.

Parser Generator released April 9th, 2010
Patrick Stein

A few weeks back, I described an XML Parser Generator that I was working on. At the time, it could generate the parser it used itself. Now, it’s got Objective-C support and Lisp support. (The Lisp support is slightly better than the Objective-C support right now. With the Objective-C backend, you can create arrays of structs, but not arrays of strings or integers.)

Here is the Parser Generator home page.

Animal Artwork and More Languages in iPhone Spelling App March 29th, 2010
Patrick Stein

I just finished up some animal artwork for my iPhone Spelling Toy. I also added translations for Japanese and German (in addition to the English, French, and Spanish that were already there). After I double-check the translations, I will get it uploaded to the App Store.

If you have any expertise in Spanish, French, German, or Japanese, I’d appreciate any feedback you can give me about the words I chose in those languages. Would they be the word one would think of when shown the picture? Thanks, in advance.

Roto-Mortar: A 7-Day Lisp Game March 26th, 2010
Patrick Stein

Roto Mortar was written for the 2010 LISP Game Design Challenge. The challenge was to design and implement a game in seven days using some LISP dialect.

The KPs have been beating on your base all week. Your defenses are just about to collapse. In fact, your mortar cannons are both on the fritz. Billy Bob, the ACME Repair Guy, has just gotten one of your mortar cannons back online. Unfortunately, he had to wire things a little wonky. Your cannon is spinning all on its own. You’ve only got one button to control both the elevation of the cannon and when to fire it. And, you better fire it, because the KPs are still coming at you.

Inspiration

A few years ago, I read the book Game Design Workshop: Designing, Prototyping, and Playtesting Games. One of the exercises in the first chapter is to design a game with a “one-button interface”. At the time, I didn’t come up with anything particularly thrilling.

When I started brainstorming what to do for this Game Challenge, I remembered that exercise. I came up with this concept just under (as in 3.5 hours under) seven days ago. The game is nowhere near as polished as I’d like… but it was a 7-day thing. And, it was fun to take a break from Objective C to get back to some Lisp programming.

Obtaining It

You can find out more about the game, including where to get the source and a Mac OS X binary, on the game’s web page.

Updates In Email

Email:

l