Steve's blog
   


Steve About
Steve's blog,
The Words of the Sledge
steve@einval.com

Subscribe
Subscribe to the RSS feed.

Links

  • Home
  • Debian
  • PlanetDebian
  • Search PlanetDebian
  • Friends

  • Matthew Garrett
  • Jonathan McDowell
  • Jo McIntyre
  • Martin Michlmayr
  • Andrew Mobbs
  • Mike Pitt
  • Daniel Silverstone
  • Andy Simpkins
  • Neil Williams

  •        
    Monday, 24 February 2020

    What can you preseed when installing Debian?

    Preseeding is a very useful way of installing and pre-configuring a Debian system in one go. You simply supply lots of the settings that your new system will need up front, in a preseed file. The installer will use those settings instead of asking questions, and it will also pass on any extra settings via the debconf database so that any further package setup will use them.

    There is documentation about how to do this in the Debian wiki at https://wiki.debian.org/DebianInstaller/Preseed, and an example preseed file for our current stable release (Debian 10, "buster") in the release notes.

    One complaint I've heard is that it can be difficult to work out exactly the right data to use in a preseed file, as the format is not the easiest to work with by hand. It's also difficult to find exactly what settings can be changed in a preseed.

    So, I've written a script to parse all the debconf templates in each release in the Debian archive and dump all the possible settings in each. I've put the results up online at my debian-preseed site in case it's useful. The data will be updated daily as needed to make sure it's current.

    01:55 :: # :: /debian/misc :: 2 comments

    Thursday, 30 January 2020

    Presenting guest lectures at the University of Lincoln, January 2020

    Dr Charles Fox from the University of Lincoln contacted me out of the blue back in September. He asked me if I would give a couple of guest lectures to his Computer Science students. I was deeply flattered! I took him up on his invitation, and on Tuesday 28th Jan I headed up to visit him and the TSE students.

    My first talk was to provide background on Free and Open Source Software. I started with the history of software in the 1950s, working forwards through the events that sparked the FLOSS movement. I spoke about the philosophical similarities and differences between Free Software and Open Source, and how FLOSS has grown to a state of near-ubiquity. Several of the students are already involved in some existing FLOSS projects, so I was clearly preaching to the choir! I hope I managed to interest the rest of the audience too; I certainly had a warm welcome! Slides are here, for reference.

    Steve talking about Free Software

    Next up was my specialist subject: Debian! I gave a brief introduction to Debian, covering what we do, how we do it, and why we do it. I covered important things like our Social Contract and the DFSG, and how Debian's thousands of contributors work together to package many thousands of disparate software projects into the large, stable Debian operating system that we all know and love. I was even brave enough to give a brief demo, showing a simple package update for a bug I'd prepared earlier! Slides are here, for reference.

    In both talks, I was keen to point out the many good reasons for contributors to get into the FLOSS world, using my own personal experience as a guide. I've been working in this world for many years, and it's been a very important part of my life and career.

    After lunch and some fun conversation with Charles and some of his students, I was given the grand tour of the department. Charles is working with a large group of people doing research in agricultural robotics and autonomous vehicles. I got to see lots of interesting projects and meet lots of cool people from amongst his students and colleagues. They're doing some amazing work on things that might soon be key in making agriculture more efficient: autonomous systems to identify and automatically remove weeds from wheat fields, to robotic systems designed to help with growing, monitoring and harvesting soft fruit like strawberries. Totally outside my field, but it was fascinating stuff!

    Steve visiting the research group

    I had a fun day in Lincoln, talking to lots of people and hopefully spreading enthusiasm for FLOSS and Debian in particular. Charles and I chatted about how his students might get involved in our world. You might get to meet some of them at upcoming Debian events!

    02:00 :: # :: /debian/talks :: 0 comments

    Wednesday, 28 August 2019

    If you can't stand the heat, get out of the kitchen...

    Wow, we had a hot weekend in Cambridge. About 40 people turned up to our place in Cambridge for this year's OMGWTFBBQ. Last year we were huddling under the gazebos for shelter from torrential rain; this year we again had all the gazebos up, but this time to hide from the sun instead. We saw temperatures well into the 30s, which is silly for Cambridge at the end of August.

    I think it's fair to say that everybody enjoyed themselves despite the ludicrous heat levels. We had folks from all over the UK, and Lars and Soile travelled all the way from Helsinki in Finland to help him celebrate his birthday!

    cake!

    We had a selection of beers again from the nice folks at Milton Brewery:
    is 3 firkins enough?

    Lars made pancakes, Paul made bread, and people brought lots of nice food and drink with them too.

    Many thanks to a number of awesome friendly companies for again sponsoring the important refreshments for the weekend. It's hungry/thirsty work celebrating like this!

    21:17 :: # :: /debian/uk :: 0 comments

    Saturday, 10 August 2019

    DebConf in Brazil again!

    Highvoltage and me

    I was lucky enough to meet up with my extended Debian family again this year. We went back to Brazil for the first time since 2004, this time in Curitiba. And this time I didn't lose anybody's clothes! :-)

    Rhonda modelling our diversity T!

    I had a very busy time, as usual - lots of sessions to take part in, and lots of conversations with people from all over. As part of the Community Team (ex-AH Team), I had a lot of things to catch up on too, and a sprint report to send. Despite all that, I even managed to do some technical things too!

    I ran sessions about UEFI Secure Boot, the Arm ports and the Community Team. I was meant to be running a session for the web team too, but the dreaded DebConf 'flu took me out for a day. It's traditional - bring hundreds of people together from all over the world, mix them up with too much alcohol and not enough sleep and many people get ill... :-( Once I'm back from vacation, I'll be doing my usual task of sending session summaries to the Debian mailing lists to describe what happened in my sessions.

    Maddog showed a group of us round the micro-brewery at Hop'n'Roll which was extra fun. I'm sure I wasn't the only experienced guy there, but it's always nice to listen to geeky people talking about their passion.

    Small group at Hop'n'Roll

    Of course, I could't get to all the sessions I wanted to - there's just too many things going on in DebConf week, and sessions clash at the best of times. So I have a load of videos on my laptop to watch while I'm away. Heartfelt thanks to our always-awesome video team for their efforts to make that possible. And I know that I had at least one follower at home watching the live streams too!

    Pepper watching the Arm BoF

    19:33 :: # :: /debian/dc19 :: 0 comments

    Tuesday, 12 March 2019

    Debian BSP in Cambridge, 08 - 10 March 2019

    Lots of snacks, lots of discusssion, lots of bugs fixed! YA BSP at my place.

    BSP

    03:08 :: # :: /debian/bsp :: 0 comments

    Monday, 07 January 2019

    Rebuilding the entire Debian archive twice on arm64 hardware for fun and profit

    I've posted this analysis to Debian mailing lists already, but I'm thinking it's also useful as a blog post too. I've also fixed a few typos and added a few more details that people have suggested.

    This has taken a while in coming, for which I apologise. There's a lot of work involved in rebuilding the whole Debian archive, and many days spent analysing the results. You learn quite a lot, too! :-)

    I promised way back before DebConf 18 last August that I'd publish the results of the rebuilds that I'd just started. Here they are, after a few false starts. I've been rebuilding the archive specifically to check if we would have any problems building our 32-bit Arm ports (armel and armhf) using 64-bit arm64 hardware. I might have found other issues too, but that was my goal.

    The logs for all my builds are online at

    https://www.einval.com/debian/arm/rebuild-logs/

    for reference. See in particular

    for automated analysis of the build logs that I've used as the basis for the stats below.

    Executive summary

    As far as I can see we're basically fine to use arm64 hosts for building armel and armhf, so long as those hosts include hardware support for the 32-bit A32 instruction set. As I've mentioned before, that's not a given on all arm64 machines, but there are sufficient machine types available that I think we should be fine. There are a couple of things we need to do in terms of setup - see Machine configuration below.

    Methodology

    I (naively) just attempted to rebuild all the source packages in unstable main, at first using pbuilder to control the build process and then later using sbuild instead. I didn't think to check on the stated architectures listed for the source packages, which was a mistake - I would do it differently if redoing this test. That will have contributed quite a large number of failures in the stats below, but I believe I have accounted for them in my analysis.

    I built lots of packages, using a range of machines in a small build farm at home:
    • Macchiatobin
    • Seattle
    • Synquacer
    • Multiple Mustangs

    using my local mirror for improved performance when fetching build-deps etc. I started off with a fixed list of packages that were in unstable when I started each rebuild, for the sake of simplicity. That's one reason why I have two different numbers of source packages attempted for each arch below. If packages failed due to no longer being available, I simply re-queued using the latest version in unstable at that point.

    I then developed a script to scan the logs of failed builds to pick up on patterns that matched with obvious causes. Once that was done, I worked through all the failures to (a) verify those patterns, and (b) identify any other failures. I've classified many of the failures to make sense of the results. I've also scanned the Debian BTS for existing bugs matching my failed builds (and linked to them), or filed new bugs where I could not find matches.

    I did not investigate fully every build failure. For example, where a package has never been built before on armel or armhf and failed here I simply noted that fact. Many of those are probably real bugs, but beyond the scope of my testing.

    For reference, all my scripts and config are in git at

    https://git.einval.com/cgi-bin/gitweb.cgi?p=buildd-scripts.git

    armel results

    Total source packages attempted 28457
    Successfully built 25827
    Failed 2630

    Almost half of the failed builds were simply due to the lack of a single desired build dependency (nodejs:armel, 1289). There were a smattering of other notable causes:

    • 100 log(s) showing build failures (java/javadoc)
      Java build failures seem particularly opaque (to me!), and in many cases I couldn't ascertain if it was a real build problem or just maven being flaky. :-(
    • 15 log(s) showing Go 32-bit integer overflow
      Quite a number of go packages are blindly assuming sizes for 64-bit hosts. That's probably fair, but seems unfortunate.
    • 8 log(s) showing Sbuild build timeout
      I was using quite a generous timeout (12h) with sbuild, but still a very small number of packages failed. I'd earlier abandoned pbuilder for sbuild as I could not get it to behave sensibly with timeouts.
    The stats that matter are the arch-specific failures for armel:
    • 13 log(s) showing Alignment problem
    • 5 log(s) showing Segmentation fault
    • 1 log showing Illegal instruction
    and the new bugs I filed:
    • 3 bugs for arch misdetection
    • 8 bugs for alignment problems
    • 4 bugs for arch-specific test failures
    • 3 bugs for arch-specific misc failures

    Considering the number of package builds here, I think these numbers are basically "lost in the noise". I have found so few issues that we should just go ahead. The vast majority of the failures I found were either already known in the BTS (260), unrelated to what I was looking for, or both.

    See below for more details about build host configuration for armel builds.

    armhf results

    Total source packages attempted 28056
    Successfully built 26772
    Failed 1284

    FTAOD: I attempted fewer package builds for armhf as we simply had a smaller number of packages when I started that rebuild. A few weeks later, it seems we had a few hundred more source packages for the armel rebuild.

    The armhf rebuild showed broadly the same percentage of failures, if you take into account the nodejs difference - it exists in the armhf archive, so many hundreds more packages could build using it.

    In a similar vein for notable failures:

    • 89 log(s) showing build failures (java/javadoc)
      Similar problems, I guess...
    • 15 log(s) showing Go 32-bit integer overflow
      That's the same as for armel, I'm assuming (without checking!) that they're the same packages.
    • 4 log(s) showing Sbuild build timeout
      Only 4 timeouts compared to the 8 for armel. Maybe a sign that armhf will be slightly quicker in build time, so less likely to hit a timeout? Total guesswork on small-number stats! :-)

    Arch-specific failures found for armhf:

    • 11 log(s) showing Alignment problem
    • 4 log(s) showing Segmentation fault
    • 1 log(s) showing Illegal instruction

    and the new bugs I filed:

    • 1 bugs for arch misdetection
    • 8 bugs for alignment problems
    • 10 bugs for arch-specific test failures
    • 3 bugs for arch-specific misc failures

    Again, these small numbers tell me that we're fine. I liked to 139 existing bugs in the BTS here.

    Machine configuration

    To be able to support 32-bit builds on arm64 hardware, there are a few specific hardware support issues to consider.

    Alignment

    Our 32-bit Arm kernels are configured to fix up userspace alignment faults, which hides lazy programming at the cost of a (sometimes massive) slowdown in performance when this fixup is triggered. The arm64 kernel cannot be configured to do this - if a userspace program triggers an alignment exception, it will simply be handed a SIGBUS by the kernel. This was one of the main things I was looking for in my rebuild, common to both armel and armhf. In the end, I only found a very small number of problems.

    Given that, I think we should immediately turn off the alignment fixups on our existing 32-bit Arm buildd machines. Let's flush out any more problems early, and I don't expect to see many.

    To give credit here: Ubuntu have been using arm64 machines for building 32-bit Arm packages for a while now, and have already been filing bugs with patches which will have helped reduce this problem. Thanks!

    Deprecated / retired instructions

    In theory(!), alignment is all we should need to worry about for armhf builds, but our armel software baseline needs two additional pieces of configuration to make things work, enabling emulation for

    • SWP (low-level locking primitive, deprecated since ARMv6 AFAIK)
    • CP15 barriers (low-level barrier primitives, deprecated since ARMv7)

    Again, there is quite a performance cost to enabling emulation support for these instructions but it is at least possible!

    In my initial testing for rebuilding armhf only, I did not enable either of these emulations. I was then finding lots of "Illegal Instruction" crashes due to CP15 barrier usage in armhf Haskell and Mono programs. This suggests that maybe(?) the baseline architecture in these toolchains is incorrectly set to target ARMv6 rather than ARMv7. That should be fixed and all those packages rebuilt at some point.

    UPDATES

    • Peter Green pointed out that ghc in Debian armhf is definitely configured for ARMv7, so maybe there is a deeper problem.
    • Edmund Grimley Evans suggests that the Haskell problem is coming from how it drives LLVM, linking to #864847 that he filed in 2017.

    Bug highlights

    There are a few things I found that I'd like to highlight:

    • In the glibc build, we found an arm64 kernel bug (#904385) which has since been fixed upstream thanks to Will Deacon at Arm. I've backported the fix for the 4.9-stable kernel branch, so the fix will be in our Stretch kernels soon.
    • There's something really weird happening with Vim (#917859). It FTBFS for me with an odd test failure for both armel-on-arm64 and armhf-on-arm64 using sbuild, but in a porter box chroot or directly on my hardware using debuild it works just fine. Confusing!
    • I've filed quite a number of bugs over the last few weeks. Many are generic new FTBFS reports for old packages that haven't been rebuilt in a while, and some of them look un-maintained. However, quite a few of my bugs are arch-specific ones in better-maintained packages and several have already had responses from maintainers or have already been fixed. Yay!
    • Yesterday, I filed a slew of identical-looking reports for packages using MPI and all failing tests. It seems that we have a real problem hitting openmpi-based packages across the archive at the moment (#918157 in libpmix2). I'm going to verify that on my systems shortly.

    Other things to think about

    Building in VMs

    So far in Debian, we've tended to run our build machines using chroots on raw hardware. We have a few builders (x86, arm64) configured as VMs on larger hosts, but as far as I can see that's the exception so far. I know that OpenSUSE and Fedora are both building using VMs, and for our Arm ports now we have more powerful arm64 hosts available it's probably the way we should go here.

    In testing using "linux32" chroots on native hardware, I was explicitly looking to find problems in native architecture support. In the case of alignment problems, they could be readily "fixed up / hidden" (delete as appropriate!) by building using 32-bit guest kernels with fixups enabled. If I'd found lots of those, that would be a safer way to proceed than instantly filing lots of release-critical FTBFS bugs. However, given the small number of problems found I'm not convinced it's worth worrying about.

    Utilisation of hardware

    Another related issue is in how we choose to slice up build machines. Many packages will build very well in parallel, and that's great if you have something like the Synquacer with many small/slow cores. However, not all our packages work so well and I found that many are still resolutely chugging through long build/test processes in single threads. I experimented a little with my config during the rebuilds and what seemed to work best for throughput was kicking off one build per 4 cores on the machines I was using. That seems to match up with what the Fedora folks are doing (thanks to hrw for the link!).

    Migrating build hardware

    As I mentioned earlier, to build armel and armhf sanely on arm64 hardware, we need to be using arm64 machines that include native support for the 32-bit A32 instruction set. While we have lots of those around at the moment, some newer/bigger arm64 server platforms that I've seen announced do not include it. (See an older mail from me for more details. We'll need to be careful about this going forwards and keep using (at least) some machines with A32. Maybe we'll migrate arm64-only builds onto newer/bigger A64-only machines and keep the older machines for armel/armhf if that becomes a problem?

    At least for the foreseeable future, I'm not worried about losing A32 support. Arm keeps on designing and licensing ARMv8 cores that include it...

    Thanks

    I've spent a lot of time looking at existing FTBFS bugs over the last weeks, to compare results against what I've been seeing in my build logs. Much kudos to people who have been finding and filing those bugs ahead of me, in particular Adrian Bunk and Matthias Klose who have filed many such bugs. Also thanks to Helmut Grohne for his script to pull down a summary of FTBFS bugs from UDD - that saved many hours of effort!

    Finally...

    Please let me know if you think you've found a problem in what I've done, or how I've analysed the results here. I still have my machines set up for easy rebuilds, so reproducing things and testing fixes is quite easy - just ask!

    13:57 :: # :: /debian/arm :: 1 comment

    Friday, 31 August 2018

    And lo, we sacrificed to the gods of BBQ once more

    As is becoming something of a tradition by now, Jo and I hosted another OMGWTFBBQ at our place last weekend. People came from far and wide to enjoy themselves. Considering the summer heatwave we've had this year, we were a little unlucky with the weather. But with the power of gazebo technology we kept (mostly!) dry... :-)

    I was too busy cooking and drinking etc. to take any photos myself, so here are some I sto^Wborrowed from my friends!

    We continued to celebrate Debian getting old:
    the cake is not a lie!
    Photo from Jonathan McDowell

    We had much beer from the nice folks at Milton Brewery:
    is 3 firkins enough?
    Photo from Rob Kendrick

    Much meat was prepared and cooked:
    very professional!
    Photo from Stefano Rivera

    And we had a lot of bread too!
    BREAD!
    Photo from Rob Kendrick

    Finally, many thanks to a number of awesome companies for again sponsoring the important refreshments for the weekend. It's hungry/thirsty work celebrating like this!

    03:24 :: # :: /debian/uk :: 0 comments

    Thursday, 16 August 2018

    25 years...

    We had a small gathering in the Haymakers pub tonight to celebrate 25 years since Ian Murdock started the Debian project.

    people in the pub!

    We had 3 DPLs, a few other DDs and a few more users and community members! Good to natter with people and share some history. :-) The Raspberry Pi people even chipped in for some drinks. Cheers! The celebrations will continue at the big BBQ at my place next weekend.

    22:42 :: # :: /debian/birthday :: 0 comments

    Sunday, 12 August 2018

    DebConf in Taiwan!

    DebConf 18 logo

    So I'm slowly recovering from my yearly dose of full-on Debian! :-) DebConf is always fun, and this year in Hsinchu was no different. After so many years in the project, and so many DebConfs (13, I think!) it has become unmissable for me. It's more like a family gathering than a work meeting. In amongst the great talks and the fun hacking sessions, I love catching up with people. Whether it's Bdale telling me about his fun on-track exploits or Stuart sharing stories of life in an Australian university, it's awesome to meet up with good friends every year, old and new.

    DC18 venue

    For once, I even managed to find time to work on items from my own TODO list during DebCamp and DebConf. Of course, I also got totally distracted helping people hacking on other things too! In no particular order, stuff I did included:

    • Working with Holger and Wolfgang to get debian-edu netinst/USB images building using normal debian-cd infrastructure;
    • Debugging build issues with our buster OpenStack images, fixing them and also pushing some fixes to Thomas for build-openstack-debian-image;
    • Reviewing secure boot patches for Debian's GRUB packages;
    • As an AM, helping two DD candidates working their way through NM;
    • Monitoring and tweaking an archive rebuild I'm doing, testing building all of our packages for armhf using arm64 machines;
    • Releasing new upstream and Debian versions of abcde, the CD ripping and encoding package;
    • Helping to debug UEFI boot problems with Helen and Enrico;
    • Hacking on MoinMoin, the wiki engine we use for wiki.debian.org;
    • Engaging in lots of discussions about varying things: Arm ports, UEFI Secure Boot, Cloud images and more

    I was involved in a lot of sessions this year, as normal. Lots of useful discussion about Ignoring Negativity in Debian, and of course lots of updates from various of the teams I'm working in: Arm porters, web team, Secure Boot. And even an impromptu debian-cd workshop.

    Taipei 101 - datrip venue

    I loved my time at the first DebConf in Asia (yay!), and I was yet again amazed at how well the DebConf volunteers made this big event work. I loved the genius idea of having a bar in the noisy hacklab, meaning that lubricated hacking continued into the evenings too. And (of course!) just about all of the conference was captured on video by our intrepid video team. That gives me a chance to catch up on the sessions I couldn't make it to, which is priceless.

    So, despite all the stuff I got done in the 2 weeks my TODO list has still grown. But I'm continuing to work on stuff, energised again. See you in Curitiba next year!

    16:11 :: # :: /debian/dc18 :: 0 comments

    Friday, 25 August 2017

    Let's BBQ again, like we did last summer!

    It's that time again! Another year, another OMGWTFBBQ! We're expecting 50 or so Debian folks at our place in Cambridge this weekend, ready to natter, geek, socialise and generally have a good time. Let's hope the weather stays nice, but if not we have gazebo technology... :-)

    Many thanks to a number of awesome companies and people near and far who are sponsoring the important refreshments for the weekend:

    I've even been working on the garden this week to improve it ready for the event. If you'd like to come and haven't already told us, please add yourself to the wiki page!

    03:00 :: # :: /debian/uk :: 1 comment

    Thursday, 22 June 2017

    -1, Trolling

    Here's a nice comment I received by email this morning. I guess somebody was upset by my last post?

    From: Tec Services <tecservices911@gmail.com>
    Date: Wed, 21 Jun 2017 22:30:26 -0700
    To: steve@einval.com
    Subject: its time for you to retire from debian...unbelievable..your
             the quality guy and fucked up the installer!
    
    i cant ever remember in the hostory of computing someone releasing an installer
    that does not work!!
    
    wtf!!!
    
    you need to be retired...due to being retarded..
    
    and that this was dedicated to ian...what a
    disaster..you should be ashames..he is probably roling in his grave from shame
    right now....
    

    It's nice to be appreciated.

    22:59 :: # :: /misc :: 8 comments

    Tuesday, 20 June 2017

    So, Stretch happened...

    Things mostly went very well, and we've released Debian 9 this weekend past. Many many people worked together to make this possible, and I'd like to extend my own thanks to all of them.

    As a project, we decided to dedicate Stretch to our late founder Ian Murdock. He did much of the early work to get Debian going, and inspired many more to help him. I had the good fortune to meet up with Ian years ago at a meetup attached to a Usenix conference, and I remember clearly he was a genuinely nice guy with good ideas. We'll miss him.

    For my part in the release process, again I was responsible for producing our official installation and live images. Release day itself went OK, but as is typical the process ran late into Saturday night / early Sunday morning. We made and tested lots of different images, although numbers were down from previous releases as we've stopped making the full CD sets now.

    Sunday was the day for the release party in Cambridge. As is traditional, a group of us met up at a local hostelry for some revelry! We hid inside the pub to escape from the ridiculouly hot weather we're having at the moment.

    Party

    Due to a combination of the lack of sleep and the heat, I nearly forgot to even take any photos - apologies to the extra folks who'd been around earlier whom I missed with the camera... :-(

    23:21 :: # :: /debian/releases :: 2 comments

    Friday, 12 May 2017

    Fonts and presentations

    When you're giving a presentation, the choice of font can matter a lot. Not just in terms of how pretty your slides look, but also in terms of whether the data you're presenting is actually properly legible. Unfortunately, far too many fonts are appallingly bad if you're trying to tell certain characters apart. Imagine if you're at the back of a room, trying to read information on a slide that's (typically) too small and (if you're unlucky) the presenter's speech is also unclear to you (noisy room, bad audio, different language). A good clear font is really important here.

    To illustrate the problem, I've picked a few fonts available in Google Slides. I've written the characters "1lIoO0" (that's one, lower case L, upper case I, lower case o, upper case O, zero) in each of those fonts. Some of the sans-serif fonts in particular are comically bad for trying to distinguish between these characters.

    font examples

    It may not matter in all cases if your audience can read all the characters on your slides and tell them apart, put if you're trying to present scientific or numeric results it's critical. Please consider that before looking for a pretty font.

    23:08 :: # :: /misc :: 2 comments

    Wednesday, 15 February 2017

    Start the fans please!

    This probably won't mean much to people outside the UK, I'm guessing. Sorry! :-)

    The Crystal Maze was an awesome fun game show on TV in the UK in the 1990s. Teams would travel through differently-themed zones, taking on challenges to earn crystals for later rewards in the Crystal Dome. I really enjoyed it, as did just about everybody my age that I know of...

    A group have started up a new Crystal Maze attraction in London and Manchester, giving some of us a chance of indulging our nostalgia directly in a replica of the show's setup! Neil NcGovern booked a load of tickets and arranged for a large group of people to go along this weekend.

    It was amazing! (Sorry!) I ended up captaining one of the 4 teams, and our team ("Failure is always an option!") scored highest in the final game - catching bits of gold foil flying around in the Dome. It was really, really fun and I'd heartily recommend it to other folks who like action games and puzzle solving.

    I just missed the biting scorn of the original show presenter, Richard O'Brien, but our "Maze Master" Boudica was great fun and got us all pumped up and working together.

    00:32 :: # :: /misc :: 2 comments

    Tuesday, 01 November 2016

    Twenty years...

    So, it's now been twenty years since I became a Debian Developer. I couldn't remember the exact date I signed up, but I decided to do some forensics to find out. First, I can check on the dates on my first Debian system, as I've kept it running as a Debian system ever since!

    jack:~$ ls -alt /etc
    ...
    -rw-r--r--   1 root   root     6932 Feb 10  1997 pine.conf.old
    -rw-r--r--   1 root   root     6907 Dec 29  1996 pine.conf.old2
    -rw-r--r--   1 root   root    76739 Dec  7  1996 mailcap.old
    -rw-r--r--   1 root   root     1225 Oct 20  1996 fstab.old
    jack:~$
    

    I know that I did my first Debian installation in late October 1996, migrating over from my existing Slackware installation with the help of my friend Jon who was already a DD. That took an entire weekend and it was painful, so much so that several times that weekend I very nearly bailed and went back. But, I stuck with it and after a few more days I decided I was happier with Debian than with the broken old Slackware system I'd been using. That last file (fstab.old) is the old fstab file from the Slackware system, backed up just before I made the switch.

    I was already a software developer at the time, so of course the first thing I wanted to do once I was happy with Debian was to become a DD and take over the Debian maintenance of mikmod, the module player I was working on at the time. So, I mailed Bruce to ask for an account (there was none of this NM concept back then!) and I think he replied the next day. Unfortunately, I don't have the email in my archives any more due to a disk crash back in the dim and distant past. But I can see that the first PGP key I generated for the sake of joining Debian dates from October 30th 1996 which gives me a date of 31st October 1996 for joining Debian.

    Twenty years, wow... Since then, I've done lots in the project. I'm lucky enough to been to 11 DebConfs, hosted all around the world. I'm massively proud to have been voted DPL for two of those twenty years. I've worked on a huge number of different things in Debian, from the audio applications I started with to the installer (yay, how things come back to bite you!), from low-level CD and DVD tools (and making our CD images!) to a wiki engine written in python. I've worked hard to help make the best Operating System on the planet, both for my own sake and the sake of our users.

    Debian has been both excellent fun and occasionally a huge cause of stress in my life for the last 20 years, but despite the latter I wouldn't go back and change anything. Why? Through Debian, I've made some great friends: in Cambridge, in the UK, in Europe, on every continent. Thanks to you all, and here's to (hopefully) many years to come!

    00:17 :: # :: /debian/stats :: 2 comments

    Friday, 09 September 2016

    Time flies

    Slightly belated...

    Another year, another OMGWTFBBQ. By my count, we had 49 people (and a dog) in my house and garden at the peak on Saturday evening. It was excellent to see people from all over coming together again, old friends and new. This year we had some weather issues, but due to the delights of gazebo technology most people stayed mostly dry. :-)

    Also: thanks to a number of companies near and far who sponsored the important refreshments for the weekend:

    As far as I could tell, everybody enjoyed themselves; I know I definitely did!

    16:57 :: # :: /debian/uk :: 2 comments

    Friday, 02 September 2016

    And about time, too!

    A couple of weekends back, we had an awesome time at Jonathan and Charlene's wedding. I'd have blogged sooner, but I had to wait for this photo of the happy couple with the Debian gang... :-)

    Careful!

    Unfortunately, somebody let Charlene hide at the back! Follow the link for more photos...

    14:54 :: # :: /misc :: 2 comments

    Sunday, 29 November 2015

    Supporting the Software Freedom Conservancy too!

    Software Freedom Conservancy Supporter

    I'm happy to chip in and help the awesome folks at the Software Freedom Conservancy with funding for their work, standing up for copyleft. It's clear that there are a lot of people who will ignore the terms of Free Software licensing, whether by oversight or deliberately, so the SFC are doing an important job working to defend the Freedoms that lots of us are using every day as developers and users.

    It seems that some of SFC's corporate supporters have stopped sponsorship since the beginning of their lawsuit in Germany against VMware for GPL violations. Maybe some folks are happy to support SFC, but not when they really push things like this. Let's hope that we can find many more individual supporters to cover SFC's funding needs instead. This week, there's an anonymous pledge to match donations from new supporters so right now is an even better time to sign up!

    Thanks to Paul Wise for posting about this and indirectly prodding me to sign up too.

    21:19 :: # :: /debian/sfc :: 2 comments

    Friday, 25 September 2015

    Linaro VLANd v0.4

    VLANd is a python program intended to make it easy to manage port-based VLAN setups across multiple switches in a network. It is designed to be vendor-agnostic, with a clean pluggable driver API to allow for a wide range of different switches to be controlled together.

    There's more information in the README file. I've just released v0.4, with a lot of changes included since the last release:

    • Large numbers of bugfixes and code cleanups
    • Code changes for integration with LAVA:
      • Added db.find_lowest_unused_vlan_tag()
      • create_vlan() with a tag of -1 will find and allocate the first unused tag automatically
    • Add port numbers as well as names to the ports database, to give human-recognisable references. See README.port-numbering for more details.
    • Add tracking of trunks, the inter-switch connections, needed for visualisation diagrams.
    • Add a simple http-based visualisation feature:
      • Generate network diagrams on-demand based on the information in the VLANd database, colour-coded to show port configuration
      • Generate a simple website to reference those diagrams.
    • Allow more ports to be seen on Catalyst switches
    • Add a systemd service file for vland

    VLANd is Free Software, released under the GPL version 2 (or any later version). For now, grab it from git; tarballs will be coming shortly.

    01:44 :: # :: /linaro :: 2 comments

    Sunday, 02 August 2015

    New UEFI team in Debian

    We've just started a new team in Debian for maintaining our UEFI packages together, with git repositories in a shared project on alioth etc. We're just working out the exact details of how we're going to manage things, but for now we've moved the following packages under the team's umbrella:

    • efibootmgr
    • efivar
    • fwupd
    • fwupdate
    • pesign

    and in the future we'll clearly end up adding more. We've also started a new IRC channel (#debian-efi) on irc.debian.org aka irc.oftc.net. New members always welcome to help with the work here!

    00:40 :: # :: /debian/efi :: 1 comment