Posts for January 2016

2016-01-01: 2015 Book Reading in Review

2015 was another very busy year, but one of stabilization, rebuilding, and recovery. I got through the ramp-up period with my new job, found a better role inside the company for my personal talents and preferences, and ended the year on a professional high note. I also moved, to a place I like much better. It was a year for taking things as they come, focusing on priorities, letting other things slip, and being realistic about how much I can do.

All of that, plus quite a lot of company, a business trip, and a few other unexpected distractions, meant less reading than I would have preferred. However, I did catch up completely on review writing, which is another happy sign of stabilization. Reviews came in spotty bursts, but they did come.

The only explicit reading goal I'm making for 2016 is to read more than I did in 2015. I'm still working out the best priorities and schedule for me, and finding the best work/life balance points, so a predictable reading schedule will have to wait a while longer.

The below statistics are confined to the books I reviewed in 2015, but thanks to significant catch-up work, I've only read one book that I have not yet reviewed (and I finished that one on December 31st). That book will be counted in 2016.

Once again, the year saw two 10 out of 10 books, and once again, my favorite book of the year was written by Ann Leckie. The conclusion of the Imperial Radch trilogy, Ancillary Mercy, is as good or better than the start. The second book of the trilogy, Ancillary Sword, was also among my 2015 reviews and got 9 out of 10. I highly recommend the entire trilogy, beginning with Ancillary Justice (my book of the year in 2014), to anyone who hasn't read it.

The second 10 out of 10 was non-fiction: Randall Munroe's What If? collection, featuring some material from the web site feature that accompanies xkcd and some original material. These are longer essays exploring interesting bits of science, math, and guesswork in the context of hypothetical questions that usually become surprisingly destructive. As the review says, try a few samples from the web site and see if this is your thing. I loved it.

Despite my continuing low reading totals, this was a year full of fiction stand-outs. Becky Chambers's The Long Way to a Small, Angry Planet was the surprise of the year for me: a heart-warming, delightful story of chosen family. Jo Walton's My Real Children was less of a surprise because I already knew she is an excellent writer, but it was probably the best-written book I read all year. In turns sad, thoughtful, and determined, it's slice-of-life fiction so good that it overcame my normal dislike of that subject matter. Other fiction highlights are parts of series: the first two Steerswomen books by Rosemary Kirstein (The Steerswoman and The Outskirter's Secret), which dance between fantasy and scientific discovery, and Seanan McGuire's One Salt Sea, the best of all the October Daye books I've read.

In non-fiction, the other book that stands out is Jenny Lawson's Let's Pretend This Never Happened. This combination of memoir and stand-up comedy in book form is one of the funniest things I've read, and it mixes that humor with self-awareness and generous openness. It's a book about being a little crazy and a lot anxious, finding ways to cope by laughing at yourself, and inviting the rest of the world to join in.

Finally, Sydney Padua's The Thrilling Adventures of Lovelace and Babbage straddles the line between fiction and non-fiction, but certainly deserves a place in the year-end round-up. Full of great art, humor, steampunk, footnotes galore, and numerous forms of geekery, it's a collection I've been waiting for since Padua's very occasional comic got its moment of Internet fame.

The full analysis includes some additional personal reading statistics, probably only of interest to me.

2016-01-02: podlators 4.04

Now that I've fixed the major test suite problems with podlators, failure reports are now (mostly) useful. There's still the occasional failure to create a directory for temporary files, which I think is just a problem with the testing system, but Windows test failures revealed an actual test suite bug.

This release also merges the changes made for merging podlators into blead Perl, which were relatively minor, and changes the package metadata to point to GitHub as the repository. That seems to be the growing convention in the Perl community and makes it easier for people to submit pull requests. I'm still maintaining my own public repository, but Git makes it easy to replicate things in multiple places. (Bug tracking will remain in the CPAN RT.)

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

2016-01-03: control-archive 1.7.0

First new release in a while. There haven't been a lot of changes to Usenet hierarchies. The primary change is more aggressive dropping of control messages for reserved hierarchies, mostly to suppress pointless email to news administrators.

