Posts for August 2009

2009-08-02: Back from vacation

Hotel archway

Evening clouds seen through the entrance archway of a Holiday Inn in Ann Arbor, Michigan. This is where I was week before last for Cartel, a conference of system and application administrators for a group of universities who use similar underlying technology to solve similar problems.

The last couple of weeks have been very busy. Two days after I got back from Ann Arbor, two friends came from out of town for a visit that they can only do once a year. They were here all last week, so every moment that I could spare from work was spent with them, playing video and board games and just talking. We made it until 4am one morning, and averaged around 2am. It was exhausting, and I'm now running a sleep debt, but it was absolutely wonderful.

But, now what I want more than anything else is to get back on a normal schedule. Between one thing and another, I've not been on one for nearly a month now. Today was spent on some cleanup around the house and a few things I needed to take care of for work, and tonight I'm going to work on the sleep debt. Tomorrow, I'll start resynchronizing my schedule and re-establishing a balance between all the things I want to do. And, of course, try to absorb all the great new ideas that I've gotten from long conversations with friends. Oh, and get back into working from a to-do list.

2009-08-03: Project anti-procrastination

Michigan evening

I was going to post a different picture today for variety, but I put it off until too late and have run out of time, so you instead get another shot of the same evening sky as I posted yesterday, if from a different angle and with different composition.

Today didn't work out entirely as planned, although not unsuccessfully. Rather than getting back to zero inbox and properly on track with time management, or working on finishing the packaging from last Friday, I instead tackled the next hot work project. I just found out today that AFS backup restructuring is the next thing on the hot list as I rotate off the hot projects I'm finishing (the WebLogin confirmation screen removal goes out tomorrow evening). So I started thinking about that while walking to the post office to get my mail, realized that I already knew how to implement it, and came back and wrote that down. Four hours of work later, I'm finished with the first draft of the requirements and a technical implementation plan that's sufficiently detailed that any Perl programmer on the team should be able to finish the work.

There's still a lot of project left: allocating the storage, figuring out if we're doing off-site storage replication, setting up a VM with proper access to the storage, writing the code, writing a test plan and testing various scenarios, and so forth. But most of that work can be done by someone else. I suspect those four hours will end up being about half of my total contribution to the project, and on the day that I was told to start working on it. That's a good feeling, and will mean more time to work on interesting things later.

(For those who are curious, we're getting away from backing up AFS via Tivoli because the tapes and the Tivoli storage are extremely expensive for reasons largely internal to Stanford. We get very, very few restore requests for AFS, so due to that and due to other economics at Stanford, doing vos dump full and incremental to a bunch of NFS-mounted disk that can be replicated off-site ends up being very attractive for us. We're probably going to replace our backup system with that.)

Tomorrow, I suspect I'll be working on the things I was going to work on today: getting back into time management and finishing the packaging work. Tomorrow evening, I do WebLogin upgrades, the confirmation page removal, and KDC upgrades. Then the rest of the week looks nice and open.

2009-08-04: RIP WebLogin confirm page

Skunk cabbage

Skunk cabbage taken a year and a half ago in Nanaimo.

Today, I finished upgrading Stanford's WebLogin servers to WebAuth 3.6.1 and configuring them to suppress the confirmation page unless delegated credentials were requested. This means that if one is already authenticated to WebLogin, either by having logged on that day or by using Negotiate-Auth to authenticate with Kerberos, one will be immediately authenticated to Stanford web sites requiring authentication without any intermediate notification.

Skunk cabbage is a good analogy for how I feel about removing the WebLogin confirmation page. It does make things a bit quicker, but I think losing the notification that one is going from unauthenticated to authenticated space stinks. But it was an argument that I lost, and then we had a bit of a fire drill to finish the confirmation page removal. So today I'm feeling very relieved that it's off my plate and I can move on to work on other things.

