Kategorien
Themenabend

Themenabend: eBPF

Heute hat sich Markus daran versucht uns innerhalb von etwa 2 Stunden das Thema eBPF zu erklären. Das Thema ist durchaus komplex, aber versuchen wir, uns dem Ganzen langsam zu nähern.

Was ist eBPF?

Grob gesagt ermöglicht eBPF das Verhalten des Linux-Kernels zur Laufzeit zu beeinflussen, zu beobachten und zu erweitern, ohne eigene Kernelmodule zu schreiben oder den Kernel neu kompilieren zu müssen.

Ursprünglich stammt BPF aus dem Jahr 1997 und wurde als Packet Filter für BSD entwickelt, später dann in den Linux-Kernel übernommen.

Seit 2014 wurde BPF massiv erweitert – daraus entstand eBPF, das heute weit mehr kann als nur Netzwerkpakete filtern.

Heutzutage werden die Begriffe BPF und eBPF meist synonym verwendet.

Grundsätzlich ist eBPF eine virtuelle Maschine im Kernel, in der kleine Programme sicher ausgeführt werden können.

Diese Programme können sich z.B. an folgende Ereignisse hängen:

  • Systemaufrufe (syscalls)
  • Netzwerk-Events
  • Tracepoints
  • XDP (sehr frühe Paketverarbeitung, teils direkt auf der Netzwerkkarte)

Wichtig dabei: eBPF-Programme werden vor dem Laden verifiziert. Der Kernel stellt sicher, dass sie nicht abstürzen, keine Endlosschleifen enthalten und nur erlaubte Operationen ausführen.

„Compile once, run everywhere“ (CO-RE)

Ein zentrales Konzept moderner eBPF-Entwicklung ist CO-RE (Compile Once, Run Everywhere).

Das bedeutet:

  • eBPF-Programme müssen nicht für jeden einzelnen Kernel neu gebaut werden
  • sie laufen – einmal kompiliert – auf sehr vielen Kernel-Versionen
  • kein Reboot nötig
  • deutlich portabler als Kernel-Module
  • Änderungen müssen nicht upstream in den Kernel gebracht werden (was oft Jahre dauert bis die Änderungen in der Distribution der Wahl verfügbar sind)

Auf praktisch allen heutigen Linux-Kerneln ist eBPF bereits standardmäßig aktiviert.

Aufbau: Kernelspace & Userspace

Ein eBPF-Setup besteht fast immer aus zwei Teilen:

1. eBPF-Programm (Kernelspace)

  • läuft in der eBPF-VM im Kernel
  • meist: 1 Programm = 1 Funktion
    • denn Funktionsaufrufe sind nur sehr eingeschränkt möglich (oder müssen durch Inlining umgangen werden)
  • sollte schnell und leichtgewichtig sein
    • langsamer Code könnte sonst das ganze System ausbremsen

2. Userspace-Programm

  • lädt das eBPF-Programm in den Kernel
  • hängt es an Events (z.B. syscalls, Netzwerk-Events, Tracepoints)
  • kommuniziert über BPF-Maps (z.B. Ringbuffer) mit dem Kernel-Code
  • hier findet das „Heavy Lifting“ statt (Auswertung, Visualisierung, Logging, …)

Typischer Ablauf

  • Code zu eBPF-Bytecode kompilieren
  • eBPF-Programm in den Kernel laden
    • z.B. mit eigenem Userspace-Tool oder
    • bpftool prog load ...
  • und an Events hängen auf die es lauschen soll
    • auch wieder entweder mit eigenem Userspace-Programm, oder
    • bpftool prog attach ...
  • Kommunikation zwischen eBPF-Programm und Userspace-Programm über BPF-Maps

Welche BPF-Programme gerade auf dem eigenen System laufen kann man mit folgendem Befehl herausfinden:

bpftool prog

eBPF-Programme bleiben so lange geladen, wie noch etwas auf sie referenziert, z.B.:

  • das Userspace-Programm läuft noch
  • ein Netzwerk-Interface ist noch verbunden

