{"acronym":"bobkonf2026","aspect_ratio":"16:9","updated_at":"2026-05-19T21:00:06.604+02:00","title":"BOB Konferenz 2026","schedule_url":"","slug":"conferences/bobkon/2026","event_last_released_at":"2026-05-19T00:00:00.000+02:00","link":"","description":"","webgen_location":"conferences/bobkon/2026","logo_url":"https://static.media.ccc.de/media/events/bobkonf/2026/logo.png","images_url":"https://static.media.ccc.de/media/events/bobkonf/2026","recordings_url":"https://cdn.media.ccc.de/events/bobkonf/2026","url":"https://api.media.ccc.de/public/conferences/bobkonf2026","events":[{"guid":"b96b7bff-748b-4d1c-b3e2-ff3c81e893cd","title":"Encoding Effects as Capabilities","subtitle":null,"slug":"bob11-2026-encoding-effects-rinaudo","link":"https://bobkonf.de/2026/rinaudo.html","description":"Capabilities are an exciting development for the future of Scala, but are still misunderstood and a little abstract.\n          \n          The purpose of this talk is to introduce the problem they are trying to solve and, step by step, demonstrate how they can be used to encode effects while allowing developers to use a direct style of programming.\n          \n          By the end of the talk, we’ll have created a respectable set of effects and their handlers, and written an entire program using them to demonstrate how natural that style of programming can be.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["NicolasRinaudo"],"view_count":0,"promoted":false,"date":"2026-03-13T17:50:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:41:16.331+02:00","tags":["8","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2457,"duration":2457,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/8-b96b7bff-748b-4d1c-b3e2-ff3c81e893cd.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/8-b96b7bff-748b-4d1c-b3e2-ff3c81e893cd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/8-b96b7bff-748b-4d1c-b3e2-ff3c81e893cd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/8-b96b7bff-748b-4d1c-b3e2-ff3c81e893cd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-encoding-effects-rinaudo","url":"https://api.media.ccc.de/public/events/b96b7bff-748b-4d1c-b3e2-ff3c81e893cd","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"00e463b7-ecb5-4309-b065-f9250e72f516","title":"Proofs for programs, programs for proofs","subtitle":null,"slug":"bob11-2026-proofs-for-programs-himmel","link":"https://bobkonf.de/2026/himmel.html","description":"Proofs about programs are great, but what happens if we let programs and proofs interact in both directions? Lean is both a programming language and an interactive theorem prover, and it provides ways of influencing the compiler using proofs. A simple example is proving that array accesses are in-bounds to guarantee that no bounds check is emitted by the compiler. Much more elaborate examples involving nontrivial properties of programs are possible, limited only by the ergonomics of the proving system.\n          \n          Thanks to Lean being a competent interactive theorem prover, this is now quite practical, and we can reason about complex properties like balancing properties of binary search trees or UTF-8 decoding and encoding right as we implement them, and use proofs to make the implementations even better. In my presentation, I will walk through many examples in the Lean standard library where this interaction has enabled us to write code that is safe, fast and user-friendly all at once.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Markus Himmel"],"view_count":0,"promoted":false,"date":"2026-03-13T15:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:53:31.765+02:00","tags":["5","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2694,"duration":2694,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/5-00e463b7-ecb5-4309-b065-f9250e72f516.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/5-00e463b7-ecb5-4309-b065-f9250e72f516_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/5-00e463b7-ecb5-4309-b065-f9250e72f516.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/5-00e463b7-ecb5-4309-b065-f9250e72f516.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-proofs-for-programs-himmel","url":"https://api.media.ccc.de/public/events/00e463b7-ecb5-4309-b065-f9250e72f516","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3","title":"Programming Efficient Joins","subtitle":null,"slug":"bob11-2026-efficient-joins-henglein","link":"https://bobkonf.de/2026/henglein.html","description":"A relational join is a function that combines data from multiple sources and joins them by programmer-defined attributes they share.  They are everywhere data records are stored and processed, also outside database systems.  Common examples include joining customers and orders; connecting genes, mutations, and experiments; and combining songs, artists and plays.   Joins have a reputation of being tricky to program and difficult to implement efficiently.  For example, computing the set of triangles (x, y, z) where x likes y, y likes z and z likes x, cannot be implemented efficiently using techniques employed in standard SQL query engines such as binary hash joins and any form of query plan optimization.  \n          \n          In this talk we show that joins are simple to program to be guaranteed worst-case optimal, even for cyclic queries like triangles.  They require only basic data structures and programming techniques: Nested dictionaries, iterating over the smallest set, and nested iteration.  We illustrate this by 20-line Python and Haskell programs for triangles, which can execute orders of magnitude faster than common SQL engines. We give a useful intuition underlying the method's worst-case optimality proof and provide additional techniques for rather straightforwardly coded optimizations.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Fritz Henglein"],"view_count":0,"promoted":false,"date":"2026-03-13T15:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:53:36.505+02:00","tags":["13","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2626,"duration":2626,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/13-d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/13-d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/13-d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/13-d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-efficient-joins-henglein","url":"https://api.media.ccc.de/public/events/d08c3cd3-f035-43d1-9bbb-cf80b41dc0d3","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"4a64fab7-799b-4731-984c-61fd38965eb1","title":"Git meets Linked Data – A Tale of an Unusual Architecture","subtitle":null,"slug":"bob11-2026-git-linked-data-schlegel","link":"https://bobkonf.de/2026/schlegel.html","description":"In 2025 we wrote a software system supporting an EU funded research\n          project. What started as a run-of-the-mill client-server-database\n          architecture grew into an unusual combination of technologies: We use\n          Linked Data and the Resource Description Framework (RDF) in the form\n          of Apache Jena as the data model and git – yes, the source code\n          management tool – as our storage system. These technological choices\n          weren't rooted in a desire for novelty. They were derived as\n          straightforward consequences from our requirements. Thanks to\n          functional software architecture principles such as simple, and\n          precise specifications based on pure functions, what could have become\n          a hard to maintain Frankensteinian mess has actually evolved into\n          reasonable, maintainable, and well-performant software.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Markus Schlegel"],"view_count":0,"promoted":false,"date":"2026-03-13T13:50:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:57:14.428+02:00","tags":["12","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2678,"duration":2678,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/12-4a64fab7-799b-4731-984c-61fd38965eb1.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/12-4a64fab7-799b-4731-984c-61fd38965eb1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/12-4a64fab7-799b-4731-984c-61fd38965eb1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/12-4a64fab7-799b-4731-984c-61fd38965eb1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-git-linked-data-schlegel","url":"https://api.media.ccc.de/public/events/4a64fab7-799b-4731-984c-61fd38965eb1","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"be5373a9-a74f-49e5-a9b0-7b82a42f4881","title":"SwiftUI is functional","subtitle":null,"slug":"bob11-2026-swift-ui-chakravarty","link":"https://bobkonf.de/2026/chakravarty.html","description":"Scaling modern user interfaces is hard. GUI libraries simplify getting complex interfaces on the screen, but keeping UI state in sync with application state is a challenge, exacerbated by asynchronous state changes (e.g., network activity). Avoiding callback hell, while keeping the application modular, avoiding UI glitches, and preventing data loss can quickly turn into a nightmare.\n          \n          This led to a plethora of software architectures, starting with the model-view-controller (MVC) and the model-view-update (MVU) architecture, exhibiting an object-oriented and a functional approach, respectively, with complementary strengths. MVC facilitates modularity, but handling of state and view updates is complex. Conversely, MVU simplifies state handling, but suffers from a lack of modularity.\n          \n          Modern approaches (e.g., React, Flux \u0026 reacl-c) work towards reconciling these opposites. In particular, SwiftUI is a declarative UI framework leveraging functional programming in Swift, including immutable data types and embedded domain-specific languages. It is focused on native apps and has been shown to scale from apps for smart watches to desktop applications, providing a declarative MVU approach while retaining excellent modularity.\n          \n          I will explain SwiftUI’s software architecture together with its core components, including the observation framework, bindings, the view protocol, and the render tree. In this talk, I will focus on the underlying concepts and not on a particular implementation.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Manuel Chakravarty"],"view_count":0,"promoted":false,"date":"2026-03-13T17:50:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:47:11.270+02:00","tags":["16","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2659,"duration":2659,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/16-be5373a9-a74f-49e5-a9b0-7b82a42f4881.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/16-be5373a9-a74f-49e5-a9b0-7b82a42f4881_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/16-be5373a9-a74f-49e5-a9b0-7b82a42f4881.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/16-be5373a9-a74f-49e5-a9b0-7b82a42f4881.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-swift-ui-chakravarty","url":"https://api.media.ccc.de/public/events/be5373a9-a74f-49e5-a9b0-7b82a42f4881","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"5c3a48d2-ddb9-407a-8092-a3148e561fc2","title":"Zero Knowledge Proof? That Sounds Useless!","subtitle":null,"slug":"bob11-2026-zero-knowledge-proof-kant","link":"https://bobkonf.de/2026/kant.html","description":"To the contrary! Zero-knowledge proofs (ZKPs) let you prove that\n          something is true without revealing why it’s true. That may sound like\n          a magic trick, but it’s immensely practical: verifying that a\n          computation was done correctly without re-running it, proving you’re\n          over 18 without showing your ID or revealing your date of birth, or\n          even checking the integrity of an election without exposing any\n          ballots.\n          \n          This talk introduces ZKPs for programmers who haven’t studied\n          cryptography. We’ll explore where they can be applied, and build an\n          intuitive, qualitative understanding of how they work. You’ll learn\n          the key mathematical ideas, like polynomial commitments and arithmetic\n          circuits, only to the depth needed to see why they matter, not to\n          prove the theorems behind them.\n          \n          To round things off, we will look at ways of implementing\n          ZKPs. Luckily, the days where you needed to manually construct a\n          circuit representing your calculation are gone, and there are Domain\n          Specific Languages (DSLs) available that can do the heavy lifting for\n          you. To demonstrate how that works, we will look at a concrete example\n          of a ZKP written in the Noir language.\n          \n          By the end, you’ll know what ZKPs are, why they’re useful, and how to\n          start experimenting with them yourself -- no crypto background\n          required.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Philipp Kant"],"view_count":0,"promoted":false,"date":"2026-03-13T15:50:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:58:06.811+02:00","tags":["6","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2749,"duration":2749,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/6-5c3a48d2-ddb9-407a-8092-a3148e561fc2.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/6-5c3a48d2-ddb9-407a-8092-a3148e561fc2_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/6-5c3a48d2-ddb9-407a-8092-a3148e561fc2.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/6-5c3a48d2-ddb9-407a-8092-a3148e561fc2.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-zero-knowledge-proof-kant","url":"https://api.media.ccc.de/public/events/5c3a48d2-ddb9-407a-8092-a3148e561fc2","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"889961c3-cd97-404a-8da6-f0cd6bdc1154","title":"Funktionale Programmierung für vielbeschäftigte Javaentwickler","subtitle":null,"slug":"bob11-2026-fp-fuer-java-sippach-rauch","link":"https://bobkonf.de/2026/sippach-rauch.html","description":"Seit Java 8 halten funktionale Konzepte zunehmend Einzug in die Java-Welt. Trotz moderner Features wie Lambdas, Pattern Matching, Records oder Sealed Classes bleibt in vielen Projekten jedoch Skepsis: Die Lernkurve wirkt hoch und der resultierende Code angeblich unlesbar oder „nicht Java-typisch“. Dabei verspricht funktionale Programmierung geringere Komplexität, klarere Datenflüsse, erwartungskonformes Verhalten und eine deutlich bessere Testbarkeit – Vorteile, die sich gerade in größeren Systemen auszahlen.\n          \n          In diesem Vortrag untersuchen wir, wie weit man mit modernem Java funktional denken und arbeiten kann. Wir zeigen anhand eines durchgängigen Beispiels zunächst die Eleganz funktionaler Lösungen (z. B. in Haskell) und entwickeln dann Schritt für Schritt eine idiomatische Java-Alternative. Dabei betrachten wir sowohl gut unterstützte Konzepte wie Immutability, Higher-Order Functions und algebraische Datentypen (über Records und Sealed Classes) als auch Bereiche, in denen Java an Grenzen stößt oder zusätzliche Bibliotheken nötig sind – etwa List Comprehensions, Currying, Partial Function Application oder Zipping.\n          \n          Am Ende wisst ihr, welche funktionalen Prinzipien sich sinnvoll auf Java übertragen lassen, wo Workarounds nötig sind und wie ihr durch kluge Datenmodellierung ungültige Zustände vermeidet, natürlichere Kontrollflüsse erzeugt und die Wartbarkeit eurer Anwendungen verbessert – ohne das Java-Ökosystem zu verlassen.\n          \n          ---\n          \n          [Link zu den Slides](https://embarc-downloads.s3.eu-central-1.amazonaws.com/folien/fs/2026/Sippach-Rauch_Funktionale-Programmierung-mit-Java.pdf)\n          \n          ---\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"deu","persons":["Falk Sippach","Till Rauch"],"view_count":0,"promoted":false,"date":"2026-03-13T13:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:23:41.912+02:00","tags":["11","2026","bob2026","Talk","Talks #2","bob2026-deu","BOB","BOB Konferenz","Day 1"],"length":2554,"duration":2554,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/11-889961c3-cd97-404a-8da6-f0cd6bdc1154.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/11-889961c3-cd97-404a-8da6-f0cd6bdc1154_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/11-889961c3-cd97-404a-8da6-f0cd6bdc1154.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/11-889961c3-cd97-404a-8da6-f0cd6bdc1154.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-fp-fuer-java-sippach-rauch","url":"https://api.media.ccc.de/public/events/889961c3-cd97-404a-8da6-f0cd6bdc1154","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588","title":"Bridging the Gap Between UX Design and Development: Atomic Design \u0026 Storybook","subtitle":null,"slug":"bob11-2026-atomic-design-thoma","link":"https://bobkonf.de/2026/thoma.html","description":"We have the pixel-perfect designs, the implementation is done to the tee. And yet, a seemingly small change in the designs suddenly leads to huge development efforts?\n          \n          In modern component-driven frontend development, designers and developers often speak different languages. If the only common ground for handover is mockups or finished Figma screens, then the designers' original intent can easily get lost. The result are inconsistencies between design and implementation, wasted effort on trying to replicate pixel-perfect designs, and unexpected effort down the line for design changes.\n          \n          This talk is about bridging the gap: With Atomic Design, we find a structured approach for communicating reusable UI components between designers and developers: Instead of implementing off of fully designed screens, we create a common language for the building blocks. Here is where Storybook comes into play, the industry standard tool for building, documenting and testing these building blocks in isolation. It empowers cross-functional teams to develop that common language build deterministic design systems. As an added benefit, Storybook encourages a clean frontend architecture with a clear separation between data model and presentation.\n          \n          In this talk, we are going to look into the ideas of Atomic Design, how Storybook can be used to bootstrap component libraries, and how you can add it to your existing project to develop a common language with UX design.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Franz Thoma"],"view_count":2,"promoted":false,"date":"2026-03-13T11:05:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T21:00:06.296+02:00","tags":["10","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2671,"duration":2671,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/10-b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/10-b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/10-b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/10-b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-atomic-design-thoma","url":"https://api.media.ccc.de/public/events/b9c7ce42-46ac-4da4-bfc6-0d0f4d2bc588","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"1c396f18-2a22-419a-990f-0f05007708d1","title":"Using Domain Driven Design to Refactor Stripe Billing","subtitle":null,"slug":"bob11-2026-ddd-stripe-billing-thiemann","link":"https://bobkonf.de/2026/alex-thiemann.html","description":"At the beginning of 2025 we started a large refactoring project to rewrite the billing engine powering Stripe Billing using Domain Driven Design. Beyond establishing best practices and processes within our teams, we developed a fork of and tooling around the ContextMapper DSL to generate code and verify that our implementation aligned with our design specifications.\n          \n          This talk will walk through the journey of why we reached for Domain Driven Design, how we implemented it with our teams, how it went and what we learned along the way.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Alexander Thiemann"],"view_count":2,"promoted":false,"date":"2026-03-13T17:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T21:00:06.599+02:00","tags":["15","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2655,"duration":2655,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/15-1c396f18-2a22-419a-990f-0f05007708d1.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/15-1c396f18-2a22-419a-990f-0f05007708d1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/15-1c396f18-2a22-419a-990f-0f05007708d1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/15-1c396f18-2a22-419a-990f-0f05007708d1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-ddd-stripe-billing-thiemann","url":"https://api.media.ccc.de/public/events/1c396f18-2a22-419a-990f-0f05007708d1","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"4bfb92a0-2d30-47c1-8e42-2d938763e49f","title":"Zuverlässig laden – Reactive Systems im Einsatz für E-Mobility","subtitle":null,"slug":"bob11-2026-reactive-systems-grotzke","link":"https://bobkonf.de/2026/grotzke.html","description":"Wer ein Elektroauto lädt, erwartet, dass alles einfach funktioniert: App öffnen, Ladesäule anschließen, Strom fließt. Hinter diesem scheinbar simplen Vorgang steckt jedoch ein kompliziertes, verteiltes System mit hohen Zuverlässigkeitsanforderungen – von der App über Backend-Services bis zur Ladesäule.\n          \n          eRound ist eine Plattform für Ladeinfrastruktur-Betreiber, ein sogenanntes Charge-Point-Management-System (CPMS). An dieser Plattform zeige ich, wie solche Systeme unter realen Bedingungen zuverlässig und reaktiv bleiben. Im Vortrag beleuchte ich den vollständigen Ablauf eines Ladevorgangs – von der E-Mobility-App über das CPMS bis zur Ladesäule – sowie die zugrundeliegende Architektur von eRound mit Microservices auf Kubernetes, Kafka-Integration und Quarkus auf der JVM.\n          \n          Im Zentrum steht die Frage: Wie erreichen wir Resilienz, Skalierbarkeit und Reaktionsfähigkeit in einem Umfeld, in dem Netzabbrüche, Hardwarefehler und externe Abhängigkeiten die Regel sind? Das Reactive Manifesto bietet dafür hilfreiche Leitlinien, die in eRound praktisch umgesetzt sind – von asynchroner Kommunikation über Event-Streaming bis automatischer Recovery.\n          \n          Der Vortrag vermittelt technische Einblicke auf Code-Ebene und architektonische Prinzipien, die zeigen, wie sich Zuverlässigkeit in verteilten Systemen nicht nur denken, sondern praktisch bauen lässt.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"deu","persons":["Martin Grotzke"],"view_count":0,"promoted":false,"date":"2026-03-13T15:50:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:24:03.500+02:00","tags":["14","2026","bob2026","Talk","Talks #2","bob2026-deu","BOB","BOB Konferenz","Day 1"],"length":1781,"duration":1781,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/14-4bfb92a0-2d30-47c1-8e42-2d938763e49f.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/14-4bfb92a0-2d30-47c1-8e42-2d938763e49f_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/14-4bfb92a0-2d30-47c1-8e42-2d938763e49f.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/14-4bfb92a0-2d30-47c1-8e42-2d938763e49f.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-reactive-systems-grotzke","url":"https://api.media.ccc.de/public/events/4bfb92a0-2d30-47c1-8e42-2d938763e49f","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"aef73580-5ac6-437f-bf3e-7780af9123e7","title":"Going back in time with the Undoable Monad","subtitle":null,"slug":"bob11-2026-undoable-monad-elliot","link":"https://bobkonf.de/2026/paul-elliot.html","description":"Slipshow is a presentation tool. One of its specificity is that it is\n          not based on slides, but on an infinite canvas on which you can zoom\n          or scroll. Yet, compared to Prezi, the source of a presentation is\n          text.\n          \n          The way the author defines the dynamic of its presentation is by\n          intertwining actions in its textual content. Slipshow allows many\n          actions, such as revealing new content, scrolling or zooming, starting\n          an animation, or even starting a script defined by the user. This\n          gives the author freedom in how they want to present.\n          \n          However, for Slipshow itself, this is a programming challenge: How to\n          allow to go back in your presentation's steps? How to organize the\n          code so that it's not restricting to adding new actions, and that it's\n          easy to maintain?\n          \n          Originally written in JavaScript, Slipshow has suffered from bad\n          design in this space. However, since its rewrite in OCaml, the\n          opportunity to tackle this problem has been taken, with great success\n          and much more stability, using the Undoable Monad.\n          \n          Monads are a way to embed a \"computing\" DSL in a programming\n          language. They allow to define a \"variant\" of computation (for\n          instance \"concurrent programming\") and let the user program in that\n          new way, almost transparently.\n          \n          The Undoable Monad provides an excellent example of monad: it is\n          simple enough, yet solves a real problem in an elegant way. This talk\n          is a fun and practical introduction to monadic programming.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Paul-Elliot"],"view_count":0,"promoted":false,"date":"2026-03-13T11:05:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:52:00.045+02:00","tags":["3","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2543,"duration":2543,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/3-aef73580-5ac6-437f-bf3e-7780af9123e7.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/3-aef73580-5ac6-437f-bf3e-7780af9123e7_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/3-aef73580-5ac6-437f-bf3e-7780af9123e7.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/3-aef73580-5ac6-437f-bf3e-7780af9123e7.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-undoable-monad-elliot","url":"https://api.media.ccc.de/public/events/aef73580-5ac6-437f-bf3e-7780af9123e7","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6","title":"Keynote: „Digital Sovereignty“ – Searching for Meaning in a Magical Concept","subtitle":null,"slug":"bob11-2026-digital-sovereignity-kaufmann","link":"https://bobkonf.de/2026/stk.html","description":"We've been using the term \"digital sovereignty\" going on ten years\n          now.  But what does that \"digital sovereignty\" even mean? Looking at\n          research connected to the term shows that it has been used as an\n          argument for very different, sometimes diametrically opposed goals and\n          ideas.  Does it even make sense to use it anymore?\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Stefan Kaufmann"],"view_count":4,"promoted":false,"date":"2026-03-13T09:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:45:04.987+02:00","tags":["1","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2994,"duration":2994,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/1-8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/1-8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/1-8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/1-8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-digital-sovereignity-kaufmann","url":"https://api.media.ccc.de/public/events/8f370b8c-6e08-4fc3-a8ea-6e16741f1ab6","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8","title":"A crash course on the OCaml module language","subtitle":null,"slug":"bob11-2026-ocaml-module-language-woestyne","link":"https://bobkonf.de/2026/woestyne.html","description":"Many programming languages offer modules, namespaces, or package systems. But very few provide **a true module language**. In this talk, we’ll explore OCaml’s powerful module system as a core language feature. We’ll learn how to use modules effectively, understand their design principles and limitations, and discuss the challenges posed by type equalities, type preservation, and strengthening. We’ll also look at ongoing work clarifying their semantics, including recursive modules, type anchoring, and signature avoidance. We’ll see how modules solve real problems, discover clever and expressive encodings, and identify their practical limits. \n          \n          Along the way, we’ll build familiarity with key concepts such as functors, applicative and generative functors, ascriptions, and strengthening and understand how OCaml’s module language enables elegant, modular, and type-safe program design.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Xavier Van de Woestyne"],"view_count":0,"promoted":false,"date":"2026-03-13T10:15:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:08:02.315+02:00","tags":["2","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2648,"duration":2648,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/2-da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/2-da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/2-da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/2-da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-ocaml-module-language-woestyne","url":"https://api.media.ccc.de/public/events/da9a9d6f-dafd-48c1-8dd4-47f6a2eb34b8","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"601699db-4b61-40fd-ac7e-bd311e8c4f4e","title":"Run your own digital infrastructure using MirageOS unikernels","subtitle":null,"slug":"bob11-2026-digital-infrastructure-mirageos-mehnert","link":"https://bobkonf.de/2026/mehnert.html","description":"MirageOS started more than a decade ago as a research project at University of Cambridge. Nowadays it provides various useful services, from web server over DNS \u0026 DHCP, eMail server (including mailing lists), VPN, CalDAV (calendar), firewall, ... Security is built-in: few attack vectors (by using the memory-safe and type-safe programming language OCaml), tiny attack surface (much smaller binaries), reproducible builds (supply chain security).\n          \n          We also developed a lean web user interface for managing MirageOS unikernels, together with an orchestrator that allows you to deploy via CI actions, or from a build server, including lifecycle management (updates, restart on failure, monitoring, ...).\n          \n          Over the years, we also managed to simplify the code of the simplest unikernel by removing abstraction (that was introduced prematurely). Take a look at the screencast https://asciinema.org/a/681922\n          \n          I will show the general idea, what is available right now (and how easy to use it is), and how we moved this project from a research experiment to production.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Hannes Mehnert"],"view_count":0,"promoted":false,"date":"2026-03-13T17:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:30:00.422+02:00","tags":["7","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2693,"duration":2693,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/7-601699db-4b61-40fd-ac7e-bd311e8c4f4e.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/7-601699db-4b61-40fd-ac7e-bd311e8c4f4e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/7-601699db-4b61-40fd-ac7e-bd311e8c4f4e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/7-601699db-4b61-40fd-ac7e-bd311e8c4f4e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-digital-infrastructure-mirageos-mehnert","url":"https://api.media.ccc.de/public/events/601699db-4b61-40fd-ac7e-bd311e8c4f4e","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"2224d8eb-5642-4c18-9880-7eac3c185428","title":"Accessibility by Design: Practical A11y for Everyday Software Engineering","subtitle":null,"slug":"bob11-2026-accessibility-design-engelbrecht","link":"https://bobkonf.de/2026/engelbrecht.html","description":"Accessibility is often treated as a mere compliance checkbox or something the “UI people” worry about at the end of a project. In reality, accessibility is a core quality attribute of software systems, and many of the biggest wins come from small decisions developers make every day: how we structure HTML, name components, log errors, design APIs, or write tests.\n          In this talk, we look at accessibility from a software engineering perspective. I will introduce the most common types of disabilities and assistive technologies, then show how they map to concrete engineering practices across the stack: semantics (and ARIA) in the frontend, accessible design systems, error message design, and test automation for accessibility. Attendees will leave with a practical checklist they can use in coding and code reviews. \n          The goal is not to make everyone an accessibility expert, but to make accessibility a natural part of our everyday engineering work.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Ariadne Engelbrecht"],"view_count":0,"promoted":false,"date":"2026-03-13T10:15:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T19:35:55.525+02:00","tags":["9","2026","bob2026","Talk","Talks #2","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2587,"duration":2587,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/9-2224d8eb-5642-4c18-9880-7eac3c185428.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/9-2224d8eb-5642-4c18-9880-7eac3c185428_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/9-2224d8eb-5642-4c18-9880-7eac3c185428.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/9-2224d8eb-5642-4c18-9880-7eac3c185428.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-accessibility-design-engelbrecht","url":"https://api.media.ccc.de/public/events/2224d8eb-5642-4c18-9880-7eac3c185428","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]},{"guid":"5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62","title":"Four Fascinating Programming Languages You've Probably Never Heard Of","subtitle":null,"slug":"bob11-2026-fascinating-programming-languages-huehnken","link":"https://bobkonf.de/2026/huehnken.html","description":"There’s a world outside of Java and C#. Well, you know there is,\n           because you know there are JavaScript, TypeScript, Go, Kotlin, Scala\n           and Swift. But let’s look at bit further.\n          \n          If you're interested in programming languages, you probably heard\n           about Haskell with its pure functions and lazy evaluation. And about\n           Rust, with it's ownership and borrowing based memory management.\n           Let's skip even those and go just a tiny bit less mainstream, so you\n           have something to think about. I'll show you four innovative\n           programming languages and briefly introduce their concepts. And not\n           silly ones like Whitespace or Brainf**k. Serious ones, pushing the\n           boundaries, truly innovating. I won't name them now, to not spoil the\n           surprise. I can't guarantee it, but I think there’s a very good\n           chance that there's going to be at least one you've never heard of,\n           but that will capture your interest.\n\nLicensed to the public under https://creativecommons.org/licenses/by/3.0/de","original_language":"eng","persons":["Lutz Hühnken"],"view_count":2,"promoted":false,"date":"2026-03-13T13:00:00.000+01:00","release_date":"2026-05-19T00:00:00.000+02:00","updated_at":"2026-05-19T20:28:27.856+02:00","tags":["4","2026","bob2026","Talk","Talks #1","bob2026-eng","BOB","BOB Konferenz","Day 1"],"length":2714,"duration":2714,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2026/4-5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2026/4-5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2026/4-5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2026/4-5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob11-2026-fascinating-programming-languages-huehnken","url":"https://api.media.ccc.de/public/events/5ca22b2f-6559-4c6b-86e9-f1f7bf49cd62","conference_title":"BOB Konferenz 2026","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2026","related":[]}]}