{"acronym":"bobkonf2021","aspect_ratio":"16:9","updated_at":"2026-03-31T02:45:02.714+02:00","title":"BOB Konferenz 2021","schedule_url":"","slug":"conferences/bobkonf/2021","event_last_released_at":"2021-06-29T00:00:00.000+02:00","link":"","description":"","webgen_location":"conferences/bobkonf/2021","logo_url":"https://static.media.ccc.de/media/unknown.png","images_url":"https://static.media.ccc.de/media/events/bobkonf/2021","recordings_url":"https://cdn.media.ccc.de/events/bobkonf/2021","url":"https://api.media.ccc.de/public/conferences/bobkonf2021","events":[{"guid":"e24485b0-d91e-4fa6-82aa-801f42269868","title":"Higher-Kinded Data Types by Example","subtitle":null,"slug":"bob2021-higher-kinded-data-types-by-example-penner","link":"https://bobkonf.de/2021/penner.html","description":"\tThis example-driven talk introduces and explores “Higher Kinded Datatypes” (HKDs), a novel approach to parameterizing data types which allows greater flexibility, re-use, and improved type-safety when performing common tasks on data.\n\nWhile many data types are parameterized over the values in the type; HKDs are generalized over a container type which wraps each field.\n\nThis approach also allows us to “zip” record fields in a type-safe way, allowing us to append structured error messages to parsers among many other things. It is a surprisingly versatile technique, which hasn’t yet received the attention it deserves.\n\nThe talk may also cover practical developments in this area such as the barbies HKD combinator library and the derivable “Generics” representation of this idea a’la higgledy, both of which make writing practical everyday code using HKDs much easier.\n\t\t","original_language":"eng","persons":["Chris Penner"],"tags":["bob2021","88","2021","Talk","BOB","BOBKonferenz"],"view_count":96,"promoted":false,"date":"2021-02-26T14:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-01-20T11:45:10.931+01:00","length":2268,"duration":2268,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/88-e24485b0-d91e-4fa6-82aa-801f42269868.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/88-e24485b0-d91e-4fa6-82aa-801f42269868_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/88-e24485b0-d91e-4fa6-82aa-801f42269868.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/88-e24485b0-d91e-4fa6-82aa-801f42269868.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-higher-kinded-data-types-by-example-penner","url":"https://api.media.ccc.de/public/events/e24485b0-d91e-4fa6-82aa-801f42269868","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"e80172d7-ecb0-4093-9db0-fa19c9a6c4d1","title":"Lessons Learned: Architekturdokumentation mit arc42","subtitle":null,"slug":"bob2021-lessons-learned-architekturdokumentation-mit-arc42-dienst","link":"https://bobkonf.de/2021/dienst.html","description":"\tProduktentwicklung ist geprägt von kurzen Iterationszyklen und wird darum gerne agil betrieben, wie in meinem Team. Dort wurde die vorhandene unstrukturierte Architekturdokumentation in das arc42-Template überführt und in einem Wiki abgelegt. Das Template hat den Vorteil leichtgewichtig und in sehr vielen Formaten - darunter Word, LaTeX und AsciiDoc - verfügbar zu sein. Das nimmt die Einstiegshürde und verhindert, dass Architekturdokumentation sich zur langweiligen Dokumentenausfüllerei entwickelt.\n\nIm Laufe der Zeit stellte sich heraus, dass das Tooling eine entscheidende Rolle für die Qualität der Dokumentation bedeutet und deswegen haben wir auf Docs-as-Code umgestellt.\n\nIm Vortrag wird auf die wichtigsten Entscheidungspunkte für die aktuelle Iteration der technischen Softwarearchitektur eingegangen. Darunter unter anderem der Umgang mit “Entwicklerprosa”, veralteter Dokumentation und der für ein DevOps-Team besonders wichtigen Architekturentscheidungen.\n\t","original_language":"deu","persons":["Johannes Dienst"],"tags":["bob2021","93","2021","Talk","BOB","BOBKonferenz"],"view_count":215,"promoted":false,"date":"2021-02-26T14:30:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2025-12-22T22:15:09.612+01:00","length":2316,"duration":2316,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/93-e80172d7-ecb0-4093-9db0-fa19c9a6c4d1.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/93-e80172d7-ecb0-4093-9db0-fa19c9a6c4d1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/93-e80172d7-ecb0-4093-9db0-fa19c9a6c4d1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/93-e80172d7-ecb0-4093-9db0-fa19c9a6c4d1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-lessons-learned-architekturdokumentation-mit-arc42-dienst","url":"https://api.media.ccc.de/public/events/e80172d7-ecb0-4093-9db0-fa19c9a6c4d1","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"54199492-b277-4a63-8014-8f62331dcd6c","title":"Keynote: How I Design Programs","subtitle":null,"slug":"bob2021-how-i-design-programs-gibbons","link":"bob2021-how-i-design-programs-gibbons","description":"Functional programming is full of “folk tricks” that\nseem inscrutable to novices. Many of them can be traced back to John\nReynolds, who showed us how to use continuation-passing style and\ndefunctionalization to transform a recursive interpreter for a\nlanguage into an abstract machine for programs in that language. The\nsame techniques explain zippers and accumulating parameters. Buried\nwithin all those applications there is usually a hidden appeal to the\nalgebraic property of associativity. In this talk, Jeremy Gibbons will entice\nassociativity out of the shadows and into the limelight.\n\n\t","original_language":"eng","persons":["Jeremy Gibbons"],"tags":["bob2021","1000","2021","Talk","BOB","BOBKonferenz"],"view_count":446,"promoted":false,"date":"2021-02-26T00:00:00.000+01:00","release_date":"2021-06-29T00:00:00.000+02:00","updated_at":"2026-03-14T00:45:04.450+01:00","length":2712,"duration":2712,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1000-54199492-b277-4a63-8014-8f62331dcd6c.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1000-54199492-b277-4a63-8014-8f62331dcd6c_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1000-54199492-b277-4a63-8014-8f62331dcd6c.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1000-54199492-b277-4a63-8014-8f62331dcd6c.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-how-i-design-programs-gibbons","url":"https://api.media.ccc.de/public/events/54199492-b277-4a63-8014-8f62331dcd6c","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"a5673214-d964-42e0-a503-88ca3923bcfd","title":"Guarding Your IO Boundaries","subtitle":null,"slug":"bob2021-guarding-your-io-boundaries-thoma","link":"https://bobkonf.de/2021/thoma.html","description":"At the boundaries of our applications, a lot of bad things can happen. Users supply all kinds of invalid or malicious input, other services may or may not return what their documentation promises, little Bobby Tables is sneaking around the corner. How do we cope?\n\nIn the world of strongly-typed functional languages, we’ve been used for a long time to guarding our applications right at the boundaries: Make sure that the data we’re receiving looks like what we’re expecting right at the beginning, so that the inner parts of our application can rely on those expectations. But in the JavaScript/Node.js universe, this hasn’t really caught on, and without a strong type system, there wasn’t much to gain either – until now! With the rise of TypeScript, we now have all the tools of a strong type system at hands, so why not use them?\n\nIn this talk, we’re going to look at concepts for guarding IO boundaries, use the example of the io-ts library to see what TypeScript can (and did!) learn from Haskell.\n\t","original_language":"eng","persons":["Franz Thoma"],"tags":["bob2021","111","2021","Talk","BOB","BOBKonferenz"],"view_count":34,"promoted":false,"date":"2021-02-26T16:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2023-10-26T10:45:02.248+02:00","length":1914,"duration":1914,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/111-a5673214-d964-42e0-a503-88ca3923bcfd.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/111-a5673214-d964-42e0-a503-88ca3923bcfd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/111-a5673214-d964-42e0-a503-88ca3923bcfd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/111-a5673214-d964-42e0-a503-88ca3923bcfd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-guarding-your-io-boundaries-thoma","url":"https://api.media.ccc.de/public/events/a5673214-d964-42e0-a503-88ca3923bcfd","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"5ee2bf0f-0f78-4839-a705-ee620a7ff406","title":"Pipes, Arrows, and the Universe","subtitle":"","slug":"bob2021-pipes-arrows-and-the-universe-schimpf","link":"","description":"","original_language":"deu","persons":["Albert Schimpf"],"tags":["bob2021","2021","Talk","BOB","BOBKonferenz"],"view_count":45,"promoted":false,"date":"2021-03-11T15:05:00.000+01:00","release_date":"2021-06-05T00:00:00.000+02:00","updated_at":"2026-02-25T20:45:06.629+01:00","length":2655,"duration":2655,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/114-5ee2bf0f-0f78-4839-a705-ee620a7ff406.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/114-5ee2bf0f-0f78-4839-a705-ee620a7ff406_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/114-5ee2bf0f-0f78-4839-a705-ee620a7ff406.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/114-5ee2bf0f-0f78-4839-a705-ee620a7ff406.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-pipes-arrows-and-the-universe-schimpf","url":"https://api.media.ccc.de/public/events/5ee2bf0f-0f78-4839-a705-ee620a7ff406","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"fd7af634-f641-4ae7-99bf-13eaea12557d","title":"A Gentle Indroduction to Stream Processing","subtitle":null,"slug":"bob2021-a-gentle-introduction-to-stream-processing-fraenkel","link":"https://bobkonf.de/2021/fraenkel.html","description":"\tWhile “software is eating the world”, those who are able to best manage the huge mass of data will emerge out on the top.\n\nThe batch processing model has been faithfully serving us for decades. However, it might have reached the end of its usefulness for all but some very specific use-cases. As the pace of businesses increases, most of the time, decision makers prefer slightly wrong data sooner, than 100% accurate data later. Stream processing - or data streaming - exactly matches this usage: instead of managing the entire bulk of data, manage pieces of them as soon as they become available.\n\nIn this talk, Nicholas Fränkel defines the context in which the old batch processing model was born, the reasons that are behind the new stream processing one, how they compare, what are their pros and cons, and a list of existing technologies implementing the latter with their most prominent characteristics. He concludes by describing in detail one possible use-case of data streaming that is not possible with batches: display in (near) real-time all trains in Switzerland and their position on a map. He goes through the all the requirements and the design and, using an OpenData endpoint and the Hazelcast platform, gives a working demo implementation of it.\n\t","original_language":"eng","persons":["Nicolas Fränkel"],"tags":["bob2021","95","2021","Talk","BOB","BOBKonferenz"],"view_count":72,"promoted":false,"date":"2021-02-26T12:00:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2025-12-30T22:15:23.403+01:00","length":2660,"duration":2660,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/95-fd7af634-f641-4ae7-99bf-13eaea12557d.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/95-fd7af634-f641-4ae7-99bf-13eaea12557d_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/95-fd7af634-f641-4ae7-99bf-13eaea12557d.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/95-fd7af634-f641-4ae7-99bf-13eaea12557d.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-a-gentle-introduction-to-stream-processing-fraenkel","url":"https://api.media.ccc.de/public/events/fd7af634-f641-4ae7-99bf-13eaea12557d","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"e6fbdd39-1425-462e-8b1f-508f7a7d0af1","title":"SIMD in Higher Level Programming Languages","subtitle":null,"slug":"bob2021-simd-in-higher-level-programming-languages-wahl","link":"https://bobkonf.de/2021/wahl.html","description":"\tModern processors support Single Instruction Multiple Data techniques since 1997 when intel introduced MMX. Every modern CPU has physical registers for performing vectorized SIMD operations on up to 512 bits with a single instruction. There is a part of the CPU which is most of the time only used by compiler optimizations invisible and unbeknownst to users or by low-level systems programmers comfortable with assembly and processor architecture. Those magicians have gone through unspeakable pain and know ancient dark magic from unreadable runes chiseled into unreachable cave walls.\n\nThis is a sad state. Given our very CPUs could do so much more and be up to 8x as efficient. We actively waste resources.\n\nHaving established that we need to do something about it, Matthias Wahl explores what we can do to expose SIMD in higher level languages, what steps are necessary to do something about it, and shows us what is being done about it in existing and emerging languages.\n\t","original_language":"eng","persons":["Matthias Wahl"],"tags":["bob2021","97","2021","Talk","BOB","BOBKonferenz"],"view_count":97,"promoted":false,"date":"2021-02-26T14:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2025-10-03T22:15:03.038+02:00","length":2541,"duration":2541,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/97-e6fbdd39-1425-462e-8b1f-508f7a7d0af1.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/97-e6fbdd39-1425-462e-8b1f-508f7a7d0af1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/97-e6fbdd39-1425-462e-8b1f-508f7a7d0af1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/97-e6fbdd39-1425-462e-8b1f-508f7a7d0af1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-simd-in-higher-level-programming-languages-wahl","url":"https://api.media.ccc.de/public/events/e6fbdd39-1425-462e-8b1f-508f7a7d0af1","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"f9d5455e-e7ad-42f9-98f7-b1671099fabb","title":"STG Backend for Idris2","subtitle":null,"slug":"bob2021-stg-backend-for-idris2-penzes","link":"https://bobkonf.de/2021/penzes.html","description":"In this talk, Andor Penzes shows how to combine emerging technologies of functional programming. Idris is a dependently typed programming language, which makes it as a sharp tool in the programmer’s hand. A very good fit to modeling complex domains with high accuracy. Idris has a plugin architecture for the code generation, which allows engineers to implement code generations for even exotic technologies. Penzes' exotic backend is the code generator of the Glasgow Haskell Compiler. How to implement such a thing?\n\nThe pieces of the puzzle are: a) External STG (ExtSTG), which is a clone of the intermediate representation of the Glasgow Haskell Compiler. b) An interpreter for ExtSTG which is formalized and written in Haskell. c) GHC-WPC which is a modified GHC compiler that can compile binaries from ExtSTG. d) The architecture of the Idris2 compiler back-end.\n\nThe main focus of the talk is how to write Idris2 back-end. The take-away is how simple are the intermediate representation of the compilers when they are formalized in functional programming, and a recipe for your Idris2 backend.","original_language":"eng","persons":["Andor Penzes"],"tags":["bob2021","113","2021","Talk","BOB","BOBKonferenz"],"view_count":83,"promoted":false,"date":"2021-02-26T17:05:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-10T14:45:08.325+01:00","length":2456,"duration":2456,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/113-f9d5455e-e7ad-42f9-98f7-b1671099fabb.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/113-f9d5455e-e7ad-42f9-98f7-b1671099fabb_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/113-f9d5455e-e7ad-42f9-98f7-b1671099fabb.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/113-f9d5455e-e7ad-42f9-98f7-b1671099fabb.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-stg-backend-for-idris2-penzes","url":"https://api.media.ccc.de/public/events/f9d5455e-e7ad-42f9-98f7-b1671099fabb","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"be3539c9-f332-4b73-9453-5927ad192e87","title":"Darcs, because git won","subtitle":null,"slug":"bob2021-darcs-because-git-won-ketchum","link":"https://bobkonf.de/2021/","description":"Darcs is one of the oldest distributed version control systems which are currently in use, yet it remains a somewhat obscure choice. In this talk I want to highlight why darcs is a viable choice due to its unique, and surprisingly fresh and straightforward, approach which is rooted in mathematics and how it differs from pretty much every other VCS that is current being used.\n\nDarcs’ patch theory offers a unique why to work in a non-centralized way. This can be used to structure alternative workflows, as well as an underlying model for synchronizing data between multiple peers in applications.\n\nDarcs’ workflow is intuitive and easy to grasp, even though the underlying formalism is incredibly powerful. Raichoo Ketchum presents how release engineering can benefit from this model and how it can reduce cognitive and organizational overhead in project management.\n\t\t","original_language":"eng","persons":["Raichoo Ketchum"],"tags":["bob2021","101","2021","Talk","BOB","BOBKonferenz"],"view_count":229,"promoted":false,"date":"2021-02-26T11:45:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-31T02:30:02.818+02:00","length":2026,"duration":2026,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/101-be3539c9-f332-4b73-9453-5927ad192e87.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/101-be3539c9-f332-4b73-9453-5927ad192e87_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/101-be3539c9-f332-4b73-9453-5927ad192e87.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/101-be3539c9-f332-4b73-9453-5927ad192e87.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-darcs-because-git-won-ketchum","url":"https://api.media.ccc.de/public/events/be3539c9-f332-4b73-9453-5927ad192e87","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"d6af16e1-5143-494c-9df6-cf04ccb649d6","title":"Logic Programming and Databases","subtitle":null,"slug":"bob2021-logic-programming-and-databases-pukkamustard","link":"https://bobkonf.de/2021/pukkamustard.html","description":"\t  Modern applications deal with vast amounts of data, but also with a vast variety of data. Certain data might fit nicely into a relational model, other is better modeled as a graph, some parts need to be full-text searchable or require spatial indexing.\n\nRelational databases, such as PostgreSQL, offer extensions and add-ons to support such multi-model usage. However, at a considerable ergonomic cost. A more unified and simple approach to interacting with multi-model data can be found in Logic Programming. In particular, with Datalog, a declarative logic programming language that is well-suited as a database query language.\n\nIn this talk we would like to motivate why Datalog is so well-suited by having a look at the semantics as well as the relationship to Relational Algebra and sketch how complex, multi-model database can be built on existing key-value stores. We hope to provide tools and inspiration for experimenting with your own custom databases.\n\t\n\n\t","original_language":"eng","persons":["pukkamustard"],"tags":["bob2021","110","2021","Talk","BOB","BOBKonferenz"],"view_count":161,"promoted":false,"date":"2021-02-26T12:35:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-31T02:45:02.712+02:00","length":2273,"duration":2273,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/110-d6af16e1-5143-494c-9df6-cf04ccb649d6.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/110-d6af16e1-5143-494c-9df6-cf04ccb649d6_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/110-d6af16e1-5143-494c-9df6-cf04ccb649d6.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/110-d6af16e1-5143-494c-9df6-cf04ccb649d6.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-logic-programming-and-databases-pukkamustard","url":"https://api.media.ccc.de/public/events/d6af16e1-5143-494c-9df6-cf04ccb649d6","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"b2a88c8f-d804-4e98-a2bc-a22c60be4a4d","title":"Servant vs. Mu: A Type-Level Battle","subtitle":null,"slug":"bob2021-servant-vs-mu-a-type-level-battle-serrano","link":"https://bobkonf.de/2021/serrano.html","description":"Servant is a well-known library in the Haskell ecosystem to develop REST services. Mu is much newer, and tries to fill the gap of gRPC and GraphQL services. Both libraries have in common their use of type level techniques to describe the structure of the services. This talk dives into that design corner, and explores the different decisions taken by both teams.","original_language":"eng","persons":["Alejandro Serrano"],"tags":["bob2021","104","2021","Talk","BOB","BOBKonferenz"],"view_count":52,"promoted":false,"date":"2021-02-26T15:05:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-06T11:30:07.687+01:00","length":1985,"duration":1985,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/104-b2a88c8f-d804-4e98-a2bc-a22c60be4a4d.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/104-b2a88c8f-d804-4e98-a2bc-a22c60be4a4d_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/104-b2a88c8f-d804-4e98-a2bc-a22c60be4a4d.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/104-b2a88c8f-d804-4e98-a2bc-a22c60be4a4d.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-servant-vs-mu-a-type-level-battle-serrano","url":"https://api.media.ccc.de/public/events/b2a88c8f-d804-4e98-a2bc-a22c60be4a4d","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"979f7073-7204-4474-8626-c37906aa7d22","title":"React Performance","subtitle":null,"slug":"bob2021-react-performance-schmalhofer","link":"https://bobkonf.de/2021/schmalhofer.html","description":"Reacts deklaratives Programmiermodel ist zumindest seit Hooks elegant und produktiv, führt jedoch leicht zu langsamen Anwendungen.\n\nSo ist die React Weiterentwicklung (Fiber, Concurrent Mode) der letzten Jahre vor allem durch Performanceverbesserung motiviert.\n\nWas sind die typischen Probleme, wie kann man sie diagnostizieren, welche Optionen hat man?","original_language":"deu","persons":["Christoph Schmalhofer"],"tags":["bob2021","98","2021","Talk","BOB","BOBKonferenz"],"view_count":81,"promoted":false,"date":"2021-02-26T16:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2025-12-09T18:15:06.010+01:00","length":1781,"duration":1781,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/98-979f7073-7204-4474-8626-c37906aa7d22.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/98-979f7073-7204-4474-8626-c37906aa7d22_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/98-979f7073-7204-4474-8626-c37906aa7d22.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/98-979f7073-7204-4474-8626-c37906aa7d22.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-react-performance-schmalhofer","url":"https://api.media.ccc.de/public/events/979f7073-7204-4474-8626-c37906aa7d22","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"6ad93148-6a8c-4a3e-bd17-f956bdf2295b","title":"Theorems for free","subtitle":null,"slug":"bob2021-theorems-for-free-hupel","link":"https://bobkonf.de/2021/miller.html","description":"\t In the typed functional programming communities, there is\n\t much talk about “reasoning with types”. But rarely is this\n\t elaborated into something concrete. Just how can we extract\n\t tangible information from types beyond playing mere type\n\t tetris? The secret sauce is called parametricity, first\n\t described by John C. Reynolds, and later applied to Haskell\n\t by Philip Wadler in his seminal paper “Theorems for free!”.\n\t\n\n\t","original_language":"eng","persons":["Lars Hupel"],"tags":["bob2021","1","2021","Talk","BOB","BOBKonferenz"],"view_count":82,"promoted":false,"date":"2021-02-26T09:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-12T20:15:06.075+01:00","length":2175,"duration":2175,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1-6ad93148-6a8c-4a3e-bd17-f956bdf2295b.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1-6ad93148-6a8c-4a3e-bd17-f956bdf2295b_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1-6ad93148-6a8c-4a3e-bd17-f956bdf2295b.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/1-6ad93148-6a8c-4a3e-bd17-f956bdf2295b.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-theorems-for-free-hupel","url":"https://api.media.ccc.de/public/events/6ad93148-6a8c-4a3e-bd17-f956bdf2295b","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"cc833508-947d-467b-85e6-ca79c301f82e","title":"A Firewall for Your Radical Network","subtitle":null,"slug":"bob2021-a-firewall-for-your-radical-network-schirmer","link":"https://bobkonf.de/2021/schirmer.html","description":"QubesOS is probably the most secure operating system right now, recommended by security professionals and human rights activists. Security issues in operating systems are often related to networking or hardware. By separating networking, private data and hardware drivers into different virtual machines, QubesOS helps to isolate attacks. In case of a breach, attackers are confined to a virtual machine (=Qube), for example the networking Qube. The rest of the system is safe on separate Qubes, even in case of compromise. The Qubes-Mirage-Firewall is written in OCaml as a unikernel - a small, single purpose operating system kernel - in the library operating system MirageOS. The talk will not be QubesOS-specific, rather use it as an example and draw conclusions that apply to all operating systems and give a general understanding and strategy plan for network security tailored to everyone’s individual needs.\n\nWe will talk about:\n\n    - Functional Programming as a security practice\n    - The layered structure of networking and why we have it\n    - What is a network protocol and how we read it\n    - Tools to analyze and learn about a network (wireshark, traceroute)\n    - The idea of QubesOS and how to structure your system into different Qubes and run them\n    - Configuring a firewall and why it has been obscure in the past\n    - Testing a firewall to see who can access which parts of the network\n","original_language":"deu","persons":["Stefanie Schirmer"],"tags":["bob2021","107","2021","Talk","BOB","BOBKonferenz"],"view_count":713,"promoted":false,"date":"2021-02-26T17:05:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2026-03-13T16:45:05.854+01:00","length":1679,"duration":1679,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/107-cc833508-947d-467b-85e6-ca79c301f82e.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/107-cc833508-947d-467b-85e6-ca79c301f82e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/107-cc833508-947d-467b-85e6-ca79c301f82e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/107-cc833508-947d-467b-85e6-ca79c301f82e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-a-firewall-for-your-radical-network-schirmer","url":"https://api.media.ccc.de/public/events/cc833508-947d-467b-85e6-ca79c301f82e","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]},{"guid":"34bd71fd-62e2-49d5-bf60-d5e9df3da252","title":"Nach 20 Jahren Agilität - wird Achtsam das neue Agil?","subtitle":null,"slug":"bob2021-wird-achtsam-das-neue-agil","link":"https://bobkonf.de/2021/wittwer.html","description":"Agilität ist die Antwort der Organisation auf Komplexität, Achtsamkeit\nist deine persönliche Antwort!\n\nAgilität ist eine riesige Erfolgsgeschichte. Aus der IT entstanden,\nist Agilität mittlerweile eine Bewegung geworden, die ganze\nOrganisationen verändert.\n\nAchtsamkeit wird in den nächsten Jahren einen ähnlichen Einfluss auf\nunsere Arbeitswelt haben. In den letzten Jahren ist eine moderne\nAchtsamkeitspraxis entstanden, mit der Du genau die individuellen\nFähigkeiten trainieren kannst, die es braucht, um in einem komplexen\nUmfeld gut zu arbeiten und zufrieden zu leben.\n\nDiese Fähigkeiten wie z.B. Konzentration und ein gelassener Umgang mit\nUnsicherheit und Mehrdeutigkeit helfen Euch in Eurer Organisation,\nAgilität wirklich zu leben.\n\nIn dem interaktiven Vortrag zeige ich auf, was eine moderne\nAchtsamkeitspraxis ausmacht, wie sich Achtsamkeit, IT und Agilität\nergänzen und warum ich glaube, dass bei der Verbreitung von\nAchtsamkeit die gleichen Erfolgsfaktoren greifen werden wie bei der\nAgilität.\n\n\t","original_language":"deu","persons":["Markus Wittwer"],"tags":["bob2021","109","2021","Talk","BOB","BOBKonferenz"],"view_count":130,"promoted":false,"date":"2021-02-26T10:15:00.000+01:00","release_date":"2021-06-19T00:00:00.000+02:00","updated_at":"2025-06-20T21:15:04.175+02:00","length":2491,"duration":2491,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2021/109-34bd71fd-62e2-49d5-bf60-d5e9df3da252.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2021/109-34bd71fd-62e2-49d5-bf60-d5e9df3da252_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2021/109-34bd71fd-62e2-49d5-bf60-d5e9df3da252.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2021/109-34bd71fd-62e2-49d5-bf60-d5e9df3da252.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2021-wird-achtsam-das-neue-agil","url":"https://api.media.ccc.de/public/events/34bd71fd-62e2-49d5-bf60-d5e9df3da252","conference_title":"BOB Konferenz 2021","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2021","related":[]}]}