Das Userspace-Programm kann man relativ einfach beenden, das hat man ja im Normalfall auch selbst gestartet. Netzwerk-Interfaces lassen sich aber z.B. wie folgt detachen:

bpftool net detach xdp dev eth0

Show me the Code!

Als erstes Beispiel haben wir dann folgenden Python-Code angeschaut. In diesem vereinfachten Beispiel wird der eBPF-Code als Text innerhalb einer Variablen gespeichert und über das Python-Modul bcc in den Kernel geladen und an den syscall execve gehängt.

Somit wird jedes Mal, wenn ein Programm gestartet wird „Hello World!“ in den Trace-Buffer geschrieben.

#!/usr/bin/python3
from bcc import BPF
import sys

program = r"""
int hello(void *ctx) {
    bpf_trace_printk("Hello World!");
    return 0;
}
"""

b = BPF(text=program)
syscall = b.get_syscall_fnname("execve")
b.attach_kprobe(event=syscall, fn_name="hello")

try:
    b.trace_print()
except KeyboardInterrupt:
    sys.exit(0)

Wenn ich das auf meinem System ausführe und in einer anderen Shell ein ls ausführe sieht die Ausgabe z.B. so aus:

$ sudo python3 helloworld.py 
b'           <...>-363432  [019] ...21 183556.882255: bpf_trace_printk: Hello World!'
b'           <...>-363434  [012] ...21 183556.894724: bpf_trace_printk: Hello World!'

In diesem Beispiel wird der globale Trace-Buffer genutzt. In der Praxis verwendet man meist eigene Ringbuffer, um sauber nur mit dem eigenen eBPF-Programm zu kommunizieren.

Weitere Anwendungsfälle

Wie schon angesprochen kann man damit auch Netzwerkpakete analysieren/filtern etc. Hierzu haben wir uns das Beispiel aus learning ebpf – chapter 8 angesehen. Das würde hier allerdings jetzt den Rahmen sprengen. Markus konnte das Buch dazu allerdings empfehlen, falls ihr euch näher damit beschäftigen wollt.

Auch nftables verwendet intern teilweise eBPF und wenn man richtig tief einsteigen will kann man mit dem Tool pwru (Packet, where are you?) den Weg von Paketen durch den Kernel nachvollziehen.

Weitere Infos zu eBPF gibt’s in deren Dokumentation und wie gesagt hat uns Markus auch die Beispiele aus https://github.com/lizrice/learning-ebpf und das dazugehörige Buch empfohlen.

Fazit

eBPF ist eines der mächtigsten Werkzeuge im Linux-Umfeld geworden, wenn es um:

  • Observability
  • Netzwerk
  • Security
  • Tracing
  • Performance-Analyse

geht. Und das alles, ohne den Kernel patchen oder neu starten zu müssen.

Next up: Themenabend Heimautomatisierung mit HomeAssistant

Bei der Themenwahl für den nächsten Themenabend waren wir uns zunächst unschlüssig. In der anschließenden Diskussion wurde jedoch schnell klar, dass aktuell viele von uns an Projekten rund um Heimautomatisierung arbeiten.

Um nur ein paar der Themen anzuteasern, die aufkamen:

  • Balkonkraftwerk
  • Auslesen von Stromzählern per IR-Diode und ESP
  • Heizungen automatisch beim Lüften abdrehen inkl. Benachrichtigungen aufs Handy, wenn die Fenster zu lange offen sind
  • und das Ganze dann natürlich idealerweise komplett lokal und ohne Cloud-Zwangsanbindung

Wir werden wir uns also beim nächsten Themenabend am 7. April zusammen das Thema Heimautomatisierung (vmtl. mit Fokus auf HomeAssistant) ansehen.

Wenn ihr Ideen für unsere nächsten Themenabende habt meldet euch gerne in unserem Matrix-Channel.

Kategorien
Chaostreff

