On Sunday night I got back from Montréal, where I attended both DebCamp17 and DebConf17. It was a wonderful two weeks. All I really did was work on Debian for roughly eight hours per day, interspersed with getting to know both people I’ve been working with since I first began contributing to Debian in late 2015, and people I didn’t yet know. But this was all I really needed to be doing. There was no need to engage in distracting myself.
I enjoyed the first week more. There were sufficiently few people present that you could know at least all of their faces, and interesting-sounding talks didn’t interrupt making progress on one’s own work or unblocking other people’s work. In the second week it was great to meet people who were only present for the second week, but it felt more like regular Debian, in that I was often waiting on other people or they were waiting on me.
While I spent one morning actually writing fresh code, and I did a fair amount of pure packaging work, the majority of my time was poured into (i) Debian Policy; (ii) discussions within the Emacs team; and (iii) discussions about dgit. This was as I expected. During DebConf, it’s not that useful to seclude oneself and sufficiently reacquaint oneself with a codebase that one can start producing patches, because that can be done anywhere in the world, without everyone else around. It’s far more useful to bring different people together to get projects unblocked. I did some of that for my own work, and also tried to help other people’s, including those who weren’t able to attend the conference.
In my ordinary life, taking a step back from the methods by which I protect my PGP keys and other personal data, I can appear to myself as a paranoid extremist, or some kind of data hoarder. It was comforting to find at DebConf plenty of people who go way further than me: multiple user accounts on their laptop, with separate X servers, for tasks of different security levels; PGP keys on smartcards; refusal to sign my PGP key based on government-issued ID alone; use of Qubes OS. One thing that did surprise me was to find myself in a minority for using the GNOME desktop; I had previously assumed that most people deep in Debian development didn’t bother with tiling window managers. Turns out they are enthusiastic to talk about the trade-offs between window managers while riding the subway train back to our accommodation at midnight—who knew such people existed? I was pleased to find them. One evening, I received a tag-teamed live tutorial in using i3’s core keybindings, and the next morning GNOME seemed deeply inelegant. The insinuation began, but I was immediately embroiled in inner struggle over the fact that i3 is a very popular tiling window manager, so it wouldn’t be very cool if I were to start using it. This difficulty was compounded when I learned that the Haskell team lead still uses xmonad. The struggle continues.
I hope that I’ve been influenced by the highly non-judgemental and tolerant attitudes of the attendees of the conference. While most people at the conference were pretty ordinary—aside from wanting to talk about the details of Debian packaging and processes!—there were several people who rather visibly rejected social norms about how to present themselves. Around these people there was nothing of the usual tension. Further, in contrast with my environment as a graduate student, everyone was extremely relaxed about how everyone was spending their time. People drinking beer in the evenings were sitting at tables where other people were continuing to silently work on Debian. It is nice to have my experience in Montréal as a reference to check my own judgemental tendencies.
I came away with a lot more than a new MUA: a certainty that I want to try to get to next year’s conference; friends; a real life community behind what was hitherto mostly a hobby; a long list of tasks and the belief that I can accomplish them; a list of PGP fingerprints to sign; a new perspective on the arguments that occur on Debian mailing lists; an awareness of the risk of unconsciously manipulating other community members into getting work done.
With regard to the MUA, I should say that I did not waste a lot of DebConf time messing with its configuration. I had actually worked out a notmuch configuration some months ago, but couldn’t use it because I couldn’t figure out how to incorporate my old mail archives into its index. Fortunately notmuch’s maintainer is also on the Emacs team … he was able to confirm that the crazy solution I’d come up with was not likely to break notmuch’s operating assumptions, and so I was able to spend about half an hour copying and pasting the configuration and scripts I’d previously developed into my homedir, and then start using notmuch for the remainder of the conference. The main reason for wanting to use notmuch was to handle Debian mailing list volume more effectively than I’m able to with mutt, so I was very happy to have the opportunity to pester David with newbie questions.
Many, many thanks to all the volunteers whose efforts made DebCamp17 and DebConf17 possible.
In addition to my personal reflections on DebCamp/DebConf17, here is a brief summary of the activities that I had a hand in co-ordinating.
I won’t discuss here many other small items of work and valuable conversations that I had during the two weeks; hopefully the fruits of these will show themselves in my uploads to the archive over the next year.
Debian Policy sprint & BoF
released version 4.0.1.0 of the Policy Manual
figured out documenting reproducibility in policy. Formulating the wording turned out to be easier than I had expected
approx. ten years after they were first published, incorporated marga’s maintscript flowcharts into policy proper
converted policy from docbook to rST built with the Sphinx toolchain. Many, many thanks to Hideki Yamane and David Bremner for helping Russ and I get this merged to our master branch
triage of every single bug against policy, and mass closure of inactive bugs, bringing the total down from more than 200 to around 125
conversations with Technical Committee members about how the two teams can help each other’s work (mainly us helping them to help us!)
conversations about how we handle disagreement and plans to streamline our overly complex BTS usertags (watch this space)
very useful input from policy consumers about how the upgrading checklist is formatted, and how we can recruit more people to get patches written
Debian Emacs Team meeting/sprint
plans to finally drop our emacsXY binary packages, and just have a single version of Emacs in the archive, so that we no longer have to deal with bugs due to someone still having emacs21 installed (David’s idea; Rob’s implementation; Sean’s mostly-helpful comments)
other plans to simplify and otherwise improve the Debian Emacsen policy
finally finished off the work needed to RM emacs24—nine months later—including a lot of NMUs
mentoring a junior team member
Unfortunately we didn’t make any significant progress towards converting all addons to use dh_elpa, as the work is not that much fun. Might be worth a more focused sprint next year.
Git for Debian packaging BoF & follow-up conversations
The BoF was far more about dgit than I had wanted; however, I think that this was mostly because people had questions about dgit, rather than any unintended lecturing by me.
I believe that several people came away from DebConf thinking that starting to use dgit would improve Debian for themselves and for users of their packages.
According to Daniel Pocock’s talk at DebConf17’s Open Day, hearing a ping from your messaging or e-mail app or seeing a visual notification of a new unread message has an equivalent effect on your ability to concentrate as
a 10 point drop in your IQ; or
drinking a glass of wine.
This effect is probably at least somewhat mitigated by reading the message, but that is a context switch, and we all know what those do to your concentration. So if you want to get anything done, be sure to turn off notifications.
At the Debian Policy BoF at DebConf17, Solveig suggested that we could post summaries of recent activity in policy bugs to Planet Debian, as a kind of call for participation. Russ Allbery had written a script to generate such a summary some time ago, but it couldn’t handle the usertags the policy team uses to progress bugs through the policy changes process. Today I enhanced the script to handle usertags and I’m pleased to be able to post a summary of our bugs.
Consensus has been reached and help is needed to write a patch
#172436 BROWSER and sensible-browser standardization
#273093 document interactions of multiple clashing package diversions
#299007 Transitioning perms of /usr/local
#314808 Web applications should use /usr/share/package, not /usr/share/doc/…
#425523 Describe error unwind when unpacking a package fails
#452393 Clarify difference between required and important priorities
#476810 Please clarify 12.5, “Copyright information”
#484673 file permissions for files potentially including credential informa…
#491318 init scripts “should” support start/stop/restart/force-reload - why…
#556015 Clarify requirements for linked doc directories
#568313 Suggestion: forbid the use of dpkg-statoverride when uid and gid ar…
#578597 Recommend usage of dpkg-buildflags to initialize CFLAGS and al.
#582109 document triggers where appropriate
#587279 Clarify restrictions on main to non-free dependencies
#587991 perl-policy: /etc/perl missing from Module Path
#592610 Clarify when Conflicts + Replaces et al are appropriate
#613046 please update example in 4.9.1 (debian/rules and DEB_BUILD_OPTIONS)
#614807 Please document autobuilder-imposed build-dependency alternative re…
#616462 clarify wording of parenthetical in section 2.2.1
#628515 recommending verbose build logs
#661928 recipe for determining shlib package name
#664257 document Architecture name definitions
#682347 mark ‘editor’ virtual package name as obsolete
#683222 say explicitly that debian/changelog is required in source packages
#685506 copyright-format: new Files-Excluded field
#685746 debian-policy Consider clarifying the use of recommends
#688251 Built-Using description too aggressive
#757760 please document build profiles
#759316 Document the use of /etc/default for cron jobs
#761219 document versioned Provides
#767839 Linking documentation of arch:any package to arch:all
#770440 policy should mention systemd timers
#773557 Avoid unsafe RPATH/RUNPATH
#780725 PATH used for building is not specified
#793499 The Installed-Size algorithm is out-of-date
#810381 Update wording of 5.6.26 VCS-* fields to recommend encryption
#823256 Update maintscript arguments with dpkg >= 1.18.5
#833401 virtual packages: dbus-session-bus, dbus-default-session-bus
#835451 Building as root should be discouraged
#838777 Policy 11.8.4 for x-window-manager needs update for freedesktop menus
#845715 Please document that packages are not allowed to write outside thei…
#853779 Clarify requirements about update-rc.d and invoke-rc.d usage in mai…
Wording proposed, awaiting review from anyone and/or seconds by DDs
#542288 Versions for native packages, NMU’s, and binary only uploads
#582109 document triggers where appropriate
#630174 forbid installation into /lib64
#645696 [copyright-format] clearer definitions and more consistent License:…
#648271 11.8.3 “Packages providing a terminal emulator” says xterm passes -…
#649530 [copyright-format] clearer definitions and more consistent License:…
#662998 stripping static libraries
#732445 debian-policy should encourage verification of upstream cryptograph…
#737796 copyright-format: support Files: paragraph with both abbreviated na…
#756835 Extension of the syntax of the Packages-List field.
#786470 [copyright-format] Add an optional “License-Grant” field
#835451 Building as root should be discouraged
#844431 Packages should be reproducible
#845255 Include best practices for packaging database applications
#850729 Documenting special version number suffixes
Merged for the next release
#587279 Clarify restrictions on main to non-free dependencies
#616462 clarify wording of parenthetical in section 2.2.1
#732445 debian-policy should encourage verification of upstream cryptograph…
#844431 Packages should be reproducible
This semester I am taking JPN 530, “Haruki Murakami and the Literature of Modern Japan”. My department are letting me count it for the Philosophy Ph.D., and in fact my supervisor is joining me for the class. I have no idea what the actual class sessions will be like—first one this afternoon—and I’m anxious about writing a literature term paper. But I already know that my weekends this semester are going to be great because I’ll be reading Murakami’s novels.
What’s particularly wonderful about this, and what I wanted to write about, is how nourishing I find reading literary fiction to be. For example, this weekend I read
This was something sure to be crammed full of warm secrets, like an antique clock built when peace filled the world. … Potentiality knocks at the door of my heart.
and I was fed for the day. All my perceived needs dropped away; that’s all it takes. This stands in stark contrast to reading philosophy, which is almost always draining rather than nourishing—even philosophy I really want to read. Especially having to read philosophy at the weekend.
(quotation is from On Seeing the 100% Perfect Girl on a Beautiful April Morning)