There were also the following hierarchy updates:

These changes are already live on the control.ctl file. You can get the latest version from the control-archive distribution page.

2016-01-16: podlators 4.05

Getting all the details right in a highly portable Perl core module that tries to support very old versions of Perl is tricky! And I clearly didn't do a good job of documenting previous decisions.

This release reintroduces pod2man.PL and pod2text.PL generator scripts to get the right Perl invocation. I thought ExtUtils::MakeMaker and Module::Build now took care of this, but apparently they only take care of this on UNIX platforms, not on the non-UNIX platforms that require special execution logic.

Thanks to a patch by Niko Tyni, this version of Pod::Man also falls back to non-utf8 behavior if the utf8 option is specified but the Encode module doesn't exist. This can help with some cross-build situations.

I also finally figured out the problem with occasional test failures on random platforms: I was trying to clean up the temporary directory used by tests after each test, but the CPAN test systems run all the tests in parallel, so the tests were racing with each other. This release just leaves the temporary directory around and deletes it in make clean.

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

2016-01-17: rra-c-util 5.10

Despite the name of the package, most of the changes in this release are actually to the Perl test infrastructure.

I decided to finally standardize the versions of the modules embedded in wallet, but discovered the need to add an exclusion list so that I don't have to change the version of the schema module. (That currently drives database schema upgrades.) While doing that, I rediscovered that I have two versions of the module version check that shared a ton of code, so they've now been refactored into a module (and then debugged again, since I broke various things about the Automake integration).

This release also fixes use of UNIX-specific path delimiters in my standard Perl docs/synopsis.t test, which fixed some failing tests in podlators.

I would have been done with this somewhat sooner, but the Travis-CI tests for rra-c-util started failing in the IPv6 server test, and it took a lot of debugging to figure out why. It turned out that the environment allows creation of IPv6 sockets but not connecting to them, and my test for whether IPv6 was working didn't account for that. Now it does, so those tests are properly skipped when IPv6 is half-configured.

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

2016-01-17: wallet 1.3

It's been over a year since the last release of the wallet, a system for storing and retrieving secure credentials (currently relying on Kerberos authentication). There were a ton of pending changes, mostly thanks to work from Jon Robertson and Bill MacAllister.

I'm still really itching to rewrite all of this code, which is also part of why I haven't uploaded packages to Debian proper yet. I no longer like the way that I designed it, particularly in the Perl modules used by the server side, and want to rewrite it rather substantially. Thankfully, I'm starting to use it for work again, although only as a supplement to another in-house key management system. I might just barely be able to justify investing some effort in that as part of my job. We'll see. In the meantime, it feels awkward and clunky to work with, which makes me itch when I'm preparing new releases.

In any event, this release adds preliminary support for using Active Directory as a backend for Kerberos keytabs, and adds both nested (ACLs that are groups of other ACLs) and external (run an external command to make authorization decisions) ACLs. It also adds a root instance variant of ldap-attr, and a new object type: password, which will automatically generate a password if one wasn't already stored.

There are a few new wallet commands: update, which will always change the content of an object even if marked unchanging, and acl replace, which will replace all instances of an ACL as an owner field with some other ACL. There are also multiple new wallet reports, and various bug fixes to how ACLs are displayed.

You can get the latest version from the wallet distribution page.

2016-01-23: git-pbuilder 1.40

(Yeah, yeah, I still haven't rewritten this in Python so that it can be properly merged with the git-buildpackage distribution.)

Simon Fowler found that using git-pbuilder create with a user-supplied --basepath option fails because git-pbuilder always creates a --basepath option and passes it in. The solution, for which he provided a patch, is to just use the supplied --basepath if one is already present.

This is fixed in the latest release, along with a minor coding style fix.

You can get the latest release from my scripts distribution page.

2016-01-31: podlators 4.06

More build system changes, this time to (hopefully) finish merging with core so that we don't have to maintain separate build systems and machinery between core and this package. This time, there aren't even any real test suite changes. I was thinking about continuing converting the test suite to the new snippet-based format, but ran out of steam today.

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

Last modified and spun 2017-02-20