Chaostreff Gunzenhausen goes 39C3

Wie jedes Jahr findet zwischen Weihnachten und Silvester der Chaos Communication Congress vom 27.12.-30.12. statt. Wir sind wieder dabei, diesmal auch so richtig als Assembly unter dem Namen Chaostreff Gunzenhausen.

Damit man uns auch erkennt/findet haben wir dazu passend mal den A0-Drucker im FabLab ausprobiert. Nach ein paar, sagen wir, Testdrucken hatten wir dann auch raus wie man die Größe und Orientierung richtig hinbekommt. Ich denke das Ergebnis kann sich sehen lassen:

Gedruckt ist das Ganze auf eine Art Leinwand. Wir haben noch nicht herausgefunden mit was man die Tinte richtig fixieren kann, wasserfest sind die Banner also leider noch nicht, aber nach ein paar Wochen Trockenzeit nun doch immerhin soweit Abriebfest, dass man nicht sofort schwarze Finger bekommt, wenn man drüber wischt. Experimente mit alkohol- und wasserbasierten Sprays (getestet wurden bisher: Fixativ, 3DLAC) waren leider nicht sehr erfolgreich.

Bei den Tests fiel dann auch noch eine kleine Chaos-Ente mit raus, die sich nun an die Wand neben die große FabLab-Ente gesellt hat.

Wenn ihr also auch auf dem 39C3 seid, schaut gerne vorbei und sagt hallo! Ich gehe davon aus, dass ihr uns über’s c3nav und die Banner schon finden werdet.

UPDATE: Und wenn die Banner nicht reichen, hier geht’s lang: 39c3.c3nav.de/l/chaostreff-gun

Und selbst, wenn ihr nicht vor Ort sein werdet, empfehle ich einen Blick in den Fahrplan. Viele der Vorträge werden nämlich, wie immer, auch gestreamt bzw. sind auch nachher noch auf media.ccc.de verfügbar.

Kategorien
Themenabend

Themenabend: Typst, besseres LaTeX?

Heute gab es den ersten Themenabend. Seinem Talk zum Thema Typst hat Jan den Untertitel „besseres LaTeX?“ gegeben. Eine steile These könnte man meinen, aber schauen wir uns mal an was Typst zu bieten hat.

Und warum will ich das verwenden?

Typst beschreibt sich selbst als „markup-based typesetting system“ ähnilch zu LaTeX. Jan hat zunächst einige Vorteile aufgezeigt, u.a. ist die Syntax sehr ähnlich zu Markdown und damit natürlich grundsätzlich Nerd-tauglich, da viele von uns tagtäglich mit Markdown arbeiten. Auch UTF-8 und Emoji lassen sich ohne Probleme verwenden 🥳 (was wohl in LaTeX nicht ganz so einfach ist).

Den Quelltext kann Typst dann wahlweise nach PDF, PNG, SVG, oder auch HTML exportieren.

Zahlreiche Formatierungsmöglichkeiten, automatisches Inhaltsverzeichnis, via Code aus CSV-Dateien befüllbare Tabellen/Grafiken sind alles Features die sich in wenigen Zeilen zeigen und erklären ließen. Auch Code-Blocks mit Syntax-Highlighting für verschiedenste Sprachen sind möglich und das ist erst der Anfang.

Bin dabei, wie fange ich am besten an?

Ein paar dieser Features könnt ihr in diesem Git-Repo in Verwendung sehen. Dort liegt u.a. auch der Vortrag selbst. Im folgenden Bild seht ihr die outline.typ links im Quelltext und rechts in der gerenderten Variante:

Auf den ersten Blick mag die Homepage nicht den Anschein machen, aber Typst ist Open Source, auf GitHub verfügbar und auch in den Paketquellen einiger Linux-Distributionen.

Um das Potential voll auszuschöpfen gibt es mit dem Typst Universe ein Verzeichnis mit Templates und Paketen die man sich einfach in sein Projekt ziehen kann z.B. im Beispiel von diesem Vortrag via