I still haven't caught up on the Debian Policy list, but I've now gotten everything else out of my inbox. Digant and I finished "good enough for now" Debian packages of Apache ActiveMQ today, so I can stop working on that. Things are currently looking good for the rest of this week; I should have a chance to work on some lower-priority projects that will be fun.

2009-08-05: Forward momentum

Dogwood false flower

It's been beautiful here, so I felt like posting something flower-like. This actually isn't a flower; the flowers will eventually be in the center, where there are only buds. This is the structure around a flower cluster in a dogwood. The outside "petals" are actually leaves (bracts).

I had trouble getting moving today, which seems to be the standard problem with Wednesdays. That apparently still needs some work. But I did push through it and started on Shibboleth 2.2 packaging for Debian. The new version of xml-security-c has been uploaded (and has already gone through NEW!), and I have the work done for xmltooling and opensaml. I'll build those tomorrow once xml-security-c has propagated into the archive and upload them, and then start on opensaml2 and shibboleth-sp.

I also finally pushed myself to do the first step of the work to support jaunty in our FAI build system. The FAI configuration is now managed via Puppet rather than synchronized out of AFS, which will also make it easier to maintain our disaster recovery site.

Given how many work hours I already have this week, I'm considering taking parts of tomorrow and Friday to do Debian work, particularly Policy and Lintian work since I'm rather behind on both.

Or maybe I'll do the Debian packaging of OpenAFS 1.5.61, since that was just released.

2009-08-06: Push push push


Chain between a water control valve at Stanford. Despite the fact that I put off doing this until way too late and am remarkably tired, I even bothered to go into Gimp and rotate and crop it. I think this proves I'm getting more comfortable with using Gimp to do some simple photo cleanup, although I'm still way behind all the tricks that I know can be used.

Today required rather more effort to get started and keep moving, but I still ended up being productive. The only major drawback to the day is that I put off exercise until way too late and unless I develop a rather strong second wind while writing this, I don't think I'm going to manage to exercise today. Maybe I can manage to do so twice tomorrow... although that usually doesn't work. Oh well, I get one day a week of slack, even if I ideally don't use it.

I didn't manage to push Shibboleth packaging as far along today as I was hoping, although that's partly because we decided to remove Shibboleth 1.x from Debian and I filed those removal requests instead. I messed up the first xml-security-c upload, so I've now uploaded that again and will upload xmltooling tomorrow, probably. I also didn't get any Debian work done, but that's because I started on kstart instead and kept working on that until 22:30.

My Kerberos v4 Autoconf macros are now cleaned up and debugged (which took nearly an hour all by itself, due to two missing double quotes), for whatever good that will do going forward. But it makes me feel good. I've also imported my minimal kafs library into rra-c-util and redid the build system. I just need to write a test suite for it, and that's all of my to-do items for the next kstart release.

I'm now over 40 hours of work for the week and I have to do e-mail upgrades late tomorrow night, so the tentative plan is to spend all of tomorrow except for the e-mail upgrades doing non-Stanford stuff, probably Debian work. We'll see if that plan works out better than it did today!

2009-08-09: reminder 1.10

I noticed the other day while reviewing all of my reminders that listing them in order by reminder number is not horribly useful. Particularly now with reuse of reminder numbers, that order is essentially random. This release instead orders reminders (for both active and list) by the date at which the reminder came due.

You can get the current version from the reminder distribution page. New packages have also been uploaded to my personal Debian repository.

2009-08-15: C TAP Harness 1.1

A while back, I felt like writing some code outside of any project I needed to be working on and picked something off the C TAP Harness to-do list. When running long test cases manually or with runtests -o, it's nice to see a summary at the end to know whether any test cases failed. This release adds exit handlers to the C and shell TAP libraries to print out such a summary on exit, provided that all test results are reported via the library calls.

This release also contains a couple of bug fixes, one for compatibility with Perl's Test::More when skipping all tests and one to drain all output from test cases that aborted to avoid spurious SIGPIPE.

With this release, Automake silent rule handling (new in 1.11) is now optionally enabled and turned on by default for make warnings. I love this. It makes it much easier to see the compiler output that I care about.

