Older blog entries for mterry (starting at number 10)


I just pushed through a new release of Xpad, which is actually just a beta for the upcoming 2.0 release. It has lots of goodies, including a new toolbar, text formatting, and remembering pad hidden state.

It is the result of a couple weekends of hacking. It started with the simple desire to object orient some of the code base, using proper GObjects and all. The GObjects library is a simply amazing addition of classes into plain C; kudos developers. About half the code base is GObjects now, with more to come.

Predictably, this broke a lot of stuff, but I also fixed things too. For instance, the long-standing bug where the text insertion cursor was not the same color as the text foreground color. For some reason, GTK+ did not make this simple.

Semantic Web Update

The method of joining RDF and XHTML I talked about in my last update did not pan out. I replaced that article with one detailing more accepted methods for joining the semantic web.

I ditched it after talking around, notably in the #rdfig chat room. My method, while maybe well-formed had some predictable semantic problems. But I do want to warn others about my experiences with #rdfig. I felt that the members of the chat were less than helpful with my ignorant self and after a while of trying to help, they mostly gave up on educating me, which is fair. However, I later discovered via a google search that several of the members were in a parallel chat room in which they were making fun of me. Including my personal appearance, based on pictures from my web site. I feel that this was a little low and want to warn others away from that chat room. And to warn IRC users everywhere that if you make fun of someone, you might want to do it in an unlogged chat room.

Semantic Web Goodness

I'm sure people are somewhat tired of hearing about the semantic web. Usually because it is viewed as something of a pipe dream. Well, I think I have found a method of combining RDF and XHTML that provides the power of complicated metadata while still providing an XHTML document to browsers. In addition, I think it's done 'the right way'.

I'm seeking comments on this approach and details on any browsers it doesn't work in.

11 Jul 2004 (updated 11 Jul 2004 at 19:30 UTC) »

The Fifth HOPE

So, I went to part of HOPE 5 (Hackers on Planet Earth) in New York City these past two days. I left early because we didn't have any place to sleep and crashing on the convention floor, while doable, wasn't keeping us very awake during the lectures.

Anyway, it was interesting. This was my first HOPE, and I wasn't sure what to expect. While there, I saw some of a documentary on past HOPEs and one interviewee mentioned that HOPE was largely a place for engineers and hackers to get together to be technical, that it was in no way political. That may have been true in the past, but the past few years have left our community with the realization that we urgently needed to act soon, or at least act in November 2004.

The whole place was decorated in a very Orwellian manner, replete with Nazi symbolism, big brother references, and WW2-style propaganda posters. The big brother reference, by the way, appeared directly below a giant head that looks somewhat like Bush with a Hitler moustache.

About half the talks were political. There was a talk on how cool having bloggers at the DNC will be followed by a talk on how to best make trouble at the RNC (e.g. volunteer but don't show or make a salon appointment inside the hotel to get by security). Some other talks focused on digital rights management, 9/11, privacy, file-sharing, Florida in the 2000 election, etc. Kevin Mitnick even gave the first keynote. It was nothing we haven't seen on Slashdot before, but they were a little bit more informative and all condensed into a few days.

I'm a huge fan of this trend. I have long agreed with Lawrence Lessig's position that hackers need to be more legislatively involved. In recent years, thankfully, the combination of terrible laws, terrible leadership, and terrible lawsuits have conspired to get people talking. I think Groklaw is an excellent example of this. Hackers have never been more in tune with their place in the legal landscape. But, we have to make our position known outside of the community by raising awareness of these issues close to our hearts. This can largely be done by simply educating. Mitnick touched upon a major reason why so much crap happens in lawsuits -- judges simply don't understand the issues. Mitnick's judge was convinced he could dial up NORAD, whistle into the phone, and launch some missiles. And the Microsoft anti-trust trial's judges could certainly have used a couple hits with a clue bat.

The days when we could bury our heads in the sand and just focus on issues of engineering are over. Patents, lawsuits, proprietary companies, and legislators are not inclined to let us alone. So, please become involved, regardless of your political inclinations; hackers need to make their positions known. Contact your representatives, educate your friends and family, donate to the EFF, and, for goodness sake, vote!

Multiplication Puzzle

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 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.


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.


Well, I've scaled down my designs for 2.0 a bit. It's basically just a port to GTK+ 2.4 at this point. The OO-ifying will come later down the 2.x branch.


I went ahead and got myself my own personal website. It's fun to have a domain that you control yourself. I ended up using a mom and pop hosting company based in California. Dirt cheap and enough for my simple needs right now.

Crystal Chronicles

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!

23 Jan 2004 (updated 23 Jan 2004 at 18:47 UTC) »


The patch for adaptive listening got committed. Sweet!


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.


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 certain sites would offer more details on each article.

1 older entry...

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.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!