#import "@preview/minimal-presentation:0.7.0": *

Typst installiert die Pakete dann automatisch beim Export, man muss sich um nichts weiter kümmern.

Wenn man sich ansehen möchte wie das ganze gerendert aussieht kann man sich hiermit ein PDF generieren und öffnen lassen:

typst compile meine-tolle-präsentation.typ --open

Es gibt auch einen „watch“-Mode, falls man das nicht manuell bei jeder Änderung ausführen möchte, aber quasi live Änderungen sehen möchte:

typst watch meine-tolle-präsentation.typ

VIM oder Emacs?

Nachdem man sich bei Typst an die vorgegebene Syntax halten muss ist es selbstverständlich hilfreich, wenn einem der Editor dabei hilft, z.B. mit Syntax-Highlighting und Auto-Completion. Jan hat sich dazu in NeoVim den Language-Server Tinymist installiert, wie sich rausstellt gibt es auch für JetBrains IDEs ein Typst-Plugin, welches auf den ersten Blick auch gut funktioniert und sogar eine Live-Preview mitbringt.

Save The Date: Themenabend eBPF

Nach dem Themenabend ist vor dem Themenabend. Wir haben uns vorgenommen dieses Format nun quartalsweise anzubieten.

Der nächste Themenabend findet statt am 13.01.2026. Markus wird uns eine kurze Einführung zum Thema eBPF geben und wir werden zusammen versuchen anhand eines kleinen Beispiels in den Kernel einzutauchen.

Kategorien
Themenabend

Ankündigung Themenabend: Typst, oder LaTeX in gut

Nach unseren Erfahrungen mit dem Selfhosting-Camp wollen wir regelmäßige Themenabende veranstalten. Daher laden wir zum ersten Themenabend am 7. Oktober um 19 Uhr ins FabLab ein.

Das erste Thema ist Typst, ein Markup basiertes Textsatzsystem, ähnlich zu LaTeX, aber mit einfacherer Syntax.

Jan wird einen kurzen Einstieg geben und anschließend können wir uns verschiedene Einsatzmöglichkeiten ansehen und Fragen klären.

Kategorien
Chaostreff

Selfhosting Camp

Zu unserem 10. Jubiläum haben wir eingeladen und uns zum Thema Selfhosting ausgetauscht. Insgesamt hatten wir 11 Teilnehmer, teils natürlich vom Chaostreff selbst, teils aber auch von weiter her. Vielleicht haben wir damit ja auch sogar das ein oder andere neue Mitglied für den Chaostreff gewonnen.

Wir haben endlich ein Logo!

Chaosente sagt: NAT, NAT, NAT!

Anja war so nett und hat uns zu diesem Anlass ein Logo designed, angelehnt an die FabLab-Ente des FabLab Altmühlfranken, die sie auch erstellt hatte.

Bottle Clips für alle

Da wir auch uns noch unbekannte Gäste hatten, haben wir gedacht wir drucken jedem einen Bottle Clip mit dem eigenen Spitznamen. Damit kann dann jeder seine Flasche markieren und man kann im Zweifel kurz den Namen des Gegenübers ablesen, falls man den Namen noch nicht auswendig weiß.

bottle clip name tag mit dem Namen Nte und dem Chaosknoten als Logo

Freitag: Crashkurs mit Druckbetankung

Am Freitag haben wir unseren Gästen, die mit keinerlei Wissen zu Linux und Raspberry Pi zu uns kamen, innerhalb von ein paar Stunden einige Grundlagen beigebracht. Wir haben gezeigt wie man mit dem rpi-imager einen Raspberry Pi flasht, sich darauf mit SSH verbindet, wie man mit Docker und Docker Compose umgeht und wie man damit dann beliebige Container startet.

rpi-imager und eine Flasche Mate

