Profile cover photo
Profile photo
David Herrmann
About
Posts

Post has shared content
Dedicated BMBF funding programme for open-source developers. Awesome!
Add a comment...

Post has shared content

Post has shared content
systemd.conf is dead! long live All Systems Go!

This year there won't be a systemd.conf conference. Instead, we are introducing a new conference: "All Systems Go!", its successor. We hope to grow both the range of topics and the audience a bit. While systemd will play a big role at the conference, the focus is much broader: this conference shall be about all kinds of low-level user-space Linux technologies, reflecting the development of the Linux platform!

We have put up the web site a few days ago, please have a look!

Dates: 21./22. October.
Location: Berlin, Germany

(The CFP will be published shortly!)
Add a comment...

Post has shared content
I switched libratbag to meson (not merged yet) and I ran into one "shortcoming" of meson [1] that eventually I realised wasn't actually a shortcoming: auto-detection of configure-time options.

In libratbag (and libinput), we detected a few libraries at configure time and disabled bits depending on their presence, e.g. documentation (doxygen) and unit tests (check). I didn't like the approach I needed for meson and started thinking about it, for the first time since previously the "auto" approach was just copy/pasted between various autotools projects.

Eventually I came to the conclusion that this auto-detection is bad anyway. We should have a specific standard build and require developers/distros to explicitly disable or enable those that should deviate from this standard set. This makes debugging easier and eliminates a lot of the "did you have $foo installed at configure time?" questions.

I've merged patches for removing auto-detection from libratbag and libinput, so you may have to install extra bits in the future (or pass --disable-foo to configure). Until then, I suggest that at least for smaller projects you ditch the auto-detection approach and instead switch to an explicit style. This may not work for every project and it may not work for every feature. But it certainly feels cleaner for the ones I'm working with.


[1] it's not really a missing feature, you can use a combo option with yes/no/auto
Add a comment...

Post has attachment

Post has shared content
This is a very nice tool. Makes plain text files a little less ugly in a web browser, but also provides bookmarks, notes and understands the structuring of the chapters.
Add a comment...

Post has attachment
Thanks to +Daniel Stone, +Kristian Høgsberg, +Emmanuele Bassi, and some more (who all mentioned this topic recently) I looked into the Meson Build System.

I'll just say that: It works. Nicely. It is worth a look to anyone still stuck with autotools.

Either you'll be amazed and end up using it, or you will at least learn something about the Ninja Build System and remember how to deal with `meson.build` files when you see them. Win win, right?

Add a comment...

router: a node that forwards IP packets not explicitly addressed to itself.
host: any node that is not a router.

"A router might want to send Router Advertisements without advertising itself [...]. For instance, a router might advertise prefixes [...] while not wishing to forward packets."

"A host MUST NOT send Router Advertisement messages at any time."

Thanks you, rfc4861, for this... clear definition.
I miss hacking on DRM.
Add a comment...

assert(NULL + argc - 1 == NULL);
assert((char *)NULL + argc - 1 == NULL);

(assume 'argc' to be 1)

Both GCC and LLVM compile this without complaints. The GCC binary runs fine, the LLVM one fails on the second assertion.

I presume this is because the C standard defines arithmetic on NULL pointers to be undefined behavior... Great!

sigh
Add a comment...

Post has attachment
Add a comment...
Wait while more posts are being loaded