Am 26.02.2021 fand die BOB Konferenz 2021 statt, diesmal unter Pandemiebedingungen – das hieß für uns: online.

Die BOB 2021 als virtuelle Veranstaltung

Ca. 200 Personen von vier Kontinenten waren angemeldet, und tatsächlich waren die allermeisten auch zu irgendeinem Zeitpunkt dabei. Wir hatten uns dazu entschlossen, die Plattform gather.town zu nutzen, da der persönliche Austausch und die Kleingruppengespräche in den Pausen immer zentrale Punkte bei der BOB waren und auch bleiben sollten. Die virtuelle Veranstaltung zog die Schwierigkeit der Zeitverschiebung mit sich: Unsere Vortragenden saßen in sechs verschiedenen Ländern mit vier verschiedenen Zeitzonen, die Besucher:innen verteilten sich noch deutlich weiter. Eine Teilnehmerin war von Anfang bis Ende dabei, obwohl die Veranstaltung um 2:00 morgens ihrer Ortszeit begann.

Unser Ziel war, die gesamte Veranstaltung innerhalb der Plattform abzuhalten, was auch gelang: jede:r Konferenzteilnehmer:in wurde auf der Karte durch einen kleinen, individualisierbaren Avatar dargestellt; das Prinzip von gather.town ist, dass man nur die Videos und Stimmen derjenigen Teilnehmer:innen eingeblendet bekommt, die sich innerhalb eines bestimmten Umkreises auf der gleichen Karte befinden. Dadurch, dass alle Avatare mit Namen versehen waren, entstanden auch Situationen, in denen man sah, dass sich Bekannte unterhielten und sich einfach „dazustellen“ konnte.

Wir hatten uns für eine dem Live-Event nachempfundene Aufteilung in zwei Vortrags- und zwei Tutorialräume, einem Foyer mit Sitzecken verschiedener Größen und (neu und nur virtuell) einer Dachterrasse mit „Bar“ entschieden, und so fanden sich – ganz wie im echten Leben – Grüppchen von Leuten zusammen, die sich unterhielten und austauschten.

Die Entscheidung, alle Aspekte der Konferenz – Vorträge, Tutorien, Q&A und Pausengespräche – auf der gleichen Plattform abzuhalten, verringerte Reibungsverluste und sorgte dafür, dass tatsächlich in allen Pausen und teils sogar während der Vorträge Teilnehmer:innen in Grüppchen zusammenstanden und sich unterhielten. Ob man die plötzliche Notwendigkeit, wieder mit Konferenzbekanntschaften Smalltalk betreiben zu müssen, begrüßt oder nicht: es sorgte für eine live-ähnliche Atmosphäre.

Die Veranstaltung begann mit der Keynote „How I Design Programs“ von Jeremy Gibbons. Ein Teilnehmer witzelte direkt im Anschluss „darüber denke ich noch die nächsten Wochen nach, ich kann jetzt eigentlich gehen“. Er ist dann aber doch auch bis zum Schluss geblieben.

Die weiteren Vorträge waren:

  • Theorems for Free Lars Hupel erklärte Parametrizität und was wir eigentlich meinen, wenn wir sagen, dass wir mit Typen argumentieren.

  • Nach 20 Jahren Agilität – wird Achtsam das neue Agil? Markus Wittwer brachte Teilnehmer:innen die Achtsamkeit näher und beleuchtete, was Achtsamkeit mit IT zu tun hat.

  • A gentle introduction to Stream Processing Nicolas Fränkel beleuchtete die Unterschiede zwischen dem altbewährten Batch-Processing-Modell und dem neueren Stream-Processing-Modell anhand von konkreten Anwendungsbeispielen.

  • darcs, because git won raichoo ketchum berichtete über darcs, eine Alternative zu Git, das flexibleren Umgang mit Patches erlaubt und nichtlineare Entwicklung unterstützt.

  • Lessons Learned: Architekturdokumentation mit arc42 Johannes Dienst sprach über seine Erfahrung mit arc43-Softwaredokumentation und ging darauf ein, welche Rolle das Tooling spielt.

  • Logic Programming and Databases pukkamustard hielt einen Vortrag über Datalog, eine Query-Sprache aus der Logikprogrammierung und mächtigere Alternative zu SQL.

  • SIMD in higher level programming languages Matthias Wahl stellte fest, dass unsere Prozessoren bis zu 8x effektiver sein könnten, und gibt konkrete Beispiele dafür, wie man dazu beitragen kann.

  • Higher-Kinded Data Types By Example Chris Penner gab eine Einführung in „Higher-Kinded Data Types“, einem neuartigen Ansatz, Datentypen zu parametrisieren, der flexibler ist als bisher und Wiederverwendung ermöglicht.

  • Pipes, Arrows, and the Universe Albert Schimpf stellte das universelle Daten-, Komponent- und Kompositions-Framework Scraper vor.

  • Servant vs. Mu: A Type-Level Battle Alejandro Serrano Mena verglich die beiden Haskell-Bibliotheken Mu und Servant miteinander.

  • Guarding your IO Boundaries Franz Thoma berichtete, was TypeScript in der neusten Iteration von Haskell gelernt hat und wie man diese Erkenntnisse nutzen kann, um die Grenzen unserer Programme zu schützen.

  • React Performance Christoph Schmalhofer sprach über React-Performance und die Möglichkeiten, die man hat, um diese zu verbessern.

  • A Firewall for Your Radical Network Stefanie Schirmer sprach über funktionale Programmierung als Sicherheitspraxis und erklärte anhand von QubeOS, wie virtuelle Maschinen dabei helfen können, sichere Netzwerke zu schaffen.

  • STG backend for idris2 Andor Pénzes erläuterte die Vorzüge von idris2 und zeigt, wie ein Backend für idris2 implementiert werden kann.

Tutorials:

Die Vorträge waren gut besucht und in den Pausen fanden sich immer wieder Kleingruppen aus alten und neuen Bekannten zusammen, die sich untereinander austauschten.

Auch wenn wir uns darauf freuen, nächstes Jahr hoffentlich wieder in Berlin vor Ort sein zu können: Wir würden so eine BOB auch noch einmal ausrichten.