Posts for December 2008

2008-12-01: Back to life

Eroded sandstone

Another eroded sandstone picture for today. I find interesting the similarity in texture between some of the rock and the wood.

My company left today, after a truly great week of acquiring and playing with new toys, finishing video games, talking about movies and games and life, and taking a much-needed break from everything else. I didn't finish all the work that I needed to do until late Wednesday, but then I got four days completely away from everything.

Today was the first day back and I didn't start working until around noon, so it was a late and somewhat long day. But I did get some things done. It's going to take me a few days to get back into the rhythm of things.

2008-12-02: Settling in

Olive bark

I love bark texture.

Today was the first normal day back to work. As the first day, I'll take it. I didn't get as much done as I wanted, but I got a full day's work in, I got a few things done, and I'm back to walking nightly and posting here regularly. I'm hoping for slowly building momentum.

2008-12-03: Sandstone caldera

Sandstone caldera

Today was the most productive work from home day in a while. I took care of some fallout from the upgrades yesterday evening, which is now mostly resolved. There's just one lingering and mostly harmless weird segfault that hopefully will be fixed after tonight. And then I wrote up a first draft of how we'll use Puppet environment support to provide a development and stable tree for our Puppet configuration and migrate clients from one tree to a newer one.

The new virtualization project also seems to be proceeding nicely, and we have a working patching procedure that was tested again today.

Of course, all I really want to do is play video games, but I seem to be getting things done despite that. *heh*

2008-12-15: Cubbyholes


I seem to be reassembling bits of my life from all those holes. Or, since I've been playing Guitar Hero III lately, trying to get all the notes playing at the same time. (Although I guess that's more an Amplitude analogy.)

I set aside all the things I was juggling for the Thanksgiving holiday and have been picking only a few of them back up (as people might be able to notice from my quiet here). Reading time has gone into playing video games instead recently, and most of the rest of my time has gone into finishing up things for work rather than working on software releases.

Things accomplished recently:

I expect to get back into reading and writing book reviews during vacation, although I'm taking full advantage of being in the mood to play video games.

2008-12-15: backport 1.13

I put together a new page for smaller scripts so that I don't generate new full pages for smaller things I write and toss up on the web. The first entry is the script I use to automate the tedium of backporting packages to stable, something that I end up doing a lot for work.

The script isn't anything particularly exciting or anything that anyone who's done backports wouldn't know how to do by hand. It just automates the commands a bit, remembers the version pattern for a few different (mostly local) backport repositories, and automates a few transformations that I run into a lot. It's not a substitute for manually doing a backport and testing, but it works on 90% of packages that I just need to have on stable for some reason.

I probably won't announce new releases unless I make it substantially smarter, but I figured I'd announce the first release in case it saves anyone a few moments.

2008-12-16: Asking the wrong question

I'm posting way too much to debian-vote right now, which I realize and which I'm going to try to cut back on. (I at least did start the lintian.d.o upgrade process today, so I got non-discussion Debian work done.) The reason why I keep reacting, though, is that I'm finding it frustrating that people seem to be asking the wrong question for resolving the firmware freeness argument.

We currently have a strong disagreement over what the implications of the Debian Social Contract and DFSG should be for our release process. Some Debian Developers believe that releasing lenny as-is requires a special exception to the Social Contract. Some Debian Developers believe that releasing lenny as-is is consistent with the Social Contract.

We've tried and failed to achieve consensus. That's the first point of my frustration: some people don't seem willing to accept that this has happened. They are apparently having a hard time understanding how anyone couldn't agree with them, and are therefore repeatedly reopening the discussion on which we don't have consensus. Once it's clear that consensus doesn't exist, this is very counter-productive. The discussion is futile, which frustrates people, and then in that frustration they become increasingly angry and harsh.

Once consensus fails, all interesting decision-making processes start. A decision-making process basically reduces to "who decides?". When you have a dispute and consensus is not possible, some body has to make a decision. If people believe in the decision-making process, they can then support, or at least live with, the decision because they respect the process, even if they disagree with that particular outcome. The most important output of a decision-making process is closure: you stop debating and move on. If that doesn't happen, the decision-making process has failed, even if it makes a decision.

Why does this all matter and why am I going on at such length about it? It's simply this, which I think is so important I'll highlight it:

Even people who strongly disagree on some issues can work together cordially and well in the same project provided that they can agree on a decision-making process in those areas where they disagree.

