{"acronym":"bobkonf2023","aspect_ratio":"16:9","updated_at":"2026-04-04T07:15:03.592+02:00","title":"BOB Konferenz 2023","schedule_url":"","slug":"conferences/bobkonf/2023","event_last_released_at":"2023-06-16T00:00:00.000+02:00","link":"","description":"","webgen_location":"conferences/bobkonf/2023","logo_url":"https://static.media.ccc.de/media/events/bobkonf/2023/bobkonf_header_2023.png","images_url":"https://static.media.ccc.de/media/events/bobkonf/2023","recordings_url":"https://cdn.media.ccc.de/events/bobkonf/2023","url":"https://api.media.ccc.de/public/conferences/bobkonf2023","events":[{"guid":"eb7cb28c-a951-4eb5-93a0-99aa833996ec","title":"Version control in the age of distributed computing","subtitle":null,"slug":"bob2023-version-control-in-the-age-of-distributed-computing-meunier","link":"https://bobkonf.de/2023/meunier.html","description":"","original_language":"eng","persons":["Pierre-Étienne Meunier"],"tags":["bob2023","104","2023","Talk","BOB","BOBKonferenz"],"view_count":73,"promoted":false,"date":"2023-03-17T15:05:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-01-14T17:15:17.302+01:00","length":2552,"duration":2552,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/104-eb7cb28c-a951-4eb5-93a0-99aa833996ec.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/104-eb7cb28c-a951-4eb5-93a0-99aa833996ec_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/104-eb7cb28c-a951-4eb5-93a0-99aa833996ec.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/104-eb7cb28c-a951-4eb5-93a0-99aa833996ec.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-version-control-in-the-age-of-distributed-computing-meunier","url":"https://api.media.ccc.de/public/events/eb7cb28c-a951-4eb5-93a0-99aa833996ec","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"9043a0ed-c470-4d31-b53b-34b7c1526e27","title":"Ist das ein Graph oder kann das weg? Funktionales Deep Learning in Haskell","subtitle":null,"slug":"bob2023-ist-das-ein-graph-oder-kann-das-weg-schlotterbeck","link":"https://bobkonf.de/2023/schlotterbeck.html","description":"Mathematisch betrachtet sind Neuronale Netze parametrisierte Funktionen. Optimierungsverfahren zum Trainieren neuronaler Netze sind higher-order Funktionen, die Parameter anhand von Trainingsdaten optimieren. Bei der Nutzung gängiger Deep-Learning-Frameworks verschwindet die Grenze zwischen dem mathematischen Modell und der Implementierung: Um das Optimierungsverfahren zu realisieren, ist in der Regel eine komplexe Maschinerie nötig, in der neuronale Netze state-behaftete Graphen sind, die zur Laufzeit verwaltet werden müssen. Daran ist leider einiges suboptimal. Neben praktischen Problemen ist das indirekte Programmiermodell mit Graphen schwer zu verstehen, der Fokus auf numerische Arrays verhindert Generalisierung, die Algorithmen sind kompliziert, wesentliche Funktionalität der Programmiersprache kann nicht genutzt werden.\n\nDank Conal Elliots Compiler-Plugin ConCat verschwindet in Haskell das Graphen-Modell genauso wie die Beschränkung auf numerische Arrays; die wesentlichen Konzepte werden sichtbar - Funktionen, Optimierung und Ableitbarkeit. Das Plugin erlaubt eine generalisierte Formulierung der Kernideen. Die Trennung der neuronalen Netze von ihrer Optimierung erlaubt es z.B., separat über diese Aspekte nachzudenken und sie unabhängig voneinander zu testen und zu verwenden. Ableitungen werden automatisch zur Kompilierzeit generiert.\n\nDer Vortrag gibt Einblicke in Ansatz und Denkweise und enthält Erfahrungsberichte aus der Entwicklung einer Applikation für Anomaly Detection in industrieller Produktion.\n\n\t","original_language":"deu","persons":["Raoul Schlotterbeck"],"tags":["bob2023","110","2023","Talk","BOB","BOBKonferenz"],"view_count":78,"promoted":false,"date":"2023-03-17T12:35:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-03-22T19:30:08.950+01:00","length":2754,"duration":2754,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/110-9043a0ed-c470-4d31-b53b-34b7c1526e27.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/110-9043a0ed-c470-4d31-b53b-34b7c1526e27_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/110-9043a0ed-c470-4d31-b53b-34b7c1526e27.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/110-9043a0ed-c470-4d31-b53b-34b7c1526e27.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-ist-das-ein-graph-oder-kann-das-weg-schlotterbeck","url":"https://api.media.ccc.de/public/events/9043a0ed-c470-4d31-b53b-34b7c1526e27","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"1549f4ea-9102-441f-96a5-a6115515f715","title":"A world to win: WebAssembly for the rest of us","subtitle":null,"slug":"bob2023-web-assembly-for-the-rest-of-us-wingo","link":"https://bobkonf.de/2023/wingo.html","description":"WebAssembly has been around for a while, but until now it has been of limited utility for high-level languages, especially those that use garbage collection. Things are about to change, though, as web browsers are about to ship support for managed memory, making WebAssembly a viable target for Scheme, OCaml, and in general everyone who is not C++ or Rust. This talk will recap why it is that the 1.0 version of WebAssembly wasn’t a great target for e.g. Scheme, what the workarounds were, what the new facilities are, how implementations will be able to take advantage of them, and what limitations remain. In 2-3 years it’s reasonable to expect that WebAssembly will be an excellent compilation target and language run-time substrate for many of our dearest languages, but it’s up to us to make it there.\n\t\n\n\t","original_language":"eng","persons":["Andy Wingo"],"tags":["bob2023","1","2023","Talk","BOB","BOBKonferenz"],"view_count":225,"promoted":false,"date":"2023-03-17T10:15:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-01-29T21:30:13.796+01:00","length":2643,"duration":2643,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/1-1549f4ea-9102-441f-96a5-a6115515f715.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/1-1549f4ea-9102-441f-96a5-a6115515f715_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/1-1549f4ea-9102-441f-96a5-a6115515f715.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/1-1549f4ea-9102-441f-96a5-a6115515f715.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-web-assembly-for-the-rest-of-us-wingo","url":"https://api.media.ccc.de/public/events/1549f4ea-9102-441f-96a5-a6115515f715","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"72f062f7-f561-485c-9d7f-69932dab4574","title":"When Testing Just Doesn't Cut It","subtitle":null,"slug":"bob2023-when-testing-just-doesnt-cut-it-hupel","link":"https://bobkonf.de/2023/hupel.html","description":"Writing unit tests is pretty much standard practice these days. Otherwise, how would you make sure that your code does what you expect? Yet, some software is mission-critical and merely testing a few examples – or even randomized testing – is not enough. To reach higher levels of assurance, we need proof: mathematical, formal proof. This session will be based on an example from industry, where we successfully verified the core of a financial application. I will describe the core architecture of the system and the mathematical foundations behind the verification, including the classes of problems that we can (or cannot) discover with this approach.","original_language":"eng","persons":["Lars Hupel"],"tags":["bob2023","107","2023","Talk","BOB","BOBKonferenz"],"view_count":71,"promoted":false,"date":"2023-03-17T17:10:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2026-01-04T22:15:21.633+01:00","length":2769,"duration":2769,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/107-72f062f7-f561-485c-9d7f-69932dab4574.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/107-72f062f7-f561-485c-9d7f-69932dab4574_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/107-72f062f7-f561-485c-9d7f-69932dab4574.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/107-72f062f7-f561-485c-9d7f-69932dab4574.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-when-testing-just-doesnt-cut-it-hupel","url":"https://api.media.ccc.de/public/events/72f062f7-f561-485c-9d7f-69932dab4574","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"82ae87cb-94a6-436c-977f-886e014c1d3a","title":"Softwareentwicklung ist kein Hexenwerk","subtitle":null,"slug":"bob2023-softwareentwicklung-ist-kein-hexenwerk-hettich","link":"https://bobkonf.de/2023/hettich.html","description":"“Programmierer sind die Magier unserer Zeit” heißt es in einem Video, in dem es darum geht neue Leute für die Softwareentwicklung zu begeistern. Doch sind wir doch mal ehrlich: Magie macht nur dann Spaß, wenn sie auf unserer Seite steht. Oft haben wir Probleme, die eigentlich trivial klingen wie “Der Button soll noch ein paar Pixel nach oben”, und am Ende dauert die Lösung dann oft doch länger als gedacht, weil man vor lauter Abstraktion und Indirektion gar nicht weis, wie man überhaupt Handhabe über die entsprechende Baustelle bekommt. Und ist man dann mal so weit, löst man schon durch kleine Änderungen Kettenreaktionen von Konsequenzen im Framework aus, die dann oft nicht einmal offensichtlich sind. Nach dem bekannten Motto “weniger ist mehr” soll ein nüchterner Blick auf die Softwareentwicklung geworfen werden, mit dem Ziel aus der magischen Kunst ein wenig mehr ein solides Handwerk zu machen. Dazu soll die „böse“ Magie wie man sie zum Beispiel in Anwendungsframeworks wie Spring oder Jarkarta EE findet eingefangen und mit Lösungen die auf grundlegenden, einfachen und universellen Prinzipien beruhen ersetzt werden.\n\t","original_language":"deu","persons":["Markus Hettich"],"tags":["bob2023","101","2023","Talk","BOB","BOBKonferenz"],"view_count":76,"promoted":false,"date":"2023-03-17T11:45:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-02-16T13:45:09.614+01:00","length":2628,"duration":2628,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/101-82ae87cb-94a6-436c-977f-886e014c1d3a.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/101-82ae87cb-94a6-436c-977f-886e014c1d3a_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/101-82ae87cb-94a6-436c-977f-886e014c1d3a.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/101-82ae87cb-94a6-436c-977f-886e014c1d3a.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-softwareentwicklung-ist-kein-hexenwerk-hettich","url":"https://api.media.ccc.de/public/events/82ae87cb-94a6-436c-977f-886e014c1d3a","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"a11e7fb8-6c0c-422e-8777-0a405acdd9a7","title":"Structuring effectful programs","subtitle":null,"slug":"bob2023-structuring-effectful-programs-loeh","link":"https://bobkonf.de/2023/loeh.html","description":"Historically, Haskell has been using monads to encode effects in programs, and monad transformers to provide a modular way to combine several such effects. More recently, algebraic effects have become increasingly popular as a mechanism to replace monad transformers. Often, discussions about the advantages and disadvantages of the various approaches seem to focus on technical details and not on the bigger question of how scalable effectful applications should actually be designed. In this talk, I am hoping to provide a brief introduction to both monad transformers and algebraic effects and then explain how I believe that effectful programs should be structured in such a way that the choice between these approaches becomes mostly irrelevant.\n\t","original_language":"eng","persons":["Andres Löh"],"tags":["bob2023","98","2023","Talk","BOB","BOBKonferenz"],"view_count":170,"promoted":false,"date":"2023-03-17T16:20:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2026-01-13T14:45:27.264+01:00","length":2621,"duration":2621,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/98-a11e7fb8-6c0c-422e-8777-0a405acdd9a7.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/98-a11e7fb8-6c0c-422e-8777-0a405acdd9a7_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/98-a11e7fb8-6c0c-422e-8777-0a405acdd9a7.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/98-a11e7fb8-6c0c-422e-8777-0a405acdd9a7.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-structuring-effectful-programs-loeh","url":"https://api.media.ccc.de/public/events/a11e7fb8-6c0c-422e-8777-0a405acdd9a7","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"fd8543b6-e849-419d-a02c-85c1a5a7694a","title":"Wood instead of ivory — functional programming for CNC machines","subtitle":null,"slug":"bob2023-wood-instead-of-ivory-functional-programming-for-CNC-machines-quchen","link":"https://bobkonf.de/2023/quchen.html","description":"Functional programming has long left the domain of academia. But what does it truly mean to be general purpose? It means that you can wirte programs for all domains, such as steering your CNC router, and literally cutting metal using functional programming.\n\nLast year, me and Franz Thoma held a workshop on generative art at BOB, and our associated library. The pictures, while nice, are still digital, so I set out to build an almost-DIN-A1-sized CNC router that now resides in my living room.\n\nThe instructions this machine runs is called G-Code, a semi-standard machine code used by all sorts of CNC machines, e.g. 3D printers, mills, or laser cutters. My machine is a pen plotter (for safety reasons – for now), and it moves a pen over paper, thousands of times, for hours on end, to paint pretty pictures. This machine code is 100% generated by Haskell.","original_language":"eng","persons":["quchen"],"tags":["bob2023","113","2023","Talk","BOB","BOBKonferenz"],"view_count":85,"promoted":false,"date":"2023-03-17T17:10:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2026-03-10T13:45:10.661+01:00","length":2512,"duration":2512,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/113-fd8543b6-e849-419d-a02c-85c1a5a7694a.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/113-fd8543b6-e849-419d-a02c-85c1a5a7694a_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/113-fd8543b6-e849-419d-a02c-85c1a5a7694a.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/113-fd8543b6-e849-419d-a02c-85c1a5a7694a.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-wood-instead-of-ivory-functional-programming-for-CNC-machines-quchen","url":"https://api.media.ccc.de/public/events/fd8543b6-e849-419d-a02c-85c1a5a7694a","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"02f97eb9-ac17-4ac7-9aa0-ea7563g57f30","title":"Digitalisierung unter pandemischen Bedingungen","subtitle":null,"slug":"bob2023-digitalisierung-unter-pandemischen-bedingungen-kastl","link":"https://bobkonf.de/2023/kastl.html","description":"\t","original_language":"deu","persons":["Bianca Kastl"],"tags":["bob2023","109","2023","Talk","BOB","BOBKonferenz"],"view_count":102,"promoted":false,"date":"2023-03-17T10:15:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2026-04-04T07:15:03.589+02:00","length":2566,"duration":2566,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/109-02f97eb9-ac17-4ac7-9aa0-ea7563g57f30.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/109-02f97eb9-ac17-4ac7-9aa0-ea7563g57f30_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/109-02f97eb9-ac17-4ac7-9aa0-ea7563g57f30.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/109-02f97eb9-ac17-4ac7-9aa0-ea7563g57f30.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-digitalisierung-unter-pandemischen-bedingungen-kastl","url":"https://api.media.ccc.de/public/events/02f97eb9-ac17-4ac7-9aa0-ea7563g57f30","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"93328289-2513-44f9-8acf-dc96d206409d","title":"What a computer game taught me about software architecture","subtitle":null,"slug":"bob2023-what-a-computer-game-taught-me-about-software-architecture-thoma","link":"https://bobkonf.de/2023/thoma.html","description":"Factorio is a simulation game where you build a highly automated factory, producing the technology to eventually launch a rocket to space. Along the way, every new task will be manual at first, but you can (and will need to) automate it.\n\nI stumbled upon this game a few years ago, got hooked, and spent (way!) too many hours playing it. While I was knee-deep in refactoring my base in Factorio, making it more scalable and resilient, at some point I realized that this is eerily similar to what I’m doing in my day job. (Probably also the cause why I’m so seriously hooked on that game.)\n\nSo although this talk will look like it’s about Factorio, it’s in fact about how to bootstrap and scale teams and projects, about monoliths and microservices, and about the cost of maintenance. ","original_language":"eng","persons":["Franz Thoma"],"tags":["bob2023","95","2023","Talk","BOB","BOBKonferenz"],"view_count":270,"promoted":false,"date":"2023-03-17T11:45:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-03-31T11:45:08.048+02:00","length":2643,"duration":2643,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/95-93328289-2513-44f9-8acf-dc96d206409d.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/95-93328289-2513-44f9-8acf-dc96d206409d_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/95-93328289-2513-44f9-8acf-dc96d206409d.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/95-93328289-2513-44f9-8acf-dc96d206409d.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-what-a-computer-game-taught-me-about-software-architecture-thoma","url":"https://api.media.ccc.de/public/events/93328289-2513-44f9-8acf-dc96d206409d","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"b382196c-ddf2-460a-94a1-21a1742ac2f9","title":"State Transitions in Complex Systems","subtitle":null,"slug":"bob2023-state-transitions-in-complex-systems-haverbeke","link":"https://bobkonf.de/2023/haverbeke.html","description":"In systems whose state consists of a non-trivial number of separate\nbut related pieces, updating this state in a way that keeps everything\ncoherent requires some discipline. In extensible systems, where the\ndifferent pieces may not even be aware of each other, this becomes\neven more challenging.\n\nA good example of such a system is a modular code editor. It involves\na number of constantly-changing pieces of state (the document,\nselection, scroll position, and so on) and a lot of non-core state\nintimately entangled with those (syntax highlighting, linting,\ncompletion), and possibly with each other.\n\nThis presentation discusses the set of principles we arrived at in\ndesigning such an editor (), and\ncompares it to the more traditional event-style architectures. The\neditor uses persistent state values and first-class transactions, both\nof them extensible by 3rd-party code, to make it straightforward by\nconstruction to keep the zoo of interdependent data involved in a\nfull-featured editor coherent.\n\t","original_language":"eng","persons":["Marijn Haverbeke"],"tags":["bob2023","94","2023","Talk","BOB","BOBKonferenz"],"view_count":57,"promoted":false,"date":"2023-03-17T12:35:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-02-01T16:45:07.659+01:00","length":2171,"duration":2171,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/94-b382196c-ddf2-460a-94a1-21a1742ac2f9.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/94-b382196c-ddf2-460a-94a1-21a1742ac2f9_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/94-b382196c-ddf2-460a-94a1-21a1742ac2f9.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/94-b382196c-ddf2-460a-94a1-21a1742ac2f9.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-state-transitions-in-complex-systems-haverbeke","url":"https://api.media.ccc.de/public/events/b382196c-ddf2-460a-94a1-21a1742ac2f9","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"5a2865c3-b51d-4195-8c54-0ed3f35319cc","title":"Web Accessibility DeepDive","subtitle":null,"slug":"bob2023-web-accessibility-deep-dive-josefine","link":"https://bobkonf.de/2023/josefine.html","description":"You want to go beyond roughly meeting guidelines but actually create products that cater a large audience and their needs? To not only fulfil requirements but actually create mindful content \u0026 empathic code? Anybody working in tech has the responsibility to provide an inclusive, accessible experience. Let’s dive into web accessibility best practices, testing \u0026 auditing strategies and well-guarded WCAG secrets to take your project to the next level.","original_language":"eng","persons":["Josefine Schaefer"],"tags":["bob2023","88","2023","Talk","BOB","BOBKonferenz"],"view_count":68,"promoted":false,"date":"2023-03-17T14:15:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-03-18T14:30:08.839+01:00","length":2335,"duration":2335,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/88-5a2865c3-b51d-4195-8c54-0ed3f35319cc.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/88-5a2865c3-b51d-4195-8c54-0ed3f35319cc_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/88-5a2865c3-b51d-4195-8c54-0ed3f35319cc.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/88-5a2865c3-b51d-4195-8c54-0ed3f35319cc.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-web-accessibility-deep-dive-josefine","url":"https://api.media.ccc.de/public/events/5a2865c3-b51d-4195-8c54-0ed3f35319cc","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"2cd0e615-60fc-4836-9c8e-eaa502b0f5cb","title":"Delta encodings help separate business logic from database operations","subtitle":null,"slug":"bob2023-delta-encodings-help-separate-business-logic-from-database-operations-apfelmus","link":"https://bobkonf.de/2023/apfelmus.html","description":"","original_language":"eng","persons":["Heinrich Apfelmus"],"tags":["bob2023","114","2023","Talk","BOB","BOBKonferenz"],"view_count":86,"promoted":false,"date":"2023-03-17T15:05:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-02-25T20:00:06.241+01:00","length":2541,"duration":2541,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/114-2cd0e615-60fc-4836-9c8e-eaa502b0f5cb.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/114-2cd0e615-60fc-4836-9c8e-eaa502b0f5cb_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/114-2cd0e615-60fc-4836-9c8e-eaa502b0f5cb.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/114-2cd0e615-60fc-4836-9c8e-eaa502b0f5cb.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-delta-encodings-help-separate-business-logic-from-database-operations-apfelmus","url":"https://api.media.ccc.de/public/events/2cd0e615-60fc-4836-9c8e-eaa502b0f5cb","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"5f35c4d8-b097-4c3c-9efe-b6716f03b8fb","title":"Cloud, done the Nix way","subtitle":null,"slug":"bob2023-cloud-done-the-nix-way-arni","link":"https://bobkonf.de/2023/arni.html","description":"Nix has proved to be a revolutionary advance in packaging. In addition to packaging, the core idea has also been succesfuly applied to machine configuration (with NixOS), and to programming languages (Unison). Given how fruitful these applications have been, it’s natural to ask whether there are others.\n\nIn this talk, we’ll ask how to do cloud infrastructure the nix way. The core idea will be a hash-based service-addressing: the way we contact a service is not via a identifier for a machine (an IP address), nor a mutable pointer to a machine (a service URL), but instead a hash URL that is unique to the machine configuration (the hash of all the software and configuration in a machine).\n\nSuddenly, many of the problems of distributed systems become much easier. Deployments with zero downtime, where every request is handled to completion, services are terminated promptly and in the right order, there is no overprovisioning, and we have an exquisitely fine-grained control and understanding of API compatibility issues.\n\nAs part of this investigation, we’ll go through what the core idea of Nix is, and how it relates to similar hash-based technologies such as git, docker, and unison. You’ll learn about infrastructure and deployment philosophies and techniques, how to adjudicate which notions of identity work best in a given settings, what input-addressed and content-addressed hashing are and why you should care, and more.","original_language":"eng","persons":["Julian Kirsten Arni"],"tags":["bob2023","111","2023","Talk","BOB","BOBKonferenz"],"view_count":177,"promoted":false,"date":"2023-03-17T16:20:00.000+01:00","release_date":"2023-06-15T00:00:00.000+02:00","updated_at":"2026-02-15T13:45:07.413+01:00","length":2744,"duration":2744,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/111-5f35c4d8-b097-4c3c-9efe-b6716f03b8fb.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/111-5f35c4d8-b097-4c3c-9efe-b6716f03b8fb_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/111-5f35c4d8-b097-4c3c-9efe-b6716f03b8fb.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/111-5f35c4d8-b097-4c3c-9efe-b6716f03b8fb.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-cloud-done-the-nix-way-arni","url":"https://api.media.ccc.de/public/events/5f35c4d8-b097-4c3c-9efe-b6716f03b8fb","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"e67278c8-924e-4a6e-9a7d-189becab54e0","title":"Getting recursive definitions off their bottoms","subtitle":null,"slug":"bob2023-getting-recursive-definitions-off-their-bottoms-breitner","link":"https://bobkonf.de/2023/breitner.html","description":"Haskell claims to be a declarative language, where you just write down some equations, and suddenly the variables contain the solution to these equations. This works even with recursive equations, but only in some cases: defining recursive functions, of course, but also cyclic data structures. One can even apply so-called knot-tying tricks, where a lazy data structure is filled with values that refer to that data structure! For example, one can very elegantly calculate the reachable nodes in a graph.\n\n…until the graph is cyclic, and suddenly our nice elegant Haskell program silently runs in circles and will not produce an answer.\n\nThis is unfortunate: The involved equations, although recursive, do nicely declaratively describe the solution we want! So let’s make it happen!\n\nWe’ll see types (Booleans, Sets) that seem to behave just like the normal ones, but recursive definitions somehow magically produce the expected result. And all that in pure code, no monads anywhere! We’ll see a few use cases that can suddenly be solved much more elegantly.\n\nThen we’ll look under the hood of this (arguably) safe API, won’t be deterred by unsafePerformIO, and find some very imperative, monad-infested, concurrency-worried code that implements a form of “propagator”. We’ll notice that there is plenty we can do to improve their performance, but won’t actually go there. Instead, we’ll turn back to the “pure” interface and discuss together if that is still really “pure”.","original_language":"eng","persons":["Joachim Breitner"],"tags":["bob2023","97","2023","Talk","BOB","BOBKonferenz"],"view_count":42,"promoted":false,"date":"2023-03-17T14:15:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2025-06-30T01:15:04.475+02:00","length":2709,"duration":2709,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/97-e67278c8-924e-4a6e-9a7d-189becab54e0.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/97-e67278c8-924e-4a6e-9a7d-189becab54e0_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/97-e67278c8-924e-4a6e-9a7d-189becab54e0.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/97-e67278c8-924e-4a6e-9a7d-189becab54e0.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-getting-recursive-definitions-off-their-bottoms-breitner","url":"https://api.media.ccc.de/public/events/e67278c8-924e-4a6e-9a7d-189becab54e0","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]},{"guid":"b267b5eb-930b-4f34-af7a-7a0a9a21dac9","title":"Keynote: Re-thinking Modules for the Web","subtitle":null,"slug":"bob2023-re-thinking-modules-for-the-web-startsev","link":"https://bobkonf.de/2023/startsev.html","description":"It is a truth universally acknowledged, that a programming language with more than 100 users must be in want of a module system. JavaScript, first released in 1995, resisted this natural law until 2015 with the introduction of ES6.\n\nSince then, Modules have become a popular authoring tool for JavaScript Developers. However, modules as a shipping mechanism present certain issues, and many developers continue to compile to module-free code rather than ship native modules. This has challenged the language committee to investigate what is and what isn’t working about our module system.\n\nHow do we do this, and how do we communicate these design changes from a small focus group to a larger design committee? A number of proposals are planned that change what kind of applications can be built using the module system.\n\nWe will explore these questions and more, giving you a behind the scenes look at designing a module system for the web.\n\n\n\t","original_language":"eng","persons":["Yulia Startsev"],"tags":["bob2023","9001","2023","Talk","BOB","BOBKonferenz"],"view_count":139,"promoted":false,"date":"2023-03-17T09:00:00.000+01:00","release_date":"2023-06-16T00:00:00.000+02:00","updated_at":"2026-02-13T07:30:04.491+01:00","length":3015,"duration":3015,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2023/9001-b267b5eb-930b-4f34-af7a-7a0a9a21dac9.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2023/9001-b267b5eb-930b-4f34-af7a-7a0a9a21dac9_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2023/9001-b267b5eb-930b-4f34-af7a-7a0a9a21dac9.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2023/9001-b267b5eb-930b-4f34-af7a-7a0a9a21dac9.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2023-re-thinking-modules-for-the-web-startsev","url":"https://api.media.ccc.de/public/events/b267b5eb-930b-4f34-af7a-7a0a9a21dac9","conference_title":"BOB Konferenz 2023","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2023","related":[]}]}