I just released version 2 of Multiplication Puzzle which features autoolization, gettextization, and a name change from Multiplication Game to Multiplication Puzzle. Now I just have to wait for the translations to roll in. :)

xpad

xpad 2.0 work is going slowly. But I did release a brown-paper bag release a while ago to at least allow the long-standing 1.13 release to work with GTK+ 2.4.

Work

In other news, I am actively looking for a job. If anyone is interested in an amazing, computer-science-degree-holding employee in the Sunderland, MA area, look at me.

I found a great program called WebMake which totally solved my desire to simultaneously have a website written in Ã¼bersexy XHTML and one that Google and IE can read.

WebMake is one of many website generators out there, but it just clicked with me. It allows me to have all my content in one file, and from that file, generate both HTML and XHTML versions. I hear that I could also massage it to get easy translations of my pages.

Providing both HTML and XHTML versions of webpages is, in my humble opinion, the best solution to the whole "XHTML is the way of the future, but IE is living in 1996" problem. You can offer fully-compliant, properly MIME'd XHTML to those browsers that negotiate with the Apache server for it and everyone else gets last year's HTML. And better yet, this is all done with no hacky .htaccess tomfoolery. Yay WebMake!

I did run into a couple problems though; the documentation is decent, but doesn't cover all the crazy cases I wanted. I had to fight with it for a while before I realized how to get conditional markup and had to work around a silly bug in its XML parser when using parametized content. (Perhaps I should share my WebMake file for the benefit of others.) But, on the whole, it was an accessible program that made me very, very happy.

I've also been playing a bit of Final Fantasy: Crystal Chronicles. A great game if you have friends; not a very good single player game, though. I highly recommend it. The gaming industry has been short on cooperative multiplayer games for a while.

I've hacked up a dashboard frontend for xpad. I'm pleased it was not too difficult, although I doubt that dashboard will be able to do very much with most pads' contents.

I have also decided that since I'm already numbering the next xpad version 2.0, I might as well go and break everything, just to keep the spirit of dot-zero releases. So, I've begun the long and unrewarding task of objectifying the codebase. That is, I am making nice, clean GObjects out of everything instead of one big pile of procedural code. Yay!

In the process of that, I have discovered how cool the whole GObject system is -- building OO design into such an antiquated language as C. It's a nice architecture.

Work on xpad has been going well. I've finished porting it to all the non-deprecated widgets in the upcoming GTK+ 2.4. Thus, the next release will require 2.4 instead of 2.0. I plan to number this next xpad release 2.0, since the base requirements have been bumped up in this manner. Just some bug fixes left to work on, and we're gold.

In other news, xpad recently got a French translation, thanks to Michel Robitaille. Yay!

Having worked on a couple of the various open source bounties floating around, I feel qualified to comment on the phenonemon.

First, it's awesome. It connects people with money and a desire for a particular feature with the people that want money and can code particular features. So, I hope we see more of it.

Second, I think the bounty movement is good for programmers. Not merely for our wallets, but for our image. The stereotype of pizza-eating, coke-guzzling late-nighters is gone, transformed instead into the sexy image of a bounty hunter, risking life and limb for the pursuit of money.

"And what do you do for a living?""I'm a bounty hunter. Very dangerous."

You don't need to specify that you hunt slow-moving programming bounties. Let their imagination roam.

I've started hacking a patch to Rhythmbox that will add adaptive listening akin to the IMMS plugin for XMMS.

Adaptive listening means that a song's rating will decrease when it is skipped and increased when it is heard. When done right, it's pretty handy for automatically figuring out the user's tastes.

This is a feature I've wanted for a long time in a music player, and I'm glad I can have a part in its creation. Certainly beats rating all my songs myself. Plus, I'll wager it's more accurate than myself.

RSS

I've just now discovered the joys of RSS; I finally see why everyone else is so into it. I installed Straw and subscribed to all my usual haunts. A lot less manual labor is now required to keep abreast of news in open source land. I just wish certainsites would offer more details on each article.

On a lark, I signed up for a Jabber account (mterry@jabber.org) the other day. I must say that the idea of an open standard, decentralized, extensible IM protocol gets me excited. If it ever gains mainstream acceptance, I will be simultaneously shocked and pleased.

I've been looking into getting a personal domain name for all my self-promoting needs. It seems the .name tld is the place for this; I just wish I had a steady income to pay for hosting (note -- will code for food).

Here's an unethical, but money-saving idea: go to your local library, borrow several music CDs, and rip them. Genius! For your ripping pleasure, might I suggest Sound Juicer? I have been using it for a couple weeks and I must say I am impressed. The only problems I've had are MusicBrainz's database errors. Combined with Rhythmbox, I am in music-heaven.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser
code is live. It needs further work but already handles most
markup better than the original parser.