Tagebuch: Chemnitzer Linux Tage 2019

In diesem Artikel schreiben wir unser Tagebuch von den Chemnitzer Linux Tagen 2019. Wir laden euch herzlich ein, uns an unserem Stand zu besuchen. In diesem Jahr haben wir bei uns ausserdem das OSADL zu Gast.

Managementwerkzeuge aus der Open-Source-Entwicklung

Für uns beginnen die CLT 2019 Samstag früh um 10:00 Uhr mit dem Vortrag von Marie. Marie berichtet dabei darüber, wie wir unser Prozesshandbuch von einer Wiki-basierten Lösung auf eine Hacker-freundliche Lösung umgestellt haben.

Marie stellt anschließend die Anforderungen vor, die wir uns im Vorfeld an das neue Prozesshandbuch gestellt haben:

  • Benutzbarkeit
  • Teilhabe der Mitarbeit
  • Freigabe durch die Geschäftsführung
  • Aktualität der Prozesse
  • Mögliche ISO 9001 Zertifizierung

Als Linux-Dienstleister sind bei uns Hacker-Tools bei vielen Mitarbeitern gut etabliert. Daher möchten wir diese Werkzeuge auch für das Prozesshandbuch einsetzen. Das bedeutet:

  • Prozesse werden als Restructured Text erstellt.
  • Metadaten der Prozesse sind Teil der Textdateien.
  • Zur Verwaltung der Plaintext-Dateien kommt git zum Einsatz.
  • Durch den Einsatz von Sphinx können die Prozesse in eine Webseite überführt werden und sind damit auch für die Mitarbeiter lesbar, für die Textdateien und git nicht das täglich Brot sind.

Im Vortrag geht es anschließend darum, wie unser Git-Workflow für die Bearbeitung des Prozesshandbuches aussieht:

  • Es gibt einen Master-Branch, auf den nur die Geschäftsführung schreiben darf.
  • Mitarbeiter dürfen daneben eigene Topic-Branches haben, in denen sie bestehende Prozesse verbessern oder neue Prozesse entwerfen dürfen.
  • Die Geschäftsführung reviewt die Prozesse, bevor diese in den Master-Branch übernommen werden.

Im nächten Abschnitt von Maries Vortrag geht es darum, wie wir mit Continuous Integration die Text-Dateien ständig bei Änderungen neu bauen und intern veröffentlichen. Dafür setzen wir Jenkins ein, um den Master Branch zu überwachen, bei Änderungen neu zu bauen und im Intranet neu zu veröffentlichen.

Am Ende bleibt zusammenfassend zu sagen: Wichtig ist, dass das Prozessmanagement zu den Mitarbeitern passt, die es später auch benutzen sollen. Für Pengutronix sind das git, Sphinx und Jenkins. Marie möchte aber die Entscheider motivieren, sich die Workflows und Werkzeuge der Mitarbeiter anzusehen - und auch den Mut zu haben, die für die eigenen Mitarbeiter passenden Werkzeuge zu wählen.

Container Kram

Weiter geht es um 12:00 Uhr mit Martin Neitzel. Im Programm wurde sein Vortrag noch als Linux-Container Grundlagen angekündigt; aber nachdem seine einzelne Folie mit Container Kram überschrieben war und die ersten Gummibärchen als Belohnung ins Publikum geworfen wurden, war klar: dieser Vortrag wird unterhaltsam.

Martins Ansatz ist nicht einfach nur, eine fertige Lösung wie Docker oder LXC zu verwenden. Vielmehr hat er sich die Low-Level APIs angesehen. Und so startet der Vortrag auch mit Details zu unshare und setns.

Im zweiten Teil zeigt Martin, wie sich mit systemd-nspawn einfach Container auf einem System starten lassen.

Vortragsaufzeichnung bei den CLT mit KI

Den Abschluss des Tages hat Daniel Schreiber mit seinem Vortrag über Vortragsaufzeichnung bei den CLT.

