FOSDEM 2024 impressions – Frank’s five interesting talks

FOSDEM 2024 impressions – Frank’s five interesting talks

Frank Vanbever

I arrived at the ULB campus around noon, so the first order of business was getting lunch. I got myself a vegetarian burger and met up with a couple of people and off I went to the first talk that I had highlighted.

Using your Laptop TPM as a Secure Key Store: Are We There Yet?

[See also Olivier’s report of this talk.]

This talk from James Bottomley gave an overview of the status of Trusted Platform Module hardware in today’s Linux. Bottomley opened with the statement that any TPM developer you meet is a reluctant TPM developer. They do this because they have a real problem to solve, not because it’s actually fun. This set the tone for the rest of the presentation.

There is a difference between TPM1.2 and TPM2.0. Whenever TPM is mentioned TPM2.0 is meant since the TPM1.2 specification is deprecated.

Support for TPM in the software stack hinges on its integration in OpenSSL. This is a solved problem for OpenSSL3. Recent versions of GnuPG also have support built in. This means that a modern Linux system is in a pretty good spot, even though there are still some kinks to be worked out in OpenSSH, and also systemd which lead to a bit of animated discussion during the Q&A.

My personal takeaway from this presentation is that I have this cool hardware sitting in the laptop that I’m writing this post on, and I really should start using it to protect my secrets. These skills undoubtedly would translate to embedded systems work.

Dora-rs: simplifying robotics stack for next gen robots

This talk by Tao Xavier and Philipp Oppermann was about the work they did developing a data-flow framework for robotics. They approach the problem as a directed graph, which seems to be the standard for these types of applications which you also see in industry standard frameworks such as ROS2.

One of the main criticisms they have against the current popular frameworks are that they are mostly built with C and C++ and have complex build systems. The goal of the dora-rs project is to have a simple build system with first class support for Python and Rust (along with C and C++) and make it easier to integrate with modern technologies such as Large Language Models like ChatGPT.

Their framework has each node running in its own process, with a zero-copy message passing architecture via shared memory. The messages use the Apache Arrow format. OpenTelemetry is used for telemetry.

Some benchmarks were shown about the latency performance of dora-rs compared to ROS2, which for large messages (>40MB) is 17x faster. This is likely due to the zero-copy architecture. There was definitely some noise from the audience when this was shown.

The project plans to have a bridge to ROS2 to allow its integration with existing applications, which is currently being implemented.

They have support for the hot reload of Python code, which allows a developer to change the code in real time. This opens up the possibility to use code generated by AI in real-time. This triggered a bit of uneasy laughter from the audience and some references to a popular movie starring Arnold Schwarzenegger was made.

At that point they did a demo with a robot on the speaker’s desk where they showed an example of an LLM actually controlling the robot, which did seem to work so that’s definitely impressive.

Vehicle Abstraction in Automotive Grade Linux with Eclipse Kuksa

This presentation by Sven Erik Jeroschewski and Scott Murray was about the Eclipse Kuksa project, which is a data model for a vehicle for use in infotainment units. This data model can provide an abstraction for different vehicles and present a common API to a software developer. The goal is to decouple software from hardware and reach a Software Defined Vehicle. Kuksa functions as a data broker, is written in Rust, very small (<4MB) and provides a language agnostic gRPC interface.

Someone who is interested in this can actually do some development on this without the need for actual car hardware via the Vehicle Mock Service, which provides the same signals that a vehicle would generate.

The second part of the presentation was about Automotive Grade Linux, which is a Yocto based distribution oriented towards automotive. Initially it’s focus was on Infotainment, but now it’s also being used for instrument cluster functionality. This explains why it makes sense to have the Kuksa to provide the vehicle data model. Multiple demo applications exist to show how this works.

Low code graphical apps with Go top to bottom

fysionThis talk by Andrew Williams was a presentation of the Fysion tool, which is a tool to create GUIs in the Fyne framework, which is a native UI framework for the Go programming language. Because it’s pure Go it makes cross-compilation easy. Additionally because Go compiles to static binaries they should be easily distributed.

Fysion is a WYSIWYG tool to compose GUI applications. It has a bunch of widgets available and the application can be themed.

The low-code part of this tool didn’t seem that interesting to me but Fyne is definitely something to check out if you need to make cross-platform GUI applications that are easily distributed. I already have a use case in mind for some internal tools at my current project.

Drop The Docs and Embrace the model with Gaphor

This was the talk I gave, which warrants a dedicated post. Check back later!


Drop the docs and embrace the model with Gaphor Fosdem '24 - Frank Van Bever 20 March, 2024 Read more
How to update your Yocto layer for embedded systems? ER '23 -Charles-Antoine Couret 28 September, 2023 Read more
Tracking vulnerabilities with Buildroot & Yocto EOSS23 conference - Arnout Vandecapelle 12 July, 2023 Read more
Lua for the lazy C developer Fosdem '23 - Frank Van Bever 5 February, 2023 Read more
Exploring a Swedish smart home hub Fosdem '23 - Hannah Kiekens 4 February, 2023 Read more
prplMesh An Open-source Implementation of the Wi-Fi Alliance® Multi-AP (Arnout Vandecappelle) 25 October, 2018 Read more