===== 1000 Paula Alexandra Silva: Facilitating Change: Embracing Gender Diversity in Computer Science This thought-provoking talk delves into the importance of promoting gender diversity and attracting more women to the field of computer science. By examining the current state of affairs, we explore the key factors and drivers that contribute to the need for change. We shed light on the existing challenges and explore the potential opportunities that lie ahead in fostering inclusivity and diversity and in creating an environment that is attuned to gender issues. Drawing upon our experiences with the INSPIRA mentoring program and the equal.STEAM project, we uncover the barriers that hinder gender inclusivity in computer science and present possible solutions. From addressing biases and stereotypes to promoting equal opportunities, we outline strategic approaches to navigate the challenges and promote gender balance in a rapidly changing world that needs the contribution of each and every one of us to succeed and thrive. Paula Alexandra Silva: Paula Alexandra Silva earned her PhD in Computer Science from Lancaster University, UK, where she specialised in Human-Computer Interaction and explored ways to foster creativity and innovation in design. Since then, her research interests have focused on the design and use of technology for health and care and the promotion of physical activity as a driver of health promotion and quality of life, particularly for older adults and different-abled persons. She is passionate about teaching and working with her students. Currently, she is an Assistant Professor at the Department of Informatics Engineering, at the University of Coimbra, where she teaches Human-Computer Interaction, Universal Design, and Service Design. The latter received a teaching innovation award in 2021. In her constant desire to contribute to a future where everyone feels represented and included, she recently launched INSPIRA, a program that aims to retain female talent in Informatics. She is also the coordinator of Activity 3 of the project equal.STEAM and a member of the management committee of the European Network for Gender Balance in Informatics (CA19122), where she co-leads WG3 - From PhD to Professor. She is also an elected member of the board of EuroGraphics Portuguese Chapter. https://drive.google.com/file/d/1k_97XjRbEEaCBMoFoRPeIt5rItVl_IJ0/view?usp=share_link ===== 1100 Walter Belgers: Panic for historical reasons Having used FreeBSD, NetBSD and OpenBSD from 1994 onwards, I have quite a few anecdotes to tell. How did I get a panic "for historical reasons"? Why was I able to hack my own FreeBSD-box by pressing enter? Can you do a talk about BSD presenting from floppies? How does NetBSD become crucial when collecting old Sun systems? How did I learn about humppa music? These stories, and more, will be shared for your enjoyment and amazement. Walter Belgers: Walter Belgers is a hacker, having worked in IT security for all his life. He has been using FreeBSD since version 1.1.5.1, but also NetBSD and OpenBSD. He was chair of the Dutch UNIX Users Group and president of the lockpick sports group TOOOL. He was organiser and program chair of BSDCon Europe 2002 in Amsterdam. In his spare time, he collects old (Sun) computers to get them running again. ===== 1100 John Baldwin: Implementing NVMe over Fabrics in FreeBSD NVMe over Fabrics is an extension of the NVMe specification that permits use of storage devices over a network. It is similar to how iSCSI permits access to storage devices using SCSI commands over a TCP/IP network connection. NVMe over Fabrics supports multiple transports including Fibre Channel, RDMA (both iWarp and ROCE), and TCP/IP. The author has been working on an implementation of NVMe over Fabrics for FreeBSD. The current work includes a simple userspace host (initiator) using the TCP transport as well as an extension to nvmecontrol(8) to discover remote controllers. At the time of submission the author is implementing a kernel-side host using the TCP transport. By the time of the talk the author expects to have completed the kernel-side host as well as a kernel-side controller (target). The talk will discuss NVMe over Fabrics in general as well as a description of the implementation for FreeBSD. John Baldwin: John has been a FreeBSD committer for over 20 years with experience in various parts of the kernel. John is also fond of using debugging tools and is the FreeBSD maintainer for GDB as well as the maintainer of the FreeBSD kgdb fork of GDB. ===== 1100 Taylor R Campbell: How to get started hacking NetBSD You've used a BSD, but have you used the open source of it to bend it to your will? Does it grant you freedom, or just confine you to a different set of bugs? This talk will tell the story of how I got into hacking NetBSD with zero experience in kernel development, and how you can get started with things too even if you aren't an experienced kernel hacker, including: making cross-builds a breeze to do work from any platform, diving into the kernel, how to read a device driver, working on a single subsystem at a time, iterating development with automatic tests, chroots, rump, and VMs. For beginners and experienced C hackers alike! Taylor R Campbell: Taylor ‘Riastradh’ Campbell has been a NetBSD developer since 2011, working on various areas including device drivers and multiprocessor safety, and is a member of the NetBSD core team and The NetBSD Foundation board. ===== 1200 Kristof Provost: if_ovpn if_ovpn is the FreeBSD implementation of OpenVPN's Data Channel Offload (DCO) technology. DCO moves the OpenVPN data path into the kernel. This not only avoids the overhead of the traditional if_tun approach where data must be copied in and out of the kernel for every packet, but also the limitations imposed by the single threaded nature of the user space daemon. Finally, it allows OpenVPN to take advantage of cryptography offload hardware such as Intel's QAT. if_ovpn will be part of FreeBSD 14.0. The upcoming OpenVPN 2.6.0 release is the first to support DCO, for Linux, FreeBSD and Windows. This talk will present implementation details as well as performance results. Kristof Provost: Kristof is a freelance embedded software engineer specialising in network and video applications. He's a FreeBSD committer, maintainer of the pf firewall in FreeBSD and a board member of the EuroBSDCon foundation. Kristof has an unfortunate tendency to stumble into uClibc bugs, and a burning hatred for FTP. Do not talk to him about IPv6 fragmentation. ===== 1200 Otto Moerbeek: How OpenBSD's malloc helps the developer It has been 15 years since my malloc implementation was imported into OpenBSD. It features randomization, keeping meta-data strictly separate from user data and detecting various forms of API misuse like use-after-free and writes inside the allocation but outside the requested size. These features not only improve security but also help the developer to find bugs. We will discuss the malloc features that help the developer doing proper memory management, concentrating on memory leak detection. While available for some time, the leak detection code was not compiled in by default and cumbersome to use. Recently it was reworked to make it easier to use and it is now available by default. Otto Moerbeek: Otto Moerbeek has been a OpenBSD developer for 20 years. His contributions to OpenBSD include major work on utilities like patch(1) and diff(1), new versions of dc(1) and bc(1), privilege separated tcpdump(8), work on ntpd(8) and kernel time code, unwind(8), large partition and ffs2 support, a complete rewrite of malloc(3) and work on the OpenBSD/loongson port. ===== 1200 ===== 1400 Hiroki Sato: USB Debug Capability (DbC) Support on FreeBSD USB Debug Capability (DbC) is a standardized functionality in Host Controller Interface of USB 2.x and 3.x. It is a hardware-level circuitry available as a hidden serial communication channel that can work even with no operating system support and is supposed to be an out-of-band access endpoint for debugging. When a kernel panic occurs, we cannot get debugger access on laptops or consumer-grade motherboards with no physical serial port. USB DbC can be used even in that situation and is greatly helpful for kernel development. This talk covers the technical details of how DbC works, the implementation for FreeBSD, and how to use it. Hiroki Sato: Hiroki Sato is an assistant professor at Tokyo Institute of Technology. His research topics include transistor-level integrated circuit design, analog signal processing, embedded systems, computer network, and software technology in general. He was one of the FreeBSD core team members from 2006 to 2022, has been a FreeBSD Foundation board member since 2008, and has hosted AsiaBSDCon, an international conference on BSD-derived operating systems in Asia, since 2007. ===== 1400 Matthieu Herrb: Practical use of OpenBSD routing domains with redundant firewalls This talk will present the configuration of redundant firewalls used at LAAS-CNRS (a public research Laboratory in Toulouse, France) to filter IPv4 and IPv6 traffic in the internal network and to the internet. One issue frequently faced when using CARP in active/passive mode to connect to a network operator who only provides one IPv4 address, is that the passive node has no internet connection and thus cannot be updated or patched easily OpenBSD supports routing domains (rdomains) to isolate network interfaces and separate their traffic. By using this feature to create a virtual control plane, separated from the actual routing plane (running CARP and pfsync), allows one to access the control interfaces of both firewalls from the LAN and allows outgoing connections from the passive node to the internet through the routing plane. In this talk I'm going to present the actual setup, a few "howtos" to get things running smoothly and a prototyping setup running fully on OpenBSD using VMM. Matthieu Herrb: Matthieu Herrb has been working as a research engineer at LAAS-CNRS, in charge of security and robotics for more than 30 years. He is also the main maintainer of Xenocara, the port of the X11 graphics software suite to OpenBSD. ===== 1400 Corvin Köhne: GPU passthrough with bhyve bhyve is FreeBSD native hypervisor. It supports PCI passthrough which means that a guest can directly access a PCI device without hypervisor interaction to increase the performance of the virtual machine. GPU devices are a special class of PCI devices requiring some additional steps to get passed through. This talk discusses the current state of GPU passthrough and explains how to use it. Corvin Köhne: Software developer focusing on x86 and hypervisor technologies working on TC/BSD contributing to FreeBSD, bhyve and OVMF FreeBSD committer since 2022 ==== 1500 Warner Losh: Booting FreeBSD with LinuxBoot using loader.kboot In recent years, concern over the bloated UEFI firmware packages has driven the development of LinuxBoot: Using the Linux kernel to load the final operating system. Embedded vendors like it because they are able to deploy without having to write two sets of drivers (one for UEFI and one for Linux). Users like the improvements in security it offers. On many platforms, it's the only option available. FreeBSD's kboot is a Linux binary that loads FreeBSD's kernel, modules, tuneables and other metadata via the kexec(2) API boot FreeBSD. This talk explores the history of kexec(2), the development of LinuxBoot at Google, early uses of "kboot" to boot FreeBSD on the PS/3 and where the larger open source community is in its LinuxBoot use. Motivations for this work will be explored. The talk will then discuss the recent improvements to boot FreeBSD/aarch64 and FreeBSD/amd64 using kboot, a rewritten and expanded version of the old PowerPC PS/3 kboot program. It will explore how kexec(2) is used to accomplish booting, and many of the auxiliary interfaces that cooperate with kexec(2) to allow UEFI-based systems to run a new kernel. In addition, new features to the loader that makes the LinuxBoot enviornment more useful will be discussed. A demo of the latest loader.kboot running in a LinuxBoot environment will is included. Warner Losh: I've been using BSD Unix for nearly 40 years. I've been everything from a normal user to a kernel developer and everything in between. I've been a FreeBSD developer for 30 years. I've been on the FreeBSD core team from time to time as well. I've contributed to a number of other open source projects. Professionally, I've developed GUI toolkit builders, high precision time systems, network based disk mirroring, The Internet Adapter, using FreeBSD in embedded systems of different types, pre-NVMe NAND flash PCIe storage adapters, optimizing storage for video streaming, a Unix V7/86 emulator and other more minor projects... ===== 1500 Marc Espie: OpenBSD ports and packages: making things faster and easier Against my better judgment, we finally introduced some caching mechanism for package updates, which turned out to be much safer and simpler than I expected, and led to some very useful observations and tweaks to make things way faster and safer. Between pkg tools and ports infrastructure, there are still concerns about maintaining this whole heap of messy production code, so basically, each new feature requires constant effort to keep things in check. This talk will showcase significant recent advances: better diagnostics, in general, getting rid of some of the most infamous tricks in the code, lowering the entry barrier by switching to perl 5.36 "prototypes" (function declarations that look like other languages)... and fixing some really fun bugs! making things easier to test so that other internal tools can move faster. Marc Espie: Researcher/Teacher in development security at Epita. Architect of the OpenBSD packages and ports system ===== 1500 ===== 1600 Alexander Chernikov: Netlink in FreeBSD This talk is about the current state and the future of Netlink in FreeBSD It will start from a brief overview of Netlink and its benefits. I will cover the implementation details such as the user/kernel API and the performance differences. I will then switch to the new in-base functionality implemented on top of Netlink and touch the conversion status of the base utilities. After that, I will provide an overview of the third-party software switched to Netlink and the resulting performance benefits. Finally, it’ll touch the future plans of the expanding the Netlink usage. Alexander Chernikov: Alexander is a FreeBSD committer since 2011, mostly interested in the networking parts of the stack. ===== 1600 Björn Gohla: A Haskell Binding for OpenBSD Pledge Pledge The pledge system call on OpenBSD is a voluntary security mechanism, that a process can use to restrict the available kernel API. It is used throughout the OpenBSD base system and some ports, to guard against undiscovered exploits, following the defense in depth principle. System calls are aggregated into related groups called promises. It is considered good practice to discard a promise, i.e., access to any part of the kernel API, as soon as it is no longer needed. Haskell Haskell is a lazy functional language with a powerful static type system. Side-effecting computations, notably IO, are clearly distinguished from pure computations in the type system. Effectful computations of the same kind can be sequenced using a sequencing operator, and this ensures control over the ordering of effects in the presence of lazy evaluation. Haskell also provides special syntax that makes effectful functional code look like familiar imperative code. In this talk We will demonstrate a refinement of this approach to IO-effecting computations with type level information about pledge promises, and an appropriate sequencing operator, that causes static computation of the combined promises for sequenced actions and automatically inserts the correct pledge calls. This has no added runtime cost, apart from serializing the promise set and calling pledge. Using this approach, we can guarantee that promises are always discarded at the earliest possible time, even in potentially large applications, assuming that the basic actions have been labeled correctly. We can also use type annotations to either let the compiler work for us and compute the required promise set for a given sequence, or else specify a promise set and be assured that a given sequence does not violate it. We will provide the necessary background in Haskell and show some real world application code using this interface. Björn Gohla: Björn Gohla holds a PhD in Mathematics and is interested, among other things, in the intersection of category theory and programming languages; and in finding ways to make writing safe software easy. He is a part-time user of OpenBSD and works as a Haskell engineer at Scrive. ===== 1600 Pierre Pronchery: BSD Driver Harmony The BSD Driver Harmony project was introduced briefly earlier this year at the BSD DevRoom of FOSDEM, and then in more details at BSDCan. It consists in ironing out the differences between the different BSD projects when it comes to driver development. This initiative was very well received during BSDCan and EuroBSDcon should be a great opportunity to share the progress made, as well as to introduce new ideas for the next steps. Pierre Pronchery: Pierre is an IT-Security consultant since 2006. He has delivered a number of projects for customers and partners in the financial, telecommunications, and retail industry among others. He is also a systems developer, contributing to Open Source projects, and has organised or participated to international conferences. Passionate about Operating System development in particular, he is involved with the DeforaOS project since 2004. This work eventually drove him to join the NetBSD Foundation in 2012, where he also served on the board of directors. ===== 1700 Toshaan Bharvani: How to run FreeBSD on POWER This presentation explains how to run FreeBSD on OpenPOWER based machines, we will shows how to install and run as bare metal installation and as a virtual machine. We will demo the automated installation of a server machines, and virtual machines. Toshaan Bharvani: Toshaan Bharvani is a IT consultant, currently self-employed at VanTosh, with a interest in Open Source Software and IT Hardware. He started his IT interest at a very early age, when his father gave him his first own PC components. Ever since he has been interested in IT hardware and software. In business, he tends to combine higher level applications with lower level systems. Toshaan has been involved for some time now in some open source projects and communities. ===== 1700 Dave Cottlehuber: Immutable FreeBSD FreeBSD contains a number of powerful features that allow practically immutable server & container deployments. This talk shows how to integrate these together, in a real-world scenario. zfs & boot environments FreeBSD pkg poudriere image to produce base system images poudriere image to produce custom jail images, deployable via pkg combining webhooks and ansible to automate deployment across clusters This talk will be generally suitable for anybody managing multiple FreeBSD systems, automating their lifecycle, and will show working code. Dave Cottlehuber: Dave has spent the last 2 decades trying to stay at least 1 step ahead of The Bad Actors on the internet, starting off with OpenBSD 2.8, and the last 9 years with FreeBSD since 9.3, where he has a ports commit bit, and a prediliction for obscure functional programming languages that align with his enjoyment of distributed systems, & power tools with very sharp edges. Professional Yak Herder, shaving BSD-coloured yaks since ~ 2000 FreeBSD ports@ committer Ansible DevOops master Elixir developer Building distributed systems with RabbitMQ and Apache CouchDB enjoys telemark skiing, and playing celtic folk music on a variety of instruments ===== 1700 Jonas Petereit: .NET for FreeBSD .NET is a cross-platform successor to Microsoft's .NET Framework for Windows, Linux and macOS. FreeBSD is currently not supported, although it works and we've been using it in our company for several years, e.g. for running the Azure Pipelines Agent and developing .NET apps for FreeBSD. This talk focuses on how to add .NET to FreeBSD and show some use cases for it. It also discusses the current state of adaptations of existing .NET components for FreeBSD and how to improve support from Microsoft as well as the FreeBSD and GitHub communities, possibly in collaboration with other organizations and companies. Jonas Petereit: 2013 - 2017: Bachelor degree "Mechatronics/Automation" in cooperation with Beckhoff Automation GmbH & Co. KG Creation of an SDK for the TwinCAT 3 HMI Server to enable development of .NET server extensions in TwinCAT HMI Initial implementation of the TwinCAT 3 HMI Scope .NET server extension 2018 - today: Maintainer of the TwinCAT 3 HMI Server Extension SDK for .NET and of .NET for TC/BSD including the Azure Pipelines Agent for FreeBSD at Beckhoff Automation GmbH & Co. KG TwinCAT HMI is a platform-independent HMI that allows users to develop their own logic and implement additional communication protocols using .NET server extensions on Windows and TC/BSD TC/BSD is an OS based on FreeBSD which includes realtime extensions Initial support of .NET for TC/BSD to enable development and execution of .NET apps Development and contribution to the upstream azure-pipelines-agent for FreeBSD =====