Anwendungsbeispiel war hier zum einen Komodo, was eine Weboberfläche bietet mit der man die Container und komplette Docker Compose Setups verwalten kann und das finale Ziel war dann darauf ein Pi-hole laufen zu lassen, um damit einen Werbeblocker für das komplette Heimnetz zu haben.

5 Raspberry Pi

Wir haben zwar doch etwas länger gebraucht als gedacht und vermutlich hätte man schon alleine aus dem Thema Docker und Docker-Compose locker einen, oder zwei, einzelne Workshops machen können, aber im Endeffekt glaube ich konnte jeder etwas lernen.

Samstag: Und was selfhostest du so?

Am Samstag haben wir uns dann in Anlehnung an das Barcamp-Prinzip frühs gemeinsam überlegt welche Themen wir interessant finden und über was wir reden wollen und so die geplanten Zeitslots mit Themen gefüllt, hier ein kurzer Überblick.

Mediacenter – Jellyfin

DVD goes digital: Jellyfin ist eine Mediacenter-Software, mit der man seine Filme, Serien und Musik zentral verwalten und auf einer Vielzahl von Geräten konsumieren kann. Neben einer kurzen Demonstration haben wir uns angeschaut, wie man Jellyfin konfigurieren kann, um das Beste aus seinen Medien zu holen.

Nach Hause (IP) telefonieren

Wir haben verschiedene Möglichkeiten besprochen, wie man von unterwegs z.B. auf seinen Raspberry Pi zuhause zugreifen kann. Besprochen wurden z.B. DynDns (selfhosted mit ddns-updater), aber auch Wireguard-Tunnel mit wg-easy.

Pangolin wäre hierzu vmtl. auch praktisch und beschreibt sich selbst als „self-hosted tunneled reverse proxy“. Wir haben hierzu noch keine Erfahrung, möchten uns das aber bei einem der nächsten Chaostreffs zusammen ansehen. Komm vorbei, falls dich das auch interessiert!

Die Zeichnung wurde übrigens erstellt mit Excalidraw. Und eine Link-Empfehlung zum Thema Selfhosting gab es auch noch: https://www.reddit.com/r/selfhosted/

Backup, Backup und nochmal Backup

Welche Backup-Software gibt’s, welche sollte ich verwenden und was muss sie können? Das Backup muss sich voll automatisieren lassen, damit kann man es schon nicht vergessen. Inkrementelle Backups sind auch ein Muss, sonst geht einem vermutlich schnell der Speicher auf dem Backupmedium aus.

Großvater – Vater – Sohn: Auch wenn wir uns über die Begrifflichkeiten nicht ganz einig geworden sind, das Prinzip dahinter ist definitiv sinnvoll. Hebe z.B. mindestens ein Backup für jedes der letzten 10 Jahre auf, je ein Backup der letzten 12 Monate und so weiter. Somit kannst du jederzeit auch ältere Daten wiederherstellen, ohne dass du jedes einzelne (z.B. tägliche) Backup aufbewahren musst.

3-2-1-Regel: Um auf Nummer sicher zu gehen solltest du 3 Kopien deiner Daten haben, auf 2 unterschiedlichen Datenträgern und eines davon irgendwo extern.

Die Empfehlung nach ausführlichem Test verschiedener Software lautete: Hast du Linux, dann nutze Borg bzw. borgmatic und hast du Windows, dann ist Veeam (Downloadlinks: Windows / Linux) das Tool der Wahl. Kopia ist eventuell auch einen Blick wert und unterstützt sowohl Linux als auch Windows.

Als Beispiel haben wir dann noch gemeinsam borgmatic eingerichtet und auf eine Storage Box bei Hetzner gesichert.

Damit man mitbekommt, falls beim Backup mal etwas schiefgeht, kann man borgmatic noch mit healthchecks.io verknüpfen.

Auch hier gab es mit anonbox eine Link-Empfehlung. Dort kann man sich eine kurzlebige Wegwerf-Email-Adresse klicken, falls man sich mal eben schnell irgendwo einen Account erstellen möchte, dafür aber nicht seine eigene Mail-Adresse angeben will.

