11 Nov 2006 raph   » (Master)

Lots of stuff

Hi all! I've been fairly inwardly focussed for the past few months, but there's a lot of stuff happening now, and I'm feeling more like reaching out to the world. Usually this time of year I start feeling like I want to hibernate, what with the evenings getting dark and the rain beginning, but this time I seem to have even more energy than usual.

A tough logic puzzle

Do you like difficult puzzles? Wanna show off your brilliance to the rest of the world and make a little money to boot? Take a look at Ghostscript bug 688990. I spent more than a week trying to reverse engineer the imagemask interpolation algorithm used by Adobe PostScript, based on the original Mac implementation from twenty or so years ago, but was only able to come up with an approximate answer.

Feel free to post comments, questions, or requests for more test images to the bug itself. The "bountiable" keyword means that the solution (hopefully implemented as code) gets a check for, I think, $500.


My font releases are moving forward. Inconsolata, in particular, is just about done, and that's now released under the new SIL Open Font License. There are a few other goodies posted on my font pages, for people who haven't seen them in a while.


I met Nathan Hurst about six years ago when I gave a talk at linux.conf.au. We chatted about Libart, then pretty much went our separate ways since then.

Libart, as you'll recall, was the graphics library behind Gill, which begat Sodipodi. Sodipodi, in turn, begat Inkscape, which is starting to draw a lot of attention and users. In any case, Inkscape now uses Cairo for the rendering, but the vector-based geometry operations are still somewhat messy and ad-hoc, so Nathan and others have founded the lib2geom project to address those needs.

As it turns out, I have both interest in and need of these kinds of basic computational geometry primitives for my font work, especially stroke offset, intersection (for making nice clean outlines), and conversion to optimized Beziers. I have various prototypes written in Python and so on, and have sent those to Nathan.

With luck, all of this stuff will come together as efficient, robust C++ code, and then my dream of having a good implementation of next-generation font tools will be that much closer. I'm also hopeful that, by joining forces with Nathan and others on the lib2geom project, Inkscape and other vector-based free software projects can benefit.


It looks like the new spam filter here is working swimmingly. I've long felt that the trust metric ideas were sound, but that they needed more time and energy on their implementation than they were getting. Looks like Steve is doing a great job on that, and I hope that the success here inspires other people as well.

One project people might want to take a look at is the Bitchun Society, by Joseph Petviashvili. It basically implements a similar eigenvalue trust metric as the diary rankings here, but as a Jabber bot. I don't really know whether this particular implementation has the mojo to really take off, but the more trust metric toys there are out there to play with and learn from, the better.

Other social connections

I've been busy in lots of other ways too. Last night I had dinner with Till Kamppeter and a hundred or so other Ubuntu developers. We're working toward merging ESP Ghostscript into the main Ghostscript repository, something which our move to GPL-only licensing was meant to enable. We have a few details to iron out, but I'm very hopeful about improved user experience people should see as a result.


Last Tuesday I worked as an election judge (fancy name for pollworker) at a precinct up the hill in Berkeley. I've become pretty cynical about the political process, and participating in this civic ritual at the neighborhood level was a great anodyne to that cynicism.

I signed up largely out of concern for the mischief potential of all these fancy new voting machines. As it happened, our Sequoia Optech Insight jammed about three hours into the election, so we were back to putting paper ballots into a ballot-box, essentially stone-age technology. Most people seemed happy with that, and I'm pleased to report that our precinct was able to account for all but one of the 800+ pieces of paper we started with, at the end of our 14-hour day.

My faith in democracy is much restored. I can heartily recommend working at the polls to fellow Advogatans. It's a great way to become more involved with your community and your country.

Latest blog entries     Older blog entries

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!