You can get the latest version from the C TAP Harness distribution page.

2009-08-15: rra-c-util 2.0

The largest change in this release of my C utility code, and the justification for the version bump, is the addition of the portable replacement for an AFS system call library, which I use for both kstart and pam-afs-session. I redid its build system somewhat to make it more self-contained and added a test suite relative to the version previously included in kstart.

There are lots of other changes in this version, particularly to the Autoconf macros for Kerberos library probing and some of the macros that underly it. There is a new mkstemp replacement for systems that don't have it. I also reverted the separation of the message functions into different object files depending on whether they can call exit. Unfortunately, the latter change didn't do what I hoped; even if a library doesn't use those functions, they're still linked in. So there's no point in keeping the code duplication.

You can get the latest version from the rra-c-util distribution page.

2009-08-15: kstart 3.15

It's been more than a year since the previous release, so this was long-overdue. Most of the hold-up has been converting the package to use C TAP Harness and rra-c-util, which required a lot of resynchronization and led to the new releases of those packages.

The main new features in this release are that k5start and krenew catch SIGALRM and immediately refresh the ticket cache even if it hasn't apparently expired and krenew has a new option, -i, to continue running even in the event of errors. Further improvements to error handling in krenew and k5start are likely in the next release.

There are also a wide variety of more minor bug fixes and documentation improvements. The build of k4start is now automatically skipped if no Kerberos v4 libraries are detected. And, of course, there are all the changes from updating to the current C TAP Harness and rra-c-util shared code.

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

2009-08-15: Debian Policy

We'd accumulated quite a few fixes in the Debian Policy Git repository and it seemed like it was about time for another release. I didn't get to everything that I wanted to, and I'm not sure we're really keeping ahead of the pace of new bugs, but it's nice to see a slightly faster release cycle.

The summary of changes from 3.8.2 is:

2009-08-15: Lintian 2.2.14

This release is primarily to synchronize with the Policy 3.8.3 release that just went out, but we'd also accumulated some bug fixes and I did about five hours of work this evening cleaning up the BTS and trying to get the most obvious and easiest fixes in.

Lintian now has a new mechanism for diagnosing package dependencies on metapackages (either regular or build) and I want to add to that a bit more in the next release. Unfortunately, this is probably something where we're going to have to hand-maintain a list of metapackages. If you have a long-lived metapackage (a package that exists for the convenience of users or installers to install a bunch of related things, but which nothing should depend on directly) where you've had problems with invalid dependencies on it, let us know so that we can add it to the list of things Lintian looks for.

We're definitely not keeping up with the flow of incoming bugs at the moment, although if I still had the time to devote a day every couple of weeks on Lintian, we probably would be. I still need to do a BTS pass and close some bugs that are invalid and reorganize things a bit, but tomorrow is devoted to time away from programming. Five software releases in a day is a lot.

I haven't updated the version of Lintian running on lintian.d.o for a while. Monday is probably a good day to do that, unless something major shows up in this release that needs a quick fix. Of course, I have a ton of meetings on Monday, so we'll see if that happens.

2009-08-30: Term::ANSIColor 2.02

The substantive changes in this release are a new colorvalid function (not exported by default) that checks whether attributes are recognized by the module, and the addition of faint as a synonym for dark. The colorvalid function replaces an earlier technique with catching exceptions at the request of the Perl::Critic maintainers. (I think it's kind of silly, but it was simple enough to provide.)

I took a look at running Perl::Critic over this module to see if it would be useful, but my first impression is that it isn't particularly. Much of the coding style suggestions are reasonable, but in some cases they don't match mine or aren't useful for some reason, and all the references are to a book that doesn't appear to be freely available. I was pondering whether to add Perl::Critic to my normal set of test cases, but I think I won't bother for right now. I have enough other things to work on.

You can get the latest version from the Term::ANSIColor distribution page.

Last modified and spun 2017-02-20