Agreeing on how decisions are made in Debian is important because that's how we continue to work together when we disagree (and we will disagree). If we can agree on how disputes are resolved, we can all respect and honor the outcome even if it isn't what we would have wanted, and then move forward. If we don't agree on how disputes are resolved, we'll keep re-arguing them rather than accepting the outcome. The discussions will get more heated, more people will get upset, and more people will not have fun working on Debian.

What I've been trying to analyze on debian-vote is the "who decides" part of this question. We have a decision-making process outlined in the Debian constitution for non-technical decisions (of which this is one). That process is somewhat scattered through the document, but bringing it together in one place, it seems to go like this:

  1. Developers are empowered to make decisions about their own work. That means that, according to the constitution, the primary people who get to decide how the SC and DFSG should apply are every Debian Developer in the tasks on which they're working.

  2. The project leader can define an area of ongoing responsibility and delegate to a developer or a group of developers responsibility for making decisions in that area. There are two relevant delegations here. The ftp team has the delegated authority to determine what packages may enter Debian given, among other things, licensing and DFSG issues. The release team has the delegated authority to decide what goes into the next stable release and when that release happens. (Let's put aside quibbles over whether or not that authority was formally delegated; I think that we can all agree in practice that it's close enough.)

    The ftp team has accepted the relevant firmware packages into Debian main and hence have made a decision in their area of responsibility. The release team, through the lenny-ignore tag, has decided that the relevant packages can be part of the next release. Those are delegate decisions that have already been made, and neither of those teams seem to want to change their mind.

  3. The final decision-making body in this case, therefore, is the developers at large, who can override any delegate decision via a GR. That's what Robert Millan proposed, although he doesn't seem to have realized he was doing that, and it's not marked as such on the ballot.

Now that this has happened, we all vote whether or not to override the delegate decision. The only option on the ballot that does so, by my reading, is the first one, so if the first option does not win the GR, the delegate decision is not overridden and both the ftp-master and release team decisions stand.

This is why Further Discussion means we continue the release as previously planned. We have a decision-making process, which has been followed, and the current decision is to release including those packages. In order to change that decision, it has to be overridden. A result of Further Discussion on a GR means that GR does nothing, and hence the decision stands.

The second point of frustration is the decision that option four on the ballot (delegate to the release team the power to make decisions about how DFSG issues affect what is included in the release) needs a 3:1 majority. They have already been delegated the authority to do that as part of their delegated authority to manage the release. The effect of option four on the project is therefore identical to Further Discussion; the only difference is whether we make a positive statement or fail to make a negative statement. It makes no sense to treat it as supersession of a foundation document when it just supports the existing decision-making process in the constitution.

A third point of frustration is the apparent feeling that foundation documents like the DFSG are outside of the normal decision-making process described in the constitution. I can find no evidence of this in the constitution, but more fundamentally, the people arguing this are not stating what decision-making process they believe does apply other than "my view of the DFSG is obviously the only reasonable one and hence you should follow it." This reduces to a plea for consensus, which we've already established that we don't have, and hence, as mentioned above, is horribly unproductive to keep raising.

There will never be a policy document that is so clear that everyone will agree on its implications in every situation. I find it much more useful to analyze governance processes by looking at who decides disputes rather than looking at position statements. The decision-making process is what will determine the outcome of all the really interesting cases.

2008-12-18: Point of departure

Point of departure

Taken this morning at the train station.

Almost time for the year-end vacation, which at this point is much needed. I still have to work a little bit remotely tomorrow, but that's mostly going to be devoted to clearing the plate, filing things so that I know what I'm working on when I get back, and taking care of little stuff that I can resolve easily.

I don't want to do any more work at all, but I haven't quite gotten in a week's worth of work yet, and there are a few things I do want to finish up. Then, two weeks of as close to complete relaxation and fun personal projects as I can get, probably starting by retreating into books and games for a few days.

More on Debian developments in a few days when I get a chance to digest and to send in private things that are better said there than in public.

2008-12-19: podlators 2.2.1

This release is mostly test suite changes, particularly a fix for test result failures on Windows due to not adding the right line endings on the output file handle. There is also a fix for backward compatibility in the deprecated pod2text function.

I still need to redo output encoding handling so that it doesn't assume PerlIO, but I haven't had a chance yet.

You can get the latest release from the podlators distribution page.

2008-12-19: Vacation begins

Black border

Vacation has finally begun. Today was annoying and mostly unproductive, but I got a few small things done at least. And I'm exhausted and tired of working and very ready for a break.

