1. Using gcc sanitisers to get a nasty bug fixed

    By Andrej Shadura

    A couple of days ago a colleague at Collabora asked me to help create a Debian package for the tool he needed to complete his task. The tool happened to be an NXP code signing tool, used to sign OS images to be run on i.MX systems using ‘High Assurance Boot’.

    As it often happens, the tool was distributed in a manner typical for many big corporations: no direct link to the tarball, custom buildsystem, compiled binaries in the same tarball as the sources. A big relief was that the tool has been distributed under a three-clause BSD license since version 3.3.0 (the sources were not provided at all before that).

  2. FOSDEM by train

    By Andrej Shadura

    I’ve always loved train journeys, but with flygskam changing people’s travel preferences across Europe (and possibly worldwide, though probably not that much), I decided to take train to FOSDEM this time.

    When I first went to FOSDEM which, just in case you don’t know, happens each February in Brussels at ULB, I flew with Ryanair from Bratislava to Charleroi because it was cheaper. After repeating the same journey a couple of times and I once nearly missed the last bus coach to Brussels because of a late flight, and decided to rather pay more but travel with more comfort to Brussels Zaventem, the main airport of Brussels. It’s well-connected with Brussels, trains run fast and run often, which is a significant upgrade in comparison to Charleroi, where the options were limited to bus coaches and a slow train connection from Charleroi the town.

  3. Rust-like enums in Kotlin

    By Andrej Shadura

    Rust has an exciting concept of enumeration types, which is much more powerful than enums in other languages. Notably C has the weakest type of enum, since there’s no type checking of any kind, and enum values can be used interchangeably with integers:

    :::c
    enum JobState {
        PENDING,
        STARTED,
        FAILED,
        COMPLETED
    };
    

    You can opt for manually assigning integers instead of leaving this to the compiler, but that’s about it.

  4. resvg: worth having in Debian?

    By Andrej Shadura

    Yesterday I have discovered resvg, an MPL 2.0-licensed SVG rendering and optimisation library and a tool, written in Rust. It is said to be faster than some SVG renderers while currently slower than librsvg. It aims to support the static subset of SVG better than other libraries:

    SVG test suite results: resvg 1272, Inkscape 967, librsvg 998

    The author writes:

    One of the major differences from other rendering libraries is that resvg does a lot of preprocessing before rendering. It converts shapes to paths, resolves attributes, removes groups and invisible elements, fixes a lot of issues in malformed SVG files. Then it creates a simple render tree with all elements and attributes resolved. And only then it starts to render. So it’s very easy to implement a new rendering backend.

  5. Help the Conservancy raise the remaining $14 000

    By Andrej Shadura

    The Software Freedom Conservancy is having the last 7 days to collect the remaining less than $14 000 of the fundraiser generously matched by Private Internet Access. All donations up to $90 000 will be matched until 15 January.

    Conservancy is an organisation sponsoring nearly 50 free software projects helping them, most importantly with accounting, paying developers and defending their trademarks and ensuring license compliance.

    Conservancy is currently home to almost fifty member projects

  6. wpa-supplicant and hostapd 2.7 in Debian

    By Andrej Shadura

    Hostapd and wpa-supplicant 2.7 have been in Debian experimental for some time already, with snapshots available since May 2018, and the official release since 3 December 2018. I’ve been using those 2.7 snapshots myself since May, but I do realise my x250 with an Intel Wi-Fi card is probably not the most representative example of hardware wpa-supplicant would often run on, so before I upload 2.7 to unstable, it would be great if more people tested it. So please try to install it from experimental and see if it works for your use cases. In the latest upload, I have enabled a bunch of new upstream features which previously didn’t exist or were still experimental, so it would be great to give them a go.

  7. Bye-bye binary vconfig(1)

    By Andrej Shadura

    This morning I have decided that this is the time. The time to finally remove the binary vconfig utility (which used to help people configure VLANs) from Debian. But fear not, the command isn’t going anywhere (yet), since almost six years ago I’ve written a shell script that replaces it, using ip(8) instead of the old and deprecated API.

    If you’re still using vconfig, please give it a test and consider moving to better, newer ways of configuring your VLANs.

  8. GNU indent 2.2.12

    By Andrej Shadura

    As the maintainer of GNU indent, I have just released version 2.2.12 (signature), the first release GNU indent saw in eight years.

    Highlights include:

    • New options:
      • -pal / --pointer-align-left and -par/–pointer-align-right`
      • -fnc / --fix-nested-comment
      • -gts / --gettext-strings
      • -slc / --single-line-conditionals
      • -as / --align-with-spaces
      • -ut / --use-tabs
      • -nut / --no-tabs
      • -sar / --spaces-around-initializers
      • -ntac / --dont-tab-align-comments
    • C99 and C11 keywords and typeof are now recognised.
    • -linux preset now includes -nbs.
    • -kr preset now includes -par.
    • Lots of bug fixes

    I’d like to thank all of the contributors of this release, most importantly:

  9. Linux Vacation Eastern Europe 2018

    By Andrej Shadura

    On Friday, I will be attending LVEE (Linux Vacation Eastern Europe) once again after a few years of missing it for various reasons. I will be presenting a talk on my experience of working with LAVA; the talk is based on a talk given by my colleague Guillaume Tucker, who helped me a lot when I was ramping up on LAVA.

    Since the conference is not well known outside, well, a part of Eastern Europe, I decided I need to write a bit on it. According to the organisers, they had the idea of having a Linux conference after the newly reborn Minsk Linux User Group organised quite a successful celebration of the ten years anniversary of Debian, and they wanted to have even a bigger event. The first LVEE took place in 2005 in a middle of a forest near Hrodna.