So, I haven't posted to LiveJournal in quite awhile. But, I got to thinking it might be nice to summarize here a little bit of what I've been up to. Most of this has buzzed through my Twitter and Facebook feeds. But, here's a chance to kind of see it all together.
The last thing that I posted on my LiveJournal was an announcement that my Spelling Toy for Kids is on the iTunes Store. Since then, I updated it with Animal pictures, German translations, Japanese kana translations, and Nederlands translations.
I wrote a Gimp plugin to do a Burnt Paper effect:
I reworked an old idea of mine in Lisp instead of Java. It's an XML Parser Generator. You give it a brief description of what you'd like your internal, language-specific structures to look and where it should get that information from the XML data. Then, it generates a SAX parser for you to use in your chosen language. The current incarnation can output either Lisp code or Objective-C code (using all iPhone SDK compatible support classes).
I wrote that tool so that I could parse a bunch of RESTful XML for an iPhone application. Having written the tool, I then used XML for the board readers in another iPhone application that I am working on. I also used the parser generator to generate an XML reader for X3D object files for the Lisp game coming up next.
I wrote a Lisp game for the 2010 LISP Game Design Challenge. [First, a brief aside about
LISP versus the word
Lisp for those not in the
know. The word
Lisp is usually taken to mean ANSI Common Lisp
these days. The word
LISP is used instead to denote any Lisp-like
language including (but not limited to): ANSI Common Lisp, Scheme,
Clojure, Arc, etc.] The game is called Roto-Mortar. It is a one-button game.
The only control you have at all is one mouse button (without the whole
mouse-pointer thing... just the button... doesn't matter where you click...
just that you clicked). I made the 3D models in Blender, exported them
to X3D, read them in with a parser that largely came out of my parser
generator (though X3D stores arrays of numbers in attribute strings,
so I tweaked the generated parser a bit to turn those into arrays
instead of keeping them as a string of comma-separated numbers).
This week and last, I have been learning Weblocks to prepare to talk about it at the next TC Lispers meeting. As part of it, I dusted off an old project that I had in Perl and am trying to craft a better web front-end for that project. One of the features of that project was that you could make it use Growl to notify you of chosen events. So, I spent a few hours one evening making a Lisp library for Growl that implements the Growl Talk protocol. Of course, when I announced that library on the Growl mailing list, I discovered that they are in the process of changing the protocol entirely. They will be using the Growl Notification Transport Protocol that is used in Growl for Windows. So, I've started hammering on a Lisp client library for GNTP.
As part of that library, I have been using Ironclad to do the needed encryption. However, Ironclad doesn't completely support padding for block ciphers (in block mode) yet. At the moment, I have a work-around in my code to pad the block before handing it to Ironclad to encrypt. But, I'm starting to dive into Ironclad to try to get the padding support down into the right spot so that I don't have to copy my whole buffer just to get a few padding bytes added onto the end.
And, I just found out that some C++ template classes that I wrote years ago are getting used to do feature separation and classification for signal processing.
I applied for many jobs, interviewed for one, no luck yet.
Tomorrow, we're off to Punxsutawney to visit my family.