Selfhosted Cloud Gaming

Um von unterwegs auf den Gaming-Rechner zuhause zuzugreifen und mit geringer Latenz und guter Bildqualität spielen zu können gibt es den Server Sunshine den man sich auf seinem Windows- oder Linux-Rechner installieren kann und dann mit Clients wie moonlight von verschiedensten Systemen aus darauf zugreifen kann.

Lightning Talks

Zum Abschluss des Tages haben wir im Wechsel alle unsere Lieblingssoftware vorgestellt die wir so zuhause, oder auf dem eigenen Server im Internet am laufen haben:

  • BirdNET Pi
    • Raspberry Pi mit Mikrofon, erkennt automatisiert alle möglichen Vogelarten anhand des Spektrogramms der Audioaufnahme, erstellt Statistiken und benachrichtigt einen bei Bedarf
  • Tiny Tiny RSS
    • RSS-Feed-Aggregator um an einer Stelle News von allen möglichen Webseiten lesen zu können, ohne diese ständig manuell auf Neuigkeiten prüfen zu müssen
    • Webinterface und Android-App
  • Changedetection
    • Überwacht beliebige Webseiten auf Änderungen
    • praktisch, falls die Seite z.B. mal keinen RSS-Feed anbietet
  • audiobookshelf
    • Verwaltung für Hörbücher und Podcasts
    • Webinterface und Android-App
  • chibisafe
    • vereinfacht es Dateien schnell untereinander zu tauschen, indem es Direkt-Download-Links erzeugt
  • Tube Archivist
    • Archivieren von Youtube-Videos
  • Paperless-ngx
    • Dokumentenverwaltung für das papierlose Büro
    • mit automatischer Kategorisierung und OCR
  • HedgeDoc
    • multi-player markdown wordpad
    • unterstützt auch Slideshows (via reveal.js)
  • wallabag
    • Webseiten (also deren Inhalt) abspeichern zum später lesen
    • Browser-Addon zum einfachen Abspeichern

Da war sicher für jeden etwas Neues dabei und ich werde bestimmt auch ein paar Sachen davon mal ausprobieren. Fehlt deine Lieblingssoftware auf der Liste? Dann komm beim nächsten Chaostreff vorbei und zeig her!

Kategorien
Chaostreff

Einladung: Selfhosting Camp

Wie neulich angekündigt feiert der Chaostreff Gunzenhausen bald 10-jähriges Jubiläum 🥳

Was haben wir vor?

Wir haben überlegt, was wir zu dieser Gelegenheit besonderes machen könnten und sind zu dem Entschluss gekommen wir möchten eine Veranstaltung planen und Leute einladen. Soweit erstmal untypisch für Nerds, freiwillig mit Unbekannten reden zu wollen.
Welches Thema könnte also so interessant sein, dass wir dafür über unseren eigenen Schatten springen würden? Da wir alle entweder daheim, oder im Internet, eigene Server betreiben und darauf verschiedenste coole Software hosten, wollen ein Event zum Thema Selfhosting veranstalten.

🗓️ Das Ganze haben wir dann Selfhosting Camp genannt und es wird vom 9.5. – 10.5. im FabLab Altmühlfranken stattfinden.

🍕 Das wichtigste zuerst: Für Essen und Getränke ist gesorgt. Wir freuen uns über Spenden zur Deckung der Kosten.

🎟️ Zur besseren Planung und weil der Platz in unserem FabLab begrenzt ist, brauchen wir unbedingt Anmeldungen von euch. Eine für jeden Tag an dem ihr teilnehmen wollt. Anmeldeschluss ist der 30. April. Die Links findet ihr weiter unten.

Freitag: Crashkurs für Einsteiger

Um auch Einsteiger mit abzuholen, werden wir am Freitag mit einem Crashkurs starten. Hier werden wir mit den Basics anfangen und uns gemeinsam anschauen, wie man einen Raspberry Pi einrichtet und darauf eine kleine Beispielanwendung aufsetzt.