Bisher wurden bei den Vorträgen nur die Folien via HDMI-Grabber und der Ton von der Anlage im Raum aufgezeichnet. Allerdings gab es keine Videoaufzeichnung der Vortragenden. Das liegt hauptsächlich daran, dass die CLT nicht das Personal haben, jeden Raum mit einem Helfer an der Kamera auszustatten.

Im letzten Jahr hat Daniel daher, um eine Datenbasis für automatisierte Verarbeitung zu schaffen, einen Raum mitfilmen wollen. Natürlich hatte er dabei einige Probleme mit der Aufzeichnung. Am Ende hatte er aber eine Datenbasis, auf der er Software entwickeln konnte.

Zum Verarbeiten der Videodaten setzt er OpenCV ein. Als ersten Ansatz hat Daniel versucht, das Gesicht der Vortragenden in den Videos zu erkennen. Die Ergebnisse waren dabei allerdings mäßig. Im nächsten Schritt hat Daniel versucht, den Vortragenden zu tracken. Die Ergebnisse waren allerdings wieder mäßig - der Tracker ließ sich zu leicht ablenken.

Daniel hat sich daher dem Hype der neuronalen Netze hingegeben. Natürlich hat sich daraus ein ganzes Bündel neuer Probleme ergeben: Anders geordnete Farbkanäle, unterschiedliche Wertebereiche, fehlende Rechenleistung, sinnvolle Vorverarbeitung und viele mehr...

Letztlich kann er aber mit viel Rechenleistung und Interpolation (über Bereiche hinweg, in denen die Netze kein Ergebnis geliefert haben) den Speaker verfolgen und das Video des Speakers herausschneiden.

Daniel setzt die neue Technik dieses Jahr bereits ein: Es gibt neue Aufzeichnungsracks mit zwei HDMI-Grabbern, beide Grabber zeichnen den Raumton auf (sodass der auf jeden Fall lippensynchron ist), und 4k-Kameras in allen Räumen. Wir können uns daher für dieses Jahr auf automatisch nachgeführte Bildausschnitte der Vortragenden der Chemnitzer Linux Tage freuen.

Ansible-Module schreiben

Am Sonntag beginnen die Vorträge für mich erst um 11:00 Uhr. Martin Schütte gibt eine Einführung in das Schreiben von Ansible-Modulen. Sein Poll am Anfang des Vortrags zeigt: Das Publikum besteht zur Hälfte aus Systemadministratoren und zur Hälfte aus Softwareentwicklern.

Martin beginnt seinen Vortrag mit dem Hinweis, dass man sich gut überlegen sollte, ob man wirklich selber Code schreiben muss oder ob man das Ziel nicht auch mit Ansible-Boardmitteln erreichen kann. Er gibt anhand von Code-Beispielen einen Überblick über den Aufbau eines Ansible-Moduls. Anschließend gibt er Entwurfsmuster, sowie dos und dont's für die Entwicklung von Ansible-Modulen.

Licht ins Dunkel bringen

Ab 12:00 Uhr ging es mit Alexander Schreiber und seinem Vortrag Licht ins Dunkel bringen – Prometheus & Grafana weiter. Alexander beginnt seinen Vortrag mit einer Menge an Dingen, die Monitoring für ihn herausfinden können soll. Dazu gehören verschiedene Metriken, die überwacht werden können, sowie ein sinnvolles Alerting ("Damit erfährt man davon, bevor der Chef anruft.").

Anschließend stellt er die Geschichte und die Architektur von Prometheus vor.

GDB mit Python Scripten

Michael Olbrich aus unserem Grafikteam zeigt ebenfalls um 12:00 Uhr, wie er die Herausforderungen beim Debuggen komplexer GStreamer-Videopipelines meistert. Leider sind diese Pipelines sehr komplex und gleichzeitig dynamisch, so dass ständig neue Threads entstehen, Dinge tun und wieder verschwinden. Bleibt dann beim Processing etwas hängen oder verhält sich unerwartet, schaut man mit GDB oft nur auf sehr kompliziert zusammenhängende Datenstrukturen. Das führte in der Vergangenheit oft dazu, dass das Debugging sehr aufwändig war.

