{"acronym":"bobkonf2024","aspect_ratio":"16:9","updated_at":"2026-04-16T09:45:05.103+02:00","title":"BOB Konferenz 2024","schedule_url":"","slug":"conferences/bobkon/2024","event_last_released_at":"2024-07-14T00:00:00.000+02:00","link":"","description":"","webgen_location":"conferences/bobkon/2024","logo_url":"https://static.media.ccc.de/media/events/bobkonf/2024/logo.png","images_url":"https://static.media.ccc.de/media/events/bobkonf/2024","recordings_url":"https://cdn.media.ccc.de/events/bobkonf/2024","url":"https://api.media.ccc.de/public/conferences/bobkonf2024","events":[{"guid":"aafa184c-1120-480c-b14f-bd5dfa8a6027","title":"Referenziell transparente Business-Prozesse in funktional","subtitle":null,"slug":"bob11-2024-referenziell-transparente-business-prozesse-in-funktional-haerer","link":"https://bobkonf.de/2024/haerer.html","description":"Die explizite Modellierung von Business-Prozessen und deren Visualisierung ist ab einer bestimmten Größe und Anzahl von Prozessen unabdingbar. Ob zur Diskussion über Fachlichkeiten, zur Formulierung neuer Prozess-Modelle oder Wartung und Weiterentwicklung alter Prozess-Modelle - Prozess-Modelle als Diskussionsgrundlage erweisen sich als riesige Hilfe. Wäre es dazu nicht toll, wenn die Prozess-Modelle, einschließlich komplexer Bedingungen von Statusübergängen, referenziell transparent wären, das heißt auf vergleichbaren Daten beruhen, die sich einfach serialisieren und visualisieren lassen?\n\nIn diesem Talk zeigen wir nicht nur, wie wir unter Zuhilfenahme verschiedener Techniken aus der funktionalen Programmierung derartige Prozess-Modelle formulieren und ausführen, sondern auch, wie wir wiederverwendbare Prozessbausteine definieren, um über Prozess-Modelle zu abstrahieren. Die Modellierung stellt sich dabei so flexibel heraus, dass sie als Grundlage für verschiedene Prozess-Standards, wie BPMN \u0026 co verwendet werden kann.\n\nDurch die Kombination mit einem Event-basierten System entsteht so mit geringem Aufwand eine mächtige und leicht erweiterbare Prozess-Engine für unterschiedlichste prozessbasierte Anwendungen.\n\t","original_language":"deu","persons":["Simon Härer"],"tags":["bob2024","7","2024","Talk","BOB","BOBKonferenz"],"view_count":73,"promoted":false,"date":"2024-03-15T16:20:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-25T18:15:05.856+01:00","length":2668,"duration":2668,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/7-aafa184c-1120-480c-b14f-bd5dfa8a6027.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/7-aafa184c-1120-480c-b14f-bd5dfa8a6027_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/7-aafa184c-1120-480c-b14f-bd5dfa8a6027.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/7-aafa184c-1120-480c-b14f-bd5dfa8a6027.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-referenziell-transparente-business-prozesse-in-funktional-haerer","url":"https://api.media.ccc.de/public/events/aafa184c-1120-480c-b14f-bd5dfa8a6027","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"bbece69b-eb18-40bc-88ca-34eecc46910b","title":"Property-testing all* the things in SerenityOS","subtitle":null,"slug":"bob11-2024-property-testing-all-the-things-in-serenityos-janiczek","link":"https://bobkonf.de/2024/janiczek.html","description":"\n\t *: not all the things.\n\nI’m a big proponent of property-based testing (as in, QuickCheck or Hypothesis), be it in Elm, Haskell, Scala or JavaScript - it’s great at finding tricky edge cases, refining your understanding of your system and giving you confidence it works for more cases than just your happy path unit tests.\n\nImagine my horror when I saw that SerenityOS, my favorite “watch and admire it from distance” open source project didn’t have any support for property-based testing! There were three options: don’t test at all, test with unit tests, or fuzz the binary as a black box.\n\nI set out to write a property-based testing framework for SerenityOS, complete with automatic shrinking and all, and to use it to write property tests for apps and libraries all across SerenityOS.\n\nIn this talk I want to share that journey, the surprising complications and how I overcame them, the tests I’ve written and categories they fall into, and the bugs I’ve found.\n\t","original_language":"eng","persons":["Martin Janiczek"],"tags":["bob2024","13","2024","Talk","BOB","BOBKonferenz"],"view_count":67,"promoted":false,"date":"2024-03-15T15:05:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-09T23:00:08.370+01:00","length":2657,"duration":2657,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/13-bbece69b-eb18-40bc-88ca-34eecc46910b.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/13-bbece69b-eb18-40bc-88ca-34eecc46910b_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/13-bbece69b-eb18-40bc-88ca-34eecc46910b.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/13-bbece69b-eb18-40bc-88ca-34eecc46910b.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-property-testing-all-the-things-in-serenityos-janiczek","url":"https://api.media.ccc.de/public/events/bbece69b-eb18-40bc-88ca-34eecc46910b","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"6dc26c7d-412f-4fc2-9482-424a1be382f0","title":"Cypress überall - Ein einziges Automatisierungswerkzeug für alle Teststufen?!","subtitle":null,"slug":"bob11-2024-cypress-ueberall-sokenou","link":"https://bobkonf.de/2024/sokenou.html","description":" Das Open-Source-Werkzeug Cypress ist ursprünglich als Alternative zu Selenium im Bereich der End-2-End-Tests in der Webentwicklung gestartet. Inzwischen füllt es mit Component Testing auch die Lücke zwischen Unit- und End-2-End-Tests in der Webentwicklung, die bisher nur ungenügend besetzt war, also bei den Komponenten- und Integrationstests.\n\nLässt man Cypress Component Tests in sein Projekt, dann automatisiert man damit schnell nicht nur Komponententests, sondern auch Unit-Tests. Sie bieten sich damit als Ersatz für typische Unit-Test-Werkzeuge für Webanwendungen wie Jest oder Karma an. Cypress etabliert sich damit als Automatisierungswerkzeug für alle Teststufen, von den Unit- bis hin zu den End-2-End-Test. Kann Cypress wie ein Schweizer Taschenmesser wirklich den kleinen Zoo der bisher verwendeten Werkzeuge ablösen? Wir haben es ausprobiert und berichten über Erfahrungen positiver Art, aber auch über die Grenzen, an die wir gestoßen sind. Unter anderem zeigen wir anhand von Beispiele, wie Cypress als TDD-Werkzeug eingesetzt werden kann, wie einfach bestehende Tests migriert werden können, und haben evaluiert, was unter welchen Bedingungen schneller und stabiler ist, die Unit-Tests in Jest oder die in Cypress.\t\n\n\n\t","original_language":"deu","persons":["Dehla Sokenou"],"tags":["bob2024","2","2024","Talk","BOB","BOBKonferenz"],"view_count":67,"promoted":false,"date":"2024-03-15T10:15:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2025-11-12T07:00:02.575+01:00","length":2739,"duration":2739,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/2-6dc26c7d-412f-4fc2-9482-424a1be382f0.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/2-6dc26c7d-412f-4fc2-9482-424a1be382f0_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/2-6dc26c7d-412f-4fc2-9482-424a1be382f0.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/2-6dc26c7d-412f-4fc2-9482-424a1be382f0.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-cypress-ueberall-sokenou","url":"https://api.media.ccc.de/public/events/6dc26c7d-412f-4fc2-9482-424a1be382f0","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"e577fdf6-d83f-42fd-8b5b-a7046b053fd4","title":"Software Analytics with Data Science on Software Data","subtitle":null,"slug":"bob11-2024-software-analytics-with-data-science-on-software-data-harrer","link":"https://bobkonf.de/2024/harrer.html","description":"Data Science has demonstrated its value in extracting insights from business data, raising the question: Why not apply these principles to our software systems’ data? In this talk, I’ll introduce you to the world of Software Analytics. We’ll explore how to extract valuable insights from software data by using tools and techniques from data science to get rid of big, systemic problems in our software systems.\n\nYou’ll learn how to leverage scientific thinking, manage the analysis process, and apply literate statistical programming to analyze software systems in an understandable way. Or to put it in the words of software developers: We automate the analysis of large software systems using open-source tools like Jupyter Notebook, Python, pandas, jQAssistant, and Neo4j. I’ll also demonstrate through live-coding how we can gain new insights from data sources like Git repositories, performance measurements, or source code.\n\nJoin me in this session to acquire your starter kit for uncovering deeply hidden issues and change the way of improving systems with data-driven software analysis!\t","original_language":"eng","persons":["Markus Harrer"],"tags":["bob2024","14","2024","Talk","BOB","BOBKonferenz"],"view_count":55,"promoted":false,"date":"2024-03-15T16:20:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-02-10T16:15:10.729+01:00","length":2389,"duration":2389,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/14-e577fdf6-d83f-42fd-8b5b-a7046b053fd4.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/14-e577fdf6-d83f-42fd-8b5b-a7046b053fd4_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/14-e577fdf6-d83f-42fd-8b5b-a7046b053fd4.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/14-e577fdf6-d83f-42fd-8b5b-a7046b053fd4.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-software-analytics-with-data-science-on-software-data-harrer","url":"https://api.media.ccc.de/public/events/e577fdf6-d83f-42fd-8b5b-a7046b053fd4","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"b048d207-3245-4392-bc66-ecfad74fc70e","title":"Hyper Hyper! Javascript fatigue und die Hypermedia Renaissance (?)","subtitle":null,"slug":"bob11-2024-javascript-fatigue-und-die-hypermedia-renaissance-schneider","link":"https://bobkonf.de/2024/schneider.html","description":"Hypermedia erlebt in den letzten Jahren eine Renaissance. Das\nElixir-Webframework Phoenix\nbietet mit\nLive-Views\neinen Hypermedia-Mechanismus an, um reiche Webfrontends ohne\nJavaScript zu schreiben. Ähnlich das\nTurbo-Paket für Ruby on Rails.\n\nDazu gesellt sich seit einiger Zeit HTMX. Das ist\neine sprach- und frameworkunabhängige Javascript-Bibliothek die HTML\nals Hypertext endlich vervollständigen soll. Wer sich schon immer\ndarüber geärgert hat, dass nur Anchor-Tags und Formulare einen Request\nabschicken dürfen, warum diese überhaupt nur GET bzw. POST\nunterstützen und warum immer gleich die ganze Seite ersetzt werden\nmuss, ist hier genau richtig.\n\nAnders als mit React und Konsorten bekommen wir\nmit HTMX endlich wieder die Möglichkeit, wirklich deklarativen\nFrontendcode zu schreiben und den Zustand dort zu lassen, wo er\nohnehin hingehört: auf dem Server. Dass die Frontend Buildzeiten auf\nNull sinken ist natürlich ein netter Bonus.\n\nWer also keine Lust mehr hat, für jede Single Page Application\ngrundlegende Browserfunktionalität nachzubauen (looking at you,\nNavigation und History) oder Performancehacks für große Selects zu\nbasteln, kann sich hier anschauen, wie das deklarative Hypermedia Web\nin Zukunft (wieder) aussehen könnte.\n\t","original_language":"deu","persons":["Marco Schneider"],"tags":["bob2024","6","2024","Talk","BOB","BOBKonferenz"],"view_count":106,"promoted":false,"date":"2024-03-15T15:05:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-06T02:45:02.999+02:00","length":2605,"duration":2605,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/6-b048d207-3245-4392-bc66-ecfad74fc70e.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/6-b048d207-3245-4392-bc66-ecfad74fc70e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/6-b048d207-3245-4392-bc66-ecfad74fc70e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/6-b048d207-3245-4392-bc66-ecfad74fc70e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-javascript-fatigue-und-die-hypermedia-renaissance-schneider","url":"https://api.media.ccc.de/public/events/b048d207-3245-4392-bc66-ecfad74fc70e","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"171bd1d8-fbf1-4d78-ac81-a953a5a7a271","title":"Erlang, OCaml, same thing 🤷","subtitle":null,"slug":"bob11-2024-erlang-ocaml-same-thing-ostera","link":"https://bobkonf.de/2024/ostera.html","description":"Ever wondered what type-safe, massively concurrent functional\nprogramming could look like? Join me on a journey from Erlang to OCaml\nand back again.\n\nWe’ll learn about Caramel 🍬 –\nan experiment in bringing type-safety for the Erlang VM. Caramel was\nborn out of the question: why is Erlang hard to type? – and as it\nturns out, it is not! If you restrict it enough. So much so that what\nyou end up with is…OCaml?\n\nOn the flip side, the new algebraic effects and multicore capabilities\nof OCaml 5 open the possibility of new execution models. How far could\nwe take them? Could we inject Erlang’s famed concurrency model into\nOCaml?\n\nRiot 🌪️ is an actor-model runtime\nfor OCaml 5 that brings multi-core scheduling and lightweight\nprocesses, communicating via message passing.\n\nKey Takeaways\n\n_ Learn more about how type safety and supervision trees make for the\nultimate reliability stack\n- Understand the convergence of Erlang and OCaml\n- Get started writing Type-safe actor systems in OCaml with Riot\n\t\n\n\n\t","original_language":"eng","persons":["Leandro Ostera"],"tags":["bob2024","11","2024","Talk","BOB","BOBKonferenz"],"view_count":159,"promoted":false,"date":"2024-03-15T12:35:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-12T14:15:05.928+02:00","length":2781,"duration":2781,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/11-171bd1d8-fbf1-4d78-ac81-a953a5a7a271.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/11-171bd1d8-fbf1-4d78-ac81-a953a5a7a271_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/11-171bd1d8-fbf1-4d78-ac81-a953a5a7a271.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/11-171bd1d8-fbf1-4d78-ac81-a953a5a7a271.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-erlang-ocaml-same-thing-ostera","url":"https://api.media.ccc.de/public/events/171bd1d8-fbf1-4d78-ac81-a953a5a7a271","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"b9c15eec-2a9e-4584-87da-3cf80d69af18","title":"Kommunikationsmuster für Services: Effizient und zuverlässig","subtitle":null,"slug":"bob11-2024-kommunikationsmuster-fuer-services-butenuth","link":"https://bobkonf.de/2024/butenuth.html","description":"Kennt jemand eine IT-Landschaft mit nur einer Anwendung? Ich nicht, selbst die größten Monolithen lösen selten alles alleine. In den meisten Unternehmen existieren normalerweise mehrere Anwendungen, die auf ihre Bereiche spezialisiert sind. Die Spezialisierung wird aber vermutlich selten so weit gehen, dass die verwendeten Daten vollständig disjunkt sind. In den meisten Fällen liegt ein bunter Mix vor: Rein lokale Daten einer Anwendung, redundant gespeicherte Daten und Aufgaben, die von einer zur nächsten Anwendung weitergereicht werden.\n\nWie gehen wir mit diesem Zoo am besten um, ohne in einer Wildnis zu landen, in der Daten und Aufträge verloren gehen, Daten inkonsistent sind oder Aufträge mehrfach ausgeführt werden? Manche sehen in API-Management und REST die Lösung für alle Probleme, andere schwören auf Event-driven-Architecture mit zentralem Event-Broker. Ich werde (einfache) Kommunikationsmuster für die häufigsten Probleme in derartig verteilten Systemen vorstellen, immer mit den Zielen einfach, zuverlässig und effizient. Und dem Wissen, dass es ohne Kompromisse nicht geht.\n\t","original_language":"deu","persons":["Roger Buthenuth"],"tags":["bob2024","4","2024","Talk","BOB","BOBKonferenz"],"view_count":57,"promoted":false,"date":"2024-03-15T12:35:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-01-16T15:15:16.023+01:00","length":2606,"duration":2606,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/4-b9c15eec-2a9e-4584-87da-3cf80d69af18.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/4-b9c15eec-2a9e-4584-87da-3cf80d69af18_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/4-b9c15eec-2a9e-4584-87da-3cf80d69af18.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/4-b9c15eec-2a9e-4584-87da-3cf80d69af18.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-kommunikationsmuster-fuer-services-butenuth","url":"https://api.media.ccc.de/public/events/b9c15eec-2a9e-4584-87da-3cf80d69af18","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"5fb44183-40d6-44de-872e-72b8d8f0f7c8","title":"Zero-Knowledge-Proofs for Privacy and Trust","subtitle":null,"slug":"bob11-2024-zero-knowledge-proofs-for-privacy-and-trust-kant","link":"https://bobkonf.de/2024/kant.html","description":"Zero-knowledge proofs are cryptographic techniques that allow a prover\nto convince a verifier that certain statements hold, without providing\nany additional information. They are becoming increasingly popular in\nthe blockchain space, as they provide solutions to overcome inherent\nweaknesses of blockchains: as they assume a complete lack of trust\nbetween participants, every calculation has to be replicated by\nmultiple parties, which leads to poor efficiency. Also, blockchains\nprovide a shared public ledger, which by default is lacking any\nprivacy.\n\nIn this presentation, we will discuss zero-knowledge succinct\nnon-interactive arguments of knowledge (zkSNARKS). Using the mina\nblockchain and smart contract system as an example, we will show how\nthey can be used to efficiently create trust in an untrusted\nenvironment. We will also look at how they allow creating applications\nwith a programmable degree of privacy.\n\nWhile zero knowledge techniques are a perfect match for blockchains,\nand they are rapidly gaining traction in that industry, their\nusefulness goes beyond that. The goal of this presentation is to\nintroduce the audience to the concept of zero knowledge proofs, and\nprovide a basic understanding and intuition of how they work, and\nunder which circumstances they can be useful.\n\t","original_language":"eng","persons":["Philipp Kant"],"tags":["bob2024","15","2024","Talk","BOB","BOBKonferenz"],"view_count":127,"promoted":false,"date":"2024-03-15T17:10:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-25T14:30:08.024+01:00","length":2731,"duration":2731,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/15-5fb44183-40d6-44de-872e-72b8d8f0f7c8.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/15-5fb44183-40d6-44de-872e-72b8d8f0f7c8_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/15-5fb44183-40d6-44de-872e-72b8d8f0f7c8.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/15-5fb44183-40d6-44de-872e-72b8d8f0f7c8.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-zero-knowledge-proofs-for-privacy-and-trust-kant","url":"https://api.media.ccc.de/public/events/5fb44183-40d6-44de-872e-72b8d8f0f7c8","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"a064fb6e-5975-46bb-94df-5ab0f98dd325","title":"Functional Programming in Swift","subtitle":null,"slug":"bob11-2024-functional-programming-in-swift-chakravarty","link":"https://bobkonf.de/2024/chakravarty.html","description":"When people talk about functional programming in modern multi-paradigm languages, they usually mention Rust, Scala, or Kotlin. You rarely hear Swift being mentioned. This is odd, as one might argue that, of these languages, Swift places the strongest emphasis on functional programming.\n\nIn this talk, I will explain the core functional programming features of Swift, including its expressive type system, value types, and mutability control. Furthermore, I will discuss how Swift’s language design is influenced by the desire to create a language that addresses the whole spectrum from low-level systems programming up to high-level applications with sophisticated graphical user interfaces. Beyond the core language itself, functional programming also permeates Swift’s rich ecosystem of libraries. To support this point, I will outline some FP-inspired core libraries, covering concepts from functional data structures over functional reactive programming to declarative user interfaces.\n\nFinally, I will briefly summarise practical considerations for using Swift in your own projects. This includes the cross-platform toolchain, the package manager, and interoperability with other languages.\n\t","original_language":"eng","persons":["Manuel Chakravarty"],"tags":["bob2024","10","2024","Talk","BOB","BOBKonferenz"],"view_count":186,"promoted":false,"date":"2024-03-15T11:45:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-16T09:45:05.100+02:00","length":2686,"duration":2686,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/10-a064fb6e-5975-46bb-94df-5ab0f98dd325.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/10-a064fb6e-5975-46bb-94df-5ab0f98dd325_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/10-a064fb6e-5975-46bb-94df-5ab0f98dd325.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/10-a064fb6e-5975-46bb-94df-5ab0f98dd325.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-functional-programming-in-swift-chakravarty","url":"https://api.media.ccc.de/public/events/a064fb6e-5975-46bb-94df-5ab0f98dd325","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"1daf62a1-cf78-44e5-ae38-847c2c6035db","title":"Keynote: Who's Afraid of the Turnstile?","subtitle":null,"slug":"bob11-2024-whos-afraid-of-the-turnstile-rossberg","link":"https://bobkonf.de/2024/rossberg.html","description":"Programmers are well familiar with BNF as a concise and precise formal\nnotation for defining programming language syntax. Nobody would\nconsider describing syntax in prose. But more than 60 years after the\nintroduction of syntax formalisms, it’s still accepted practice that\nprogramming language semantics, which is the far more delicate part\nof a language definition, is specified by a combination of cumbersome\nprose, hidden assumptions, and wishful thinking.\n\nIn this talk, I show how we closed this gap in the specification of\nWebAssembly, hopefully demonstrating that there is little reason to be\nafraid of formal semantics. In the end, it’s merely syntax! The\ntechniques that the academic community has developed over the past 4\ndecades work well and scale to a full-blown industrial language. I\nalso give a peek at a novel tool chain this approach enables us to\nbuild, which can generate much of the written WebAssembly\nspecification and corresponding proofs and tests, achieving new levels\nof trust in the correctness of the specification.\n\n\n\t","original_language":"eng","persons":["Andreas Rossberg"],"tags":["bob2024","1","2024","Talk","BOB","BOBKonferenz"],"view_count":91,"promoted":false,"date":"2024-03-15T09:00:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-15T18:00:06.031+01:00","length":3282,"duration":3282,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/1-1daf62a1-cf78-44e5-ae38-847c2c6035db.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/1-1daf62a1-cf78-44e5-ae38-847c2c6035db_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/1-1daf62a1-cf78-44e5-ae38-847c2c6035db.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/1-1daf62a1-cf78-44e5-ae38-847c2c6035db.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-whos-afraid-of-the-turnstile-rossberg","url":"https://api.media.ccc.de/public/events/1daf62a1-cf78-44e5-ae38-847c2c6035db","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"7e82bd82-afba-4765-8a1d-9c222d0f6763","title":"End-to-end Type-Safety with Your Own API Spec DSL","subtitle":null,"slug":"bob11-2024-end-to-end-type-safety-with-your-own-api-spec-dsl-schmaltz","link":"https://bobkonf.de/2024/schmaltz.html","description":"\nThis talk offers a deep dive into the creation of a custom Domain-Specific Language (DSL) for HTTP API specifications, focusing on achieving end-to-end type safety targeting TypeScript client applications with Go/Rust/OCaml backends. I’ll share my experiences and choices in developing this DSL in OCaml, highlighting its design principles and challenges encountered.\n\nKey discussion points include the necessity of type safety across software layers, DSL design strategies, and the detailed process of building and integrating the DSL. I’ll cover some practical challenges and solutions in DSL development, considering aspects like type inference, schema validation, and automatic code generation for the backend routes and the client-side bindings.\n\t","original_language":"eng","persons":["Sabine Schmaltz"],"tags":["bob2024","9","2024","Talk","BOB","BOBKonferenz"],"view_count":78,"promoted":false,"date":"2024-03-15T10:15:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-21T20:15:05.685+01:00","length":2664,"duration":2664,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/9-7e82bd82-afba-4765-8a1d-9c222d0f6763.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/9-7e82bd82-afba-4765-8a1d-9c222d0f6763_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/9-7e82bd82-afba-4765-8a1d-9c222d0f6763.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/9-7e82bd82-afba-4765-8a1d-9c222d0f6763.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-end-to-end-type-safety-with-your-own-api-spec-dsl-schmaltz","url":"https://api.media.ccc.de/public/events/7e82bd82-afba-4765-8a1d-9c222d0f6763","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"ca76dbd7-0433-4a45-bbaa-1fc2712b1455","title":"Konsequente Barrierefreiheit durch Partizipation im Prozess","subtitle":null,"slug":"bob11-2024-konsequente-barrierefreiheit-durch-partizipation-im-prozess-paliszewska-rogalla","link":"https://bobkonf.de/2024/paliszewska-rogalla.html","description":"Ausgangsthesen:\n\n(1) Barrierearme oder barrierefreie Software und/oder IT-Systeme\n(=Produkte) können nur das Ergebnis entsprechend gestalteter\nEntwicklungsprozesse sein, Barrierfreiheit nachträglich zu\nimplementieren ist kaum möglich und sehr teuer.\n\n(2) Die Anforderungen aus der BITV 2.0 bzw. WACG 2.x reichen für die\nbarrierefreie Gestaltung von Software und/oder IT-Systemen nicht aus.\nSie müssen durch weitere Anforderungen und durch die systematische\nEinbeziehung von Menschen mit (unterschiedlichen) Behinderungen\nerweitert werden.\n\nLösungsansätze:\n\n(3) Einen Rahmen zur Prozessgestaltung liefert die neue Norm ISO/IEC\n30071-1.\n\n(4) Aus unserer Sicht ist vor allem Partizipation im Prozess\nerforderlich, also: Menschen mit Behinderungen werden von Anfang an,\nschon bei Anforderungserhebung einbezogen und in verschiedenen Rollen\nin alle Entwicklungsphasen, wie Design, Implementierung sowie Tests.\n\nErfahrungen:\n\n(5) Als Mitglieder eines Teams von Menschen mit unterschiedlichen\nBehinderungen berichten wir, was unsere Erfahrungen sind und was aus\nunserer Sicht die wichtigsten technischen wie nicht-technischen\nAnforderungen sind. Die Basis bildet die Schärfung des Bewusstseins\nfür die tatsächlichen Bedürfnisse und Herausforderungen von Menschen\nmit Behinderungen, bei Entwickler*innen wie in der Gesellschaft\ninsgesamt.\t","original_language":"deu","persons":["Irmhild Rogalla","Jolanta Paliszewska"],"tags":["bob2024","5","2024","Talk","BOB","BOBKonferenz"],"view_count":34,"promoted":false,"date":"2024-03-15T14:15:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2025-12-03T08:00:06.269+01:00","length":2578,"duration":2578,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/5-ca76dbd7-0433-4a45-bbaa-1fc2712b1455.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/5-ca76dbd7-0433-4a45-bbaa-1fc2712b1455_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/5-ca76dbd7-0433-4a45-bbaa-1fc2712b1455.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/5-ca76dbd7-0433-4a45-bbaa-1fc2712b1455.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-konsequente-barrierefreiheit-durch-partizipation-im-prozess-paliszewska-rogalla","url":"https://api.media.ccc.de/public/events/ca76dbd7-0433-4a45-bbaa-1fc2712b1455","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"e323823f-fad9-4820-a09a-2b84df5e4ee5","title":"Kontrollsoftware für eine Jupitermission der ESA: Ein Erfahrungsbericht","subtitle":null,"slug":"bob11-2024-kontrollsoftware-fuer-eine-jupitermission-schirmer-winkelmann","link":"https://bobkonf.de/2024/schirmer-winkelmann.html","description":"Die Implementierung der Steuersoftware für das Messinstrument SWI auf der ESA Jupiter-Raumsonde JUICE dauerte acht Jahre und fand unter in vieler Hinsicht ungünstigen Bedingungen statt.\n\nHöchste Priorität bei der Entwicklung hatten maximale Laufzeitstabilität und Einhaltung der Liefertermine. Um diese Ziele zu erreichen mussten verschiedene in der Industrie übliche und von der ESA vorgeschlagene Methoden durch effizientere Herangehensweisen ersetzt werden.\n\nDie aufgetretenen Probleme und die entsprechenden Lösungen werden im Einzelnen besprochen.","original_language":"deu","persons":["Oskar Schirmer","Felix Winkelmann"],"tags":["bob2024","3","2024","Talk","BOB","BOBKonferenz"],"view_count":220,"promoted":false,"date":"2024-03-15T11:45:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-14T06:30:04.407+02:00","length":2672,"duration":2672,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/3-e323823f-fad9-4820-a09a-2b84df5e4ee5.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/3-e323823f-fad9-4820-a09a-2b84df5e4ee5_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/3-e323823f-fad9-4820-a09a-2b84df5e4ee5.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/3-e323823f-fad9-4820-a09a-2b84df5e4ee5.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-kontrollsoftware-fuer-eine-jupitermission-schirmer-winkelmann","url":"https://api.media.ccc.de/public/events/e323823f-fad9-4820-a09a-2b84df5e4ee5","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","title":"Model-Based Testing with QuickCheck","subtitle":null,"slug":"bob11-2024-model-based-testing-with-quickcheck-bailly","link":"https://bobkonf.de/2024/bailly.html","description":"QuickCheck is well-known as a framework for Property-Based Testing whereby one writes tests as properties some code should respect and use generators and shrinkers to prove or find counterexamples to those properties. Building on those principles, quickcheck-dynamic is a new tool to define State-Machine like models of software, generate and run sequence of actions, and express properties of the system in terms of high-level Dynamic Logic expressions.\n\nThis session is both an introduction to, and an experience report on, the use of quickcheck-dynamic and more generally to the principles and practices of Model-Based Testing. Through a few examples drawn from real-life use of the library, I hope to convince the audience of the relevance of these tools for the development of complex, stateful software.\t","original_language":"eng","persons":["Arnaud Bailly"],"tags":["bob2024","12","2024","Talk","BOB","BOBKonferenz"],"view_count":68,"promoted":false,"date":"2024-03-15T14:15:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-04-10T20:30:06.860+02:00","length":2654,"duration":2654,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/12-371aa3f8-ba1b-4e2c-a4ca-ab79772d996e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-model-based-testing-with-quickcheck-bailly","url":"https://api.media.ccc.de/public/events/371aa3f8-ba1b-4e2c-a4ca-ab79772d996e","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]},{"guid":"1f38d787-9829-4d89-9c7b-6cc96658ecce","title":"The Unreasonable Effectiveness of Events","subtitle":null,"slug":"bob11-2024-the-unreasonale-effectiveness-of-events-huehnken","link":"https://bobkonf.de/2024/huehnken.html","description":"For many, event-driven communication is often considered just an implementation detail. However, event-driven architecture has implications that reach far beyond the realm of asynchronous messaging. In this presentation, we will delve into many of these implications in detail. From delivery guarantees to promise theory, from designing event payloads to functional programming, from error handling to strategic domain-driven design - we will embark on a journey from seemingly minor details to the big picture.\n\t","original_language":"eng","persons":["Lutz Hühnken"],"tags":["bob2024","8","2024","Talk","BOB","BOBKonferenz"],"view_count":160,"promoted":false,"date":"2024-03-15T17:10:00.000+01:00","release_date":"2024-07-14T00:00:00.000+02:00","updated_at":"2026-03-10T00:30:06.799+01:00","length":2704,"duration":2704,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2024/8-1f38d787-9829-4d89-9c7b-6cc96658ecce.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2024/8-1f38d787-9829-4d89-9c7b-6cc96658ecce_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2024/8-1f38d787-9829-4d89-9c7b-6cc96658ecce.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2024/8-1f38d787-9829-4d89-9c7b-6cc96658ecce.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2024-the-unreasonale-effectiveness-of-events-huehnken","url":"https://api.media.ccc.de/public/events/1f38d787-9829-4d89-9c7b-6cc96658ecce","conference_title":"BOB Konferenz 2024","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2024","related":[]}]}