Du kannst dir wahlweise einen eigenen Raspberry Pi (3B oder neuer) mitbringen oder einen vom FabLab leihen.

🎟️ Sichere dir bitte in jedem Fall ein Ticket, falls du an dem Crashkurs teilnehmen willst: Ticket Crashkurs

Zwischendurch werden wir eine kleine Pause einlegen zum Abendessen und dann den Abend nach dem 2. Teil des Crashkurses gemütlich ausklingen lassen mit Open End.

🕓 Timetable

  • 16:30 Ankommen / Begrüßung
  • 17:00 Crashkurs Selfhosting für Einsteiger – Teil 1
  • 18:30 Abendessen
  • 20:00 Crashkurs – Teil 2
  • danach Networking mit Open End

Samstag: Workshops / Austausch

Wenn euch das bisher zu langweilig klingt, dann könnt ihr den Freitag auch gerne skippen und am Samstag direkt mit uns ans Eingemachte gehen.

Damit das „Chaos“ von „Chaostreff“ nicht zu kurz kommt wollen wir die Themen aber nicht vorab komplett festlegen, sondern den Tag eher offen gestalten. Wir werden ein paar Themen vorbereiten, aber würden dann vor Ort spontan miteinander entscheiden worüber wir reden wollen.
Hierfür haben wir 4 Session-Slots eingeplant, jeweils mit einer kleinen Pause zwischendurch und einer größeren Pause fürs Mittagessen.

Danach wird es noch Lightning-Talks geben, bei denen jeder die Möglichkeit hat spontan innerhalb weniger Minuten eines seiner Lieblingstools vorzustellen. Hast du die beste App, das praktischste Tool gefunden, oder du hast einfach nur ein richtig cooles Setup für dein Selfhosting? Dann zeig her!

Abendessen darf nach so einem Tag natürlich nicht fehlen. Im Anschluss können wir noch rumnerden solange wir Lust haben.

🎟️ Auch hier gilt, bitte für die bessere Planung ein Ticket sichern: Ticket Selfhosting Camp

🕓 Timetable

  • 09:30 Ankommen / Begrüßung
  • 10:00 Sessionplanung
  • 10:30 Session 1
  • 11:30 Session 2
  • 12:30 Mittagessen
  • 14:00 Session 3
  • 15:00 Session 4
  • 16:00 Lightning Talks
  • 18:30 Abendessen
  • danach Networking mit Open End

TLDR

  • Freitag, 9.5. ab 16:30 Crashkurs für Einsteiger: Ticket
  • Samstag, 10.5. ab 09:30 Selfhosting Camp: Ticket

Gebt diese Info gerne weiter und bringt Freunde mit. Wir freuen uns auf euch!

Kategorien
Chaostreff

🗓️ Save the Date: Selfhosting Camp

Den Chaostreff Gunzenhausen gibt’s nun schon seit knapp 10 Jahren! Anfangs waren wir noch in einer lokalen Pizzeria. Später haben wir uns an der Gründung des FabLab Altmühlfranken beteiligt und unsere Treffen finden seit dessen Eröffnung auch dort statt. Unseren Rhythmus mit Treffen in ungeraden Kalenderwochen haben wir dabei seit Beginn an beibehalten.

Unser erstes Treffen war am 6.5.2015, daher fällt der 10. Geburtstag auf den 6.5.2025, was zufällig auch ein Chaostreff-Termin ist, perfekt!

Dieses Jubiläum möchten wir am Wochenende darauf (9.5. – 11.5.) mit euch im FabLab Altmühlfranken feiern. Die genauen Tage und Zeiten stehen noch nicht fest. Aber haltet euch das Wochenende schonmal frei.

Das Wochenende soll unter dem Thema Selfhosting Camp stehen, mit Vorträgen, Workshops und allgemein offenem Austausch über:

  • erste Schritte zum Selfhosting
  • all die Software, die wir im Homelab, oder auch auf eigenen Servern selbst betreiben
  • Infrastruktur, welche uns das Leben einfacher macht

