Meine erste Woche bei Betadots
Published: 2024-02-19 08:54:41

2024-02-13

Die erste Woche fing fulminant an mit einem Besuch beim **Configuration Management Camp in Belgien** in Gent. Ich bin in CCC-Kreisen unterwegs und das CfgMgmtCamp ist den CCC-Veranstaltungen ziemlich ähnlich - haufenweise Leute in ungezwungener Kleidung, an jeder Ecke ein Gesprächspartner, der mehr zu deinem Thema weiß als du selbst. Die Vortragsauswahl war deutlich schwankender, zwei Vorträge mag ich hervorheben:

Der erste Vortrag ist **Adam Jacob**. Das ist der Erfinder von **Chef**. Chef wurde vor zwei Jahren (+/-) an Progress verkauft und seitdem ist es still um die Software geworden. Eigentlich lohnen sich die 45min Einführung aus diesem Podcast

  [https://corecursive.com/configuring-identity-adam-jacob/](https://corecursive.com/configuring-identity-adam-jacob/)

ich mag den Podcast mit eigenen Worten zusammenfassen: Auch als Chef weißt du manchmal nicht, wo der Weg hinführt. Du musst mit deiner eigenen Unsicherheit klar kommen und an deine Angestellten kommunizieren.
Wie dem auch sei, Adam hat die Firma verkauft. Danach endet der Podcast. Man hört ja gelegentlich gerüchte von Startupgründern, die sich eine Insel kaufen und sich zur Ruhe setzen, aber Adam hat einen Vortrag gehalten über ein neues Stück Software, an dem er arbeitet.
Der Vortrag hatte es in sich -- und zwar nicht vom Inhalt, sondern vom Präsentationsstil. Der längste Verkaufsmonolog, den ich je gehört habe. Das fing an mit 20 Minuten Smalltalk, wie geil ChatGPT sei, dass wir (das Publikum) das geil finden, dass Adam das geil findet. Der obligatorische SAP-Witz, dass ChatGPT kein SAP installieren kann und dann die Pointe ins Publikum, ob jemand schon mal manuell durch diese Hölle gegangen sei. Und dann der lange Anlauf, er habe eine GUI geschaffen, die nach unten Terraform für Amazon-Web-Services (AWS) und Google-Cloud-Plattform (GCP) schaffen kann.
Das war ein emotivierender Vortrag. Danach hast du das Gefühl "cooler Typ. Los, packen wir es an!"; Inhaltlich bin ich nicht zufrieden, aber auf die Präsentation bin ich neidisch. Wenn ich ein Unternehmen gründen würde, würde ich Adam als *Chief Evangelist* einstellen. 🥲
 
**Workshop** mit Rafael zum **eBPF**. Bei eBPF muss ich erstmal ausholen wofür man das braucht -- ich hatte mal ein Problem, dass mir ein Prozess eine Logdatei weggelöscht hat. Immer und immer wieder. Ich fand aber den Prozess nicht in Cron und nicht in DBUS und nicht in ...; Wie löst man das Problem? Nun ja, du schreibst ein Kernelmodul "Wenn jemand auf diese Pfadangabe ein Dateihandle erzeugt oder einen Syscall-unlink auslöst, dass logge mir den Prozessnamen und den Prozessowner!"; Weil Kernelmodule kein Zuckerschlecken sind, gibt es dafür Helferchen - zum Beispiel SystemTap. Das ist eine Hilfestellung um Kernelmodule zu schreiben.
Manchmal braucht es aber nicht das ganze Kernelmodul. Es geht einfacher - mit eBPF. Die Abkürzung stand mal für *extended-Berkeley-Packet-Filter* und will seitdem nicht mehr ausgesprochen werden, weil das Projekt über seine Idee hinausgewachsen ist. Du schreibst ein kleines C-Programm und lädst das in den Kernel. Anschließend rufst du auf: Wann immer jemand den Syscall-Open ausführen will, führe mein Programm aus! Es gibt Syscalls, Tracepoints, Kernel-Probes und Netzwerkpakete. Es ist sehr einfach verglichen mit Kernelmodulen, aber unterschätze den Lernaufwand dennoch nicht!
Der Vortrag begann mit Kubernetes-Architekturen und wie sich Kunden mit Netzwerkdebuggen und Failover und Netzwerk-vs-Georedundanz ins Knie geschossen haben. Schon allein die Probemhinführung hat sich gelohnt um den Vortrag zu besuchen! Dann ging es um die Packet-Filter und die Abstraktionsebene darüber, die Rafaels Firma verkauft um den Netzwerkstack durchdebuggen zu können. Anschließend gab es das Tutorial zum selber durcharbeiten mit Mentor im Raum. Das Tutorial kann ich übrigens empfehlen!

  [https://isovalent.com/labs/getting-started-with-ebpf/](https://isovalent.com/labs/getting-started-with-ebpf/)
    
**Abendprogramm**: Der erste Tag in einer **Bar** nahe des Campus. Die Bar war deutlich überfüllt, dafür gab es wieder diese Unmenge **schlauer Gesprächspartner**. Also haben wir über 5G-Standard gesprochen, über Google-freie Androiden, über Bier brauen.
Der zweite Tag war ein Abendessen mit bekannten Persönlichkeiten in der Welt des Puppet. Die Community hat ein Gesicht und hier sitzt ein wichtiger Teil davon am gleichen Tisch. Abschließend in einer Flipper-Bar. Ich habe seit meiner Kindheit nicht mehr geflippert 😇

**Stadt: Gent** lohnt allein schon wegen der **Architektur**. Die beleuchteten Sakralbauwerke bei Nacht am Kanal sind beeindruckend.

![Eine Kirche vor einem Kanal sowie eine Brücke, die Bildelemente beleuchtet durch Straßenlaternen bei Nacht mit Lichtreflektionen im Wasser](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c1p9gniswcjmmvzpazdu.jpg)


**Neuer Laptop**: Ich habe mir einen **Framework 13** als Dienstgerät gewünscht.
Die Do-It-Yourself-Edition kommt als Paket mit mehreren Kleinpaketen. Gehäuse, Mainboard, Deckel und Display sind eine Einheit. Tastatur-und-Unterhälfte-Oberseite kommen als Einheit, RAM, NVMe, Bezel und eine Kiste mit Erweiterungskarten. Der Zusammenbau war leicht - ausgenommen die Festplattenschraube. Die war zu fest angezogen und wir konnten sie im ersten Anlauf nicht lösen. Wir mussten zum Elektronikladen laufen und das kleine iFix-it-Schraubendreherset kaufen. Beim RAM hat es zwei Steckversuche gebraucht, bis der Laptop ihn akzeptiert hat.
Das Gerät ist leicht und schick. Das Bios ist beeindruckend schlank, so etwas habe ich noch nicht gesehen. Software und Setup sind nochmal einen **eigenen Artikel** wert, da habe ich über Jahre entwickelte Vorstellungen, wie ich mein Arbeitsgerät mag. 

![Laptopkompontenten ausgebreitet auf einem Hotel-Tisch](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vlix30amtzjyf7z8pux2.jpg)

Nach dem geglückten Start freue ich mich auf die nächsten Tage. Wenn es eure Nerdseele befriedigt, was ich mit der Laptopsoftware treibe, wäre das nochmal ein eigener Artikel. Bis zum nächsten Mal!