I got a couple of hours of fiction reading in today, and expanding that considerably is the tentative plan for tomorrow. Tomorrow is a day for doing whatever I want to do without pushing in any particular direction. Sometime early next week, I'll start making plans for fun things I want to accomplish, but time for some uncompressing first.

It feels good to put aside all work-related things for more than two weeks. I'm planning on sticking to that, too.

2008-12-21: Quiet rainy day

Sandstone veins

More of the eroded sandstone at Jack Point from my trip earlier this year.

It's a quiet, grey day today, a good day for curling up with a book. I've been poking around online (and listening to Pandora) for three hours or so, fixing a few things with INN, but I think I'm going to go back to my book. I'm still in the early parts of vacation, recovering energy and giving my brain a lot of downtime.

Debian discussion has quieted down for the moment. At some point during this vacation, I'm hoping to take some time to really concentrate on Debian work, upload a few new packages for the benefit of Ubuntu, and clean out Lintian and Policy bug queues. But I know that will go better if I give myself plenty of time to recover energy first.

Likewise for book reviews: I've finished three books now for which I've not yet written reviews, and I'd like to get caught up by the end of the year. But my energy reserves haven't filled quiet yet.

In the meantime, you all get pictures; I'll see if I can post one a day through the end of the year. I've got quite a lot of accumulated material.

2008-12-21: filter-syslog 1.21

This release is a small bug fix for Ubuntu systems. filter-syslog always ignores the syslog restart line, but the regex that matched the syslog version only allowed numbers, periods, and #. Ubuntu adds "ubuntu" to their version, so I needed to add letters to the regex. Tim Skirvin reported the problem.

You can get the latest version from the filter-syslog distribution page. New packages will be available from my personal repository once I finish switching over to reprepro. (I got stuck deciding that I wanted to rebuild all of the existing packages rather than importing any of them, and in some cases that means making a long-overdue new upstream release.)

2008-12-21: backport 1.15

This revision of my quick script for backporting Debian packages fixes the parsing of the *.dsc file name to work properly with native packages and relaxes the restriction on the paths for cowbuilder chroots.

In and of itself, this probably isn't worth another announcement on Debian Planet, but both are patches from Eddy Petrișor that he sent me shortly after my first Debian Planet post after trying the script out, improving the script both for me and for anyone else who might happen to stumble across it and find it useful for their problem.

I've worked on enough free software that this doesn't surprise me, but it's a pure delight every time it happens. And it amazes me how much it happens with little convenience scripts where I doubted that anyone other than me would care. After reading too many flamewars and arguments, it's a bright spot of joy to get that sort of mail.

So thank you. It's what this free software thing is all about, to me.

You can get the latest version from my scripts page.

2008-12-22: Real vacation starts

Rocky viewpoint

I think this picture captures my mood for the day.

The Monday of a vacation is the first real vacation day. Up until then, the only difference from a regular weekend is that you know it won't be over after the weekend. That's a difference, but not as much as having Monday come and not having to work. Plus, it usually takes me the first couple of days to recover enough energy to start to enjoy vacation properly.