Wenn ihr euch mit uns austauschen und auf dem Laufenden bleiben wollt, kommt gerne in unseren Matrix-Channel: #chaostreff:matrix.fablab-altmuehlfranken.de

Kategorien
Chaostreff

Advent, Advent

Persönliches Zusammenkommen zu einem „normalen“ Chaostreff ist aktuell immer noch nicht drin, aber wie schon im letzten Beitrag berichtet lassen wir uns davon nicht abhalten uns weiterhin regelmäßig zu treffen und zwar auf unserem Mumble Server (bei Interesse einfach mal auf unserer Mailingliste melden). Dort vertreiben wir uns die Zeit dann auch immer mal wieder mit ein paar Aufgaben auf TryHackMe.

Da gestern der Advent begonnen hat, hat damit bei TryHackMe auch das diesjährige Advent of Cyber begonnen und zusätzlich auch Advent of Code. Beides haben wir uns heute auf dem Chaostreff gemeinsam angesehen und die heutigen Aufgaben gelöst.

Bei Advent of Cyber läuft es im Prinzip genau so ab wie auch bei jedem anderen Raum auf TryHackMe, das Grundkonzept hatten wir ja bereits im letzten Beitrag kurz angerissen. Der Unterschied ist, dass es hier im Advent jeden Tag eine neue Aufgabe (jeweils mit ein paar Unteraufgaben) gibt.

Bei Advent of Code bekommt man täglich zwei kleine (Programmier-)Aufgaben, die man mit einem kleinen Skript o.ä. in der Programmiersprache seiner Wahl lösen kann. Dazu gibt es eine Beispiel-Eingabe anhand derer die Aufgabenstellung erklärt wird. Für die Lösung des Problems bekommt dann aber jeder eine einzigartige (also für jeden unterschiedliche) Eingabe-Liste, man kann also nicht einfach die Lösung von jemand anderem abschauen, da jeder die richtige Lösung zu seiner Eingabe finden muss 😉

Wir haben dann versucht die heutige Aufgabe zu lösen und uns dazu gemeinsam auf einen Server eingeloggt und zur selben screen-Session verbunden. Das hat den Vorteil, dass wir uns die Lösung gemeinsam erarbeiten können, anstatt dass einer tippt und die anderen sehen nur via Bildschirmübertragung zu. Wir haben uns dabei für Python entschieden und damit es nicht zu einfach wird wollten wir auch Tests haben, die wir mit pytest geschrieben haben. Hier ein kleiner Einblick wie das ganze ablief:

Hat auf jeden Fall Spaß gemacht und auch geholfen ein paar eingerostete Python-Kenntnisse wieder etwas aufzufrischen 🙂

Kategorien
Bastelabend

Wir machen den Bastelkeller schön

Hui ist das schon wieder lang her seit dem letzten Beitrag hier. Heute haben wir mal ein paar Poster aufgehängt, die wir von der diesjährigen Easterhegg mitgebracht haben 🙂

Die drei linken Poster sind vom 34C3 und passen mit den Schraubenziehern und dem Motto ‚tuwat‘ auch sehr gut in den Bastelkeller wie wir finden.

Kategorien
Bastelabend

Wir haben uns heute Musik angeschaut

Nachdem wir das letzte Mal schon auf einem analogen Oszilloskop ‚Musik‘ angesehen haben (siehe oscilloscopemusic.com) wollten wir uns heute mal dran machen und selbst etwas kreieren.

Als Vorlage habe ich das hier genommen und etwas angepasst und herum gespielt. Relativ schnell konnten wir so einen Kreis und ein Viereck ‚zeichnen‘ 🙂

Den Code um die entsprechende Sounddatei zu erstellen findet ihr in diesem Repo chaostreff-gun/pyscopemusic. Vielleicht will da ja jemand noch dran weiter basteln 😉