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.
Fonts
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.
Geometry
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.
Spam
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.
Election
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.