I finished the first true vacation book, started during vacation rather than beforehand, today (Brust's The Lord of Castle Black), and finally wrote one of my backlog of book reviews for posting tomorrow. Last night, between being creative, was spent poking at the news.announce.newgroups archive software to get ready to move it and control message archiving to a new system.

The last few news.announce.newgroups posts weren't archived due to missing Archive-Name headers. I need to let someone know about that and then archive them manually. I'll probably do that tonight.

I also posted a picture of osoberry that wasn't quite good enough for its own entry but which was good enough I wanted to make it available.

2008-12-23: Winter sky

Winter clouds

For a change, a picture I took today. I was sitting inside reading and noticed how beautiful the sky was through a window and had to go out and take some pictures. (Nearly a hundred, of which I kept seventy-five.)

To think that when I started this, I was sure that I wouldn't take enough pictures to be able to post a picture a day without running out. I think I have enough to post a picture a day for the next three years now without taking any more pictures.

2008-12-24: Christmas Eve

Starting position

I don't know if this is a starting position in Marble Madness or a picture of me when I'm settled in on vacation with a book or a computer.

Merry Christmas Eve to those who celebrate it. I don't any more and haven't for years (too much stress and guilt for something that's supposed to be fun, and I'm not much of a holiday person), but I wish the most of enjoyment to everyone who does. I would have hunted down a more seasonal picture, but I don't actually have many winter pictures yet. Maybe I'll hunt deeper for tomorrow.

I'm not making much progress on all the (entirely optional) things I was thinking of working on this vacation, but then it's only halfway through the first week. I am doing a lot of reading, which means I need to pick up the review writing or I'm going to get rather a lot behind. It's lovely to get to sleep nine hours or more each night and read for a couple of hours in the morning before doing anything else.

I hope everyone else reading this is enjoying the holiday season, however you spend it.

2008-12-26: Relaxing


The neighborhood was full of garbage cans relaxing after a hard day's work.

I hope you're finding your vacation as relaxing as I am. Today was the first day, other than a few evenings right at the start, when I got up feeling like doing things on-line instead of just reading. I've now caught up on some old Lintian work that had been sitting in my pending folder and, even more importantly, reorganized and updated my to-do list so that I have a clearer idea of what I want to do next (and not just for Lintian).

This was a bad year for reading compared to the last few, and I'm resisting the urge to try to do a flurry of it right at the end of the year to raise meaningless numbers. I'll stay over 52 books read and reviewed for the year, which is one a week and a fairly nice pace. I won't get to my goal of 80 or even close. In some cases that was due to months where I was way too stressed or working far too hard, and that's something that I want to fix for other reasons. In some cases, that's just because I did other things (video games, photography), and that's fine and even a good thing.

Next year will be time to strike a new balance.

2008-12-28: Lintian 2.1.3

Over the last couple of days, I've found some time to work on Lintian for the first time in quite a while. It's been a good feeling both for getting back to a project that I've done very little on for several months and finally feeling energized about a coding project. I think after a week of vacation, I'm starting to recover my energy.

I uploaded Lintian 2.1.3 earlier today and am currently doing a fresh archive-wide run for This version has several new checks for watch files from Raphael Geissert, several fixes for the lintian.d.o output, a few other random bug fixes, and an attempt to tackle unversioned shared libraries in a more comprehensive fashion.

Shared libraries with an SONAME that doesn't contain a version number can't be represented in the shlibs system (but can in the symbols system), so Lintian always reports them as missing from shlibs when they're installed in public directories. That's not really the right tag, since they don't belong in shlibs. The more basic problem is that, except for a few special cases mostly coming from libc, they really don't belong in public directories. With no versioning in the SONAME, we can't handle changes to the ABI without completely changing the library name and can't use the shlibs system to manage them.

Most of the libraries in this situation are actually private libraries for one particular application. As Policy already says, those libraries shouidn't be installed in public directories like /usr/lib; they should be installed in private subdirectories of /usr/lib for that application. The biggest group of offenders here currently seems to be KDE; for some reason, unless I'm missing something, this seems to be a semi-standard KDE way of doing things.

This version of Lintian will hopefully handle this better. Such libraries won't be expected to be in shlibs files and won't get erroneous tags about not being listed there. We'll also do a better job of distinguishing between versioned shared libraries and shared library names that just contain a hyphen. Such unversioned libraries will get a separate tag pointing at the portion of Policy that says to put private libraries and plugins in a subdirectory instead of /usr/lib.

Thanks as always to Frank Lichtenheld, Adam D. Barratt, and Jordà Polo for all the hard work they've been putting into Lintian. It's gotten much better over the few months that I've not been able to work on it, which is making me more excited to get back to it and do more.

2008-12-28: Productivity

Melting black

I lack inspiration and energy at this late point in the day to pick out the perfect picture, but I can look at sandstone pictures for weeks. So here, have another one.

Lintian has grabbed my brain, which is a lovely feeling after having spent the first half of my vacation wondering when I was going to feel like doing anything other than reading and poking around on the web. I dug into another complex problem today, this time around registration of MIME types in *.desktop files, and spend about three hours getting to the bottom of it. I'm now working on improvements to the test suite and then will write up some of my experiences with the new test suite layout (which I quite like).

I didn't manage to write another review today, but I got a lot of positive feedback for my Half a Crown review, which is always rewarding.

Now, off to read more Orwell.

2008-12-29: More Lintian work

Like my hair?

I think this rock should be a mascot of something.

Ideally, I'd be varying the photographs up each day, showing a variety of subjects, so that you all (whoever you are) don't get bored with rocks. But then I spend the day working on other things and don't have the remaining cycles to think about it. And like I said, I can post pictures of sandstone forever.

I spent the day poking at Lintian some more, improving test suite code and working on incorporating more bug fixes. Each one takes a couple of hours since I'm adding test suite code and trying to do each one properly. It's quite a lot of fun, though.

Now, I'm going to see if I can finish uploads of new krb5 and kerberos-configs packages before I go to bed and request unblocks in the morning, to sneak a few final things into lenny.

Last modified and spun 2017-03-25