Inzwischen bietet GDB eine Schnittstelle, mit der es sich mittels kleiner Python-Module erweitern lässt. Michael zeigt in seinem Vortrag, wie man eigene pretty printer schreibt und aus komplexen Datenstrukturen übersichtliche Informationen erzeugt; da der Python Code Zugriff auf alle verketteten Strukturen hat, kann man auch Beziehungen zwischen den Komponenten ermitteln und die 'richtigen' Elemente herausfischen und visualisieren. Weitere Hilfsmittel sind selbstgeschriebene Kommandos und Funktionen.

Kernel-Panel

In bewährter Weise moderiert Wolfram Sang das Kernel-Panel, bei dem auch unser Kollege Lucas Stach aus dem Grafikteam, Maintainer des Etnaviv 3D-Grafiktreibers im Mainline Kernel, mit auf dem Podium sitzt. Die Runde beantwortet spannende Fragen aus dem Publikum. Aus unserer Sicht eine spannende Beobachtung: inzwischen ist es offenbar für Embedded Nutzer einfacher, aktuelle Mainline-Kernel einzusetzen als für die etablierten Enterprise-Distributionen: Der sehr stark eingeschränkte Usecase auf eingebetteten Geräten macht es möglich, Systeme relativ vollständig zu testen und schnell mit neuem Kernel auszurollen; diesen Luxus haben die Distributoren nicht, da sie in der Regel nicht wissen, was ihre Partner und die Kunden letztlich mit dem System machen - so sammeln sich dann auch bis zu unglaubliche 40.000 Patche auf den Enterprise-Kerneln, was wiederum ganz neue Qualitätsfragen aufwirft. Weitere Themen sind der zunehmende Trend zu mehr teils proprietärer Firmware in modernen Prozessoren und der aktuelle Stand zu Spectre und Meltdown.

Der Rest von Sonntag

Den Rest des Tages haben wir mit spannenden Diskussionen an unserem und anderen Ständen verbracht und die Chemnitzer Catering Tage genossen. Wir möchten uns hier noch einmal bei allen Organisatoren, Helfern, Vortragenden, Ausstellenden und Besuchern bedanken. Wir wissen aus eigener Erfahrung, was für eine harte Arbeit es ist, so eine Veranstaltung auf die Beine zu stellen. Um so mehr sind wir begeistert, wie reibungslos und gut organisiert alles abgelaufen ist. Es hat uns wieder viel Spaß gemacht, bei den CLT zu sein, Bekannte zu treffen und neue Bekanntschaften zu machen. Wenn es irgendwie in den Zeitplan passt, sind wir nächstes Jahr gern wieder dabei.

Weitere Eindrücke von den CLT 2019

Hier folgen einge weitere Eindrücke von heute, die leider zu keiner Überschrift gepasst haben, aber es dennoch wert sind, geteilt zu werden:


Weiterführende Links

Pengutronix auf der Embedded World 2024

Treffen Sie uns auf der Embedded World 2024 in Nürnberg! Sie finden uns wieder in Halle 4, Stand 4-261. Wie üblich zeigen wir auf unserem Messestand Demonstratoren zu aktuellen Themen.


FrOSCon 2023

In ein paar Stunden beginnt die 18. FrOSCon an der Hochschule Bonn-Rhein-Sieg. Pengutronix ist wieder mit einem kleinen Team vor Ort. An einem der Partner-Stände zeigen wir wieder einige unserer Aktivitäten in der Open Source Community. Dafür bringen wir unseren labgrid Demonstrator und die FPGA Demo mit.


DjangoCon Europe 2023

Django ist Pengutronix' Framework der Wahl für Software zur Abwicklung unserer Geschäftsprozesse. Diese internen Werkzeuge bieten zudem auch immer die Gelegenheit neuere Entwicklungen im Django-Universum auszuprobieren.