CINXE.COM
FOSDEM 2021
<?xml version="1.0" encoding="UTF-8"?> <schedule> <conference> <title>FOSDEM 2021</title> <subtitle/> <venue>Online</venue> <city/> <start>2021-02-06</start> <end>2021-02-07</end> <days>2</days> <day_change>00:00:00</day_change> <timeslot_duration>00:05:00</timeslot_duration> </conference> <day index="1" date="2021-02-06"> <room name="K.fosdem"> <event id="11795"> <start>09:00</start> <duration>00:25</duration> <room>K.fosdem</room> <slug>keynotes_welcome</slug> <title>Welcome to FOSDEM 2021</title> <subtitle/> <track>FOSDEM</track> <type>maintrack</type> <language/> <abstract><p>FOSDEM welcome and opening talk.</p></abstract> <description><p>Welcome to FOSDEM 2021!</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/K.fosdem/keynotes_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/K.fosdem/keynotes_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11795.php">Submit feedback</link> </links> </event> </room> <room name="M.community"> <event id="11164"> <start>10:00</start> <duration>00:30</duration> <room>M.community</room> <slug>fuss_remote_access</slug> <title>Empowering the school of the future</title> <subtitle>Remotely accessing files in a distributed LDAP and Samba-based infrastructure</subtitle> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>How can users of your network be allowed not only to remotely access their files but also to collaboratively edit them? Docker, NextCloud, LibreOffice Online and LDAP are the pillars of the proposed solution. The talk will start describing the context where this proposal was born i.e. the FUSS Project (https://fuss.bz.it). The analysis of the problem will follow along with the development details of the solution and suggested deployment strategies.</p></abstract> <description><p>FUSS is both a digital sustainability project launched back in 2005 and a GNU/Linux, Debian-based distribution for schools, currently used in around 80 schools in northern Italy’s South Tyrol. The presentation, held by Paolo Dongilli (FUSS Project coordinator) and Marco Marinello (developer) will quickly go through the first 15 years of life of the project and then deeply inspect the proposed solution called "FUSS Remote Access" which helped teachers accessing their didactic materials and files left in schools' servers during lock-downs caused by the Covid-19 pandemic.</p></description> <persons> <person id="7745">Marco Marinello</person> <person id="8052">Paolo Dongilli</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/fuss_remote_access/attachments/paper/4225/export/events/attachments/fuss_remote_access/paper/4225/RemotelyAccessingFilesInADistributedLDAPnSamba_basedInfrastructured.pdf">Research paper - DIDAMATiCA 2020</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fuss_remote_access/attachments/slides/4750/export/events/attachments/fuss_remote_access/slides/4750/FOSDEM21_FUSS_Empowering_school_Marinello_Dongilli.pdf">FOSDEM21 - Empowering the school of the future</attachment> </attachments> <links> <link href="https://marcomarinello.it/RemotelyAccessingFilesInADistributedLDAPnSamba-basedInfrastructured.pdf">Research paper - DIDAMATiCA 2020</link> <link href="https://fuss.bz.it">FUSS Project Homepage</link> <link href="https://gitlab.fuss.bz.it/fuss-team/fuss-nc">Project git archive</link> <link href="https://video.fosdem.org/2021/M.community/fuss_remote_access.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/fuss_remote_access.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11164.php">Submit feedback</link> </links> </event> <event id="11064"> <start>10:45</start> <duration>00:45</duration> <room>M.community</room> <slug>open_sourcing_tools</slug> <title>Tools and Concepts for Successfully Open Sourcing Your Project</title> <subtitle/> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>You've just had an idea for a great application but don't think anyone else is interested? You've used your weekends and free time to come up with something that actually solves someone else's problem? You'd love to open source your project so others can use it but you don't know where to start. We'll explain the way from an idea to an open source project using a step by step guide - including links, code snippets, and open source tools you can use to open source your own project.</p></abstract> <description><p>We are using our experience from working at open source companies like Red Hat and Percona as well as our project experience to highlight the steps you can take to get your open source project off the ground. In the Q&amp;A section you can ask specific questions about your project or your idea and we'll give you some tips and tricks that we've used ourselves.</p></description> <persons> <person id="4595">Sanja Bonic</person> <person id="8041">Janos Pasztor</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_sourcing_tools/attachments/slides/4430/export/events/attachments/open_sourcing_tools/slides/4430/FOSDEM_Open_Sourcing_Projects.pdf">Tools and Concepts for Successfully Open Sourcing Your Project</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/M.community/open_sourcing_tools.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/open_sourcing_tools.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11064.php">Submit feedback</link> </links> </event> <event id="11450"> <start>11:30</start> <duration>00:45</duration> <room>M.community</room> <slug>schul_frei</slug> <title>schul-frei</title> <subtitle>Digital freedom with youth and education</subtitle> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>We are convinced that young people can make an important contribution to the Free Software community. They see many things from a different perspective than adults, which is worth looking at more closely, because new ideas and points of view can be integrated into the development of free software. Since most children and young people are already in contact with the digital world at school, we want to involve young people in the development of software. In our presentation, we will show how we include the youth into the free software community with the schul-frei project. It shows educational establishments the advantages of free software and presents solutions they could use. The goals of the project are not to offer only software. It allows for example students and teachers to develop apps together for their school, which can be integrated into the running system we present.</p></abstract> <description><p>Teckids e.V. is a German association which provides a legal frame for three technological projects. We manage the project called "schul-frei", which aims to bring digitisation with free software to schools. We especially value the participation of youth in these projects, because they are the people which are affected by digitisation the most. Our educational concept is also based around the idea that young people should be judged by their abilities, not by age. They should learn to take responsibility and be independent. An example of this would be the AlekSIS project. It is (mostly) developed by adolescents from Teckids e.V. and from the school Katharineum zu Luebeck, where it is actively used. AlekSIS is a web-based school information system which can be used to manage and/or publish organisational subjects of educational institutions. It is also part of the schul-frei canon and uses the EUPL. We also present and provide support for solutions such as Moodle or BigBlueButton for E-Learning and debianedu/skolelinux with Nextcloud for school networks on our website https://schul-frei.org/en/index.html We set up comprehensive platforms for schools, education and youth institutions in time for the increased demand for online teaching. This has contributed to the fact that more education providers are interested in these solutions and that the various projects are gaining in reach</p></description> <persons> <person id="7610">Benedict Suska</person> </persons> <attachments> </attachments> <links> <link href="https://schul-frei.org/en">schul-frei.org</link> <link href="https://video.fosdem.org/2021/M.community/schul_frei.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/schul_frei.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11450.php">Submit feedback</link> </links> </event> <event id="11129"> <start>12:15</start> <duration>00:45</duration> <room>M.community</room> <slug>open_source_under_attack</slug> <title>The Death of Openness and Freedom?</title> <subtitle>Open Source Under Attack</subtitle> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>2020 was a very bad year for most of us, under the shadow of all that was going on there was a troubling trend we all need to be aware of: the erosion of the classic open source model and values. For years vendors have been slowly chipping away at the freedom and openness provided by open source, this year saw unprecedented changes to how people view and value OSS. From licensing changes to as a service exclusive, what was open is no longer. Is this being driven solely by the cloud? or is this purely corporate greed and others viewing open Source as a successful business model to replicate? Let's not only discuss but bring to light the trouble trends that threaten open source projects and development as we know it.</p></abstract> <description><p>"[W]e didn't open source it to get help from the community, to make the product better. We open sourced as a freemium strategy; to drive adoption." - MongoDB CEO Dev Ittycheria</p> <p>Open source was never designed or planned to be used as "Gateway Drug" to move people to a proprietary locked in software, but more and more this is happening. This is not just a MongoDB move; Elastic, Redis, and others have all used the "Cloud" as a convenient excuse to erode classic open source licenses and values. At the same time new "open source compatible" versions of popular projects like MySQL or PostgreSQL pop up on cloud providers platforms. It's like the game "Among Us" only with your open source projects. You never know who or what is really open until you dig deep.</p></description> <persons> <person id="7731">Matt Yonkovit</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_source_under_attack/attachments/slides/4608/export/events/attachments/open_source_under_attack/slides/4608/Fosdem_2021_Open_Source_Under_Attack_slides.pdf">Death of Openness and Freedom?</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/M.community/open_source_under_attack.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/open_source_under_attack.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11129.php">Submit feedback</link> </links> </event> <event id="11715"> <start>13:00</start> <duration>01:00</duration> <room>M.community</room> <slug>imposter_syndrome</slug> <title>How to defeat imposter syndrome</title> <subtitle>Confessions of a developer</subtitle> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>Do you feel like you don't belong, you don't deserve what you achieved, everyone in your office is more talented than you? Do you have imposter syndrome... too? Imposter syndrome is common across all industries, but the increasing pressure to be successful in IT is taking its toll on employees, affecting more than half workers, me included :) After many years working in tech for a lot of companies (from startups to big corporations) in many business fields, I found a way to overcome self-doubt and turn this weird feeling in a booster for greater achievements... and I want to share it with you!</p></abstract> <description></description> <persons> <person id="8016">Matteo Bruno</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/M.community/imposter_syndrome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/imposter_syndrome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11715.php">Submit feedback</link> </links> </event> <event id="11022"> <start>14:00</start> <duration>01:00</duration> <room>M.community</room> <slug>database_democratization</slug> <title>The Democratization of Databases</title> <subtitle/> <track>Community</track> <type>maintrack</type> <language/> <abstract><p>This presentation covers the history of various governing structures and why democracy provides superior results. It then explains that open source is a form of democracy, compared to the methods used by proprietary software producers. It covers the many benefits Postgres has enjoyed using an open development model, and how its future remains bright.</p></abstract> <description></description> <persons> <person id="3126">Bruce Momjian</person> </persons> <attachments> </attachments> <links> <link href="https://momjian.us/main/writings/pgsql/democratization.pdf">slides</link> <link href="https://video.fosdem.org/2021/M.community/database_democratization.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.community/database_democratization.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11022.php">Submit feedback</link> </links> </event> </room> <room name="M.misc"> <event id="10917"> <start>14:00</start> <duration>00:30</duration> <room>M.misc</room> <slug>cloud_kube_scheduler</slug> <title>Let There Be Topology-Awareness in Kube-Scheduler!</title> <subtitle>Enhancing Kubernetes Scheduler</subtitle> <track>Cloud Computing</track> <type>maintrack</type> <language/> <abstract><p>With Kubernetes gaining popularity for performance-critical workloads such as 5G, Edge, IoT, Telco, and AI/ML, it is becoming increasingly important to meet stringent networking and resource management requirements of these use cases. Performance-critical workloads like these require topology information in order to use co-located CPU cores and devices. Despite the success of Topology Manager, aligning topology of requested resources, the current native scheduler does not select a node based on it. It's time to solve this problem! We will introduce the audience to hardware topology, the current state of Topology Manager, gaps in the current scheduling process, and prior out-of-tree solutions. We'll explain the workarounds available right now: custom schedulers, creating scheduling extensions, using node selectors, or manually assigning resources semi-automatically. All these methods have their drawbacks. Finally, we will explain how we plan to improve the native scheduler to work with Topology Manager. Attendees will learn both current workarounds, and the future of topology aware scheduling in Kubernetes.</p></abstract> <description><p>Kubernetes has taken the world by storm attracting unconventional workloads such as HPC Edge, IoT, Telco and Comm service providers, 5G, AI/ML and NFV solutions to it. This talk would benefit users, engineers, and cluster admins deploying performance sensitive workloads on k8s. Addition of newer nodes running alongside older ones in data centers results in hardware heterogeneity. Motivated by saving physical space in the data centers, newer nodes are packed with more CPUs, enhanced hardware capabilities. Exposing to use fine grain topology information for optimised workload placement would help service providers and VNF vendors too. We’ll explain numerous challenges encountered in efficiently deploying workloads due to inability to understand the hardware topology of the underlying bare metal infrastructure and scheduling based on it. Scheduler’s lack of knowledge of resource topology can lead to unpredictable application performance, in general under-performance, and in the worst case, complete mismatch of resource requests and kubelet policies, scheduling a pod where it is destined to fail, potentially entering a failure loop. Exposing cluster level topology to the scheduler empowers it to make intelligent NUMA aware placement decisions optimizing cluster wide performance of workloads. This would benefit Telco User Group in kubernetes, kubernetes and the overall CNCF ecosystem enabling improved application performance without impacting user experience.</p></description> <persons> <person id="7567">SWATI SEHGAL</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/cloud_kube_scheduler/attachments/slides/4627/export/events/attachments/cloud_kube_scheduler/slides/4627/Topology_aware_scheduling_Fosdem">Topology-aware scheduling in K8s</attachment> </attachments> <links> <link href="https://github.com/kubernetes/enhancements/pull/1870">Provisioning resources with numa topology Kubernetes Enhancement Proposal</link> <link href="https://docs.google.com/document/d/1LGoMgGlKJpJwXwqJ0qxb6BSuhc1YfPuhfWq8cVYDHsg/edit#">Topology Aware Scheduler Summary</link> <link href="https://www.youtube.com/watch?v=GT8wXhoGEHs">Presentation to kubernetes SIG</link> <link href="https://youtu.be/8zQE0g5OvrI?t=761">Presentation to kubernetes SIG Node</link> <link href="https://asciinema.org/a/3F2c4wZRat3ybWLoS8ifCE6HG">Topology Aware Scheduler Demo </link> <link href="https://github.com/swatisehgal/resource-topology-exporter">Resource Topology Exporter for Topology aware scheduling</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_kube_scheduler.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_kube_scheduler.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10917.php">Submit feedback</link> </links> </event> <event id="11665"> <start>14:30</start> <duration>01:00</duration> <room>M.misc</room> <slug>cloud_quantum_computing</slug> <title>Quantum Computing on Cloud</title> <subtitle>Access quantum acceleration on cloud using co processor model </subtitle> <track>Cloud Computing</track> <type>maintrack</type> <language/> <abstract><p>Unlike GPU cards, quantum acceleration is unlikely to be available as a personal computer in the near future. Right now all the known quantum computers are owned by major players. The lack of availability of quantum computers makes it beneficial to centralize the power of quantum computers, using a SaaS model to democratize access to them, therefore making the cloud a suitable home for quantum computing.</p> <p>The first part of the session introduces an open-source co-processor model where classical computers can offload specialized tasks that are better suited to quantum computers thus lowering the onramp to incorporating quantum computing into applications today.</p> <p>The next part of the sessions demonstrate how to build a co-processor model on the cloud using two community operators that provide quantum acceleration by leveraging Qiskit, an open-source SDK for developing quantum circuits, classical components powered by Red Hat OpenShift and IBM Quantum Experience as the quantum backend</p> <p>The session concludes with a small demonstration of how to run a quantum circuit on the cloud using the co-processor model.</p></abstract> <description></description> <persons> <person id="7960">Parul Singh</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/qiskit-community/openshift-quantum-operators">Code Repository</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_quantum_computing.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_quantum_computing.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11665.php">Submit feedback</link> </links> </event> <event id="11097"> <start>15:30</start> <duration>01:00</duration> <room>M.misc</room> <slug>xlivebg</slug> <title>Live wallpapers for the X window system</title> <subtitle>xlivebg</subtitle> <track>Miscellaneous</track> <type>maintrack</type> <language/> <abstract><p>Xlivebg is a system for live wallpapers under X11. It's both a framework for making it easy to create live wallpapers, as well as a set of bundled live wallpapers. The focus of the talk is going to be on what it takes to implement animated wallpapers for the X window system, and on the design decisions and implementation details behind xlivebg.</p></abstract> <description></description> <persons> <person id="7718">John Tsiombikas</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/xlivebg/attachments/slides/4443/export/events/attachments/xlivebg/slides/4443/xlivebg_slides_fosdem21.pdf">xlivebg slides</attachment> </attachments> <links> <link href="http://nuclear.mutantstargoat.com/sw/xlivebg">xlivebg website</link> <link href="https://github.com/jtsiomb/xlivebg">xlivebg github repo</link> <link href="https://www.youtube.com/watch?v=JZ_RX0BWPD8">video demonstration of xlivebg</link> <link href="http://nuclear.mutantstargoat.com/sw/xlivebg/manual/">xlivebg manual</link> <link href="https://video.fosdem.org/2021/M.misc/xlivebg.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/xlivebg.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11097.php">Submit feedback</link> </links> </event> <event id="10989"> <start>16:30</start> <duration>00:45</duration> <room>M.misc</room> <slug>kubernetes_layered_governance</slug> <title>Layered Governance for your Infrastructure with Kubernetes, OPA, and Terraform</title> <subtitle/> <track>Miscellaneous</track> <type>maintrack</type> <language/> <abstract><p>When writing policy as code, we aim to implement the best practices in our work, but we might not always know how to iterate on policies, nor how to make them transparent to the teams we work with. The best way to enforce policy is to make it easy and to incorporate these practices into an automated pipeline that will make for efficient workflows and by making all policies visible to end-users. We will demonstrate using the Open Policy Agent, Terraform, and Flux in a declarative fashion.</p></abstract> <description></description> <persons> <person id="7645">Taylor Dolezal</person> </persons> <attachments> </attachments> <links> <link href="https://speakerdeck.com/onlydole/layered-governance-for-your-infrastructure-with-kubernetes-opa-and-terraform">Slides</link> <link href="https://github.com/onlydole/layered-governance">GitHub</link> <link href="https://video.fosdem.org/2021/M.misc/kubernetes_layered_governance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/kubernetes_layered_governance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10989.php">Submit feedback</link> </links> </event> <event id="10888"> <start>17:15</start> <duration>00:45</duration> <room>M.misc</room> <slug>asciinema_honeypot</slug> <title>Watch the Asciinema Replay of Your Home-Made Honeypot</title> <subtitle/> <track>Miscellaneous</track> <type>maintrack</type> <language/> <abstract><p>Are you bored of watching the same old movies every day? Let's bring something new to the cinema. A replay of your home-made honeypot with commands played back via Asciinema.</p> <p>Is this a stupid idea for audit logging? Mostly, but it's also interesting to see what users (and bots) type into your containers. In this talk, we will first show you how to quickly build your own honeypot and then talk more about the audit logging features of ContainerSSH, an open source tool that you can use for various use cases - not only for building your own honeypots but also for creating:</p> <ul> <li>Learning environments</li> <li>Web hosts</li> <li>Secure development and exploration environments</li> </ul> <p>You might come up with more use cases - we're looking forward to hearing them.</p></abstract> <description><p>This talk is aimed at people of all skill levels as we will start with the main concepts along the way. If you don't know much about containers or Kubernetes, it should still be understandable and easy to follow along. We're looking forward to answering your questions in the Q&amp;A part of the talk.</p></description> <persons> <person id="4595">Sanja Bonic</person> <person id="8041">Janos Pasztor</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/asciinema_honeypot/attachments/slides/4666/export/events/attachments/asciinema_honeypot/slides/4666/Watch_the_Asciinema_Replay_of_Your_Home_Made_Honeypot.pdf"/> </attachments> <links> <link href="https://containerssh.io/">ContainerSSH</link> <link href="https://video.fosdem.org/2021/M.misc/asciinema_honeypot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/asciinema_honeypot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10888.php">Submit feedback</link> </links> </event> </room> <room name="L.lightningtalks"> <event id="10959"> <start>13:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>notcurses</slug> <title>Notcurses</title> <subtitle>Making terminals do things that were never intended</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Notcurses is a C library (with C++, Python, and Rust wrappers) facilitating complex TUIs on modern terminal emulators. Notcurses supports vivid colors, multimedia via FFmpeg or OIIO, sane multithreading, and complex Unicode. Things can be done with Notcurses that simply can't be done with NCURSES or any other implementation of the X/Open Curses specification. I will present Notcurses's design goals, API, and some details of its implementation, which ought serve as a sufficient grounding for any potential Notcurses developers. Your terminal emulator is more powerful than you have ever dreamed.</p></abstract> <description><p>Notcurses 2.1.0 was released in December 2020, about thirteen months after the repository's first commit. It is available from many Linux distributions, as well as the FreeBSD Ports Collection. It is used by the author's "Growlight" block device manager and "Omphalos" network discover tool, as well as other projects. It aims to be a superset of existing TUI libraries' functionality, while achieving and enabling higher performance. A comprehensive reference, "Hacking the Planet with Notcurses", is available for paperback purchase or free download (Apache-licensed XeLaTeX source is also available). Notcurses has been featured on LWN and at the Debian Gaming Miniconf.</p></description> <persons> <person id="7607">nick black</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/notcurses/attachments/other/4214/export/events/attachments/notcurses/other/4214/worldmap.png">a world map rendered with four different notcurses blitters</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/notcurses/attachments/slides/4479/export/events/attachments/notcurses/slides/4479/notcurses_fosdem_2021.pdf">slides</attachment> </attachments> <links> <link href="https://www.youtube.com/watch?v=cYhZ7myXyyg">1.7.1 hype video</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/notcurses.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/notcurses.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10959.php">Submit feedback</link> </links> </event> <event id="11412"> <start>13:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>kubernetes_secret_management</slug> <title>Secrets or not, but don't clear text.</title> <subtitle>Current state of secret management within Kubernetes</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>With containers being deployed at scale on Kubernetes, there is more than ever the needs of introducing proper Secrets management to address in and out services. While there are dozens of Network related open source projects, there is not much about the art of Secrets and almost none being to be part of the Cloud Native Computing Foundation landscape. This talk provides an overview of the open source state of Secrets management.</p></abstract> <description><p>When deploying containers at scale by the hundreds or thousands, the Secrets management is always one of the most difficult topic to take on. Kubernetes by itself doesn't provide a real secure solution and any other solutions are either a pseudo open source solution calling for budget to move to the Enterprise version or calling for a true mental shift that scares Security Officers. This talk call provides an overview of these projects and concepts, why they are nice but sometimes scary.</p></description> <persons> <person id="6458">Rom </person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/kubernetes_secret_management/attachments/slides/4427/export/events/attachments/kubernetes_secret_management/slides/4427/fosdem2021_secrets_or_not_but_dont_clear_text.pdf">secret or not but don't clear text</attachment> </attachments> <links> <link href="https://www.linkedin.com/in/rvandepoel/">LinkedIn</link> <link href="https://twitter.com/romuald_vdp">Twitter</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/kubernetes_secret_management.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/kubernetes_secret_management.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11412.php">Submit feedback</link> </links> </event> <event id="11648"> <start>13:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>0ad</slug> <title>0 A.D.: Graphics Development</title> <subtitle>"Who said programming is boring?"</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>0 A.D. is a free and open-source game of ancient warfare. It is a real-time strategy game which can compete with the classics of the industry, but comes with absolutely no cost for the players. Come and discover your new favorite game!</p> <p>I'll present a short story about graphics of 0 A. D. Why it requires math and algorithms, why water is the most expensive thing and why the Sun is watching you.</p></abstract> <description></description> <persons> <person id="6163">Vladislav Belov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/0ad/attachments/slides/4767/export/events/attachments/0ad/slides/4767/fosdem2021_0ad_graphics.pdf">Slides (PDF)</attachment> </attachments> <links> <link href="https://play0ad.com/">Website</link> <link href="https://play0ad.com/download/">Download</link> <link href="https://www.facebook.com/play0ad/">Facebook</link> <link href="https://twitter.com/play0ad">Twitter</link> <link href="https://wildfiregames.com/forum/">Community Forums</link> <link href="https://trac.wildfiregames.com/">Wiki and bugtracker</link> <link href="https://trac.wildfiregames.com/wiki/GettingStarted">Getting started with contributions</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/0ad.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/0ad.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11648.php">Submit feedback</link> </links> </event> <event id="11281"> <start>14:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>foss_for_historians</slug> <title>FOSS for the Professional Historian</title> <subtitle>Optimizing a Multisouce Historical Research Workflow in BSD or GNU/Linux with a Tiling Window Manager and Manuscripts Galore</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>For historical research and writing, the use of a dedicated tiling window manager and other customizable FOSS tools improves efficiency. With a bit of work, manuscript facsimiles, database query tools, and other items that a historian might need to have opened simultaneously can be sorted exactly how he/she wishes, freeing crucial time from organization for proper analysis. In this presentation, I explain how to optimize a multisource historical research workflow inside a tiling window manager with an entirely libre software toolkit.</p></abstract> <description></description> <persons> <person id="7793">Corey Stephan</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/historical-theology/awesome-theology">awesome-theology (GitHub awesome list)</link> <link href="https://github.com/bibletime/bibletime">BibleTime</link> <link href="https://github.com/crosswire/xiphos">Xiphos</link> <link href="https://github.com/LukeSmithxyz/vul">vul, CLI Vulgate Latin Bible</link> <link href="https://github.com/LukeSmithxyz/grb">grb, CLI Greek Bible (LXX & GNT)</link> <link href="https://github.com/bontibon/kjv">kjv, CLI King James Version Bible</link> <link href="https://github.com/mk270/whitakers-words">Whitaker's Words, CLI Latin word parsing tool (up-to-date GitHub repository)</link> <link href="https://github.com/debauchee/barrier">barrier, KVM switch imitator (GitHub)</link> <link href="https://members.hellug.gr/sng/ancientgreekoxt/download.html">AncientGreek, a comprehensive Ancient Greek plugin for LibreOffice & Open Office</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/foss_for_historians.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/foss_for_historians.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11281.php">Submit feedback</link> </links> </event> <event id="10978"> <start>14:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>chezmoi</slug> <title>chezmoi: manage your dotfiles across multiple, diverse machines, securely.</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>chezmoi helps you manage your personal configuration files (dotfiles) across multiple diverse machines. A single public branch in a single git repo serves as the source of truth, with machine-to-machine differences and integration with your password manager handled with templates. With chezmoi you can set up your personal environment on a new machine with just two short commands, with minimal dependencies. It runs on Linux, macOS, FreeBSD, OpenBSD, and even more esoteric operating systems like Termux and Windows.</p> <p>In this lightning talk we'll dive straight in to getting started with chezmoi, take a quick peek under the hood to see is architecture and technical choices, and compare it with other dotfile managers.</p></abstract> <description></description> <persons> <person id="7633">Tom Payne</person> </persons> <attachments> </attachments> <links> <link href="https://chezmoi.io">Project homepage</link> <link href="https://github.com/twpayne/chezmoi">GitHub project</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/chezmoi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/chezmoi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10978.php">Submit feedback</link> </links> </event> <event id="11153"> <start>14:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>prototyping_in_cameroon</slug> <title>Local manufacturing of open-source devices for medical labs in Africa: prototyping stage in Cameroon.</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>The lack of accessible quality healthcare is one of the biggest problems in Africa and other developing countries. This is not only due to the unavailability of resources, but also to the absence of a structured formative process for the design and management of healthcare facilities. This situation strongly contributes to deepening inequalities in access to quality healthcare. Through an Open Society Foundations funded project, the Mboalab aims to remedy these inequalities by building Open-Source devices for medical labs. Local manufacturing can address the infrastructural barriers that prevent imported or donated equipment from being properly used, and can facilitate the diffusion of innovation into healthcare practice. This project is part of the large MboaLab mission to contribute to the Common good and catalyze sustainable local development through Open Science.</p></abstract> <description><p>Open science is the best and fair approach to support local manufacturing. That is why the crux of our approach is the use of “open source hardware”, where designs for easily replicated, high quality diagnostic tools are shared with the potential to transform medical devices through the use of digital fabrication and inexpensive, well-engineered parts from mass-produced consumer goods. During FOSDEM, we will present the different facets of our project: 1) the set of prototypes of high quality and inexpensive open-source devices we are going to build; 2) the capacity and capability building dimension of the project, enabling the empowerment of young cameroonians; 3) Expectations of the project.</p></description> <persons> <person id="7741">ELISEE JAFSIA</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/prototyping_in_cameroon/attachments/paper/4227/export/events/attachments/prototyping_in_cameroon/paper/4227/ABSTRACT">Local manufacturing of open-source devices for medical labs in Africa: prototyping stage in Cameroon.</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/prototyping_in_cameroon/attachments/slides/4436/export/events/attachments/prototyping_in_cameroon/slides/4436/Presentation_slide">Local manufacturing of open-source devices for medical labs in Africa: prototyping stage in Cameroon.</attachment> </attachments> <links> <link href="https://mboalab.africa">The MboaLab internet site.</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/prototyping_in_cameroon.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/prototyping_in_cameroon.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11153.php">Submit feedback</link> </links> </event> <event id="10969"> <start>15:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>gfxprim</slug> <title>GFXprim a graphic and widget library written in plain C</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>GFXprim is a modular and minimal graphic and widget library written in plain C. The library is very close to fulfilling its goals hence it's time to present it to a wider audience. Since this is supposed to be quick lightning talk I would like to give rough overview of the library, it's modules and implemented functionality.</p></abstract> <description></description> <persons> <person id="5014">Cyril Hrubis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gfxprim/attachments/slides/4262/export/events/attachments/gfxprim/slides/4262/gfxprim.pdf"/> </attachments> <links> <link href="http://gfxprim.ucw.cz/">Library home page</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/gfxprim.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/gfxprim.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10969.php">Submit feedback</link> </links> </event> <event id="11410"> <start>15:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>gossipsub</slug> <title>GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Permissionless blockchain environments necessitate the use of a fast and attack-resilient message propagation protocol for Block and Transaction messages to keep nodes synchronised and avoid forks. We present GossipSub, a gossip-based pubsub protocol, which, in contrast to past pubsub protocols, incorporates resilience against a wide spectrum of attacks.</p> <p>Firstly, GossipSub's mesh construction implements an eager push model keeps the fan-out of the pubsub delivery low and balances excessive bandwidth consumption and fast message propagation throughout the mesh. Secondly, through gossip dissemination, GossipSub realises a lazy-pull model to reach nodes far-away or outside the mesh. Thirdly, through constant observation, nodes maintain a score profile for the peers they are connected to, allowing them to choose the most well-behaved nodes to include in the mesh. Finally, and most importantly, a number of tailor-made mitigation strategies designed specifically for these three components make GossipSub resilient against the most challenging Sybil-based attacks. We test GossipSub in a testbed environment involving more than 5000 VM nodes deployed on AWS and show that it stays immune to all considered attacks. GossipSub is currently being integrated as the main messaging layer protocol in the Filecoin and the Ethereum 2.0 (ETH2.0) blockchains.</p></abstract> <description><p>In this talk we will go through the design details of the GossipSub protocol, discuss it's novel points and present a comprehensive performance evaluation study. The talk will serve as a great forum to answer questions and justify the choice of using GossipSub in two of the biggest blockchain networks, namely the Filecoin and ETH2.0 networks.</p></description> <persons> <person id="7828">Yiannis Psaras</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/gossipsub/attachments/paper/4233/export/events/attachments/gossipsub/paper/4233/GossipSub_technical_report">GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gossipsub/attachments/slides/4641/export/events/attachments/gossipsub/slides/4641/GossipSub_Slides">GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/gossipsub/attachments/paper/4642/export/events/attachments/gossipsub/paper/4642/GossipSub_Paper">GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks</attachment> </attachments> <links> <link href="https://arxiv.org/abs/2007.02754">GossipSub technical report</link> <link href="https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md">GossipSub Spec</link> <link href="https://research.protocol.ai/blog/2020/gossipsub-an-attack-resilient-messaging-layer-protocol-for-public-blockchains/">GossipSub Blogpost </link> <link href="https://research.protocol.ai/publications/gossipsub-v1.1-evaluation-report/vyzovitis2020.pdf">GossipSub Performance Evaluation Report</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/gossipsub.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/gossipsub.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11410.php">Submit feedback</link> </links> </event> <event id="10960"> <start>15:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>patching_democracy</slug> <title>Patching Democracy</title> <subtitle>A short introduction to voting advice applications and why we might not need to hack democracy</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>We introduce the concept of a VAA by example of the well-known German "Wahl-O-Mat" and show how to run an election compass for your hometown using the free and open source OpenElectionCompass.</p></abstract> <description><p>A voting advice application is a great way to support elections and democracy as a whole by making the parties or candidates more transparent and comparable. The differences between political parties are often difficult to understand for the voters, especially for first-time voters. To make elections more accessible some countries have started to offer election compasses, or VAAs. Services like these help citizens getting to know the parties or candidates by presenting a carefully chosen collection of political statements. The users and the parties both take position to these statements. Based on this, voters can quickly get a comparison between their own opinions and the positions of the parties. In Germany, this service is implemented by the bpb, the Federal Agency for Civic Education and is called "Wahl-O-Mat". In the Netherlands this concept is called "StemWijzer". Software like this has developed in the early 2000s and evolved ever since. Running such a project offers great value to citizens, the political system and our democracy. It is also very expensive. Implementing an election compass is not only time consuming, but also requires great technical knowledge. Usually, there is no election compass for smaller elections, because hiring software developers is simply out of budget.</p> <p>OpenElectionCompass offers a free alternative – free as in free speech as well as in free beer. The requirements for a voting advice application are very similar, be it for a small or a national election, for an election in Berlin or an election in Brussels. OpenElectionCompass aims to provide a free solution, simple to configure, customize and deploy. By continuously improving our project, we have an advantage over agencies doing this only every few years. And by not developing behind closed doors, we are transparent and open for everyone.</p> <p>This talk will give an introduction to the concept of VAAs and introduce you to the benefits of the OpenElectionCompass to help you run your own voting advice application.</p></description> <persons> <person id="7608">Till Sanders</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/patching_democracy/attachments/slides/4765/export/events/attachments/patching_democracy/slides/4765/patching_democracy_fosdem21.pdf">Patching Democracy</attachment> </attachments> <links> <link href="https://open-election-compass.com">OpenElectionCompass</link> <link href="https://twitter.com/tillsanders">Twitter</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/patching_democracy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/patching_democracy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10960.php">Submit feedback</link> </links> </event> <event id="11161"> <start>16:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>open_source_startup</slug> <title>First Ph.D. then Open Source Startup</title> <subtitle>How to start an open source business while getting a Ph.D.</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>There is no better place than a university to develop open source software that you can turn into a startup. Along the way you can get (but don't have to) a Ph.D. When the time is right, you can spin out from the university with substantial state funding, which helps you avoid venture capital (and losing equity early). In this talk, I explain how it works (in Germany). I welcome specific proposals, and I am hiring for my existing open source research projects and startups.</p></abstract> <description></description> <persons> <person id="7743">Dirk Riehle</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/dirkriehle/coss-course">Course (slides) on commercial open source startups</link> <link href="https://oss.cs.fau.de">Professorship of open source software</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/open_source_startup.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/open_source_startup.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11161.php">Submit feedback</link> </links> </event> <event id="11718"> <start>16:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>virgo</slug> <title>Virgo: A Versatile Spectrometer for Radio Astronomy</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>For the past few decades, radio astronomy has been a rapidly developing area of observational astronomy. This is due to the fact that a variety of celestial objects emit electromagnetic radiation at radio wavelengths, which has led to the development of radio telescopes capable of revealing the otherwise-hidden astrophysical properties of the universe. An important requirement that makes radio astronomy observations and analysis possible is an appropriate software pipeline compatible with the spectrometers with which radio observatories are equipped. In this work, we present Virgo: a versatile software solution for radio telescopes.</p> <p>Virgo is an easy-to-use open-source spectrometer and radiometer based on Python and GNU Radio (GR) that is conveniently applicable to any radio telescope working with a GR-supported software-defined radio (SDR). In addition to data acquisition, Virgo also carries out automated analysis of the recorded samples, producing an averaged spectrum, a calibrated spectrum, a dynamic spectrum (waterfall), a time series (power vs time) and a total power distribution plot.</p> <p>By additionally providing the observer with an important set of utilities, Virgo also makes for a great tool for planning (radio) observations. This includes the ability to compute the position of astronomical sources in the sky for a given date, estimate the right ascension and declination given the observer's coordinates along with the altitude and azimuth the telescope is pointing to and convert equatorial to galactic coordinates with the help of the open-source Astropy package.</p></abstract> <description></description> <persons> <person id="6974">Apostolos Spanakis-Misirlis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/virgo/attachments/slides/4441/export/events/attachments/virgo/slides/4441/Virgo.pdf">Slides (PDF)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/virgo/attachments/slides/4442/export/events/attachments/virgo/slides/4442/slides.zip">Slides (images)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/L.lightningtalks/virgo.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/virgo.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11718.php">Submit feedback</link> </links> </event> </room> <room name="B.bofs"> <event id="10856"> <start>17:00</start> <duration>01:00</duration> <room>B.bofs</room> <slug>bof_20_years</slug> <title>FOSDEM: The first 20 years</title> <subtitle>Reflections from the outisde</subtitle> <track>BOFs</track> <type>bof</type> <language/> <abstract><p>The closing keynote of 2020 covered the history of FOSDEM. Now it's your turn to share your memories. This session is an open forum for people to share 2-3 minute stories and anecdotes from their time at FOSDEM, including favourite sessions, parties, speaking experiences, and so on.</p></abstract> <description><p>Ideas for stories might include:</p> <ul> <li>problematic journeys to the venue</li> <li>projects you saw before anyone else</li> <li>successes of projects</li> <li>people you met (or fell out with!)</li> <li>what it's like to get into the Ada dev room :)</li> </ul> </description> <persons> <person id="392">Steven Goodwin</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/MarquisdeGeek/FOSDEM">Some FOSDEM stats</link> <link href="https://submission.fosdem.org/feedback/10856.php">Submit feedback</link> </links> </event> </room> <room name="D.apache.openoffice"> <event id="11717"> <start>10:30</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_state</slug> <title>State of Apache OpenOffice</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>Time to look on the past year, and asses where is the Project. This talk will summerize the 2020 reports, give an overview on Discussions and Activities within the Project. If you want a quick look where the Project is and where we head, then Visit this Talk!</p></abstract> <description></description> <persons> <person id="5243">Peter Kovacs</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openoffice_state/attachments/slides/4490/export/events/attachments/openoffice_state/slides/4490/Status_AOO_2020.odp"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_state.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_state.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11717.php">Submit feedback</link> </links> </event> <event id="11694"> <start>11:15</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_rebuilding_wiki</slug> <title>Rebuilding the Apache OpenOffice wiki</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>The Apache OpenOffice wiki is the major source of information about OpenOffice for developers. A major restructuring is ongoing an d we will discuss what has been done and what remains to be done.</p></abstract> <description></description> <persons> <person id="1275">Andrea Pescetti</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_rebuilding_wiki.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_rebuilding_wiki.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11694.php">Submit feedback</link> </links> </event> <event id="10949"> <start>12:00</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_future_base</slug> <title>The future of Base</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>In this talk I will be talking about base. Base is the Database focused Application within Apache OpenOffice. We will start of with a short Description where Base comes from, and what the Idea behind base has been. I will sum up discussions that have taken place on development Mailinglist. And I would like to take some visions up from the previous discussions and talk a bit about what Base would needs if we would go into the direction of analytics and big data.</p></abstract> <description></description> <persons> <person id="5243">Peter Kovacs</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/openoffice_future_base/attachments/video/4558/export/events/attachments/openoffice_future_base/video/4558/FOSDEM2020_the_future_of_base_rec1_2021_02_05_16_04_56.mp4"/> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openoffice_future_base/attachments/slides/4559/export/events/attachments/openoffice_future_base/slides/4559/The_future_of_Base_v2.odp"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_future_base.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_future_base.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10949.php">Submit feedback</link> </links> </event> <event id="11501"> <start>12:45</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_improving_localization</slug> <title>The localization process for Apache OpenOffice</title> <subtitle>Anatomy of an improvement</subtitle> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>The localization process for Apache OpenOffice</p></abstract> <description><p>The localization prozess for Apache OpenOffice</p> <p>An Anatomy of an improvement</p></description> <persons> <person id="7899">Mechtilde Stehmann</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_improving_localization.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_improving_localization.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11501.php">Submit feedback</link> </links> </event> <event id="11241"> <start>14:30</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_documentation</slug> <title>The Apache OpenOffice Documentation</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>Working with OpenOffice in the documentation effort is rewarding and benefits the community! Join me to discuss documentation!</p></abstract> <description><p>The transcript for this presentation is attached.</p> <p>The presentation editable designs in Draw - see link for template.</p> <p>Step 1. Draw edits for design</p> <ol> <li>Download template</li> <li>Open in Openoffice.org Draaw</li> <li>Edit</li> </ol> <p>Step 2. Create Presentation</p> <p>1.Copy page from Draw 2.Paste slide to Impress. 3. Place image of presenter in Master slide 4. Review impress slides with master image 5. Start Presentation mode 6. Begin recording session</p> <p>Very little editing at all with this method.</p> <p>Note: Original designs using venngage. In accordance with the Terms of Service, output PDF, import PDF to Draw for editable free content. GFDL.</p> <p>https://templates.openoffice.org/en/template/fosdem-presentation-draw-template</p></description> <persons> <person id="7591">Marcia Wilbur</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openoffice_documentation/attachments/slides/4448/export/events/attachments/openoffice_documentation/slides/4448/Slide_deck">Presentation slides doctalk</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/openoffice_documentation/attachments/other/4469/export/events/attachments/openoffice_documentation/other/4469/transcript_doctalk">Transcript - doctalk video</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openoffice_documentation/attachments/slides/4487/export/events/attachments/openoffice_documentation/slides/4487/Template_Slides_for_Presentations">Template Slides (draw and impress)</attachment> </attachments> <links> <link href="https://wiki.openoffice.org/wiki/Apache_OpenOffice_User_Experience">User Experience</link> <link href="https://openoffice.apache.org/orientation/intro-doc.html">Intro to Documentation</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_documentation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_documentation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11241.php">Submit feedback</link> </links> </event> <event id="11390"> <start>15:15</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_web_resources</slug> <title>Apache OpenOffice Web Resources</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>[NO PRERECORDED VIDEO, WILL RUN AS BOF] An overview about the current status of the web resources of the Apache OpenOffice Project. This will include how they are managed within the Apache Software Foundation Infrastructure along with helpful third parties.</p></abstract> <description></description> <persons> <person id="7838">Dave Fisher</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11390.php">Submit feedback</link> </links> </event> <event id="10939"> <start>16:00</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_groovy</slug> <title>OpenOffice UNO Programming with Groovy</title> <subtitle/> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>The talk will discuss using the Apache Groovy programming language with Apache OpenOffice UNO API's and some associated projects that allow this to happen. Projects include the Groovy UNO Extension that adds convenience methods to the OpenOffice API's allowing less coding, an OpenOffice Extension that adds Groovy as a macro language to the office, and an associated extension to add sample macros to the office written in Groovy. Examples of usages like Groovy scripts as OpenOffice client applications, OpenOffice macros in Groovy, and a compiled OpenOffice extension application in Groovy.</p></abstract> <description></description> <persons> <person id="7589">Carl Marcum</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openoffice_groovy/attachments/slides/4502/export/events/attachments/openoffice_groovy/slides/4502/OpenOffice_Groovy_2021.pdf">OpenOffice UNO Programming with Groovy</attachment> </attachments> <links> <link href="https://youtu.be/CzxLKG9CUvo">Talk at ApacheCon</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_groovy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.apache.openoffice/openoffice_groovy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10939.php">Submit feedback</link> </links> </event> <event id="11637"> <start>16:45</start> <duration>00:45</duration> <room>D.apache.openoffice</room> <slug>openoffice_website_cms</slug> <title>Apache OpenOffice Website CMS</title> <subtitle>How to contribute</subtitle> <track>Apache OpenOffice</track> <type>devroom</type> <language/> <abstract><p>[NO PRERECORDED VIDEO, WILL RUN AS BOF]</p> <p>The Apache OpenOffice Project maintains two websites: (1) www.openoffice.org (2) openoffice.apache.org. The two website structures will be discussed. It is now possible to contribute to both of these websites via GitHub Pull Requests</p></abstract> <description></description> <persons> <person id="7838">Dave Fisher</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11637.php">Submit feedback</link> </links> </event> </room> <room name="D.blockchain"> <event id="11640"> <start>10:00</start> <duration>00:30</duration> <room>D.blockchain</room> <slug>fluence_intro</slug> <title>Open Applications Infrastructure</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Fluence is an open application platform powered by peer-to-peer computing protocol and a decentralized licensing system. Fluence enables developers to host applications in the decentralized network and collaborate on live applications, reusing components and data. The protocol creates an open marketplace of compute capacity, so availability and pricing are not controlled by a single company and instead are driven by competitive market forces.</p> <p>Applications are faster to build, easier to integrate, and more secure due to the enhanced composability. Business logic is incorporated into data packets orchestrating the execution of distributed components. Just as code collaboration creates better products, composition via network protocol enables live apps to be forked, expanded, or re-arranged into new and enhanced user experiences.</p></abstract> <description></description> <persons> <person id="7957">Evgeny Ponomarev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_intro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_intro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11640.php">Submit feedback</link> </links> </event> <event id="11644"> <start>10:30</start> <duration>00:35</duration> <room>D.blockchain</room> <slug>fluence_frontend</slug> <title>Building a front-end for a p2p app with Fluence & Aquamarine</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Fluence is an open application platform where apps can build on each other, share data and users. Fluence not only allows hosting services inside p2p network but also provides JS SDK for building web applications, which communicate with the services. After the introductory talk, we will dive right into something very practical. We will demonstrate the process of making a web application with Fluence JS SDK. We will start with an empty create-react-app project and work our way towards the fully functional solution. By the end of this talk, we will develop a text editor, which synchronizes it’s state and the user online status with collaborators over Fluence p2p network. The application will be interacting with two minimalistic services pre-deployed to Fluence: user-list and history, but all of the features will be implemented on client-side without any need to modify existing software. Expect a lot frontend and a lot of code in TypeScript!</p></abstract> <description></description> <persons> <person id="8002">Pavel Murygin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_frontend.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_frontend.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11644.php">Submit feedback</link> </links> </event> <event id="11642"> <start>11:05</start> <duration>00:25</duration> <room>D.blockchain</room> <slug>fluence_aquamarine101</slug> <title>Need for secure composition. Aquamarine language.</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Aquamarine is the multi-process composition medium based on pi-calculus, designed for distributed applications/backends, both in private deployments and open networks. Aquamarine scripts define the topology of the execution (when and where to move control flow) and data dependency graph (what results and what arguments to pass where), essentially describing the composition of (micro)services, e.g. using one service's output as another service's input. The language primitives are based on pi-calculus operations describing certain topological effects and secured by cryptographic signatures of involved peers. The Aquamarine approach allows building distributed systems of any complexity, effectively expressing network behavior.</p></abstract> <description></description> <persons> <person id="8008">Dmitry Kurinskiy</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_aquamarine101.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_aquamarine101.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11642.php">Submit feedback</link> </links> </event> <event id="11391"> <start>11:30</start> <duration>00:30</duration> <room>D.blockchain</room> <slug>matrix_pinecones</slug> <title>Pinecones and Dendrites - P2P Matrix Progress</title> <subtitle>Introducing Pinecone: a new P2P overlay network for Matrix</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Matrix (https://matrix.org) is an open protocol for secure, decentralised communication - defining an end-to-end-encrypted real-time communication layer for the open Web suitable for instant messaging, VoIP, microblogging, forums and more. We <a href="https://archive.fosdem.org/2020/schedule/event/dip_p2p_matrix/">introduced P2P Matrix at FOSDEM 2020</a>, and throughout 2020 we've been working on improving P2P Matrix. This includes massively improving Dendrite, our next-generation Matrix homeserver implementation, implementing P2P Element for genuine mesh networks on iOS via AWDL, using Yggdrasil as a P2P overlay network - and more recently implementing Pinecone; a next-generation P2P overlay network inspired by Yggdrasil which supports source routing and virtual ring routing as well as typical greedy routing. In this talk we'll show off all the progress and give a VIP tour of Pinecone.</p></abstract> <description><p>Matrix has traditionally been a decentralised rather than distributed protocol - with conversations replicated over all the servers whose users are participating in that conversation. However, Matrix clients connect to only one homeserver, which then becomes a central point of control over that account, even though the conversations themselves are decentralised. P2P Matrix changes everything by making the protocol completely distributed; compiling down the whole server stack to run within the client, and connecting the clients together over a P2P overlay network such as libp2p, Yggdrasil or our new Pinecone overlay. The approach is particularly nice because the client code doesn't need to change at all: it just connects to a local server rather than a remote one.</p> <p>We'll demonstrate the work we've done on our Golang Matrix server implementation, Dendrite, in order to get it robust enough for P2P (which is a great stress test!), explain Pinecone, and give the latest updates on decentralised accounts, privacy preserving relay nodes, and how we'll turn Matrix into a hybrid P2P/client-server network in the future!</p></description> <persons> <person id="8015">Neil Alexander</person> </persons> <attachments> </attachments> <links> <link href="https://matrix.org">Matrix</link> <link href="https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix">Introducing P2P Matrix</link> <link href="https://video.fosdem.org/2021/D.blockchain/matrix_pinecones.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/matrix_pinecones.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11391.php">Submit feedback</link> </links> </event> <event id="11702"> <start>12:00</start> <duration>01:00</duration> <room>D.blockchain</room> <slug>scuttlebutt_p2p_apps</slug> <title>'Butts in the Browser</title> <subtitle>In this talk we'll look at building social p2p applications running directly in the browser using secure scuttlebutt.</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Today computer systems are often built with an implicit hierarchy. It can be seen as a way to enforce existing power structures. The very act of making software entails describing exactly how the system can be used and for what. Furthermore, ever more data about the usage of systems is gathered. This combined with machine learning has given rise to a whole new class of systems that can be very hard to reason about. Especially given that the data or the algorithms can be controlled or bought by external parties.</p> <p>What if that doesn't need to be the case, what if we could make software that is both subjective and in control of the user. I will be presenting one such system - Scuttlebutt, detail how it is different from the systems described above, and also different from federated systems.</p> <p>In this particular talk, we delve into how Scuttlebutt apps can be built straight in the browser, no additional application needed. With the expert at hand there will be plenty of time to dive in and explore your own ideas once learning how to build your own SSB apps in the browser.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_p2p_apps.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_p2p_apps.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11702.php">Submit feedback</link> </links> </event> <event id="11703"> <start>13:00</start> <duration>00:55</duration> <room>D.blockchain</room> <slug>scuttlebutt_ecosystem_introduction</slug> <title>Ecosystem Introduction, A Scuttlebutt Walkthrough</title> <subtitle>A helpful hand inviting you into the ecosystem, teaching you the ropes and navigation through real life examples of projects from the scuttleverse!</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Welcome to Scuttlebutt!</p> <p>A walkthrough and introduction to the Scuttleverse. Here we explore real life projects and guide you in connecting with the main network. A hands on workshop for those looking to try out Scuttlebutt.</p> <p>Like other social platforms, you can send messages to your friends and share posts onto a feed. The cool thing is that the underlying technology here means that messages are passed directly between friends via a peer-to-peer (p2p) gossip protocol.</p> <p>As a decentralized social network, Scuttlebutt passes the data from friend to friend, without any central server. The data is localised and distributed so it also happens to work offline!</p></abstract> <description></description> <persons> <person id="7999">zelf</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_ecosystem_introduction.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_ecosystem_introduction.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11703.php">Submit feedback</link> </links> </event> <event id="11439"> <start>13:55</start> <duration>00:40</duration> <room>D.blockchain</room> <slug>drand</slug> <title>drand </title> <subtitle>distributed randomness for internet</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>drand and the associated league of entropy network is delivering periodically unbiasable and verifiable randomness over the internet. This talk presents how drand works, what is the current network, and the applications that can be realized using it. More info at https://drand.love.</p></abstract> <description></description> <persons> <person id="7871">Nicolas Gailly</person> </persons> <attachments> </attachments> <links> <link href="https://">drand.love</link> <link href="https://video.fosdem.org/2021/D.blockchain/drand.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/drand.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11439.php">Submit feedback</link> </links> </event> <event id="11705"> <start>14:35</start> <duration>00:55</duration> <room>D.blockchain</room> <slug>holochain_what_is_it</slug> <title>What is Holochain?</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Holochain is an open-source development framework and distributed P2P networking protocol. It allows you to create truly serverless applications with high levels of security, reliability, and performance. Every user runs the application on their own device, creates and stores their own data, and talks directly to other users.</p></abstract> <description><p>In this talk I introduce Holochain (a framework for building peer-to-peer applications), explain what problems it's trying to solve, show how it tries to solve them differently from blockchain and other decentralized protocols, and drop some juicy details about what you as a dev need to know if you want to start developing on it. Fun whiteboard scribbles explain the concepts along the way.</p> <p>Interesting links</p> <p>Holochain https://holochain.org Holochain Dev Docs https://developer.holochain.org GitHub https://github.com/holochain Holo Host https://holo.host WebAssembly https://webassembly.org/ Rust https://www.rust-lang.org/ WebSocket https://en.wikipedia.org/wiki/WebSocket</p></description> <persons> <person id="8007">Guillem Córdoba</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_what_is_it.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_what_is_it.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11705.php">Submit feedback</link> </links> </event> <event id="11706"> <start>15:35</start> <duration>00:55</duration> <room>D.blockchain</room> <slug>holochain_architecture</slug> <title>Architecting a Holochain App</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Applications built with Holochain are highly modular. This makes it easy to share code and compose smaller pieces together into larger wholes. Each functional part of a Holochain application, called a DNA, has its own set of rules, private network, and distributed database.</p> <p>This session will dive into the basic concepts of Holochain app architecture covering the building blocks of DNAs, membranes, data validation and more.</p> <p>What ideas do you have? Let’s architect them on the fly!</p></abstract> <description></description> <persons> <person id="8007">Guillem Córdoba</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/holochain_architecture/attachments/video/4484/export/events/attachments/holochain_architecture/video/4484/architecture">Architecting a Holochain App</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_architecture.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_architecture.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11706.php">Submit feedback</link> </links> </event> <event id="11791"> <start>16:40</start> <duration>01:00</duration> <room>D.blockchain</room> <slug>ipfs</slug> <title>Beyond Swapping Bits</title> <subtitle>Accelerating file-sharing in P2P networks and IPFS with Bitswap</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Bitswap is a Block Exchange protocol designed for P2P Content Addressable Networks. It leverages merkle-linked graphs in order to parallelize retrieval and verify content integrity. Bitswap is being used in the InterPlanetary File System architecture as the main content exchange protocol, as well as in the Filecoin network as part of the block synchronisation protocol. In this work, we present Bitswap’s baseline design and then apply several new extensions with the goal of improving Bitswap’s efficiency and efficacy and minimizing its bandwidth fingerprint. Most importantly, our extensions result in a substantial increase to the protocol’s content discovery rate. This is achieved by using the wealth of information that the protocol acquires from the content routing subsystem to make smarter decisions on where to fetch the content from.</p> <p>This talk is focused on sharing the operation of Bitswap, the testbed we build to test improvements of Bitswap, and the ways in which we improved Bitswap building the foundation for research lines on file-sharing in P2P networks.</p></abstract> <description></description> <persons> <person id="8280">Alfonso de la Rocha</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ipfs/attachments/slides/4590/export/events/attachments/ipfs/slides/4590/FOSDEM21_Beyond_Swapping_Bits.pdf">@adlrocha - Beyond Swapping Bits</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/ipfs.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/ipfs.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11791.php">Submit feedback</link> </links> </event> </room> <room name="D.bsd"> </room> <room name="D.cad"> </room> <room name="D.openchain"> <event id="11132"> <start>13:00</start> <duration>00:10</duration> <room>D.openchain</room> <slug>openchain_overview</slug> <title>Openchain overview</title> <subtitle>updates and information on the OpenChain project</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>A short overview of the OpenChain project, its purpose, goals and the current state</p></abstract> <description><p>We will introduce the project, its current state, especially the ISO adoption, give a short overview of the requirements and link to the different certification schemes. Finally we will expose the working procedures and link the international working groups.</p></description> <persons> <person id="7783">Jan Thielscher</person> </persons> <attachments> </attachments> <links> <link href="https://www.openchainproject.org">project homepage</link> <link href="https://www.openchainproject.org/contribute-to-the-standard">the specification</link> <link href="https://certification.openchainproject.org">self-certification web app</link> <link href="https://video.fosdem.org/2021/D.openchain/openchain_overview.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/openchain_overview.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11132.php">Submit feedback</link> </links> </event> <event id="11385"> <start>13:15</start> <duration>00:45</duration> <room>D.openchain</room> <slug>open_harmony</slug> <title>OpenChain upfront: OpenHarmony was born this way</title> <subtitle>Legal compliance and Openchain conformance for a new operating system. Challenges and lessons</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>OpenHarmony is a new operating system stewarded by Huawei's Open Source Technology Center, with Array as advisor. Having prioritized compliance, governance and transparency, OpenChain was the natural backdrop for it. Rather than embracing open source only to exploit it, having transparency and compliance as a last minute afterthought, OSTC has made them central pillars from the very beginning. We seek the opportunity to present you how the goal of OpenChain conformance helped.</p></abstract> <description><p>Born as an internal project, since its conception OpenHarmony's future has been to live in an independent, respected foundation that will receive all the tool for keeping it a truly community-driven operating system. The tools that Will be donated do include a compliance toolchain with source code scanning, compliance policy documents and roles, a Bill of Material for the initial release and many other artifacts to make it sure compliance is not a one-off exercise, but an ongoing commitment for the entire life of the project. Full conformance with Openchain is projected in a short-term future and it is surely a motivation to start with the right steps and making the right choice off the very beginning of the project.</p></description> <persons> <person id="7758">Carlo Piana</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_harmony/attachments/slides/4536/export/events/attachments/open_harmony/slides/4536/huawei_fosdem2021_md.pdf">Slide deck</attachment> </attachments> <links> <link href="https://www.sfscon.it/talks/foss-management-and-license-compliance-must-come-first/">Talk at SFScon Edition 2020: "FOSS management and license compliance must come first"</link> <link href="https://git.ostc-eu.org/incubate/meta-ohos/docs">Project page</link> <link href="https://git.ostc-eu.org/OSTC/OHOS/governance/ip-policy">First version of the Policy documents</link> <link href="https://git.ostc-eu.org/playground/fossology">Toolchain and docs</link> <link href="https://video.fosdem.org/2021/D.openchain/open_harmony.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/open_harmony.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11385.php">Submit feedback</link> </links> </event> <event id="11259"> <start>14:05</start> <duration>00:45</duration> <room>D.openchain</room> <slug>openchain_capability_model</slug> <title>Capabilities for Open Source Compliance</title> <subtitle>Understanding the OpenChain Capability Model</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>Openchain is a comprehensive set of requirements allowing to cope with the open source compliance challenge. Recently it even has been accepted as ISO standard. However, compliance in todays world is not possible without tool support. To get a grip on the different tools, understand what they can do and where their limitations are, the OC tooling workgroup decided to develop a capability model. This model outlines all required capabilities to cope with the open source challenge and allows to map the functionality of tools. Thus the model can be seen as a map through the djungle of tools. In this talk, Jan will introduce the model as well as briefly outline the most relevant capabilities. Links to further resources as well as first maps will be provided.</p></abstract> <description><p>Open Source Compliance (OSC) is not a might anymore. It is part of good manufacturing practise. Since manufacturing and software grow closer, the insight that not only the Software Bill of Materials (SBOMs) become essential for maintainability and security of software but also the legal documentation can't be seen as a once printed and never read paperwork anymore. The acceptance of CI/CD as development best practise and the ever growing amount of components used from open source stacks and their imminent dependencies prevent further manual delivery of compliance artefacts. But what is required to cope with that challenge? Where do you have to put your efforts in? Which tools are the right tools to check for your purpose? To help you answer these questions, the Capability model has been designed.<br/> This talk introduces the motivation as well as the basic aspects of the model without going into details. Guiding thoughts and ideas will be transported as well as links for further studies will be provided. Finally the talk will conclude with a few mapping samples and an outlook in which directions the work will proceed.</p></description> <persons> <person id="7783">Jan Thielscher</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/Open-Source-Compliance/Sharing-creates-value/tree/master/Tooling-Landscape/CapabilityMap">latest version of the model</link> <link href="https://github.com/Open-Source-Compliance/Sharing-creates-value/tree/master/Tooling-Landscape/Meeting-Material">meeting notes of the working group</link> <link href="https://github.com/Open-Source-Compliance/Sharing-creates-value/wiki">Tooling WG communication channels</link> <link href="https://support.trustsource.io/hc/en-us/articles/360012782880">implementation sample @ TrustSource</link> <link href="https://video.fosdem.org/2021/D.openchain/openchain_capability_model.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/openchain_capability_model.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11259.php">Submit feedback</link> </links> </event> <event id="11336"> <start>14:55</start> <duration>00:45</duration> <room>D.openchain</room> <slug>open_compliance_reference_tooling</slug> <title>Open Compliance Reference Tooling</title> <subtitle>Leveraging Open Source Tools for Open Source Management</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>Open Compliance Reference Tooling in action. The talk will show the most important building blocks of a working automated Open Source Management pipeline based on Open Source Tools as well as the necessary processes and workflows around the tooling to leverage open component metadata from the community.</p></abstract> <description><p>Based on the OSS Review Toolkit as orchestrator, several Open Source tools (like ScanCode, FOSSology, ...) as well as Open Standards like SPDX and open data-sources like Clearly-Defined may be used to provide an automated end-to-end Open Source Compliance pipeline. From the process side, there are different ways to implement this in different organizational contexts. The talk will provide one reference process for continuous integration and continuous deployment. A short demo will be given to illustrate the advantages and challenges of the approach. As everything is based on Open Source, this approach shall help to support the Open Chain idea to provide a state of the art reference tooling for everyone in the supply chain and thus raise the overall Open Source Management maturity.</p></description> <persons> <person id="7817">Marcel Kurzmann</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_compliance_reference_tooling/attachments/slides/4581/export/events/attachments/open_compliance_reference_tooling/slides/4581/FOSDEM_2021_Open_Compliance_Reference_Tooling.pdf">FOSDEM_2021_Open_Compliance_Reference_Tooling</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openchain/open_compliance_reference_tooling.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/open_compliance_reference_tooling.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11336.php">Submit feedback</link> </links> </event> <event id="11125"> <start>15:45</start> <duration>00:45</duration> <room>D.openchain</room> <slug>reuse</slug> <title>REUSE</title> <subtitle>Best practices for declaring copyright and licenses</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>Why is it so hard to detect the licensing and copyright information of source code? Because it is a tedious and often confusing task for developers to provide this information. The REUSE project changes that! With three simple steps, it makes adding and reading licensing and copyright information easy for both humans and machines. This presentation will guide you through the REUSE best practices and presents how to make clear licensing simple.</p></abstract> <description><p>In 2017, the FSFE started the REUSE initiative. The main goal is to make it easier for developers to declare the licensing and copyright situation for their code. Especially in common scenarios where a repository contains code from various sources under different licenses with multiple copyright holders, it often becomes complex for everyone who wants to legally reuse code.</p> <p>Therefore, REUSE provides best practices that aim to be compatible with already existing recommendations and still cover also complex projects and their edge cases. The result is that for a REUSE compatible repository, every single file in some way carries information about its license and copyright holder(s), with the full license text(s) available.</p> <p>To make adoption as easy as possible, REUSE offers tools and accompanying documentation. Thanks to this, we already see hundreds of projects being REUSE compliant already. The more projects follow the best practices, the easier developers can reuse their code safely and thereby contribute to a system in which you do not need a lawyer to license your code.</p></description> <persons> <person id="3794">Max Mehl</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/reuse/attachments/slides/4543/export/events/attachments/reuse/slides/4543/REUSE_Slides.pdf">REUSE - FOSDEM presentation - Max Mehl</attachment> </attachments> <links> <link href="https://reuse.software">REUSE homepage</link> <link href="https://video.fosdem.org/2021/D.openchain/reuse.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/reuse.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11125.php">Submit feedback</link> </links> </event> <event id="11371"> <start>16:35</start> <duration>00:25</duration> <room>D.openchain</room> <slug>automated_openchain_compliance_container_pipeline</slug> <title>Automating OpenChain with an open source CI pipeline</title> <subtitle>From code selection through container images to distribution</subtitle> <track>OpenChain</track> <type>devroom</type> <language/> <abstract><p>In this talk, James Curtis, lead developer at OpusVL, will explain the complex compliance challenge faced when working on a variety of projects for different customers, each having overlapping and separate areas of Open Source code.</p> <p>He will explain the approach taken to automating the process by connecting up the software release pipeline through Continuous Integration (CI) tooling to deliver OpenChain compliance reporting.</p> <p>This will cover the path from developer and version control through testing and finally to the hosted container image. The tools and processes will be shared as well as the current state - this is a new subject area so it is constantly being developed, and all based on freely available Open Source components.</p> <p>The development of this process was funded by Innovate UK through the (DITO project (https://dito.tech).</p></abstract> <description></description> <persons> <person id="7992">James Curtis</person> </persons> <attachments> </attachments> <links> <link href="https://opusvl.com">OpusVL - UK Open Source integrator</link> <link href="https://dito.tech">Innovate UK funded open source healthcare project</link> <link href="https://video.fosdem.org/2021/D.openchain/automated_openchain_compliance_container_pipeline.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openchain/automated_openchain_compliance_container_pipeline.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11371.php">Submit feedback</link> </links> </event> </room> <room name="D.cicd"> </room> <room name="D.collab"> <event id="10839"> <start>10:00</start> <duration>01:00</duration> <room>D.collab</room> <slug>humancentricinternet</slug> <title>Designing a human centric next generation internet</title> <subtitle>Vision and progress on the Interpeer Project</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>The Interpeer Project attempts to provide the technical underpinnings for a human centric next generation internet.</p> <p>As sensors and compute nodes are now (close to) ubiquitous, it follows that there is no longer a static or traceable relationship between ownership of a physical processing unit and the personal identifiable data it processes.</p> <p>A future internet architecture must take this into account, whilst respecting and protecting user's privacy and data protection concerns, also from a regulatory point of view. At the same time, sharing data in this proliferation of processing units also favours distributed approaches over the web's decentralised architecture.</p> <p>This session outlines the future the Interpeer Project envisions, and reports on achieved outcomes to date.</p></abstract> <description><p>The Web has was designed with sharing of textual information in mind, and has by now outgrown this purpose. In the academic context in which it was conceived, and considering the technical constraints of the time, it made sense to design a centralised protocol for up- and downloading documents to a server managed by an institution or company. The Web has long evolved away from this, and added authentication, authorization and encryption as natural afterthoughts to the original design.</p> <p>Nowadays, we share more than documents. Our concept of sharing has evolved (for better and worse) from only adding to the public domain to selectively trusting groups or individuals with specific pieces of information.</p> <p>While services built on web protocols can and have modelled this new concept, it remains difficult to do well. This and financial incentives combined push developers to instead adopt half measures, whereby a central instance - the webserver and its legal owners - act as intermediaries to the process, weakening the sharing model to commercial, state or criminal exploitation.</p> <p>There are excellent organisations fighting to amend legislations to close such loopholes. The Interpeer Project recognizes that aside from the legal struggles, the practical consideration remains that it is much simpler for developers to build centralised, vulnerable products than those safe by design.</p> <p>It aims at making safe data sharing applications as easy or easier to build by starting from the ground up, and embedding the security and synchronization concepts for a highly distributed network directly into a new and open protocol stack.</p> <p>Empowering users in the context of this project means enabling them to do everything they're currently used to and more, but safely and without the strict need for centralised infrastructure.</p></description> <persons> <person id="7343">Jens Finkhaeuser</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/humancentricinternet/attachments/slides/4263/export/events/attachments/humancentricinternet/slides/4263/presentation.pdf">Designing a Human Centric Next Generation Internet</attachment> </attachments> <links> <link href="https://interpeer.io">Interpeer Project</link> <link href="https://video.fosdem.org/2021/D.collab/humancentricinternet.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/humancentricinternet.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10839.php">Submit feedback</link> </links> </event> <event id="11569"> <start>11:35</start> <duration>00:25</duration> <room>D.collab</room> <slug>publicwebsitexwiki</slug> <title>From 0 to public website in 20 minutes with XWiki</title> <subtitle/> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>Two years ago I showed how to use XWiki as a development platform to build collaborative content centric applications while last year I did a short demo about how to use XWiki to setup a collaborative intranet in just 20 minutes. This year I propose a demo about how to create a public website with XWiki, and use XWiki like a content management system (but a collaborative one). The appeal of XWiki for such a usage is the possibility to integrate all usages in a single tool (intranet - see last year's talk - or any other content centric collaborative platform - see the talk from 2 years ago), while not completely missing the presentation features of "classical" content management systems.</p></abstract> <description></description> <persons> <person id="2114">Anca Luca</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.collab/publicwebsitexwiki.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/publicwebsitexwiki.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11569.php">Submit feedback</link> </links> </event> <event id="11419"> <start>12:00</start> <duration>00:30</duration> <room>D.collab</room> <slug>collabora</slug> <title>Collabora Online for your documents</title> <subtitle>Hear how we have been improving Online's UX, features & community</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>The Collabora Online code-base can bring the power of LibreOffice into an iframe inside your web app. Come and hear how we've made that power even prettier and more functional for your user's delectation.</p></abstract> <description><p>Collabora Online is super-easy to integrate with content management applications, come see some pictures of many successful integrations. Understand how the product works, scales and can bring a very easy to deploy bundle of interoperable document beauty to your application. See the internals of Collabora Online, and checkout how you can get involved with building, debugging, and developing it. Hear about our growing community, and all the changes we've done to make life better for our users, integrators and contributors in the last year.</p></description> <persons> <person id="425">Michael Meeks</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/collabora/attachments/slides/4409/export/events/attachments/collabora/slides/4409/Collabora_Online_for_docs.pdf">Collabora Online for documents</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.collab/collabora.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/collabora.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11419.php">Submit feedback</link> </links> </event> <event id="11069"> <start>12:30</start> <duration>01:00</duration> <room>D.collab</room> <slug>blurringlinestiki</slug> <title>Blurring the Lines: Tiki 'No-Code/Low-Code' Empowers</title> <subtitle>Full Stack Developer without knowledge of any programming languages</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>'No-Code/Low-Code' software by Tiki.org has blurred the lines, allowing for team member participation and engagement on digital and data initiatives on many levels. It goes well beyond many CRM, ERP, PM, etc, offerings which are good at what they do but typically narrow in focus, by giving users a wide mix of hundreds of tools in many categories - Front-end, Back-end, Databases, Admin and Mobile. Big 'Features', supporting 'Features' and countless small but handy plugins all combine, allowing users to literally create any app for any business sector. This less focused and 'utilitarian' nature is more relevant than ever as Tiki resolves a problem so many organizations today are struggling to solve - too many apps with little to no integration between them. Tiki offers so much, in fact, that it allows individuals to become Full Stack Developers - this is my story and where I'm at after using Tiki for over 8 years. However, since it's FLOSS software it also fits developers like a glove, as unlike proprietary 'No-Code/Low-Code' offerings where even developers would need to submit Bug Reports and wait for responses, Tiki allows them to get 'under the hood' and debug complex configurations at their convenience.</p> <p>This presentation briefly covers a few 'No-Code/Low-Code' development tools in each of the 5 categories that Full Stack Developers need, various user roles and the levels on which they can participate as well as gives examples of 'No-Code' and 'Low-Code' within Tiki.</p></abstract> <description></description> <persons> <person id="7701">Mike Finko</person> </persons> <attachments> </attachments> <links> <link href="https://www.tiki.org">Tiki is the Free / Libre / Open Source Web Application Platform with the most built-in features.</link> <link href="https://video.fosdem.org/2021/D.collab/blurringlinestiki.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/blurringlinestiki.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11069.php">Submit feedback</link> </links> </event> <event id="11484"> <start>13:30</start> <duration>00:20</duration> <room>D.collab</room> <slug>lessonslearnedcollaboratingremotely</slug> <title>Lessons learned while collaborating remotely in a global pandemic</title> <subtitle/> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>With the global pandemic, many teams have turned to remote work on a full-time basis. Prior, the XWiki team had been working distributively, building open-source software, for over 15 years. Some of us were working remotely full time. Other colleagues opted to go to the office. The majority of the team chose to blend the two, depending on their preferences and needs. Almost a year on, what seemed a temporary change feels like a permanent arrangement.</p> <p>Being able to work entirely remotely has been, in many ways, a privilege. But collaborating during a pandemic is not business as usual. This talk reflects on the specific challenges we faced, the changes and tools we implemented to address them, and the ways we tried to support each other through this uncertain period. While there’s no one size fits all, we hope sharing our experience will prove useful for teams navigating similar challenges. We’re in this together.</p></abstract> <description></description> <persons> <person id="7328">Silvia Macovei</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lessonslearnedcollaboratingremotely/attachments/slides/4638/export/events/attachments/lessonslearnedcollaboratingremotely/slides/4638/LessonsLearnedCollaboratingRemotelyGlobalPandemic.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.collab/lessonslearnedcollaboratingremotely.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/lessonslearnedcollaboratingremotely.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11484.php">Submit feedback</link> </links> </event> <event id="11587"> <start>14:00</start> <duration>01:00</duration> <room>D.collab</room> <slug>nextcloudhub</slug> <title>Nextcloud Hub - 20 20 20</title> <subtitle>In this talk we'll go over what 2020 brought for Nextcloud and the latest & greatest in the most popular content collaboration platform</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>This presentation will go over what Nextcloud introduced over 2020.</p></abstract> <description></description> <persons> <person id="79">Jos Poortvliet</person> </persons> <attachments> </attachments> <links> <link href="https://nextcloud.com">Nextcloud website</link> <link href="https://video.fosdem.org/2021/D.collab/nextcloudhub.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/nextcloudhub.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11587.php">Submit feedback</link> </links> </event> <event id="11424"> <start>15:00</start> <duration>00:30</duration> <room>D.collab</room> <slug>onlyofficeultimatesecurity</slug> <title>ONLYOFFICE: How to provide ultimate security for real-time document collaboration</title> <subtitle/> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>Nowadays, lots of users are concerned about the safety of their confidential data when it comes to online collaboration. And their concerns are fully justified.</p> <p>So we at ONLYOFFICE, an open-source project with the focus on advanced and secure document processing, do our best to provide a comprehensive level of security for online doc editing and collaboration.</p> <p>With GDPR compliant ONLYOFFICE Docs, you get a wide range of security tools and services to protect yourself from unauthorized access, data leaks, or insider actions. Self-hosted ONLYOFFICE can be installed on your own private server, so all your data always stays ‘in-house.’ The server level of data protection is implemented, among other things, with JSON Web Token and configurable cache lifetime. Important is, that no user data is stored on the ONLYOFFICE server. Besides, there are additional security features such as restriction on copying, downloading and printing, watermarking, flexible document permissions, etc.</p> <p>The same applies to the integration of ONLYOFFICE Docs with other open-source services and platforms so that users of the combined solutions also get secure document editing and co-authoring.</p> <p>To make your experience even more secure, last year we implemented:</p> <ul> <li><p>Custom filter access permission that allows hiding the data you don’t want to show before sharing your spreadsheet. In other words, users won’t be able to change the filter you’ve applied before sharing your spreadsheet and will be able to work only with the specified fields.</p></li> <li><p>Storage encryption so that you can protect data at rest against breaches. If the storage encryption option is enabled, all the files stored in your ONLYOFFICE will be encrypted using the Advanced Encryption Standard, symmetric block cipher, also known as Rijndael, that encrypt data blocks of 128 bits using symmetric keys of 256 bits.</p></li> <li><p>The first version of ONLYOFFICE Private Rooms, protected workplaces where every symbol you type is encrypted using the unbreakable AES-256 algorithm, even if you are co-editing documents with your teammates in real-time. Files that are created, stored and shared within a Private Room never leave the directory and cannot be copied, re-distributed, or decrypted. Document encryption and decryption is performed strictly on the user’s machine end-to-end.</p></li> </ul> <p>Besides, we are now working on multi-functional secure forms for building any document template and secure form filling when your co-author is not permitted to see some parts of the doc.</p></abstract> <description></description> <persons> <person id="6887">Alex Mikheev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.collab/onlyofficeultimatesecurity.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/onlyofficeultimatesecurity.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11424.php">Submit feedback</link> </links> </event> <event id="11427"> <start>15:30</start> <duration>01:00</duration> <room>D.collab</room> <slug>migratetoxwiki</slug> <title>Migrating to an Open Source Wiki</title> <subtitle>Move your data to XWiki from Confluence, Sharepoint or Document Management Systems</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>Using a new collaboration tools can be a challenge when it comes to pre-existing information. In this talk, we will look at available solutions when migrating data to the XWiki Open Source software.</p> <p>We will first review the differences between XWiki and alternate systems, namely Atlassian Confluence, Microsoft Sharepoint and document management systems. Secondly we will show multiple approaches to migrating data into XWiki and improving the quality of the information available. Finally we will demonstrate existing importing tools available in XWiki: Confluence Import &amp; XWiki Batch Import.</p></abstract> <description></description> <persons> <person id="2113">Ludovic Dubost</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/migratetoxwiki/attachments/slides/4678/export/events/attachments/migratetoxwiki/slides/4678/FOSDEM2021_Importing_Data_in_an_Open_Source_Wiki.pdf">Slides</attachment> </attachments> <links> <link href="https://xwiki.org">XWiki Open Source Project</link> <link href="https://video.fosdem.org/2021/D.collab/migratetoxwiki.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/migratetoxwiki.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11427.php">Submit feedback</link> </links> </event> <event id="11512"> <start>16:30</start> <duration>01:00</duration> <room>D.collab</room> <slug>semapps</slug> <title>SemApps : A (Linked-)Data Management System based on SOLID and the semantic web</title> <subtitle>Fostering interconnections between communities by creating synergies between their platforms</subtitle> <track>Collaborative Information and Content Management Applications</track> <type>devroom</type> <language/> <abstract><p>SemApps is a collaborative, interoperable, generic and modular knowledge management system :</p> <ul> <li>Based on linked data &amp; semantic web technologies and the SOLID specification, it allows the co-production of knowledge graphs.</li> <li>Built on open standards, it enables the development of interoperable information systems.</li> <li>Designed on a modular architecture, it gives everyone the opportunity to build and customize platforms on demand.</li> </ul> </abstract> <description><p>SemApps is an open-source software project whose development is coordinated by the Virtual Assembly (VA), a French-based non-profit organization bringing together about fifty developers and activists.</p> <p>In a context of strong fragmentation of dynamics in the field of transition, VA aims to develop commons (digital tools, methodologies and projects) to promote the interconnection of transition movements.</p> <p>SemApps is one of the Virtual Assembly's core projects. Its mission is to foster interconnections between communities by creating synergies between their information systems.</p> <p>SemApps is a collaborative, interoperable, generic and modular knowledge management system : - Based on semantic web technologies and the SOLID specification, it allows the co-production of knowledge graphs. - Built on open standards, it enables the development of interoperable information systems. - Designed on a modular architecture, it gives everyone the opportunity to build and customize platforms on demand.</p> <p>Its code is released under the Apache 2.0 free license.</p></description> <persons> <person id="7908">Guillaume Rouyer</person> </persons> <attachments> </attachments> <links> <link href="https://semapps.org/">Homepage of the project</link> <link href="https://semapps.org/blog/semapps-news-1">Blog</link> <link href="http://archipel.assemblee-virtuelle.org/">Sandbox</link> <link href="https://solidproject.org/">About the SOLID project</link> <link href="https://www.virtual-assembly.org/association-virtual-assembly/">About Virtual Assembly</link> <link href="https://github.com/assemblee-virtuelle/pair/blob/master/3-Dissemination/Diagrammes-PAIR-Winter-2020/PAIR%20Core%20Subjects-2020-WinterEdition.png">About the PAIR ontology</link> <link href="https://www.youtube.com/channel/UCg7sYh_Y8cHFT4s82K4SVmA">Virtual Assembly's Youtube channel </link> <link href="https://video.fosdem.org/2021/D.collab/semapps.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.collab/semapps.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11512.php">Submit feedback</link> </links> </event> </room> <room name="D.community"> </room> <room name="D.composition"> </room> <room name="D.containers"> </room> <room name="D.declarative.minimalistic"> </room> <room name="D.dependency"> </room> <room name="D.design"> <event id="11625"> <start>13:00</start> <duration>00:20</duration> <room>D.design</room> <slug>a_brief_introduction_to_open_source_design</slug> <title>A brief introduction to Open Source Design</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Every year we take some time to introduce the Open Source Design collective, what we do, where to find us and how to get involved.</p></abstract> <description></description> <persons> <person id="2363">Bernard Tyers</person> </persons> <attachments> </attachments> <links> <link href="https://www.opensourcedesign.net">Open Source Design website</link> <link href="https://video.fosdem.org/2021/D.design/a_brief_introduction_to_open_source_design.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/a_brief_introduction_to_open_source_design.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11625.php">Submit feedback</link> </links> </event> <event id="11335"> <start>13:30</start> <duration>00:20</duration> <room>D.design</room> <slug>communicating_cryptpad</slug> <title>Communicating CryptPad </title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>CryptPad is an encrypted and open-source collaboration suite. One year ago I joined the team as a designer. In this talk I will present some of what has been achieved and reflect on the challenges ahead.</p></abstract> <description><p>When I joined CryptPad in November 2019, the project had already been operating for a few years. Like many open-source projects it was lacking on the design front and I was brought in to "improve the user experience". This broad task takes on many forms, but they all boil down to one thing: improving communication. Whether in UI design, UX writing, answering support tickets, writing documentation, or visual identity, all of my work to date has been about how CryptPad communicates. I did not set out to re-invent everything from scratch but rather aimed to consolidate what was already there and to make the software more legible in a broad sense. This includes the strategy for implementing design changes gradually, negotiating immediate demands (e.g. implementing a new feature) and longer-term ambitions (e.g. rebranding) all while adhering to the release cycle. In this talk I will highlight examples of design improvements achieved this year, from specific features to the release of our documentation and our upcoming 4.0 release with a new visual identity. I will also reflect on the next major challenge: accessibility.</p></description> <persons> <person id="6888">David Benque</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/communicating_cryptpad.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/communicating_cryptpad.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11335.php">Submit feedback</link> </links> </event> <event id="11361"> <start>14:00</start> <duration>00:20</duration> <room>D.design</room> <slug>design_bitcoin_for_everyone</slug> <title>Design Bitcoin for Everyone</title> <subtitle>How we practice and spread open design to make Bitcoin more intuitive and accessible</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Since the middle of 2020, an open community has formed around the goal of making Bitcoin more intuitive and accessible. Our big project is a Bitcoin Design Guide to help both designers and developers create better Bitcoin experiences faster. We also work to promote the idea of open design, to bring more designers into the space, and to help open-source projects adopt better design processes. This presentation will provide an overview of all these efforts, where we are (early) and what the future might hold.</p></abstract> <description></description> <persons> <person id="7728">Christoph Ono</person> </persons> <attachments> </attachments> <links> <link href="https://bitcoin.design">Project website</link> <link href="https://www.figma.com/proto/X2c9pGIr38rEzVuS0locAN/FOSDEM-slides?node-id=1%3A694&viewport=388%2C97%2C0.09371586889028549&scaling=min-zoom">Presentation slides</link> <link href="https://video.fosdem.org/2021/D.design/design_bitcoin_for_everyone.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/design_bitcoin_for_everyone.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11361.php">Submit feedback</link> </links> </event> <event id="10893"> <start>14:30</start> <duration>00:20</duration> <room>D.design</room> <slug>redesign_of_an_established_open_source_cms</slug> <title>Redesign of an established Open Source CMS</title> <subtitle>Drupal Admin UI: Past, Present and possible Future</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>In this session I'll talk about the brief history of Drupal &amp; the Drupal interface, how it has evolved and why this redesign is an important step for the future of Drupal. As it's important to being inclusive and we treat this as a key value in the Drupal community we made inclusivity &amp; accessibility the main priority.</p> <p>I will dive into the Design System, the principles behind it and the new interfaces which are based off this Design System:</p> <p>Claro The new, upcoming default admin experience.</p> <p>Gin The so-called "Future UI" – which started as a pure vision and is now available as a contrib theme which you can use today.</p></abstract> <description></description> <persons> <person id="7552">Sascha Eggenberger</person> </persons> <attachments> </attachments> <links> <link href="https://noti.st/saschaeggi">Previous Talks</link> <link href="https://noti.st/saschaeggi/grpbwa/facelift-your-administrative-experience#sKRHWNF">Administrative Experience Talk</link> <link href="https://dribbble.com/saschaeggi/projects/1950421-Drupal-Gin-Future-UI">Some screenshots</link> <link href="https://noti.st/saschaeggi/qXIOV9/a-better-experience-for-content-editors">Latest Talk</link> <link href="https://video.fosdem.org/2021/D.design/redesign_of_an_established_open_source_cms.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/redesign_of_an_established_open_source_cms.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10893.php">Submit feedback</link> </links> </event> <event id="11546"> <start>15:00</start> <duration>00:20</duration> <room>D.design</room> <slug>why_are_we_scared_of_user_research</slug> <title>Why are we scared of user research?</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Most of the free software projects I know do little to none research with their users. Well: the vast majority do absolutely none, and very few do a teensy little bit, most of the time with the most vocal members of their user base. Why is that? Why is free software afraid of user research?</p> <p>This presentation will propose a classification of free software types based on their ideas and attitudes towards user research. The classification is really just a joke, but I hope it will help me debunk some of the misunderstandings and myths that surround user research in free software circles. I will also try to explain what user research is actually about, how it can help your free software project, and give you some advice on how to get started with it.</p></abstract> <description></description> <persons> <person id="1670">Belen Barros Pena</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/belenbarrospena/no_design_without_research_lgm2019/blob/master/README.md">This is roughly the script of the presentation</link> <link href="https://belenbarrospena.github.io/no_design_without_research_lgm2019/#/">These are the slides</link> <link href="https://www.youtube.com/watch?v=AMi3KCpUUII">Video of the talk at LGM 2019</link> <link href="https://video.fosdem.org/2021/D.design/why_are_we_scared_of_user_research.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/why_are_we_scared_of_user_research.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11546.php">Submit feedback</link> </links> </event> <event id="11624"> <start>15:30</start> <duration>00:20</duration> <room>D.design</room> <slug>improving_the_usability_of_pip_the_python_package_manager</slug> <title>UX contributions to pip, Python's package installer</title> <subtitle>A conversation about UX contributions with the pip team</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>During 2020 we spent the year working with the maintainers of pip, the Python package manager. The project was to implement a new dependency resolver and improve pip's usability. It was a difficult project as personally, I knew very little about software package managers apart from doing "pip install". How do you do UX design with a piece of software used by hundreds of thousands (possibly millions!) of users on a small budget? Where do you find those users? Combined with this the maintainers were under pressure to do a lot of complicated work in a short period of time.</p> <p>This session will be a recorded discussion between the UX designers and the pip maintainers. We'll talk about what it was like to spend a year working together, the challenges, and the lessons we can teach others. We'll leave 5 minutes (approx) at the end for Q&amp;A.</p></abstract> <description></description> <persons> <person id="2363">Bernard Tyers</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/improving_the_usability_of_pip_the_python_package_manager.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/improving_the_usability_of_pip_the_python_package_manager.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11624.php">Submit feedback</link> </links> </event> <event id="11073"> <start>16:00</start> <duration>00:20</duration> <room>D.design</room> <slug>gain_a_superpower_in_oss_as_a_designer_through_code</slug> <title>Gain a Superpower in OSS as a Designer Through Code</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>My talk will be structured as follows followed by a short Q&amp;A,</p> <ul> <li>Why do I need to learn to code?</li> <li>Helping OSS as a Developer-Designer</li> <li>The approach to coding for OSS complexity</li> <li>Stuff to keep in mind to make meaningful contributions</li> <li>How to tackle a particular issue?</li> <li>Receiving code reviews effectively</li> <li>Where do I go ahead with all this new found knowledge?</li> </ul> </abstract> <description></description> <persons> <person id="7697">Kartik Choudhary</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/gain_a_superpower_in_oss_as_a_designer_through_code.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/gain_a_superpower_in_oss_as_a_designer_through_code.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11073.php">Submit feedback</link> </links> </event> <event id="11453"> <start>16:30</start> <duration>00:20</duration> <room>D.design</room> <slug>open_design_and_how_everyone_can_be_a_designer</slug> <title>Open design and how everyone can be a designer</title> <subtitle>Changing the way we design together</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Open up your design process is good for your creative health. How can we shift the design perspective to be more focused on the process than on the result? How can we collaborate openly with frameworks that help us learn from each other and build on each other's ideas?</p> <p>Open design can help transform organizations and projects by just unveiling the creative potential we all have within. We can learn how to dot, but we need to learn that together. In this talk, you will find inspiration and examples of how open design processes and frameworks can disrupt today's creative production.</p></abstract> <description></description> <persons> <person id="7878">Memo Esparza</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/open_design_and_how_everyone_can_be_a_designer.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/open_design_and_how_everyone_can_be_a_designer.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11453.php">Submit feedback</link> </links> </event> <event id="11616"> <start>17:00</start> <duration>00:20</duration> <room>D.design</room> <slug>mentoring_designers_in_open_source_software</slug> <title>Mentoring designers in open Source Software. </title> <subtitle>What I've learned mentoring and supporting designers in OSS.</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Designers are still relatively rare in the FL/OSS space and those that have been around and active are burning out and struggling to peer support each other effectively. I see mentoring designers, new to open source software as a key way in which we can make FLOSS sustainable generally and specifically for the designer community in FLOSS.</p></abstract> <description><p>In this session, I'll be outlining what I've observed and done as a 'mentor' in the FLOSS design space. What I've tried to do to support designers new to FLOSS in order to 'boost' our numbers actively contributing and keeping our community and OSS healthy. But there's plenty of ground unexplored here, which is why I'd like to spend half of the session actively workshopping via a shared etherpad document how we can mentor designers more sustainably withing FLOS.</p> <p>What is needed by those that want mentoring? What do FLOSS projects need support with? How can mentors share resources and processes?</p> <p>and likely, many more questions to collaboratively work on.</p></description> <persons> <person id="7016">Eriol Fox</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mentoring_designers_in_open_source_software/attachments/slides/4585/export/events/attachments/mentoring_designers_in_open_source_software/slides/4585/Mentoring_in_OSD_FOSDEM_2021.pdf">Mentoring in Open Source Design</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/mentoring_designers_in_open_source_software.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/mentoring_designers_in_open_source_software.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11616.php">Submit feedback</link> </links> </event> </room> <room name="D.distributions"> <event id="11291"> <start>12:30</start> <duration>00:25</duration> <room>D.distributions</room> <slug>developer_perspective_on_immutable_os</slug> <title>An User & Developer Perspective on Immutable OSes</title> <subtitle/> <track>Distributions</track> <type>devroom</type> <language/> <abstract><p>If you can't modify the root filesystem of your distro (no, not even with <code>sudo</code>!!), you can't break it, right? Well... soft of. But what's the price to pay in terms of usability? How are you actually able to use an OS like that for common everyday user (web browsing, document editing) and developer (writing and building code) activities? Come to this talk and learn how it's being to use one of them, i.e., openSUSE MicroOS, as a daily driver since the last few months and how that compares with using other similar solutions, like Fedora Silverblue and Endless OS.</p></abstract> <description><p>An Immutable OS is a GNU/Linux distribution where the user has limited (if at all!) changes to modify the root filesystem. And by "modify the root filesystem" we mean doing things like installing software with the package manager. Some examples of Immutable OSes that falls in this definition are Fedora Silverblue, openSUSE MicroOS, openSUSE Kubic and EndlessOS. In fact, on Fedora Silverblue, the user can't add software with <code>dnf</code>, not even after becoming "root". Similarly, on openSUSE MicroOS, <code>zypper install</code> just does not work. This brings the advantage of keeping the OS cleaner, consistent, reliable and a lot harder to break. For instance because what developers produce and tests is a lot more similar to what actual users use, with respect to what happens with "traditional OSes". And they usually come with a nice way of rolling back changes too, which is also really valuable.</p> <p>But what are the technologies behind all that? Well, there are a few, and although the outcome is rather similar, their inner working and characteristics are quite different. In this talk, we will focus on two: ostree and transactional-update. The forme is used in Silverblue and Endless OS, the latter in openSUSE MicroOS and Kubic. We will try to provide a description of how both work and what are the main differences between them.</p> <p>Even more important: what's the user experience with such distros? And what if one is not only a user, but a developer? Well, this talk will offer a perspective of how it is being to use one as one's own daily driver, for both user-like and developer-like tasks. That would be openSUSE MicroOS. We will cover what it is the current status of the "MicroOS as a Desktop" project, what are the current challenge and the upcoming developments. But we will also try to hint at how the user/developer experience may vary between MicroOS and others (more mature) immutable desktop solutions like Fedora Silverblue and Endless OS.</p></description> <persons> <person id="3513">Dario Faggioli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/developer_perspective_on_immutable_os/attachments/slides/4566/export/events/attachments/developer_perspective_on_immutable_os/slides/4566/User_Dev_Perspective_on_Immutable_OSes_Faggioli_FOSDEM21.pdf">A User & Dev Perspeective on Immutable OSes</attachment> </attachments> <links> <link href="https://dariofaggioli.wordpress.com/2020/10/16/opensuse-microos-as-your-desktop-install/">MicroOS as a Desktop "first steps"</link> <link href="https://github.com/openSUSE/openSUSE-docs-revamped/blob/dev/project/docs/microos_getting_started.md">MicroOS as a Desktop user guide</link> <link href="https://www.youtube.com/watch?v=6F7iCntjWB8">MicroOS as a Daily Driver</link> <link href="https://kubic.opensuse.org/blog/2020-11-23-requirements/">MicroOS new partition layout for Desktop</link> <link href="https://video.fosdem.org/2021/D.distributions/developer_perspective_on_immutable_os.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.distributions/developer_perspective_on_immutable_os.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11291.php">Submit feedback</link> </links> </event> <event id="10915"> <start>13:00</start> <duration>00:30</duration> <room>D.distributions</room> <slug>homebrew_macos_bigsur_and_arm</slug> <title>Homebrew: macOS Big Sur and ARM</title> <subtitle/> <track>Distributions</track> <type>devroom</type> <language/> <abstract><p>A description of what changes Homebrew needed to make to get working on macOS 11 Big Sur and what work we've done and are doing to support a new CPU architecture for the first time since Snow Leopard.</p></abstract> <description><p>Providing details of the biggest changes that Homebrew users have been excited about in the last year: support for Big Sur and the ongoing work for ARM. Provide technical details on what's required for us to support a new operating system from Apple and what the entire Homebrew ecosystem needs to do/change in order to support a new architecture. Nearer the time we'll also be able to provide a status report on how near we are to "official" support.</p></description> <persons> <person id="3150">Mike McQuaid</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/homebrew_macos_bigsur_and_arm/attachments/slides/4426/export/events/attachments/homebrew_macos_bigsur_and_arm/slides/4426/Homebrew_macOS_Big_Sur_and_ARM.pdf">Homebrew - macOS Big Sur and ARM</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.distributions/homebrew_macos_bigsur_and_arm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.distributions/homebrew_macos_bigsur_and_arm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10915.php">Submit feedback</link> </links> </event> <event id="11463"> <start>13:30</start> <duration>00:30</duration> <room>D.distributions</room> <slug>openharmony_and_openmandriva</slug> <title>Two different approaches to building a distribution: OpenHarmony and OpenMandriva</title> <subtitle>An overview of very different ideas - from someone involved in both projects</subtitle> <track>Distributions</track> <type>devroom</type> <language/> <abstract><p>There are many Linux distributions out there - and almost as many different approaches to how they're built. Two distributions on nearly opposite ends of the spectrum include OpenMandriva (which uses binary packages, builds and updates each package individually, applications are part of the OS, ...) and OpenHarmony (which builds the OS from source in one go, is updated through OTA images, and treats applications as something separate, ...)</p> <p>A developer involved in both projects explains how the 2 projects go about building their respective OSes, why both projects made the choices they made, how the approaches differ from a developer and user perspective, and what approach works better for what particular use case.</p></abstract> <description></description> <persons> <person id="2501">Bernhard Rosenkränzer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openharmony_and_openmandriva/attachments/slides/4397/export/events/attachments/openharmony_and_openmandriva/slides/4397/openharmony_and_openmandriva.pdf">FOSDEM21 - Two different approaches to building a distribution - OpenHarmony and OpenMandriva</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.distributions/openharmony_and_openmandriva.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.distributions/openharmony_and_openmandriva.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11463.php">Submit feedback</link> </links> </event> <event id="11117"> <start>14:45</start> <duration>00:45</duration> <room>D.distributions</room> <slug>opensuse_microos</slug> <title>openSUSE MicroOS, a platform for everything from containers, to IoT, and even the desktop</title> <subtitle>Bigger isn't better, slower isn't safer</subtitle> <track>Distributions</track> <type>devroom</type> <language/> <abstract><p>An overview and discussion regarding the openSUSE Project's latest rolling-release distribution, MicroOS. The session will detail how concerns regarding the stability of rolling releases are addressed by narrowing the scope of OS, and using technologies like (Atomic) Transactional Updates and automated health checking to guarantee the system keeps working. The session will cover how MicroOS is developed, and the broad range of suitable use cases, from Container server workloads, to Raspberry Pi's and Desktops including real-world examples from the community.</p></abstract> <description></description> <persons> <person id="4006">Richard Brown</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.distributions/opensuse_microos.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.distributions/opensuse_microos.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11117.php">Submit feedback</link> </links> </event> <event id="11214"> <start>15:30</start> <duration>00:25</duration> <room>D.distributions</room> <slug>public_database_as_a_service_for_open_source_distribution</slug> <title>Why Public Database as a Service is Prime for Open Source Distribution</title> <subtitle/> <track>Distributions</track> <type>devroom</type> <language/> <abstract><p>The database market is changing drastically in ways no one imagined 5 years ago. Database vendors are moving away from traditional deployment methods and embracing database as a service (DBaaS) as the default method to offer their database technologies to consumers and users. Much of this movement has been built because of the success and popularity of DBaaS offerings by major cloud vendors. Unfortunately, this is leading to a new era of NROSS (Not really open source) technologies that pretend to be free, open, and transparent but simply are not. As people wake up from the hangover’s caused by the incompatibilities, lack of portability, and increased costs they are looking at how to reclaim the openness, transparency, and freedom true OpenSource has provided them in the past. We will explore the trends and give his opinions and ideas on how we need to disrupt the current trends to keep open source open, and give users the freedom of having a quality alternative.</p></abstract> <description></description> <persons> <person id="7756">Peter Zaitsev</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/public_database_as_a_service_for_open_source_distribution/attachments/slides/4655/export/events/attachments/public_database_as_a_service_for_open_source_distribution/slides/4655/FOSDEM_Feb2021_Why_Public_DBaaS_Ripe_for_Open_Source_Disruption.pptx"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.distributions/public_database_as_a_service_for_open_source_distribution.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.distributions/public_database_as_a_service_for_open_source_distribution.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11214.php">Submit feedback</link> </links> </event> </room> <room name="D.docs"> </room> <room name="D.embedded"> <event id="11434"> <start>13:00</start> <duration>01:00</duration> <room>D.embedded</room> <slug>from_reset_vector_to_kernel</slug> <title>From Reset Vector to Kernel</title> <subtitle>Navigating the ARM Matryoshka</subtitle> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>Long gone are the times of executing the OS in-place from memory-mapped flash upon reset. A modern SoC now comes with complex mask ROM firmware, with driver, filesystem, protocol and crypto support for loading... yet another bootloader.</p> <p>In his talk, Ahmad follows this chain of bootloaders until the kernel is started, stopping along the way for RAM setup, peripherial initialization, runtime services and other interesting sights.</p></abstract> <description><p>Getting acquainted with the bootstrap process on a modern ARM-based SoC can be an intimidating task: Documentation speaks of Boot ROM, blobs, SPL, secure monitor, trusted execution environment, Open Firmware Device Trees all interacting with each other and with a bootloader to facilitate kernel boot.</p> <p>The talk intends to shed some light onto this. Starting with an overview of the bare minimum needed to bootstrap an i.MX8M, it retraces the steps of the barebox bootloader, and firmware loaded by it, until Linux eventually takes over.</p></description> <persons> <person id="7326">Ahmad Fatoum</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/from_reset_vector_to_kernel/attachments/slides/4632/export/events/attachments/from_reset_vector_to_kernel/slides/4632/from_reset_vector_to_kernel.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/from_reset_vector_to_kernel.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/from_reset_vector_to_kernel.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11434.php">Submit feedback</link> </links> </event> <event id="11428"> <start>14:00</start> <duration>01:00</duration> <room>D.embedded</room> <slug>linux_from_scratch_on_risc_v</slug> <title>Embedded Linux "from scratch" in 45 minutes... on Risc-V</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>Join and discover how to build your own embedded Linux system completely from scratch. You will build your own toolchain, bootloader and kernel, that you will run on system with the new Risc-V open Instruction Set Architecture emulated by QEMU. You will also build a minimal root filesystem by yourself thanks to the BusyBox project. You will finish by controlling the system through a tiny webserver. The approach will be to provide only the files that are strictly necessary. That's all the interest of embedded Linux: you can really control and understand everything that runs on your system, and see how simple the system can be. That's much easier than trying to understand how a GNU/Linux system works from a distribution as complex as Debian!</p> <p>You will also get details about what's specific to the Risc-V architecture, in particular about the various stages of the boot process. At the end of the presentation, you will leave with all the hardware (!), source code build instructions and demo binaries to reproduce everything by yourself at home, and add your own improvements. Most of the details should also be useful to people using other hardware architectures (in particular arm and arm64).</p></abstract> <description><p>Michael Opdenacker here proposes a new version of an older presentation he made 15 years ago to discover embedded Linux, and which was for a long time one of his most downloaded presentations.</p> <p>This presentation should be particularly useful for people who are new to embedded Linux and/or to Risc-V, don't have Risc-V hardware yet, and wish to test each new release of the Linux kernel and U-Boot on this new architecture, to report possible regressions and propose missing features.</p></description> <persons> <person id="7865">Michael Opdenacker</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/linux_from_scratch_on_risc_v/attachments/slides/4355/export/events/attachments/linux_from_scratch_on_risc_v/slides/4355/opdenacker_embedded_linux_45minutes_riscv.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/linux_from_scratch_on_risc_v.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/linux_from_scratch_on_risc_v.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11428.php">Submit feedback</link> </links> </event> <event id="11260"> <start>15:00</start> <duration>01:00</duration> <room>D.embedded</room> <slug>rpi4_vulkan</slug> <title>Overview of the Open Source Vulkan Driver for Raspberry Pi 4</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>Igalia has been developing a new open source Mesa driver for the Raspberry Pi 4 since December 2019. This talk will discuss the development story and current status of the driver, provide a high level overview of the major design elements, discuss some of the challenges we found in bringing specific aspects of Vulkan 1.0 to the V3D GPU platform and finally, talk about future plans and how to contribute to the on-going development effort.</p></abstract> <description></description> <persons> <person id="5180">Alejandro Piñeiro</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/rpi4_vulkan/attachments/slides/4506/export/events/attachments/rpi4_vulkan/slides/4506/v3dv_fosdem_2021.pdf">Overview of the Open Source Vulkan Driver for Raspberry Pi 4</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/rpi4_vulkan.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/rpi4_vulkan.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11260.php">Submit feedback</link> </links> </event> <event id="11112"> <start>16:00</start> <duration>01:00</duration> <room>D.embedded</room> <slug>mainline_zynqmp_vcu_driver</slug> <title>The Road to the Mainline ZynqMP VCU Driver</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>The Xilinx ZynqMP SoC includes a powerful H.264/H.265 Video Codec Unit (VCU) which Xilinx supports with an out-of-tree driver and user space library. The allegro driver from mainline Linux allows to use the VCU using the standard V4L2 encoder API without requiring any custom user space.</p> <p>I will explain why I wrote the driver, show how the VCU is used from a driver perspective, and present the current state of the driver and which features are still missing.</p></abstract> <description><p>The Zynq UltraScale+ MPSoC integrates several ARM cores and an FPGA into a single chip. One variant of this SoC includes an H.264/H.265 Allegro DVT Video Codec Unit (VCU).</p> <p>Although Xilinx did a good job supporting the ZynqMP in mainline Linux, the VCU was originally only supported via an out-of-tree driver. It consists of a user space library and a firmware blob, which interact via a custom IOCTL interface. Unfortunately, this has security implications as the user space handles physical buffer addresses.</p> <p>Fortunately, the V4L2 mem2mem device API for video codecs avoids this problem by using abstract DMA buffers. Many applications already use these APIs, and various drivers for hardware codecs already implement these APIs. Thus, a V4L2 driver for the VCU allows reusing existing applications such as FFmpeg and GStreamer on the ZynqMP.</p></description> <persons> <person id="4415">Michael Tretter</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mainline_zynqmp_vcu_driver/attachments/slides/4496/export/events/attachments/mainline_zynqmp_vcu_driver/slides/4496/mainline_zynqmp_vcu_driver.pdf">The Road to the Mainline ZynqMP VCU Driver</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/mainline_zynqmp_vcu_driver.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/mainline_zynqmp_vcu_driver.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11112.php">Submit feedback</link> </links> </event> <event id="11175"> <start>17:00</start> <duration>00:15</duration> <room>D.embedded</room> <slug>teroshdl</slug> <title>TerosHDL, an open HDL IDE</title> <subtitle>The goal of TerosHDL is make the VHDL/SV/Verilog development easier and reliable. It is a powerful open source IDE based on VSCode</subtitle> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>TerosHDL is an open source project focused in the development and integration of EDA tools in an IDE. It's currently based on VSCode and Atom.</p> <p>The goal of TerosHDL is bringing all facilities of software code tools to the HDL development: linter, code completion, simulators management, automate documentation, snippets…</p></abstract> <description><p>TerosHDL is an open source project focused in the development and integration of EDA tools in an IDE. It is currently based on VSCode and Atom.</p> <p>The goal of TerosHDL is bringing all facilities of software code tools to the HDL development: linter, code completion, simulators management, automate documentation, snippets…</p> <p>We will introduce TerosHDL VSCode with multiple features. In the new release the architecture has been completely rebuild, reduce some dependencies and clarify the code.</p> <p>Some of the new features are: - Verilog/SystemVerilog support. - Linter. - Dependencies viewer. - State machine viewer. - More beautiful documentation.</p></description> <persons> <person id="5500">Carlos Alberto</person> <person id="8243">Ismael Perez Rojo</person> <person id="8264">Alfredo Saez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/teroshdl/attachments/slides/4664/export/events/attachments/teroshdl/slides/4664/TerosHDL">TerosHDL_slides</attachment> </attachments> <links> <link href="https://github.com/TerosTechnology/vscode-terosHDL">VScode version</link> <link href="https://github.com/TerosTechnology/terosHDL">Atom Version</link> <link href="https://terostechnology.github.io/terosHDLdoc/">Documentation</link> <link href="https://video.fosdem.org/2021/D.embedded/teroshdl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/teroshdl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11175.php">Submit feedback</link> </links> </event> <event id="10968"> <start>17:15</start> <duration>00:15</duration> <room>D.embedded</room> <slug>mutantc</slug> <title>MutantC PDA introduction</title> <subtitle>open source and hardware PDA shell </subtitle> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>MutantC is a open source and open hardware shell for a RPi form factor boards. It includes hardware keyboard, sliding display with touchscreen, battery with charging circuit, etc. This short talk will be introduction of the project, it's goals and of the v3 hardware revision.</p></abstract> <description></description> <persons> <person id="5014">Cyril Hrubis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mutantc/attachments/slides/4259/export/events/attachments/mutantc/slides/4259/mutant.pdf"/> </attachments> <links> <link href="https://mutantc.gitlab.io/mutantC_V3.html">MutantC v3 revision pages</link> <link href="https://video.fosdem.org/2021/D.embedded/mutantc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/mutantc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10968.php">Submit feedback</link> </links> </event> <event id="11268"> <start>17:30</start> <duration>00:30</duration> <room>D.embedded</room> <slug>open_harmony_os</slug> <title>Open Harmony - more than an OS</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>Breaking hardware boundaries, transcending the classic dichotomy of an OS, this is what OpenHarmony is about. Catering the needs from tiny sensors up to powerful systems, from edge to cloud.</p> <p>In this presentation Stefan will address questions every FOSS developer will have, when hearing about OpenHarmony for the first time. If you are curious about the architecture, used FOSS projects, or want to know more about contribution guidelines and start picking in the code this talk would be a good start.</p> <p>Stefan will talk about the multiple-kernel approach, the distributed architecture and layers. He will also explain our public development infrastructure and contribution flows.</p></abstract> <description></description> <persons> <person id="1814">Stefan Schmidt</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_harmony_os/attachments/slides/4597/export/events/attachments/open_harmony_os/slides/4597/fosdem2021_openharmony.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/open_harmony_os.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/open_harmony_os.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11268.php">Submit feedback</link> </links> </event> </room> <room name="D.emulator"> <event id="10851"> <start>10:00</start> <duration>01:00</duration> <room>D.emulator</room> <slug>mame</slug> <title>Dragging MAME into the 21st century</title> <subtitle>Practicalities of a large project with two decades of history</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>The open source emulation landscape is littered with abandoned projects. MAME has survived stock market crashes, a pandemic, major internal refactoring, half a dozen leadership changes, and persistent rumours of the project’s imminent death. Why is MAME still here? How does MAME continue to attract contributors? What are some of the issues a project this size faces?</p></abstract> <description></description> <persons> <person id="7523">Vasantha Crabb</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mame/attachments/slides/4494/export/events/attachments/mame/slides/4494/slides.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/mame.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/mame.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10851.php">Submit feedback</link> </links> </event> <event id="10863"> <start>11:00</start> <duration>01:15</duration> <room>D.emulator</room> <slug>pcsx2</slug> <title>The PlayStation 2: From Emotion to Emulation</title> <subtitle>Celebrating 20 Years of Reverse Engineering</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>The PlayStation 2, being the best-selling game console of all time, is a surprisingly complex beast. So, isn't it only fitting that its emulation in software is equally complicated?</p> <p>With PCSX2 developer GovanifY, we carefully peel back the layers of the world's most popular game console, and its most popular emulator. See why, twenty years later, it's now easier than ever to PL△︎Y IN Y◯︎UR W╳︎RL□.</p></abstract> <description><p>Emotion Engine. Graphics Synthesizer. Built-in DVD player. DualShock. Broadband. Online. $299. Twelve years in production, nearly 4,000 titles, and over 150 million units sold worldwide. The PlayStation 2 is widely heralded as the most popular video game system of all time.</p> <p>Its unassuming, yet imposing black chassis hides a masterclass in system design. Sony's second-most popular product next to the Walkman, and unquestionably their most successful game console, the PS2 isn't without its faults - chief among them, its complexity. While a vast effort was made on the part of Sony's engineers, ironing out as many quirks as possible to ensure game development was smooth, even seemingly unsophisticated games had required specialized development steps to ensure satisfactory performance, unless they wanted their game to be mocked in the cutthroat sixth-generation-gamer media for having "last-gen" graphics. Why was it so difficult? After all, the CPU is a simple RISC, with a simplified FPU. The GPU, the fabled "Graphics Synthesizer", only draws scenes - no shaders.</p> <p>PCSX2, the PS2's de facto open-source emulation project, now has the greatest share of tested playable games and working software titles for its console, out of any emulator targeting consoles since then. Unfortunately for us, this compatibility came at the cost of complexity. The long-driven community effort to incrementally improve on it, brought with it legacy code with long, spindly strands which dig deep into the core codebase. Its C-centric codebase, while speedy, was hand-tuned to gain the maximum performance out of contemporary 32-bit Pentium 4 CPUs. The GUI, designed using wxWidgets, aimed for a mythological "middle-ground" of such modern platforms as X11R6, Windows XP, and Mac OS X Aqua.</p> <p>The project really was a product of its time; emulator development was highly fragmented among incompatible and proprietary video and sound APIs, and to compromise, a plugin interface haphazardly bolted on components, leading to needless headaches over trivial things like joystick input. These remnants of the past have kept coming to haunt us, and we've decided to put our foot down.</p> <p>Twenty years after the inaugural CVS push, it has come high time to reorganize and transform the shambling heap of code, and with the modernization of such a large project comes many discoveries - not only about the emulator software, but also its target machine.</p> <p>Points we'll touch on include: The PS2, and its architecture - and the cursed idiosyncrasies that developers and emulator authors have had to battle. Reverse engineering the PS2, and studying its behavior - following a game through, from the DVD, into the I/O subsystem, across the bus, through the cache and memory, across the vector units, and out to the TV. How PCSX2 works - how it is programmed and evolved to take advantage of modern hardware (and why that's a constantly moving target). Finally, we'll conclude with a deep dive into the new x86_64 JIT compilers coming to PCSX2, its clean core/GUI separation being made with portability in mind, notes about refactoring and scope management of a software system at-large with an active user base; new GUI targets, some infrastructure rework, and more!</p></description> <persons> <person id="7519">Gauvain Roussel-Tarbouriech</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/pcsx2/attachments/slides/4422/export/events/attachments/pcsx2/slides/4422/pcsx2_fosdem.pdf">Slides</attachment> </attachments> <links> <link href="https://pcsx2.net">Project homepage</link> <link href="https://video.fosdem.org/2021/D.emulator/pcsx2.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/pcsx2.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10863.php">Submit feedback</link> </links> </event> <event id="10855"> <start>12:30</start> <duration>00:50</duration> <room>D.emulator</room> <slug>emu101</slug> <title>Emulation 101: How anyone can do it</title> <subtitle/> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>Ever wanted to write an emulator? Or understand how they work? In this talk you learn how to start writing your own emulator from the ground up. You'll see the basic methods used to emulate CPUs, memory, and graphics cards. For the keen, we'll also cover advanced emulation techniques, licensing issues, and history.</p></abstract> <description><p>There are a lot of old machines in the world, many are literally falling apart, and out of the consciousness of the programmers who once built them. But all deserved to be remembered. That's why we need more emulators developed in the open, so the knowledge isn't lost to history. By showing how easy it is, we hope to encourage others to do the same, regardless of their language of choice or which old computer they want to resurrect.</p> <p>With worked examples, live demos, and new games, there is a lot of easily accessible code to see, and advice on how (and where) to start writing emulators.</p> <p>The speaker is prolific developer Steven Goodwin who created the EMF emulator framework, and wrote 9 emulators during 2020. He is also a computer historian and part of the Centre for Computing History in Cambridge, England.</p></description> <persons> <person id="392">Steven Goodwin</person> </persons> <attachments> </attachments> <links> <link href="https://em.ulat.es">EMF emulation framework</link> <link href="https://video.fosdem.org/2021/D.emulator/emu101.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/emu101.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10855.php">Submit feedback</link> </links> </event> <event id="11536"> <start>13:30</start> <duration>00:30</duration> <room>D.emulator</room> <slug>super_mario</slug> <title>Do you even emulate, (Super Mario) bro?</title> <subtitle>How emulating a system can inspire you to improve as an engineer (no 3-wolf-moon shirt necessary)</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>Even to this day, there's something utterly captivating about bringing to life a piece of software effectively frozen in time, designed to run on what was originally a black box, by means of a device that one uses to check up on cat facts. Adding to this, it can even be enhanced and possibly perform better than its developers ever hoped for.</p> <p>If you also got to play around with your first computer in the early 2000s, chances are that console emulators were amongst the first pieces of software you've ever run on a computer. Submitting this talk was an endeavour to explore this unexplainable (<em>or is it?</em>) fascination by what seems to conceptually be a compatibility layer. More importantly, the talk aims to have you intrigued about emulation development and the scene in general in the year 2021, by presenting the significance of the emulation community in the context of education and history preservation.</p> <p>It will also highlight how emulation development is more accessible today compared to the early days of the likes of PSEmu Pro, Project64 and NO$GMB - thanks, in no small part, to the FOSS community.</p> <p><em>TLDR: this will focus on the "why" (rather than on the "how") you should have a go at writing your first emulator.</em></p></abstract> <description><h2>Additional info:</h2> <p>The intention is to provide people that can relate to the below points...</p> <ul> <li>solid programming background and grasp of computer science fundamentals</li> <li>naturally curious about the inner workings of computers</li> <li>a general interest in console history</li> <li>a little too sceptical as to what business they could have entering territory of the emudev Gandalfs of the 2000s that they looked up to during their school years</li> <li>[optional, but desired] having fond memories of their (even-then) ancient Pentium 3 struggling to handle Tekken 3 on bleem!</li> <li>(you get the picture)</li> </ul> <p>... with good reasons as to why dipping their toes in emulation development is worth their time, and how writing an emulator is an awesome all-around learning experience, out of which you'll become a better engineer.</p> <p>Plus, amongst other, to highlight how such a journey is meaningful, rewarding and worthwhile -- as it lies within context you can relate to: seeing your childhood games come to life (or, on the remaining 99% of occasions: using the debugger that you wrote trying to figure out why you can't get past the first screen)</p></description> <persons> <person id="7923">Panayiotis Talianos</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/super_mario/attachments/slides/4551/export/events/attachments/super_mario/slides/4551/fosdem_2021_slides_11536.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/super_mario.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/super_mario.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11536.php">Submit feedback</link> </links> </event> <event id="10932"> <start>14:00</start> <duration>01:00</duration> <room>D.emulator</room> <slug>ntsc</slug> <title>Emulating the full NTSC stack</title> <subtitle>Creating objective video artefacts</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>Many emulators offer a CRT filter, an artist's rendition of classic video.</p> <p>This presentation describes emulation of the an entire NTSC or PAL video device, to produce an engineer's rendition — starting from sync discrimination and separation, through PLLs into scan placement and via QAM to extracting colour.</p></abstract> <description><p>In the implementation discussed work is split between CPU and GPU and a range of emulated source machines are demonstrated, including in-phase machines such as the Atari 2600, machines that routinely generate sync errors such as the ZX80, machines that generate a colour signal in software such as the Apple II, and interlaced machines such as the Acorn Electron.</p></description> <persons> <person id="7577">Thomas Harte</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/tomharte/CLK">Clock Signal; my emulator that includes a full NTSC and PAL stack</link> <link href="https://video.fosdem.org/2021/D.emulator/ntsc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/ntsc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10932.php">Submit feedback</link> </links> </event> <event id="11566"> <start>15:00</start> <duration>01:00</duration> <room>D.emulator</room> <slug>libretro</slug> <title>libretro: One API to Bring Them All</title> <subtitle>An overview of RetroArch, libretro, and the modularization it brings to the table</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>RetroArch is a free, open-source and cross-platform frontend for emulators, game engines, video games, media players and other applications. The libretro API is designed to be fast, lightweight, portable, and without dependencies. Due to the number of systems and games it can play under a single user interface, RetroArch has grown immensely over the years, and has been well adopted by the emulation scene.</p></abstract> <description><p>Since its inception as SSNES and libsnes, libretro has grown much beyond its humble upbringings. libretro and RetroArch provide a way to connect different applications, emulators and game engines together in a single application.</p> <p>libretro has a unique mission design in turning the way applications are built on its head, by enabling the modularization of software. Instead of merely thinking in terms of a standalone application, software is redesigned and re-engineered to become a pluggable module that interfaces through a common API. Standalone applications implement this API to gain access to this module. Our belief is that by following this model, applications can be more easily updated and extended, since there is a clear separation between application and core domain.</p> <p>In this session, we will cover:</p> <ul> <li>What libretro is all about and its software model</li> <li>Interesting frontends and hardware you can use</li> <li>libretro cores and how to implement your own</li> <li>The ecosystem surrounding RetroArch</li> <li>What's next for the project</li> </ul> <p>Join Rob Loach, libretro maintainer, as he discusses how you can fully leverage the libretro API to bring modularized applications and systems together.</p></description> <persons> <person id="7920">Rob Loach</person> </persons> <attachments> </attachments> <links> <link href="https://retroarch.com">RetroArch</link> <link href="https://libretro.com">libretro</link> <link href="https://video.fosdem.org/2021/D.emulator/libretro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/libretro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11566.php">Submit feedback</link> </links> </event> <event id="10904"> <start>16:00</start> <duration>00:30</duration> <room>D.emulator</room> <slug>riscv_ides</slug> <title>The Ides of RISC-V</title> <subtitle>A vectorized Caesar cipher written in RISC-V assembler and tested in an emulator</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>I will demonstrate how to write a vectorized (parallel) Caesar cipher in RISC-V (in assembler) using the project's emulator. Using the emulator is necessary at this point for such an application because the vectorized extension to the RISC-V ISA is not standardized. I will further demonstrate how the emulator itself is able to emulate the execution of a single user-space application when it is actually designed to emulate an entire system. This will involve a demonstration and explanation of riscv-isa-sim, riscv-pk and their interaction.</p></abstract> <description></description> <persons> <person id="7561">Will Hawkins</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/riscv_ides/attachments/slides/4417/export/events/attachments/riscv_ides/slides/4417/The_Ides_of_RISC_V.pptx">Presentation Slides</attachment> </attachments> <links> <link href="https://github.com/hawkinsw/riscv-caesar-cipher">Caesar Cipher Application Source Code</link> <link href="https://video.fosdem.org/2021/D.emulator/riscv_ides.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/riscv_ides.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10904.php">Submit feedback</link> </links> </event> <event id="10933"> <start>16:30</start> <duration>00:30</duration> <room>D.emulator</room> <slug>cycle_perfect</slug> <title>'Cycle-perfect' is an imperfect marketing term</title> <subtitle>All about buses</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>Emulator authors often like to measure themselves by invoking the concept of cycle perfection. In practice that under- or over-samples many real machines. This talk instead floats a bus-centric model of emulation.</p></abstract> <description></description> <persons> <person id="7577">Thomas Harte</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/cycle_perfect.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/cycle_perfect.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10933.php">Submit feedback</link> </links> </event> <event id="11399"> <start>17:00</start> <duration>01:00</duration> <room>D.emulator</room> <slug>qemu</slug> <title>Compute Express Link in QEMU</title> <subtitle>Driver Development for Fashionably Late Hardware</subtitle> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>For years now, driver development has been starting earlier in the product life-cycle. Using QEMU for liberating driver developers from being bound to hardware schedules isn't new. Not so common however, is adding support for new hardware to QEMU while the spec is still being revised. The coupling of driver development and emulation development helped find spec issues early, and allowed us to submit patches for a basic driver on the day that the specification wasreleased.</p> <p>This talk will discuss how we used QEMU to meet our goals, the challenges in enabling CXL 2.0 for QEMU, an review of what CXL is, an overview of the architecture and implementation, and ways in which we'd love to get help.</p></abstract> <description></description> <persons> <person id="5323">Ben Widawsky</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/qemu/attachments/slides/4370/export/events/attachments/qemu/slides/4370/bwidawsk_FOSDEM21.pdf">Slides</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/qemu/attachments/paper/4371/export/events/attachments/qemu/paper/4371/bwidawsk_FOSDEM21_notes.pdf">Slides + Notes</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/qemu.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/qemu.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11399.php">Submit feedback</link> </links> </event> </room> <room name="D.firmware"> <event id="11109"> <start>13:30</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_osfsoap2</slug> <title>Open Source Firmware status on AMD platforms 2021</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>This is the continuation of the "Status of AMD platform in coreboot" presented last year on the Open Source Firmware, BMC and Bootloader devroom. The talk will cover the news around the AMD support in Open Source Firmware ecosystem from the past year. You will hear, among others, about: FSF RYF KGPE-D16 platform revival, AMD Ryzen R1000/V1000 series AGESA integration into open source TianoCore EDK2, TrenchBoot new features and updates and current support of AMD Picasso and Cezanne SoCs in coreboot, pure open-source on AMD Rome platform in oreboot.</p></abstract> <description><p>The history of AMD cooperation in coreboot projects reaches 2007 where the first contribution appeared for the Geode LX processors. AMD's open-source support continued for many years until now (with some break). This presentation will briefly introduce the history of AMD and coreboot, the evolution of the code, processors, creation of CIMX and AGESA and so on. It will also show the gradual change in the AMD attitude to open-source and introduction of binary platform initialization. Binary blobs, very disliked by the open-source community started to cause problems and raised the needs for workarounds to support basic processor features. Soon after that AMD stopped supporting the coreboot community. Moreover, recent coreboot releases started to enforce certain requirements on the features supported by the silicon code base. Aging platforms kept losing interest and many of them (including fully open ones) are being dropped from the main tree. Nowadays AMD released the newest AGESA with the cooperation of hired coreboot developers, but only for Google and their Chromebooks based on Ryzen processors. 3mdeb trying hard with this ecosystem showing that the AGESA can be integrated into Open Source Firmware like TianoCore EDK2 on the example of AMD Ryzen R1000/V1000 processor. Even FSF RYF KGPE-D16 platform is experiencing its second youth by being revived to the main coreboot tree. If you are curious about these activities and many more like TrenchBoot new features or AMD Picasso an Cezanne SoC support in coreboot, pure open-source on AMD Rome in oreboot, this presentation is for you.</p></description> <persons> <person id="6960">Piotr Król</person> <person id="8044">Marek Kasiewicz</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_osfsoap2/attachments/slides/4669/export/events/attachments/firmware_osfsoap2/slides/4669/Open_Source_Firmware_status_on_AMD_platforms_2021.pdf">Open Source Firmware status on AMD platforms 2021 - slides</attachment> </attachments> <links> <link href="https://github.com/TrenchBoot/documentation">TrenchBoot documentation</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_osfsoap2.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_osfsoap2.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11109.php">Submit feedback</link> </links> </event> <event id="11195"> <start>14:30</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_baicipfosf</slug> <title>Building an interactive Continuous Integration platform for Open Source Firmware</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>During that presentation I will run a quick demo of the OSFCI infrastructure which is developed by HPE to validate and build Open Source Firmware stack on Proliant server. I will introduce an overview at how the code works, and how to get involve, and make scale the platform. This project is available on github. https://github.com/hewlettpackard/osfci</p></abstract> <description><p>OSFCI is an interactive testing platform for Open Source Firmware. From a single web browser, a firmware developer can recompile ROM at BMC and System level, load them to a real system, and execute an interactive session to validate firmware behavior on real hardware. The goal of this infrastructure is to provide end to end validation automation for firmware development, easing adoption for open source firmware at scale.</p></description> <persons> <person id="6133">Jean-Marie Verdun</person> <person id="8044">Marek Kasiewicz</person> </persons> <attachments> </attachments> <links> <link href="https://osfci.tech">Demo platform</link> <link href="https://github.com/hewlettpackard/osfci">Source code</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_baicipfosf.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_baicipfosf.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11195.php">Submit feedback</link> </links> </event> <event id="11687"> <start>15:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_htbuaefoft</slug> <title>How to build up an ecosystem for open-source firmware testing</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>With the advancement of open source firmware projects, we need a reliable quality assurance process to automate the firmware level testing. In this talk I'd like to show how we build up a ecosystem for open-source firmware testing and show by example how we integrated one project into that ecosystem. This talk aims to give a status update what has been show on the OSFC2020, and also encourage people to get involved and participate in open-source firmware testing. All code shown is open-source and available by the time of FOSDEM'21.</p></abstract> <description></description> <persons> <person id="7982">Christian Walter</person> <person id="8043">Jakub Łęcki</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_htbuaefoft/attachments/slides/4599/export/events/attachments/firmware_htbuaefoft/slides/4599/presentation">How to build up an ecosystem for open-source firmware testing</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.firmware/firmware_htbuaefoft.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_htbuaefoft.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11687.php">Submit feedback</link> </links> </event> <event id="11688"> <start>16:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_uor</slug> <title>EDK2 UEFI on RISC-V</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>RISC-V is a relatively new ISA and platform, which has been evolving rapidly. A few Linux distributions already have good support and have compiled most of their packages for it. The boot process has been neglected and only recently did everyone start using the widely used embedded bootloader U-Boot instead of a custom research bootloader. We have ported the EDK2 reference implementation of UEFI to make the boot process more like current desktops and servers. This talk explains how we did that, how it works and how we got Linux to boot. We also want to explain what's left to do and how we can move in the direction of a RISC-V server platform.</p></abstract> <description></description> <persons> <person id="7983">Daniel Schaefer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_uor/attachments/slides/4492/export/events/attachments/firmware_uor/slides/4492/EDK2_on_RISC_V.pdf">Presentation Slides</attachment> </attachments> <links> <link href="https://github.com/riscv/riscv-uefi-edk2-docs">RISC-V EDK2 Docs</link> <link href="https://asciinema.org/a/KPDSvhXNVTbsQ45oRUVEu81nY">Demo of Booting to Linux</link> <link href="https://github.com/JohnAZoidberg/riscv-fosdem21">Presentation LaTeX sources</link> <link href="http://bofh.nikhef.nl/events/FOSDEM/2021/D.firmware/firmware_uor.webm">Presentation recording</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_uor.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_uor.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11688.php">Submit feedback</link> </links> </event> <event id="11287"> <start>17:00</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_itsblsg</slug> <title>Improving the Secure Boot landscape: sbctl & go-uefi</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>Utilizing secure boot should be simple. Our current tooling is badly integrated, abstractions leaking and the code bases are not reusable. Functionality is spread between several projects and not one covers all your needs. This amounts to a confusing landscape. sbctl and go-uefi is a tool, and a low-level UEFI library, that attempts to push the secure boot landscape forward.</p></abstract> <description><p>In this talk I'll do a short introduction of secure boot and the tooling people normally use. We will look at the different use cases each of them provide and missing functionality. Then I'll do a short demonstration of sbctl and go-uefi.</p> <p>The goal is to try provoke some ideas how we can make secure boot more accessible for users. Currently the tooling assumes some familiarity with secure boot implementation details (signature lists, PK/KEK/db keys and so on) and that shouldn't be needed to have a fairly basic secure boot setup.</p></description> <persons> <person id="7799">Morten Linderud</person> <person id="8043">Jakub Łęcki</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/Foxboron/goefi">go-uefi</link> <link href="https://github.com/Foxboron/sbctl">sbctl</link> <link href="https://linderud.dev/blog/improving-the-secure-boot-user-experience/">Blog: Improving the Secure Boo user experience</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_itsblsg.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_itsblsg.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11287.php">Submit feedback</link> </links> </event> <event id="11712"> <start>17:30</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_suwd</slug> <title>Secure Upgrades with DRTM</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>There is existing work in the public space on how to correctly construct a DRTM launch but not an equivalent amount on how to maintain the integrity of the DRTM launch over the lifecycle of a system. In particular a specific area of concern is how to correctly construct a secure upgrade for the DRTM launch that minimizes the risk of the process being corrupted. There are a few challenges that must be overcome and in this presentation these will be covered along with a novel approach that will address the challenges.</p></abstract> <description></description> <persons> <person id="8004">Daniel Smith</person> <person id="8044">Marek Kasiewicz</person> <person id="8303">Brian Payne</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/TrenchBoot/">TrenchBoot Github</link> <link href="https://www.platformsecuritysummit.com/2018/speaker/smith/">PSEC 2018 - Introducing TrenchBoot</link> <link href="https://lssna19.sched.com/event/RHb0">LSS 2019 - TrenchBoot: How to nicely boot system with Intel TXT and AMD SVM</link> <link href="https://www.youtube.com/watch?v=9NcVjsSu59w">OSFC 2019 - TrenchBoot - Open DRTM implementation for AMD platforms</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_suwd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_suwd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11712.php">Submit feedback</link> </links> </event> </room> <room name="D.geospatial"> </room> <room name="D.go"> <event id="11417"> <start>14:00</start> <duration>00:30</duration> <room>D.go</room> <slug>goserverinbrowser</slug> <title>Deploy a Go HTTP server in your browser</title> <subtitle/> <track>Go</track> <type>devroom</type> <language/> <abstract><p>Have you ever thought to yourself "It would be nice to run this Go HTTP server directly in a browser for demonstration" ? No? Well I have!</p> <p>But it's not possible, right? A Go WebAssembly binary <em>can</em> run in browsers, but cannot serve HTTP... Or could it?</p> <p>Could we run a Go WebAssembly binary into a browser's ServiceWorker, and serve HTTP from it? Well let's find out!</p></abstract> <description></description> <persons> <person id="6695">Nicolas Lepage</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/nlepage/go-wasm-http-server">Github project</link> <link href="https://video.fosdem.org/2021/D.go/goserverinbrowser.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/goserverinbrowser.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11417.php">Submit feedback</link> </links> </event> <event id="11723"> <start>14:30</start> <duration>00:30</duration> <room>D.go</room> <slug>gowithoutwires</slug> <title>Go Without Wires</title> <subtitle>Programming Bluetooth Using Go and TinyGo</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>Go programmers now have access to an entire world of Bluetooth devices, the most popular Wireless Personal Area Network (WPAN) standard ever created, all using our favorite programming language, thanks to the aptly named "Go Bluetooth" (https://tinygo.org/bluetooth).</p> <p>Developers can write code to control Bluetooth Low Energy devices from standard Go programs running on desktop operating systems.</p> <p>In addition, developers can create Bluetooth Low Energy peripheral devices running bare-metal on chips made by Nordic Semiconductor, by using "Go Bluetooth" with TinyGo.</p> <p>This means you can write the code for both sides of your Bluetooth Low Energy wireless application all using Go.</p> <p>In this talk I will explain the concepts and show code by programming several live objects.</p></abstract> <description></description> <persons> <person id="4480">Ron Evans</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.go/gowithoutwires.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/gowithoutwires.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11723.php">Submit feedback</link> </links> </event> <event id="11142"> <start>15:00</start> <duration>00:30</duration> <room>D.go</room> <slug>gowebrtc</slug> <title>Drones, Virtual Reality and Multiplayer NES Games. The fun you can have with Pion WebRTC!</title> <subtitle/> <track>Go</track> <type>devroom</type> <language/> <abstract><p>In 2020 we saw a huge spike in interest for RTC. Developers worked quickly to build new tools with the challenge of a socially distanced world. Go has really started to make strides in the RTC world with Pion. Easy deploy, great performance, memory safety and ability to prototype helped it take on C/C++.</p> <p>This talk shows you some basics on WebRTC, then how to use Pion and what you can build with it</p></abstract> <description><ul> <li><p>What does WebRTC give us?</p></li> <li><p>What technical real world limitations does WebRTC need to overcome to give us that?</p></li> <li><p>WebRTC broken down to 4 parts</p> <ul> <li>Signaling</li> <li>Connectivity</li> <li>Encryption</li> <li>Media/Data</li> </ul> </li> <li><p>Pion</p> <ul> <li>Connecting</li> <li>Using DataChannels</li> <li>Using Media</li> </ul> </li> </ul> <h1>Open Source Showcase (https://github.com/pion/awesome-pion)</h1> <ul> <li>All from https://github.com/pion/awesome-pion</li> <li>https://twitter.com/_pion/status/1273910045244133376</li> <li>https://github.com/saljam/webwormhole</li> <li>https://github.com/mxseba/rtc-ssh</li> <li>https://github.com/nurdism/neko</li> <li> https://github.com/maxmcd/webtty</li> <li>https://github.com/giongto35/cloud-morph</li> <li>https://github.com/s4y/space</li> <li>https://cedricverst.medium.com/streaming-surveillance-cameras-using-webrtc-403ef36795f8</li> </ul> </description> <persons> <person id="7738">Sean DuBois</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gowebrtc/attachments/slides/4583/export/events/attachments/gowebrtc/slides/4583/Slides.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.go/gowebrtc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/gowebrtc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11142.php">Submit feedback</link> </links> </event> <event id="10987"> <start>15:30</start> <duration>00:30</duration> <room>D.go</room> <slug>gopython</slug> <title>Calling Python from Go In Memory</title> <subtitle>Using 0 Serialization and ε Memory</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>In this talk we'll see how we can call Python function from Go "in memory" and with close to none serialization.</p></abstract> <description><p>Like tools, programming languages tend to solve problems they are designed to. You can use a knife to tighten a screw, but it’s better to use a screwdriver. Plus there is less chance of you getting hurt in the process.</p> <p>The Go programming language shines when writing high throughput services, and Python shines when used for data science. In this talk we'll explore a way to call Python/numpy code from Go in memory using some cgo glue. This approach is fast and risky, use at your own risk.</p></description> <persons> <person id="7647">Miki Tebeka</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gopython/attachments/slides/4592/export/events/attachments/gopython/slides/4592/Embed_Python.pdf">Presentation Slides</attachment> </attachments> <links> <link href="https://www.ardanlabs.com/blog/2020/06/python-go-grpc.html">Blog post this talk is based on</link> <link href="https://github.com/tebeka/talks/tree/master/embed-py-fosdem">Talk code & slides</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/D.go/gopython.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/gopython.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10987.php">Submit feedback</link> </links> </event> <event id="11645"> <start>16:00</start> <duration>00:30</duration> <room>D.go</room> <slug>goingdsecure</slug> <title>kris nóva live</title> <subtitle>writing a go sdk for photoprism</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>kris nóva fills in for a cancelled talk</p></abstract> <description><p>talking about unit tests, TestMain() and reverse engineering an API with Go</p></description> <persons> <person id="6137">kris "clusterfunk" nóva</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/kris-nova/public-speaking/tree/master/decks/fosdem-2021#writing-a-go-client-for-photoprism-nothing-to-do-with-a-clusterfuck-this-time">Slides</link> <link href="https://video.fosdem.org/2021/D.go/goingdsecure.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/goingdsecure.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11645.php">Submit feedback</link> </links> </event> <event id="11659"> <start>16:30</start> <duration>00:30</duration> <room>D.go</room> <slug>goguifyne</slug> <title>Building cross-platform Go GUIs fast using Fyne</title> <subtitle>Platform agnostic is the future of app development, and Go is the language of choice</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>With the growing popularity of Go many people are asking how to build a solid GUI. The language design to target concurrency and portability makes it a great match for cross-platform development. This talk shows how the Fyne toolkit is designed to help make beautiful and idiomatic native apps with Go.</p></abstract> <description><p>This talk explores the Fyne toolkit and what is new with the recently released version 2.0. We will explore the main features including canvas, widgets, data binding, test support and app store packaging.</p> <p>We will step through how to build an application using standard widgets, data binding and storage, and then see how it can be distributed for practically all graphical operating systems and app stores.</p></description> <persons> <person id="6754">Andrew Williams</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/goguifyne/attachments/slides/4624/export/events/attachments/goguifyne/slides/4624/Presentation.pdf">Fyne Presentation in PDF format</attachment> </attachments> <links> <link href="https://fyne.io">Project home page</link> <link href="https://apps.fyne.io">List of published apps using Fyne</link> <link href="https://video.fosdem.org/2021/D.go/goguifyne.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/goguifyne.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11659.php">Submit feedback</link> </links> </event> <event id="11742"> <start>17:00</start> <duration>00:30</duration> <room>D.go</room> <slug>gotailscale</slug> <title>Go at Tailscale</title> <subtitle>From writing Go to using Go</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>I worked on the Go team at Google for about 10 years working on bits of everything, but primarily the standard library (net/http, etc) &amp; its build system. In that time I wrote lots of Go, but almost primarily for Go itself. Joining a startup, I now finally get to use Go all day to build a real product (Tailscale) and it's super exciting. We use Go on the server and in 5 clients: Linux, Windows, macOS, iOS, Android.</p></abstract> <description></description> <persons> <person id="1877">Brad Fitzpatrick</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gotailscale/attachments/slides/4651/export/events/attachments/gotailscale/slides/4651/go_at_tailscale_bradfitz_2021.pdf">Go at Tailscale</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.go/gotailscale.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/gotailscale.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11742.php">Submit feedback</link> </links> </event> <event id="11716"> <start>17:30</start> <duration>00:30</duration> <room>D.go</room> <slug>stateofgo</slug> <title>The State of Go</title> <subtitle>What's new since Go 1.15</subtitle> <track>Go</track> <type>devroom</type> <language/> <abstract><p>Go 1.16 is planned to be released in February 2021 and this talk covers what's coming up with it.</p> <p>We'll talk about new features and fixes in Go, new proposals for Go 2. All of the new things you might have missed.</p></abstract> <description><p>This has been a staple talk of the Go devroom, opening the stage every year, and has always been a successful one.</p></description> <persons> <person id="2072">Francesc Campoy</person> <person id="4618">Maartje Eyskens</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.go/stateofgo.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.go/stateofgo.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11716.php">Submit feedback</link> </links> </event> </room> <room name="D.graph"> </room> <room name="D.hardware.trusted"> <event id="11618"> <start>10:00</start> <duration>00:05</duration> <room>D.hardware.trusted</room> <slug>tee_welcome</slug> <title>Opening</title> <subtitle>Welcome, overview, lineup</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>A brief introduction to the room and to the sessions.</p></abstract> <description><p>This year's TEE devroom will be a full-day virtual event with an impressive lineup! The day will be roughly divided into session blocks grouping related talks as follows:</p> <h3>10h00-12h35: Enclave shielding runtimes and programming paradigms</h3> <p>featuring Enarx, VeraCruz, OpenEnclave, Graphene-SGX, Rust-EDP, and Sancus</p> <h3>12h35-13h30: Lunch break &amp; buffer 😋</h3> <h3>13h30-14h45: Attacks and reverse engineering</h3> <p>featuring VoltPillager, SEV-ES, and ARM Secure Boot</p> <h3>14h45-15h00: Coffee break &amp; buffer ☕️</h3> <h3>15h00-16h40: Emerging RISC-V TEEs</h3> <p>featuring Penglai, Keystone, TEEP, and Trusted RV</p> <h3>16h40-16h50: Coffee break &amp; buffer ☕️</h3> <h3>16h50-18h00: Alternative trusted-hardware extensions</h3> <p>featuring CHERI, Cubicle OS, and HLS</p></description> <persons> <person id="6115">Jo Van Bulck</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11618.php">Submit feedback</link> </links> </event> <event id="11158"> <start>10:05</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_enarx</slug> <title>Rust, WebAssembly and open source</title> <subtitle>Enarx design choices</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>If you’re designing a project where security is uppermost, but you want to make it easy to use and compatible with multiple platforms (existing and future), what principles should you follow, and how do they translate into an architecture and actual code. We’ll present the 10 security design principles of the Enarx project, and discuss why they led us to where we are today: a Rust-based open source project with a WebAssembly run-time.</p></abstract> <description></description> <persons> <person id="502">Nathaniel McCallum</person> <person id="3940">Mike Bursell</person> <person id="8282">axel simon</person> </persons> <attachments> </attachments> <links> <link href="https://enarx.dev">Enarx project</link> <link href="https://github.com/enarx/">Enarx github</link> <link href="https://chat.enarx.dev">Enarx RocketChat</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_enarx.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_enarx.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11158.php">Submit feedback</link> </links> </event> <event id="10944"> <start>10:30</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_veracruz</slug> <title>Veracruz: privacy-preserving collaborative compute</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>In this presentation we will introduce Veracruz, a project recently adopted by the Confidential Compute Consortium, exploring how efficient, collaborative computations between mutually distrusting parties can be developed using a mixture of hardware- and software strong isolation mechanisms. Veracruz uses Arm TrustZone, Intel SGX, AWS Nitro Enclaves, or the high-assurance seL4 microvisor, to provide a "neutral ground" within which a collaborative computation takes place, shielded from prying or interference by the host of the computation. The computation itself is realised by a WebAssembly program which sandboxes the computation, means Veracruz programs are portable across different isolation technologies, and allows multi-party computations to be quickly written in high-level programming languages with standard development tools. Potential use-cases for Veracruz include support for privacy-preserving collaborative machine-learning, privacy-preserving surveys, polls, elections, or auctions, and safely delegating computations from weak devices to more powerful devices, amongst many others.</p></abstract> <description><p>Veracruz began life as a research project within the Security group at Arm Research. However, after reaching maturity, we recently open-sourced the project on Github (see: https://github.com/veracruz-project/veracruz) as a precursor to adoption by the Confidential Compute Consortium, and all development is now done in the open. We are especially interested in attracting collaborators, as we have many ideas for where the project can go next, and are interested in hearing of other ideas and potential use-cases, too.</p></description> <persons> <person id="7593">Dominic Mulligan</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_veracruz/attachments/slides/4761/export/events/attachments/tee_veracruz/slides/4761/fosdem_veracruz_talk.pdf">Veracruz: privacy-preserving collaborative compute</attachment> </attachments> <links> <link href="https://github.com/veracruz-project/veracruz">The main Github source repository</link> <link href="https://veracruz-project.github.io">The Veracruz project homepage, where we occasionally post news</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_veracruz.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_veracruz.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10944.php">Submit feedback</link> </links> </event> <event id="11444"> <start>10:55</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_graphene</slug> <title>Graphene Library OS</title> <subtitle>Running unmodified applications in SGX enclaves</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Graphene is a lightweight library OS, designed to run a single Linux application in an isolated environment. Currently, Graphene runs on Linux and Intel SGX enclaves on Linux platforms. With Intel SGX support, Graphene can secure a critical application in a hardware-encrypted memory region and protect the application from a malicious system stack with minimal porting effort.</p> <p>This talk will discuss the design, implementation, features, lessons learned, and the current status of the project. The talk will highlight some of the technical challenges of enabling unmodified applications in restricted secure environments such as Intel SGX enclaves.</p></abstract> <description></description> <persons> <person id="7873">Dmitrii Kuvaiskii</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/oscarlab/graphene">Official Graphene LibOS repository</link> <link href="https://grapheneproject.io/">Official Graphene website</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_graphene.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_graphene.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11444.php">Submit feedback</link> </links> </event> <event id="11436"> <start>11:20</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_oe</slug> <title>Secure Multi-Party Applications in Open Enclave</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Existing attestation schemes require pre-signed enclave images and provide few means of including runtime-dependent configuration data (like report data, enclave held data, configid). In multi-party settings in which the parties may not always fully trust each other, attestation of multiple pieces of code or data images via these means is cumbersome and inefficient. For example, consider the case of a secure cloud service running a JavaScript interpreter, which interprets a third-party script, in which case both, the interpreter and the script, can interfere with each other's attestation evidence as they share an address space. Similarly, a group of users may want to compute a shared result over all of their combined data, but without sharing their data with each other. Attestation in such scenarios is greatly simplified by a technique called Extended Enclave Initialization Data (EEID), which provides a secure and convenient means to combine all required attestation evidence, and to automatically re-sign images (with a well known service key) during enclave startup to ensure that all of the code and data is loaded and attested appropriately. An added benefit is that even single-party applications can use this technique to automatically re-sign enclave images with modified configuration settings (like memory size and thread count), independent of, or in addition to, underlying TEE support for configuration changes. EEID is currently available as an experimental feature for SGX enclaves in the Open Enclave SDK and it is used in multiple prototype services at Microsoft.</p></abstract> <description></description> <persons> <person id="7867">Christoph M. Wintersteiger</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/openenclave/openenclave/blob/master/docs/DesignDocs/ExtendedEnclaveInitializationData.md">EEID in Open Enclave</link> <link href="https://github.com/openenclave/openenclave">Open Enclave</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_oe.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_oe.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11436.php">Submit feedback</link> </links> </event> <event id="10841"> <start>11:45</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_async_io</slug> <title>Lightning fast enclave network services with async I/O</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Enclave technologies such as SGX generally have a relatively high context-switching cost. This is particularly noticeable when doing (network) I/O. In this talk we'll present the first non-LibOS implementation of an asynchronous I/O model for SGX. This gives you a language-native async I/O programming experience in Rust, outperforming any other way to build SGX network services.</p></abstract> <description></description> <persons> <person id="6574">Jethro G. Beekman</person> <person id="8239">Mohsen Zohrevandi</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_async_io.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_async_io.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10841.php">Submit feedback</link> </links> </event> <event id="11400"> <start>12:10</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_sancus</slug> <title>An Open-Source Framework for Developing Heterogeneous Distributed Enclave Applications</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>In this talk, we present an open-source framework to develop heterogeneous, distributed enclaved applications. The main feature of our framework is to provide a high level of abstraction over the platform-specific TEE layer and over the secure communication between different modules, leaving to a developer only the task to write the application’s logic. We provide a notion of event-driven programming to develop distributed enclave applications in Rust and C for heterogeneous TEEs, including Intel SGX, ARM TrustZone and the open-source Sancus. This heterogeneity brings our work to a broad range of use cases, which include cloud processing, mobile devices and lightweight IoT. Our framework ensures strong security guarantees based upon mutual attestation of security-critical software components.</p></abstract> <description><p>A Trusted Execution Environment (TEE) is a relatively new technology that allows to run an application in a special hardware-protected environment called enclave. Enclaves are cryptographically isolated and protected from the rest of the world, ensuring strong confidentiality and integrity guarantees. Moreover, a mechanism called Remote Attestation is used to obtain a proof that an application running on a remote server is loaded inside an enclave and was not tampered with at loading time. There are several TEEs available in both industry and research worlds, each of them is platform-specific, come with different system footprint, and provide slightly different security guarantees: open-source developments include Sancus and Keystone; proprietary options are, e.g., SGX for Intel processors, SEV for AMD, TrustZone for ARM, etc. Therefore, developing a heterogeneous, distributed application that uses different TEEs is non-trivial for a developer, who needs to adapt the code of each component (or module) to a specific platform. Open-source projects such as Open Enclave SDK and Google Asylo aim to bridge the development gap between different TEEs. However, software engineers still need to account for the communication between different modules, which has to be properly secured with cryptographic operations for data encryption and authentication. After the development phase, a system operator is responsible for deploying this distributed application on the (potentially shared) infrastructure: each module has to be properly initialized and attested (e.g., using Remote Attestation), and connections have to be established (e.g., by creating and distributing session keys). In summary, ensuring strong confidentiality and integrity guarantees in such a situation is difficult and error-prone.</p> <p>The framework we are developing automatically handles all of this work: deployment, attestation, configuration, provisioning of communication APIs. Therefore, it provides the developer an abstraction layer in which they only need to implement the application’s logic. The idea behind our implementation is based on the concept of Authentic Execution, which aims to ensure a strong integrity guarantee over the whole execution of an application. The following citation from our previous paper describes the goal of Authentic Execution:</p> <p>"Roughly speaking, our notion of authentic execution is the following: if the application produces a physical output event (e.g.,turns on an LED), then there must have happened a sequence of physical input events such that that sequence, when processed by the application (as specified in the high-level source code), produces that output event." (from https://people.cs.kuleuven.be/~jantobias.muehlberg/stm17/paper.pdf)</p> <p>Note that this concept focuses mainly on the integrity of an application: however, confidentiality comes for free in our implementation, thanks to confidential computing provided by the TEEs and authenticated encryption of the data.</p> <p>Currently, our framework supports Intel SGX, ARM TrustZone and Sancus (an open-source, embedded TEE for lightweight microcontrollers), allowing the development of applications that can be used in a broad range of use cases, which include cloud processing, mobile devices and lightweight IoT. Our purpose is to provide end-to-end security from low-end systems that include I/O devices to high-end computation nodes. In the presentation, we will demonstrate the use of our framework on the example of a prototypic secure smart irrigation system, a typical use-case for Smart Environments. This example combines SGX and Sancus together to build a secure, heterogeneous system composed of data processing servers and low-power microcontrollers.</p> <p>Our work also focuses on code quality, especially in order to ensure absence of memory-corruption vulnerabilities. This is essential for enforcing the security guarantees we are aiming for: TEEs and crypto are not helpful if the code is bugged. Hence, the SGX part of our framework was entirely written in Rust, a modern and fast programming language that provides by nature protection against all low-level memory-corruption vulnerabilities. Work for ARM TrustZone is currently ongoing. We are exploring the use of Rust and C in this implementation as well. Sancus is based on the embedded MSP430 processor with a 16-bit CPU, and therefore its implementation was written in C and assembly. Testing and verification techniques are to be applied here to ensure the absence of memory-corruption vulnerabilities.</p> <p>Our framework aims to minimize the developer’s effort as much as possible: only the application’s logic should be implemented by them, leaving all the details about enclaved execution, secure inter-module communication and Remote Attestation to our framework. To ensure this, the system operator writes a configuration file called deployment descriptor, which includes information about the nodes where the modules will be deployed to, as well as the declaration of connections between two different modules. We implemented a tool that takes as input the source code of all the modules and the deployment descriptor, and it automatically deploys the distributed application according to the information provided in the descriptor. In addition, Remote Attestation is automatically performed to verify the correctness of each module and to exchange session keys for the inter-module communications. Work is in progress to provide complete abstraction over the underlying platform where a module is executed: the ultimate goal is to write an application’s module without having prior knowledge about whether it will be executed on e.g. a SGX or a TrustZone platform. However this is a non-trivial challenge, since two platforms might present huge differences (e.g., Sancus and SGX), and since many features are only available on specific implementations (e.g., Secure I/O).</p></description> <persons> <person id="7820">Gianluca Scopelliti</person> <person id="8013">sepideh pouyanrad</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_sancus/attachments/slides/4453/export/events/attachments/tee_sancus/slides/4453/fosdem21.pdf">Presentation slides</attachment> </attachments> <links> <link href="https://edp.fortanix.com">Fortanix EDP</link> <link href="https://github.com/gianlu33/authentic-execution">Main repository</link> <link href="https://people.cs.kuleuven.be/~jantobias.muehlberg/stm17/">Authentic Execution website</link> <link href="https://distrinet.cs.kuleuven.be/software/sancus/publications/scopelliti2020.pdf">Securing Smart Environments with Authentic Execution, Master's Thesis, Gianluca Scopelliti, 2020</link> <link href="https://distrinet.cs.kuleuven.be/software/sancus">Sancus website</link> <link href="https://optee.readthedocs.io/en/latest/">OP-TEE SDK</link> <link href="https://github.com/sccommunity/rust-optee-trustzone-sdk">Rust OP-TEE SDK</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_sancus.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_sancus.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11400.php">Submit feedback</link> </links> </event> <event id="11329"> <start>13:30</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_voltpillager</slug> <title>Hardwared Based CPU Undervolting on The Cheap</title> <subtitle>Stealing Your Secrets for $30</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Previous work such as Plundervolt has shown that software-based undervolting can induce faults into Intel SGX enclaves and break their security guarantees. However, Intel has addressed this issue with microcode updates.</p> <p>We later discovered that there is a physical connection on the motherboard which allows us to control the voltage and conduct fault injection. In this talk, we will present a low-cost device: Voltpillager, which use this physical connection to break the guarantees provided by SGX again.</p></abstract> <description><p>On a standard motherboard, there is a separate Voltage Regulator (VR) chip that generates and controls the CPU voltage. Our tool, VoltPillager, uses this to connect to the (unprotected) interface of the VR and control that voltage. Based on this, we then mount fault-injection attacks that breach confidentiality and integrity of Intel SGX enclaves, and present proof-of-concept key-recovery attacks against cryptographic algorithms running inside SGX.</p> <p>Our results may require a rethink of the widely assumed SGX adversarial model, where a cloud provider hosting SGX machines is assumed to be untrusted but has physical access to the hardware.</p></description> <persons> <person id="7777">ZITAI CHEN</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_voltpillager/attachments/slides/4636/export/events/attachments/tee_voltpillager/slides/4636/20210117_ZitaiChen.pdf">Hardwared Based CPU Undervolting on The Cheap</attachment> </attachments> <links> <link href="https://zt-chen.github.io/voltpillager/">Voltpillager Website</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_voltpillager.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_voltpillager.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11329.php">Submit feedback</link> </links> </event> <event id="10873"> <start>13:55</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_sev_es</slug> <title>Exploiting Interfaces of SEV-ES-protected Virtual Machines</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Supported since Linux 5.10, the AMD SEV Encrypted State (SEV-ES) feature can be used to protect the confidentiality of a virtual machine (VM) by means of encryption and attestation. Although the memory and registers of the VM are encrypted, the VM still communicates with the hypervisor for the emulation of special instructions and devices. Because these operations have not been previously considered part of the attack surface, we discovered that a malicious hypervisor can provide semantically incorrect information in order to bypass SEV-ES. In this talk, I provide technical details on the handling of special operations with SEV-ES, practically show how the original implementation could be exploited, and finally I show how the interfaces were hardened to fix the issues.</p></abstract> <description><p>This talk includes four different attacks which: 1) use virtual devices to extract encryption keys and secret data from a virtual machine. 2) reduce the entropy of probabilistic kernel defenses in the VM by carefully manipulating the results of the CPUID and RDTSC instructions. 3) extract secret data or inject code by forging fake MMIO regions over the VM’s address space. 4) trick the VM to decrypt its stack and use Return Oriented Programming to execute arbitrary code inside the VM.</p></description> <persons> <person id="7536">Martin Radev</person> </persons> <attachments> </attachments> <links> <link href="https://arxiv.org/pdf/2010.07094.pdf">Arxiv paper</link> <link href="https://vimeo.com/482589109">Presentation at ROOTS2020</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_sev_es.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_sev_es.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10873.php">Submit feedback</link> </links> </event> <event id="11395"> <start>14:20</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_arm_secboot</slug> <title>Overview of Secure Boot state in the ARM-based SoCs</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>In the ARM world, Secure Boot is typically a BootROM feature, which allows for verification of the loaded binaries (firmware, bootloader, Linux kernel) prior executing it. The main idea is to prevent the untrusted code from running on our platform. The general approach is similar across vendors, but there is no standardization in this area.</p> <p>During this talk we will review the Secure Boot features in ARM SoCs from some of the most popular vendors. Not only will we analyze the Secure Boot presence or its features, but we will also focus on the tools and documentation availability. It is a known fact that often such documentation requires a signed NDA with an SoC vendor, which makes it difficult to use by regular users.</p></abstract> <description></description> <persons> <person id="7842">Maciej Pijanowski</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/tee_arm_secboot/attachments/paper/4635/export/events/attachments/tee_arm_secboot/paper/4635/Overview_of_Secure_Boot_in_Arm_based_SoCs.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_arm_secboot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_arm_secboot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11395.php">Submit feedback</link> </links> </event> <event id="10976"> <start>15:00</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_penglai</slug> <title>Penglai Enclave: Verifiable and Scalable RISC-V TEE System</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Emerging applications like artificial intelligence and autonomous car require high security-assurance, which stimulates the wide-spread deployment of trusted execution environment (TEE). However, prior enclave systems are far from the ideal for three reasons. 1) Scalability: only support limited secure memory or limited number of instances; 2) Performance: not well-fit the requirements of high-performance application, e.g., poor secure communication performance; 3) Security: many still have security flaws, e.g., suffering cache-based side channels attacks.</p> <p>Penglai-Enclave is proposed to overcome these challenges. The Penglai open-source project aims to build a scalable and efficient TEE system based on RISC-V, which is made powerful through hardware-assisted scalable physical memory isolation extensions. Our evaluations show that Penglai can achieve more than 1,000 concurrently running instances even in a resource-restricted device. We also have supported libraries like ARM PSA on Penglai to ease the development of trusted applications, and applied formal methods to validate its software TCB.</p></abstract> <description></description> <persons> <person id="7618">Dong Du</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_penglai/attachments/slides/4640/export/events/attachments/tee_penglai/slides/4640/Penglai_TEE_FOSDEM21_final.pdf">Penglai-TEE</attachment> </attachments> <links> <link href="https://penglai-enclave.systems/">Penglai website</link> <link href="https://github.com/penglai-enclave/penglai-enclave">Github</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_penglai.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_penglai.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10976.php">Submit feedback</link> </links> </event> <event id="11310"> <start>15:25</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_keystone</slug> <title>Keystone: towards an open standard for trusted execution environments</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Keystone is an open framework for building customizable trusted execution environments (TEEs) based on RISC-V for various platforms and use cases. Instead of building a single instance of TEE hardware, Keystone provides security primitives, which can be composed by the software framework. The enclave developer and the platform provider can customize the TEE in order to meet their threat models or platform configurations. The Keystone project aims to build an open standard for TEEs by providing a generic and formally-verified interface for a wide range of devices. We envision that every hardware can have a secure TEE with almost no additional cost. In this talk, we will discuss the current state and future directions of the project.</p></abstract> <description></description> <persons> <person id="7811">Dayeol Lee</person> </persons> <attachments> </attachments> <links> <link href="https://keystone-enclave.org">Project Website</link> <link href="https://github.com/keystone-enclave">Project Repositories</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_keystone.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_keystone.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11310.php">Submit feedback</link> </links> </event> <event id="11421"> <start>15:50</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_teep</slug> <title>TEEP (Trusted Execution Environment Provisioning) Implementation on RISC-V</title> <subtitle>Introduction of TEEP and implementation on RISC-V</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>IETF is discussing Trusted Execution Environment Provisioning (TEEP) protocol to manage remote installation/update/deletion of a TA (Trusted Application) in TEE (Trusted Execution Environment) which provides hardware isolated environment in the CPU. TEEP is designed to be general among different CPU architectures. We have implementation of TEEP on the new RISC-V cpu. Our implementation is designed to be portable to another TEE architecture. The requirement for portability is discussed at the event.</p></abstract> <description><p>IETF is discussing Trusted Execution Environment Provisioning (TEEP) protocol to manage remote installation/update/deletion of a TA (Trusted Application) in TEE (Trusted Execution Environment) which provides hardware isolated environment in the CPU. TEEP is designed to be general among different CPU architectures, but primary implementations are proceeding on Intel SGX and ARM TrustZone. Therefore, we have implemented of TEEP on Keystone which is a TEE project on RISC-V led by UC Berkeley.</p> <p>TEEP consists of 3 major software components; “TEEP Broker” on the normal OS, “TEEP Agent” in the TEE, and “Trusted Application Manager (TAM)” on a remote server. These components manage certificates for authenticating TEE and TAM, and code signing of TA. All of the certificates are based on PKI key management. The challenges of having TEEP functionality on RISC-V is how to minimize the complexity of required features of TEEP inside TEE while keeping the portability of existing TA. The TEE is not meant to have full scale of POSIX API development environment which are convenient for developer but not ideal for minimizing security who would like to focus on code size.</p> <p>Some of the features we have added to Keystone runtime are HTTP/HTTPS and Concise Binary Object Representation (CBOR) parser.</p> <p>Our initial implementation of TEEP was implemented on Arm TrustZone with OP-TEE and then moved to Keystone on RISC-V. The presentation will also include instruction of basic concept and design of TEEP.</p></description> <persons> <person id="7854">Akira Tsukamoto</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_teep/attachments/slides/4392/export/events/attachments/tee_teep/slides/4392/FOSDEM2021_TEEP_4.pdf">FOSDEM2021-TEEP-4</attachment> </attachments> <links> <link href="https://drive.google.com/file/d/1JgFqVyMBqglBY-SboowwkD-IcMc7T7JX/view?usp=sharing">video</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_teep.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_teep.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11421.php">Submit feedback</link> </links> </event> <event id="11405"> <start>16:15</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_trusted_rv</slug> <title>Trusted RV: 64bit RISC-V TEE with Secure CoProcessor as Root of Trust</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Trusted RV is a combination of 4 core 64bit RISC-V (AC: Application Core) and 1 core 32bit RISC-V Secure Coprocessor (SU: Secure Unit). The SU works as a "Root of Trust" and keeps critical information (e.g., Device Key, Certificate). The SU boots before the 64Bit RISC-V and controls it (i.e., secure boot, etc). The communication from the AC to the SU is limited for TEE (i.e., Keystone Encalve) only and keeps security. Trusted RV is implemented on an FPGA (Xilinx VC707) and a simulator.</p></abstract> <description><p>We have developed the Trusted RV which is a combination of 4 core 64bit RISC-V and 1 core 32bit RISC-V Secure Coprocessor. The secure coprocessor works as a "Root of Trust" and keeps critical information (e.g., Device Key, Certificate). The secure coprocessor offers machine mode only and runs Zephyr OS. The Zephyr OS includes crypto and certificate-verification libraries and manages the 64bit RISC-V. The secure coprocessor boots before the 64bit RISC-V and verifies it.</p> <p>The secure coprocessor is tightened with RISC-V Keystone on the 64bit RISC-V to keep security. The 64bit RISC-V runs Keystone as TEE (Trusted Execution Environment), and Secure Monitor (SM) runs on machine mode under the Linux kernel. The secure communication between 64bit RISC-V and Secure Coprocessor is managed by SM only. The communication is passed to a Trusted Application (TA) in a Keystone Enclave only. The secure communication is implanted on the shared memory and mutual interrupts between 64bit RISC-V and Secure Coprocessor. This mechanism is also used for the remote attestation of Keystone which based on the key in the secure coprocessor. The Trusted RV is implemented on a simulator for software development, as well as FPGA (Xilinx VC707).</p></description> <persons> <person id="7850">Kuniyasu Suzaki</person> </persons> <attachments> </attachments> <links> <link href="https://staff.aist.go.jp/k.suzaki/">HP of Kuniyasu Suzaki</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_trusted_rv.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_trusted_rv.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11405.php">Submit feedback</link> </links> </event> <event id="11432"> <start>16:50</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_cheri</slug> <title>CheriBSD</title> <subtitle>A memory safe POSIX OS</subtitle> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>CHERI is a portable architectural extension providing spatial, referential, and temporal memory safety along with strong, light-weight compartmentalization. CheriBSD is a port of FreeBSD supporting CHERI on Arm Morello, MIPS, and RISC-V. CheriBSD is the reference POSIX OS implementation for CHERI.</p></abstract> <description><p>CheriBSD supports unmodified binaries from the native architecture plus CheriABI programs which have strong spatial, referential, and temporal safety guarantees. I will discuss our implementation of CheriBSD with a focus on CheriABI.</p></description> <persons> <person id="3804">Brooks Davis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tee_cheri/attachments/slides/4572/export/events/attachments/tee_cheri/slides/4572/20210206_fosdem_cheribsd.pdf">CheriBSD FOSDEM 2021</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_cheri.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_cheri.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11432.php">Submit feedback</link> </links> </event> <event id="11414"> <start>17:15</start> <duration>00:25</duration> <room>D.hardware.trusted</room> <slug>tee_hls</slug> <title>Hardware-Aided Trusted Computing in High-Level Synthesis (HLS) for FPGAs</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>Hardware accelerators are being increasingly integrated into today’s heterogenous computing systems to achieve improved performance. However, the resulting heterogenous hardware also increases the challenge to ensure the security of these accelerators. High-Level Synthesis (HLS) automates the creation of a register transfer level (RTL) description of a digital circuit starting from its high-level specification (e.g., C/C++/SystemC). In this talk, I would like to discuss different extensions and methodologies to High-Level Synthesis (HLS) compilers for generating secure accelerators. Precisely addressing the HLS vulnerabilities like side-channel listed in Common Weakness Enumeration (CWE) list.</p></abstract> <description></description> <persons> <person id="7580">Babar Khan</person> </persons> <attachments> </attachments> <links> <link href="thttps://github.com/BabarZKhan">Github</link> <link href="https://www.linkedin.com/in/babar-khan-698b6679/">Linkedin</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_hls.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_hls.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11414.php">Submit feedback</link> </links> </event> <event id="11360"> <start>17:40</start> <duration>00:20</duration> <room>D.hardware.trusted</room> <slug>tee_cubicle</slug> <title>CubicleOS -- when Hardware helps to partition software</title> <subtitle/> <track>Hardware-Aided Trusted Computing</track> <type>devroom</type> <language/> <abstract><p>What if millennials reinvented microkernels? How would they design them, what CPU features would they use?</p></abstract> <description><p>Modern component-based systems, in particular microkernels, are impractical. While it is relatively easy to develop a small microkernel, it is almost impossible to build a component-based environment that can effectively reuse existing components and programs from mainstream systems. The experience of big projects, like Genode, L4Re, rump-kernel, etc. shows that it is an infinite catch-up game when developers try to reproduce POSIX environment and Linux kernel interfaces, while the mainstream systems are constantly evolving.</p> <p>In this talk, I will discuss what to do with this infinite loop. I will show, that:</p> <ol> <li><p>the root cause of the problem is the messaging-based API of component-based systems, which is hardly compatible with POSIX but fundamental</p></li> <li><p>a monolithic system can be partitioned without the use of messages but requires some constraints in its design and implementation</p></li> <li><p>Modern hardware features like Intel MPK gives new opportunities for kernel developers and allows to resolve some old systems problems.</p></li> </ol> <p>I will present CubicleOS, a sketch of a LibOS based on Unikraft. CubicleOS does not use messages, works as automatic partitioning system, and turns monolithic Unikraft into a set of isolated components.</p></description> <persons> <person id="1138">Vasily A. Sartakov</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_cubicle.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hardware.trusted/tee_cubicle.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11360.php">Submit feedback</link> </links> </event> </room> <room name="D.hpc"> <event id="11024"> <start>10:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>riscv_hpc</slug> <title>Accelerating HPC applications with Out-of-Order Commit Processors</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>With the end of Moore’s law, improving single-core processor performance can be extremely difficult to do in an energy-efficient manner. One alternative is to rethink conventional processor design methodologies and propose innovative ideas to unlock additional performance and efficiency. In an attempt to overcome these difficulties, we propose a compiler-informed non-speculative out-of-order commit processor, that attacks the limitations of in-order commit in current out-of-order cores to increase the effective instruction window and use critical resources of the core more intelligently. We build our core based on the open source RISC-V ISA. The hardware and software ecosystem around RISC-V enables building custom hardware and experimenting new HW/SW cooperative ideas.</p></abstract> <description><p>While modern out-of-order processors execute instructions out-of-order to increase instruction-level parallelism, they retire instructions and manage their limited resources (register file, load/store queue, etc.) in program order to guarantee safe instruction retirement. However, this implementation requires instructions to wait for all preceding branches to resolve in order to release their critical resources, which leaves a significant amount of performance on the table. We propose a HW/SW co-design that enables non-speculative out-of-order commit in a lightweight manner, improving performance and efficiency. The key insight of our work is that identifying true branch dependencies, if properly understood, could lead to higher performance. Dependency analysis shows that not all instructions depend on the most recent branch in the reorder buffer and therefore, there are missed opportunities to improve the performance by not releasing the critical resources of independent instructions. Our processor employs a HW/SW co-design where the compiler detects true branch dependencies that enables the hardware to manage critical resources more intelligently. Also, we introduce a new interface between hardware and OS to enable precise exception handling by exposing recent changes of out-of-order committed instructions.</p> <p>In our talk, we will look at the potential of our out-of-order commit core for HPC workloads. Initial studies with C-based HPC applications show promising results, and we intend to show results for a variety of additional HPC workloads to evaluate the potential of the design. We believe our HW/SW co-design might be a way to build the processors in the future. This work will appear in proceedings of the 26th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021).</p></description> <persons> <person id="7619">Ali Hajiabadi</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/riscv_hpc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/riscv_hpc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11024.php">Submit feedback</link> </links> </event> <event id="11115"> <start>10:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>hpc_container_engine_state_of_art</slug> <title>HPC Container Engine State-of-Art</title> <subtitle>Base-line our understanding of what the execution of HPC containers looks like in 2021.</subtitle> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>The Container ecosystem spans from spawning a process into an isolated and constrained region of the kernel at bottom layer, building and distributing images just above to discussions on how to schedule a fleet of containers around the world at the very top. While the top layers get all the attention and buzz, this session will base-line the audiences' understanding of how to execute containers.</p></abstract> <description><p>The talk will briefly recap the history of containers and containers in HPC and describe the challenges we faced and how the community overcame them; eventually converging towards a sustainable model to run HPC application at scale using containers. By attending this sessions viewers will come to understand that HPC runtime engines are not far apart anymore and what to look out for when adopting HPC containers in 2021. We'll also poke at the next layer up - Image build and distribution - to describe the challenge after we picked the runtime engine.</p></description> <persons> <person id="7507">Christian Kniep</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/hpc_container_engine_state_of_art.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/hpc_container_engine_state_of_art.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11115.php">Submit feedback</link> </links> </event> <event id="11076"> <start>11:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>faster_spark_sql</slug> <title>Faster Spark SQL: Adaptive Query Execution in Spark v3</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Over the years, there has been extensive efforts to improve Apache Spark SQL performance. This talk will introduce the new Adaptive Query Execution (AQE) framework and how it can automatically improve user query performance. AQE leverages query runtime statistics to dynamically guide Spark's execution as queries run along. The talk will go over the main features in AQE and provide examples on how it can improve on the previous static query plans. Finally, we'll present the significant improvements we have seen on the TPC-DS benchmark with AQE.</p></abstract> <description><p>Examples of the new runtime optimizations include selecting the right join type (broadcast-hash-join vs. sort-merge-join), dealing with data skew, and automatically selecting the number of shuffle (reducer) partitions.</p></description> <persons> <person id="3233">Nicolas Poggi</person> </persons> <attachments> </attachments> <links> <link href="https://databricks.com/blog/2020/10/21/faster-sql-adaptive-query-execution-in-databricks.html">Related blog post</link> <link href="https://video.fosdem.org/2021/D.hpc/faster_spark_sql.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/faster_spark_sql.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11076.php">Submit feedback</link> </links> </event> <event id="10999"> <start>11:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>discopop</slug> <title>DiscoPoP: A tool to identify parallelization opportunities in sequential programs and suggest OpenMP constructs and clauses</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>This talk introduces DiscoPoP, a tool which identifies parallelization opportunities in sequential programs and suggests programmers how to parallelize them using OpenMP. The tool first identifies computational units which, in our terminology, are the atoms of parallelization. Then, it profiles memory accesses inside the source code to detect data dependencies. Mapping dependencies to CUs, we create a data structure which we call the program execution tree (PET). Further, DiscoPoP inspects the pet of a program to find parallel design patterns and parallelization suggestions in terms of OpenMP constructs and clauses. By far, DiscoPoP detects doall, reduction, pipeline, task parallelism, and geometric decomposition in a program.</p> <p>We used DiscoPoP to create OpenMP versions of 49 sequential benchmarks and compared them with the code produced by three state-of-the-art parallelization tools: Our codes are faster in most cases with average speedups relative to any of the three ranging from 1.8 to 2.7. Moreover, we analyzed the LULESH program and an astrophysics simulation code with DiscoPoP. In LULESH, we identify most of the parallelization opportunities which have been parallelized by expert programmers manually. In the astrophysics code, DiscoPoP finds unexploited parallelism opportunities and achieves a speed-up of up to 35%.</p> <p>DiscoPoP is released as an open source software and can be downloaded from:</p> <p>https://github.com/discopop-project/discopop</p></abstract> <description></description> <persons> <person id="7659">Mohammad Norouzi</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/discopop/attachments/paper/4215/export/events/attachments/discopop/paper/4215/ics.pdf">utomatic Construct Selection and Variable Classification in OpenMP</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/discopop/attachments/paper/4216/export/events/attachments/discopop/paper/4216/morew_ea_2020_europar_pdf_eed8bfdd17c1175f1ca568b6aec0a190.pdf">Skipping Non-essential Instructions Makes Data-Dependence Profiling Faster</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/discopop/attachments/paper/4217/export/events/attachments/discopop/paper/4217/AcceleratingData_DependenceProfiling_final_springer.pdf">Accelerating Data-Dependence Profiling with Static Hints</attachment> </attachments> <links> <link href="https://github.com/discopop-project/discopop">DiscoPoP github repository</link> <link href="https://www.discopop.tu-darmstadt.de">DiscoPoP website</link> <link href="https://video.fosdem.org/2021/D.hpc/discopop.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/discopop.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10999.php">Submit feedback</link> </links> </event> <event id="10998"> <start>15:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>openmp_cuda_gpus</slug> <title>Lessons in Programming Model Comparisons Using OpenMP and CUDA for Targetting GPUs</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>In this talk we explore two programming models for GPU accelerated computing in a Fortran application: OpenMP with target directives and CUDA. We use an example application Riemann problem, a common problem in fluid dynamics, as our testing ground. This example application is implemented in GenASiS, a code being developed for astrophysics simulations. While OpenMP and CUDA are supported on the Summit supercomputer, its successor, an exascale supercomputer Frontier, will support OpenMP and translate CUDA-like models via HIP. In this work, we study and describe the differences and trade-offs between these programming models in terms of efforts and performance. Our hope is to provide insights on productivity and portability issues within these programming models.</p></abstract> <description></description> <persons> <person id="7658">Alaina Edwards</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/openmp_cuda_gpus.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/openmp_cuda_gpus.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10998.php">Submit feedback</link> </links> </event> <event id="10992"> <start>15:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>eessi</slug> <title>EESSI: One Scientific Software Stack to Rule Them All</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>The European Environment for Scientific Software Installations (EESSI, pronounced as “easy”) is a collaboration between different HPC sites and industry partners, with the common goal to set up a shared repository of scientific software installations that can be used on a variety of systems, regardless of which flavor/version of Linux distribution or processor architecture is used, or whether it is a full-size HPC cluster, a cloud environment or a personal workstation.</p> <p>The EESSI codebase (https://github.com/eessi) is open source and heavily relies on various other open-source software, including Ansible, archspec, CernVM-FS, Cluster-in-the-Cloud, EasyBuild, Gentoo Prefix, Lmod, ReFrame, Singularity, and Terraform.</p> <p>The concept of the EESSI project was inspired by the Compute Canada software stack, and consists of three main layers: - a filesystem layer leveraging the established CernVM-FS technology, to globally distribute the EESSI software stack; - a compatibility layer using Gentoo Prefix, to ensure compatibility with different client operating systems (different Linux distributions, macOS, Windows Subsystem for Linux); - a software layer, hosting optimized installations of scientific software along with required dependencies, which were built for different processor architectures, and where archspec, EasyBuild and Lmod are leveraged.</p> <p>We use Ansible for automating the deployment of the EESSI software stack. Terraform is used for creating cloud instances which are used for development, building software, and testing. We also employ ReFrame for testing the different layers of the EESSI project, and the provided installations of scientific software applications. Finally, we use Singularity containers for having clean software build environments and for providing easy access to our software stack, for instance on machines without a native CernVM-FS client.</p> <p>In this talk, we will present how the EESSI project grew out of a need for more collaboration to tackle the challenges in the changing landscape of scientific software and HPC system architectures. The project structure will be explained in more detail, covering the motivation for the layered approach and the choice of tools, as well as the lessons learned from the work done by Compute Canada. The goals we have in mind and how we plan to achieve them going forward will be outlined.</p> <p>Finally, we will demonstrate the current pilot version of the project, and give you a feeling of the potential impact.</p></abstract> <description><p>Here we give a more extensive overview of the free and open-source software that EESSI depends on, and how they are being used in the project.</p> <ul> <li>Ansible</li> </ul> <p>Ansible (https://www.ansible.com/) is a tool for automation and configuration management. We use Ansible for automating the deployment of the EESSI software stack. This includes, for instance, the installation and configuration of all CernVM-FS components, installing Gentoo Prefix on different CPU architectures, and adding our packages and customizations to the Gentoo Prefix installation.</p> <ul> <li>archspec</li> </ul> <p>Archspec (https://github.com/archspec/archspec) is a Python library for detecting, querying, and comparing the architecture of a system. In EESSI it is used to find the CPU type of the host system and the software stack in the repository that best matches the host CPU microarchitecture. In the future, we will also use the library to do the same for GPUs.</p> <ul> <li>CernVM-FS</li> </ul> <p>CernVM-FS (https://cernvm.cern.ch/fs/) is a software distribution service that provides a scalable, read-only, globally distributed filesystem. Clients can mount this filesystem over HTTP. We use CernVM-FS to make the scientific software stack available to any client around the world.</p> <ul> <li>Cluster-in-the-Cloud</li> </ul> <p>Cluster-in-the-Cloud (https://cluster-in-the-cloud.readthedocs.io/) is a tool that allows you to easily set up a scalable and heterogeneous cluster in the cloud. We leverage this tool to automate software builds on specific architectures, and to test the software installations.</p> <ul> <li>EasyBuild</li> </ul> <p>EasyBuild (https://easybuilders.github.io/easybuild/) is an installation tool for scientific software, currently supporting over 2,000 packages. By default, EasyBuild optimizes the software for the build host system. We use EasyBuild to install all the different scientific software that we want to include in our stack, and for all the different architectures that we want to support.</p> <ul> <li>Gentoo Prefix</li> </ul> <p>Gentoo Prefix (https://wiki.gentoo.org/wiki/Project:Prefix) is a Linux distribution that is built from source and can be installed in a given path (the “prefix”). It supports many different architectures, including x86_64, Arm64, POWER, and can be used on both Linux and macOS systems.</p> <ul> <li>Lmod</li> </ul> <p>Lmod (https://www.tacc.utexas.edu/research-development/tacc-projects/lmod) is an environment modules tool written in Lua, which is used on many different HPC systems to give users intuitive access to software installations. It also allows you to have multiple software versions side-by-side. The EESSI software stack includes an installation of Lmod and environment module files for each scientific software application and its dependencies, providing easy access to those installations to end users.</p> <ul> <li>ReFrame</li> </ul> <p>ReFrame (https://reframe-hpc.readthedocs.io/) is a high-level regression testing framework for HPC systems. EESSI will be using ReFrame to implement tests (written in Python) for verifying the correctness of the different layers of our project, and doing performance checks of software installations.</p> <ul> <li>Singularity</li> </ul> <p>Singularity (https://sylabs.io/singularity/) is a container platform that was created to run complex applications on HPC systems. We use it to set up isolated build environments on different kinds of systems, without requiring root privileges. Furthermore, we use it to provide clients with a way to easily access our repository, without having to install a CernVM-FS client.</p> <ul> <li>Terraform</li> </ul> <p>Terraform (https://www.terraform.io/) is a tool that enables you to easily set up clond instances on demand. We use it to do exactly that, for instance for build machines.</p></description> <persons> <person id="7510">Bob Dröge</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/eessi/attachments/slides/4619/export/events/attachments/eessi/slides/4619/EESSI_FOSDEM21_20210206.pdf">EESSI: One Scientific Software Stack to Rule Them All</attachment> </attachments> <links> <link href="https://eessi-hpc.org/">EESSI website</link> <link href="https://github.com/EESSI">EESSI @ GitHub</link> <link href="https://eessi.github.io/docs/">EESSI documentation</link> <link href="https://twitter.com/eessi_hpc">EESSI Twitter</link> <link href="https://www.youtube.com/watch?v=aEBYo7KrcN4">Recent presentation on EESSI</link> <link href="https://video.fosdem.org/2021/D.hpc/eessi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/eessi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10992.php">Submit feedback</link> </links> </event> <event id="11060"> <start>16:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>xalt</slug> <title>XALT: Lessons from attaching to almost every program in Linux</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>XALT is a tool run on clusters to find out what programs and libraries are run. XALT uses the environment variable LD_PRELOAD to attach a shared library to execute code before and after main(). This means that the XALT shared library is a developer on every program run under linux. This shared library is part of every program run. This talk will discuss the various lessons about routine names and memory usage. Adding XALT to track container usage presents new issues because of what shared libraries are available in the container.</p></abstract> <description><p>XALT is an open source project under the LGPL licence. It is available at https://github.com/xalt/xalt and the documentation can be found at https://xalt.readthedocs.io. A presentation can be found at: https://www.youtube.com/watch?v=6QSKaAkbiWo?</p></description> <persons> <person id="2525">Robert McLay</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/xalt.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/xalt.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11060.php">Submit feedback</link> </links> </event> <event id="11114"> <start>16:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>hpc_containerized_ensemble</slug> <title>Hitchhiker's guide from traditional HPC Cluster to containerized ensemble run at scale</title> <subtitle>How to lift GROMACS into a cloudy SLURM cluster and evolve to run GROMACS globally using containers.</subtitle> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>In this session we are presenting our experiences with migrating from traditional HPC to cloud-native HPC using a compute-heavy scientific workflow that is usually carried out on national supercomputing centers. Our scientific application are atomistic biomolecular simulations using the GROMACS molecular dynamics simulation toolkit.</p></abstract> <description><p>Molecular dynamics simulations are computationally challenging in two respects: First, individual simulations usually need to be parallelized over as many resources (cores, GPUs, nodes) as practicable, to reduce the time to solution from months down to weeks or possibly less. Second, we as scientists are not so much interested in individual simulations, but rather in average properties of the simulated systems. The latter can however only be addressed with ensemble runs of many (typically hundreds) slightly different replicas of the system, thus requiring an enormous amount of compute time.</p> <p>Cloud-based HPC can address both challenges: The cloud offers as much compute time as desired, plus the possibility to efficiently scale individual simulations over multiple instances connected by a high-performance interconnect. We build a cloud-based HPC cluster in a straightforward and reproducible way by simplifying software management with SPACK and cluster lifecycle management with AWS ParallelCluster. With the SPACK package manager, diverse hardware is easily incorporated into a single cluster, e.g. instances with AMD, ARM, and Intel processors, instances with (multiple) GPUs and instances with high-performance interconnect.</p> <p>On the cluster, we used several representative biomolecular systems to benchmark the GROMACS performance on a various hardware available in the cloud, both on individual instances as well as across multiple instances. This way we uncover which instances deliver the highest performance or the best performance-to-price ratio for GROMACS simulations.</p> <p>As a next step, we are preparing to run a large ensemble consisting of 20,000 individual simulations in the cloud using all resources that are globally available to reduce the time to solution as much as possible. In principle, such an ensemble simulation - which would occupy a medium-sized compute cluster for weeks or even months - could then finish within a day. Containerization will be a key concept here to provide a common software environment across a vast variety of hardware.</p></description> <persons> <person id="8039">Carsten Kutzner</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/hpc_containerized_ensemble/attachments/slides/4498/export/events/attachments/hpc_containerized_ensemble/slides/4498/TalkFosdem2021.pdf">Running GROMACS in the cloud</attachment> </attachments> <links> <link href="http://gromacs-on-pcluster.workshop.aws">self-paced workshop to reproduce what is shown</link> <link href="https://video.fosdem.org/2021/D.hpc/hpc_containerized_ensemble.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/hpc_containerized_ensemble.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11114.php">Submit feedback</link> </links> </event> <event id="11031"> <start>17:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>guix_workflow</slug> <title>Guix Workflow Language</title> <subtitle>Extending a reproducible software deployment system for HPC</subtitle> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>There are dozens of domain specific languages that allow scientists to describe complex workflows. From the humble generic GNU Make to large scale platforms like Apache Airflow you would think that there is something there to satisfy everyone. All of these systems have one thing in common: they have a strong focus on partitioning large computations and scheduling work units, but when it comes to managing the software environments that are the context of each of the planned computations, they are often remarkably shy to offer opinionated solutions.</p> <p>Software management and deployment often seems like an afterthought. Workflow language designers increasingly seem to be following the devops trend of resorting to opaque application bundles to satisfy application and library needs. While this strategy has some advantages it also comes with downsides that rarely seem to be weighed carefully.</p> <p>We present the Guix Workflow Language --- not as a solution to the question of software deployment in HPC workflows, but as an instance of convergent evolution: growing a workflow language out of a generic reproducible software management and deployment system (GNU Guix) instead of sprucing up a workflow language with software deployment features. We hope to encourage a discussion about the current state of workflow languages in HPC: when it comes to software and distributed computations, are we approaching the peak or do we circle a local maximum?</p></abstract> <description></description> <persons> <person id="3314">Ricardo Wurmus</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/guix_workflow/attachments/slides/4673/export/events/attachments/guix_workflow/slides/4673/slides.pdf"/> </attachments> <links> <link href="https://hpc.guix.info">Guix HPC project page</link> <link href="https://guix.gnu.org">GNU Guix home page</link> <link href="https://workflows.guix.info/">Guix Workflow Language home page</link> <link href="https://video.fosdem.org/2021/D.hpc/guix_workflow.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/guix_workflow.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11031.php">Submit feedback</link> </links> </event> </room> <room name="D.infra"> <event id="11747"> <start>10:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>iacdriftpokemon</slug> <title>Infrastructure-as-code drifts aren't like Pokemon : you can't catch em all</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>While we all probably think we're doing all the DevOps stuff the right way (and we do, don't we?), drift happens. Even as an experienced Terraform user, as your infrastructure team and codebase grows, it often becomes harder to track drift. I'll share here war stories from different teams, and show common pitfalls of popular commands we use when we want to know what's changed in our infrastructures.</p></abstract> <description><p>While we all probably think we're doing all the DevOps stuff the right way (and we do, don't we?), drift happens. Even as an experienced Terraform user, as your infrastructure team and codebase grows, it often becomes harder to track drift. I'll share here war stories from different teams, and show common pitfalls of popular commands we use when we want to know what's changed in our infrastructures.</p> <p>There are a lot of juicy stories from the trenches to be told on infrastructure drift.</p> <p>Sure enough, we all do GitOps by the book! Or we all have the right processes in place. But we also have to interact with other teams. We also have to grant some level of access to our infrastructures to some services or tools that may eventually generate uncontrolled changes. What if we couldn't catch them all? What if all drift reporting so far was faulty?</p> <p>You can't efficiently improve what you don't track. We track coverage for unit tests, why not infrastructure as code coverage? How can we make sure our infrastructure code matches our actual infrastructure state? In this talk, using Terraform with AWS resources, I will show how infrastructure drift can go undetected despite our best efforts or tooling and cause issues and end the talk by showing our own tool driftctl, (just released under Apache-2.0 licence) that tracks IaC coverage and warns of infrastructure drift.</p></description> <persons> <person id="7683">Stephane Jourdan</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/iacdriftpokemon/attachments/slides/4425/export/events/attachments/iacdriftpokemon/slides/4425/infrastructure_drift_slides.pdf">Driftctl - Infrastructure-as-code drifts aren't like Pokemon : you can't catch em all</attachment> </attachments> <links> <link href="https://github.com/cloudskiff/driftctl">driftctl : FLOSS tool showed at the end of the talk</link> <link href="https://video.fosdem.org/2021/D.infra/iacdriftpokemon.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/iacdriftpokemon.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11747.php">Submit feedback</link> </links> </event> <event id="11750"> <start>10:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>handsoffapproachforterraform</slug> <title>A hands-off approach for your Terraform</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Automate your infrastructure with the same CI/CD tooling that your applications go through</p></abstract> <description><p>If Continuous Integration/Continuous Delivery is critical for application deployment, why is it not being equally leveraged to manage infrastructure. Most teams I've seen have reached the first goal of defining their infrastructure configuration as code (often with Terraform), but they tend to stop there. Access and/or education on how to run Terraform is given to a few select people, and they then run it in the wild jungle that is there own machine.</p> <p>In this talk, Jeff with highlight some of the techniques, tools, quick wins, advanced features, and key measurements for putting your Terraform code through the pipes of automation.</p></description> <persons> <person id="6208">Jeff Knurek</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/handsoffapproachforterraform/attachments/slides/4593/export/events/attachments/handsoffapproachforterraform/slides/4593/hands_off_terraform.pdf">Slides (PDF)</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/handsoffapproachforterraform/attachments/other/4598/export/events/attachments/handsoffapproachforterraform/other/4598/hands_off_terraform_links.txt">Links (text file)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/handsoffapproachforterraform.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/handsoffapproachforterraform.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11750.php">Submit feedback</link> </links> </event> <event id="11746"> <start>11:00</start> <duration>00:25</duration> <room>D.infra</room> <slug>stateassessmentdatavalidationansible</slug> <title>State assessment and data validation using Ansible</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>This talk will do a deep dive on how Ansible can be used to assess the operational state of your IT infrastructure (especially network appliances) and effectively take remediation actions as required</p></abstract> <description><p>This talk will do a deep dive on how Ansible can be used to assess the operational state of your IT infrastructure (especially network appliances) and effectively take remediation actions as required. The following will be demonstrated for both Linux as well as network devices. Collect the current operational state from the remote host and convert it into normalised structure data. Define the desired state criteria in a standard’s based format Validate the current state data against the pre-defined criteria to identify if there is any deviation. Take corrective remediation action as required. Data validation</p></description> <persons> <person id="7437">Ganesh Nalawade</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/stateassessmentdatavalidationansible/attachments/slides/4639/export/events/attachments/stateassessmentdatavalidationansible/slides/4639/Ansible_state_assessment_fosdem_2021.pdf">State assessment and data validation using Ansible</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/stateassessmentdatavalidationansible.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/stateassessmentdatavalidationansible.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11746.php">Submit feedback</link> </links> </event> <event id="11748"> <start>11:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>k8sconfigmgmtlandscape</slug> <title>Kubernetes Config Management Landscape</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>“We are all YAML engineers now” as Bob Walker said in 2018 in Ghent. So we now need something to manage these millions of lines of YAML. There’s the “Kubernetes application management tools” list by Bryan Grant with over 120 tool aiming at config management for Kubernetes. This area is evolving fast, and as k8s users we need some guidance to make informed decisions on what to use. In this talk I’ll describe the problem I need to solve and take a look into what we can learn from the previous generation of cfg mgmt tools. Then, will show some of the new tools and methods. Will not go into details of each solution, but rather compare different approaches and discuss which is good for specific needs.</p></abstract> <description></description> <persons> <person id="8224">Tomasz Tarczynski</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/k8sconfigmgmtlandscape/attachments/slides/4594/export/events/attachments/k8sconfigmgmtlandscape/slides/4594/2021_02_Kubernetes_Config_Management_Landscape.pdf">Kubernetes Config Management Landscape</attachment> </attachments> <links> <link href="https://www.youtube.com/watch?v=3L_HoTT3A6U&ab_channel=bobwalker">Are we all YAML engineers now?</link> <link href="https://docs.google.com/spreadsheets/d/1FCgqz1Ci7_VCz_wdh8vBitZ3giBtac_H8SBw4uxnrsE/edit">Kubernetes application management tools</link> <link href="https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/declarative-application-management.md">Declarative application management in Kubernetes</link> <link href="https://video.fosdem.org/2021/D.infra/k8sconfigmgmtlandscape.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/k8sconfigmgmtlandscape.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11748.php">Submit feedback</link> </links> </event> <event id="11758"> <start>12:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>alternativeherokuendtoendopensourceinfraautotoolchain</slug> <title>An alternative to Heroku: An end-to-end open source infrastructure automation toolchain</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Small businesses and non-profits may opt for Platform-as-a-Service solutions such as Heroku to avoid the operational burden of managing their own infrastructure. However, PaaS solutions quickly become cost-prohibitive for compute- or memory-intensive applications. In this talk, I’ll demo an open source infrastructure automation toolchain based on Ansible, Github Actions, Vagrant, Packer, Terraform, and Sentry. Once instrumented, this toolchain incurs a $0 recurring cost and can be safely and trivially scaled up. Each component of the toolchain requires minimal operational expertise and is managed through a UI. State-change notifications are routed to email or a Slack channel, ensuring everyone stays on the same page. Test, deploy, monitor, and scale transparently, and with confidence!</p></abstract> <description><p>The talk will demonstrate how to make the most of free, open source infrastructure tooling to fully automate tests, monitoring, code deployment and infrastructure deployment. You can get a lot of mileage out of free!</p></description> <persons> <person id="8262">Cristina Muñoz</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/alternativeherokuendtoendopensourceinfraautotoolchain/attachments/slides/4450/export/events/attachments/alternativeherokuendtoendopensourceinfraautotoolchain/slides/4450/slides"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/alternativeherokuendtoendopensourceinfraautotoolchain.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/alternativeherokuendtoendopensourceinfraautotoolchain.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11758.php">Submit feedback</link> </links> </event> <event id="11751"> <start>12:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>greatcloudmigrationnetworkmeshauto</slug> <title>The Great Cloud Migration with Network Automation & Service Mesh</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>You need to migrate some workloads from a private datacenter to public cloud. The result? The unavoidable hybrid environment. How do you observe traffic and mitigate risky changes to each system? In this talk, I’ll discuss how you can supercharge your cloud migrations with a combination of network automation for your datacenter and a service mesh across environments.</p></abstract> <description><p>You need to migrate some workloads from a private datacenter to public cloud. The result? The unavoidable hybrid environment. How do you observe traffic and mitigate risky changes to each system? In this talk, I’ll discuss how you can supercharge your cloud migrations with a combination of network automation for your datacenter and a service mesh across environments.</p> <p>How to Migrate to Cloud, Supercharged</p> <p>Step 1: Re-platform application on public cloud.</p> <p>Step 2: Deploy service mesh in public cloud and edge of datacenter.</p> <p>Step 3. Configure datacenter routing with network automation.</p> <p>Step 4: Send traffic using blue/green deployment to the new application.</p> <p>Step 5: Continue to run in both datacenter and public cloud.</p> <p>I’ll demonstrate how to add observability and failure tolerance to this workflow. By combining HashiCorp Consul service mesh and Consul Terraform Sync, I can manage, automate, and shape traffic in my hybrid environment from a single pane of glass.</p></description> <persons> <person id="8260">Rosemary Wang</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/greatcloudmigrationnetworkmeshauto/attachments/slides/4622/export/events/attachments/greatcloudmigrationnetworkmeshauto/slides/4622/2021_FOSDEM_RosemaryWanag_Slides">The Great Cloud Migration (Slides) by Rosemary Wang</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/greatcloudmigrationnetworkmeshauto.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/greatcloudmigrationnetworkmeshauto.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11751.php">Submit feedback</link> </links> </event> <event id="11757"> <start>13:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>yourmanagementlayershouldbecattletoo</slug> <title>your management layer should be cattle too</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>The "pet vs cattle" thing is getting pretty long in the tooth, but the one thing one keeps hearing is that the management layer somehow always remains a pet.</p> <p>While there is certainly <em>some</em> truth to that - you don't want to rebuild your management plane every day - wouldn't it be cool if you could?</p></abstract> <description><p>The "pet vs cattle" thing is getting pretty long in the tooth, but the one thing one keeps hearing is that the management layer somehow always remains a pet. While there is certainly <em>some</em> truth to that - you don't want to rebuild your management plane every day - wouldn't it be cool if you could? In this talk we will show how to fully automate the deployment and configuration of <a href="https://theforeman.org">Foreman</a> using <a href="https://ansible.com">Ansible</a>, which allows for reproducible setups, redeployments and testing environments that actually match production. The presented solution should not (and can not) replace working backups, but it might still save you when the restore isn't going as expected or someone asks to start "fresh" while keeping all the important details the same as before. We will show how to deploy Foreman from scratch in an reproducible way, reusing the same bits the project uses itself. This will also include plugins like <a href="https://theforeman.org/plugins/katello/">Katello</a> and <a href="https://theforeman.org/plugins/foreman_ansible/">Ansible</a> for best possible client management later. We'll continue with integrating Foreman with compute resources and managing content in Katello, which will result in trivial deployments of further cattle systems from Foreman, which then can be managed via Ansible. The result is a set of playbooks that can be stored in a git repository and deployed at will.</p></description> <persons> <person id="8232">Evgeni Golov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/yourmanagementlayershouldbecattletoo/attachments/slides/4420/export/events/attachments/yourmanagementlayershouldbecattletoo/slides/4420/Evgeni_Golov_your_management_layer_should_be_cattle_too.pdf">your management layer should be cattle too</attachment> </attachments> <links> <link href="https://theforeman.org">The Foreman Project</link> <link href="https://github.com/evgeni/destructivebuilds/">destructive builds repository</link> <link href="https://github.com/theforeman/forklift/">forklift</link> <link href="https://github.com/theforeman/foreman-operations-collection/">Foreman Operations Collection</link> <link href="https://github.com/theforeman/foreman-ansible-modules/">Foreman Ansible Collection</link> <link href="https://video.fosdem.org/2021/D.infra/yourmanagementlayershouldbecattletoo.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/yourmanagementlayershouldbecattletoo.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11757.php">Submit feedback</link> </links> </event> <event id="11754"> <start>13:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>registrynativedeliverysoftwarecontentpulp3</slug> <title>Registry native delivery of software content with Pulp3.</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Container registries are becoming an important source of software distribution. Why package content in a container image? A container image includes an assorted collection of software - often hundreds of software components. This format facilitates use of the software, because a complete set of the needed components are delivered as a single unit.</p> <p>In this talk we look into how to ship content regardless of how it is packaged (rpm, python, ansible roles) in a container image and build the image with just one single tool - Pulp3. With Pulp3 you will be able to take advantage of software distribution using the container first strategy :</p> <ul> <li>Containerize your application: build and run application in a container;</li> <li>Build execution environment images - which provide security features such as isolated execution and integrity of applications;</li> <li>Cache the content - allow container images to build without relying on external infrastructure by caching(or permanently storing) the application and dependencies.</li> </ul> </abstract> <description></description> <persons> <person id="8242">Ina Panova</person> </persons> <attachments> </attachments> <links> <link href="https://docs.pulpproject.org/pulp_container/">Container plugin docs</link> <link href="https://video.fosdem.org/2021/D.infra/registrynativedeliverysoftwarecontentpulp3.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/registrynativedeliverysoftwarecontentpulp3.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11754.php">Submit feedback</link> </links> </event> <event id="11743"> <start>14:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>dontgetstuckonpulp2</slug> <title>Don't get stuck on Pulp 2!</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Pulp helps you fetch, upload, organize, and distribute software packages.<br/> With Pulp 2 approaching EOL and Pulp 3 being more stable than before, we strongly encourage you to move to Pulp 3. It might be a big deal if you have a large setup and a lot of carefully curated content and repositories.<br/> To make it easy for you, we'd like to introduce a plugin which allows you to migrate from Pulp 2 to Pulp 3 smoothly and without recreating everything from scratch.</p></abstract> <description><p>In this talk, we'll share:</p> <ul> <li>how we are doing the migration</li> <li>what are the benefits</li> <li>when you want to use it</li> <li>how it goes (demo)</li> </ul> <p>The target audience is Pulp 2 users.</p></description> <persons> <person id="8193">Tanya Tereshchenko</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/dontgetstuckonpulp2/attachments/slides/4629/export/events/attachments/dontgetstuckonpulp2/slides/4629/fosdem_2021_pulp_2to3_migration_slides.pdf">Slides - Don't get stuck on Pulp 2!</attachment> </attachments> <links> <link href="https://docs.pulpproject.org/pulp_2to3_migration/">Migration plugin docs</link> <link href="https://video.fosdem.org/2021/D.infra/dontgetstuckonpulp2.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/dontgetstuckonpulp2.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11743.php">Submit feedback</link> </links> </event> <event id="11745"> <start>14:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>hostyourownansiblegalaxy</slug> <title>Host your own on-premise Ansible Galaxy</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>This talk will demo the setup and features of an on-premise software for storing, mirroring, and distributing Ansible Collection and Role content. This is analogous to an on-premise version of galaxy.ansible.com. To get up and running quickly, we’ll be using a pre-built container with <a href="https://docs.pulpproject.org/pulp_ansible/"><code>pulp_ansible</code></a> and <a href="https://github.com/ansible/galaxy_ng/"><code>galaxy_ng</code></a>.</p></abstract> <description><p>A single container is all that is needed for setup. Once setup, I will demonstrate:</p> <ul> <li>Creating one or more repositories to store Collections and Roles</li> <li>Installing Role and Collection content using the <code>ansible-galaxy</code> CLI client from these repositories</li> <li>Synchronizing Collections and Roles from galaxy.ansible.com</li> <li>Uploading Collection content via <code>ansible-galaxy</code> CLI</li> <li>Copying Collections and Roles between multiple repositories, simulating dev -> staging -> production environments</li> <li>Perform these operations using a great UI, whenever possible, and APIs otherwise</li> </ul> </description> <persons> <person id="4441">Brian Bouterse</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/hostyourownansiblegalaxy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/hostyourownansiblegalaxy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11745.php">Submit feedback</link> </links> </event> <event id="11753"> <start>15:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>principlespatternspracticeseffectiveiac</slug> <title>Principles, Patterns, and Practices for Effective Infrastructure as Code</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Infrastructure as Code (IaC) is an approach that takes proven coding techniques used by software systems and extends it to infrastructure. It is one of the key DevOps practices that enable teams to deliver infrastructure, and the software running on it, rapidly and reliably, at scale.</p> <p>In this presentation, we will look at Principles, Patterns, and Practices for Effective Infrastructure as Code that have helped me and the teams I have worked with over the years. We will look at anecdotes about deploying &amp; operating infrastructure and applications in production.</p></abstract> <description><p>Infrastructure as Code (IaC) is an approach that takes proven coding techniques used by software systems and extends it to infrastructure. It is one of the key DevOps practices that enable teams to deliver infrastructure, and the software running on it, rapidly and reliably, at scale.</p> <p>In this presentation, we will look at Principles, Patterns, and Practices for Effective Infrastructure as Code that have helped me and the teams I have worked with over the years. We will look at anecdotes about deploying &amp; operating infrastructure and applications in production.</p></description> <persons> <person id="8261">Adarsh Shah</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/principlespatternspracticeseffectiveiac.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/principlespatternspracticeseffectiveiac.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11753.php">Submit feedback</link> </links> </event> <event id="11755"> <start>15:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>configconfigeverywhere</slug> <title>Config, config everywhere</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>How to compose the configuration and secrets of microservices taking into account various variables without dying in the attempt.</p></abstract> <description><p>In a micro service based architecture it's common to have to manage configurations and secrets based on different variables, such as the microservice, flavors of the microservice, the execution environment and data center, etc. Since it is an arduous task both in the time needed to add a new variable and to refactor existing ones I have created MHConfig.</p> <p>MHConfig is a microservice in charge of composing configurations and secrets according to different labels and notifying the clients who use it when a change has occurred, providing various features to facilitate this work as references to recurrent or global values, traceability of the clients using a configuration, access control lists to prevent obtain to other microservice configurations/secrets, etc.</p> <p>In this session I'm going to talk about how the tool works and how it can help solve common problems when managing configurations and secrets in a complex environment.</p></description> <persons> <person id="8238">Juan Manuel Fdez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/configconfigeverywhere/attachments/slides/4644/export/events/attachments/configconfigeverywhere/slides/4644/Config_config_everywhere.pdf">Config, config everywhere</attachment> </attachments> <links> <link href="https://gonlo2.github.io/mhconfig/">MHConfig</link> <link href="https://video.fosdem.org/2021/D.infra/configconfigeverywhere.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/configconfigeverywhere.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11755.php">Submit feedback</link> </links> </event> <event id="11744"> <start>16:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>clusterapiascode</slug> <title>Cluster API as Code</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters. Cluster API provides clusterctl, which can be configured with environment variables and allows the generation of Kubernetes manifests that describe your workload clusters. While this provides a great on-boarding experience, managing and wrangling more YAML isn't something we're all yearning to do. Fortunately, there's a better way. Introducing Cluster API bindings for TypeScript, Go, and Python. In this talk, I'll introduce you to managing Cluster API through your favourite programming languages.</p></abstract> <description><p>Cluster API is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters. Cluster API provides clusterctl, which can be configured with environment variables and allows the generation of Kubernetes manifests that describe your workload clusters. While this provides a great on-boarding experience, managing and wrangling more YAML isn't something we're all yearning to do. Fortunately, there's a better way. Introducing Cluster API bindings for TypeScript, Go, and Python. In this talk, I'll introduce you to managing Cluster API through your favourite programming languages. Cluster API is a great piece of technology, but managing and constructing the YAML can be painful and difficult. This talk introduces the audience to using Pulumi and custom built libraries for exposing Cluster API via TypeScript, Go, and Python.</p></description> <persons> <person id="7889">David McKay</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/clusterapiascode.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/clusterapiascode.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11744.php">Submit feedback</link> </links> </event> <event id="11752"> <start>16:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>scalingreleasemgmtgitops</slug> <title>Scaling Release Management with GitOps</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Transform Release Management role from System administration to software development for Release operations thru GitOps practices</p></abstract> <description><p>Transform Release Management role from System administration to software development for Release operations thru GitOps practices Shipping operational knowledge into a software is a big milestone towards better configuration management. In this talk, I will explain how we introduced configuration management practices into release management team while leveraging the software engineering principles during this journey. I will start by clarifying what problem(s) were we trying to solve, namely: Lack of system Reliability, huge dependencies among silos, Rework between Dev, QA and release teams. Then, I will explain the solution that I proposed to solve these problems, namely: Service Offering Model, Killing environments gap and treating everything as CI (Configuration item). After that , I will move forward on challenges that I faced while trying to solve the issue: migration from Legacy system, security compliance &amp; disconnected environment, .. and others. Finally, I will give overview about the solution implementation.</p></description> <persons> <person id="8237">Abdennour TOUMI</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/scalingreleasemgmtgitops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/scalingreleasemgmtgitops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11752.php">Submit feedback</link> </links> </event> <event id="11749"> <start>17:00</start> <duration>00:30</duration> <room>D.infra</room> <slug>desktoplinuxmgmtatfacebook</slug> <title>Desktop Linux Management at Facebook</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>How we manage Facebook's desktop Linux fleet, and how it is positioned as a way to drive features into our server fleet.</p></abstract> <description><p>How we manage Facebook's desktop Linux fleet, and how it is positioned as a way to drive features into our server fleet. Facebook runs CentOS on its server fleet, and offers Fedora (and soon, CentOS) as supported Linux distributions on laptops and desktops. This is a recent development - we previously recommended Ubuntu LTS as a self-supported option, but found that switching to Fedora (and officially supporting it) allows for not only reusing the infrastructure already used in the server fleet (e.g. the pipeline for creating packages) but also to serve as an integration point for driving features into CentOS. I'll also discuss how we manage the desktop fleet, and contrast it with how servers are managed.</p></description> <persons> <person id="8228">Michel Salim</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/desktoplinuxmgmtatfacebook/attachments/slides/4523/export/events/attachments/desktoplinuxmgmtatfacebook/slides/4523/FOSDEM_2021_Desktop_Linux_Management_at_Facebook.pdf">FOSDEM 2021: Desktop Linux Management at Facebook</attachment> </attachments> <links> <link href="https://github.com/facebook/chef-utils/blob/master/Philosophy.md">Facebook's OS Configuration Management Philosophy</link> <link href="https://github.com/facebook/chef-cookbooks/">Chef cookbooks</link> <link href="https://github.com/facebook/IT-CPE/tree/master/itchef">Desktop Chef cookbooks</link> <link href="https://video.fosdem.org/2021/D.infra/desktoplinuxmgmtatfacebook.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/desktoplinuxmgmtatfacebook.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11749.php">Submit feedback</link> </links> </event> <event id="11756"> <start>17:30</start> <duration>00:30</duration> <room>D.infra</room> <slug>applicationcentricdeploymentwithforemankatello</slug> <title>Application centric deployment with foreman / katello</title> <subtitle/> <track>Infra Management</track> <type>devroom</type> <language/> <abstract><p>Currently, you can provision individual servers very well with foreman / katello and configure them using Ansible, Puppet or Salt. However, modern applications are composed of different services that are operated on separate servers and are connected to each other.</p> <p>This presentation introduces the new plugin foreman_acd, which allows the orchestration of entire interconnected applications.</p></abstract> <description><p>Currently, you can provision individual servers very well with foreman / katello and configure them using Ansible, Puppet or Salt. However, modern applications are composed of different services that are operated on separate servers and are connected to each other.</p> <p>This presentation introduces the new plugin foreman_acd, which allows the orchestration of entire interconnected applications.</p> <p>foreman_acd is a new plugin for foreman developed by ATIX AG and released as open source.</p></description> <persons> <person id="8225">Bernhard Suttner</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.infra/applicationcentricdeploymentwithforemankatello.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.infra/applicationcentricdeploymentwithforemankatello.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11756.php">Submit feedback</link> </links> </event> </room> <room name="D.javascript"> <event id="11851"> <start>10:00</start> <duration>00:15</duration> <room>D.javascript</room> <slug>javascript_welcome</slug> <title>JavaScript welcome session</title> <subtitle/> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>A short introduction about JavaScript Devroom with some interesting resources about JavaScript and a presentation about this special day for the FOSDEM JS Devroom</p></abstract> <description></description> <persons> <person id="1687">Ludovic Gasc</person> <person id="4435">Fabien Benetou (@Utopiah)</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.javascript/javascript_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/javascript_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11851.php">Submit feedback</link> </links> </event> <event id="11292"> <start>10:15</start> <duration>00:45</duration> <room>D.javascript</room> <slug>angular_test_first_development</slug> <title>Angular Test First Development </title> <subtitle/> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>How to write Angular components that can evolve ? How can we write components that can easily be refactored ? How can we write tests that won't be useless as soon as we change the implementation ? We can achieve all that by writing the tests first, writing tests that are agnostic of the implementation, so writing tests that focus on features.</p></abstract> <description><p>When it comes, refactoring an Angular component can be delicate especially if the refactoring breaks all existing tests. Adapting the tests while refactoring is always a risk, it can make the tests useless. So how can we write tests that aren't coupled to the implementation ? We can do it by writing the tests firsts, if there is no implementation, tests can't be coupled. Let's see how we can write theses tests without knowing how the component looks like.</p></description> <persons> <person id="7637">Florian PASTEUR</person> </persons> <attachments> </attachments> <links> <link href="https://angular.io/">Angular Documentation</link> <link href="https://angular.io/guide/testing-components-basics">Angular Testing Basics</link> <link href="https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector">Browser DOM selection</link> <link href="https://video.fosdem.org/2021/D.javascript/angular_test_first_development.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/angular_test_first_development.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11292.php">Submit feedback</link> </links> </event> <event id="11528"> <start>11:00</start> <duration>00:30</duration> <room>D.javascript</room> <slug>eleventy_static_site_generator</slug> <title>Eleventy is a simpler static site generator.</title> <subtitle>Bring joy back to writing websites</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>Eleventy isn't the first Static Site Generator in Node.js out there. But it gets amazing feedback from different parties. Time to look into what makes it so compelling! We'll touch Setup, Data Directory Files and Template Languages. You'll see, that you have plenty of options to choose from.</p></abstract> <description><p>Eleventy gained the hearts of the community by storm. But what makes it compelling?</p> <p>This talk will give you a round about the origin, the people behind it, show you what you can build and how you can help.</p> <p>You can pick from Liquid, Nunjucks, Haml, Pug, EJS, Handlebars or Mustache or go with plain JavaScript template strings. Data Directories allow for abstracting away recurring frontmatter elements. They can even be leveraged to build entire pages from! Also, you can query an API endpoint and provide the results as Data to your templates.</p> <p>The build and deploy process can happen whereever you like.</p></description> <persons> <person id="6670">André Jaenisch</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/eleventy_static_site_generator/attachments/other/4582/export/events/attachments/eleventy_static_site_generator/other/4582/slides_javascript_eleventy.zip">Slides (reval.js HTML)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.javascript/eleventy_static_site_generator.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/eleventy_static_site_generator.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11528.php">Submit feedback</link> </links> </event> <event id="11051"> <start>11:30</start> <duration>00:30</duration> <room>D.javascript</room> <slug>codemirror</slug> <title>Accessible code editing with CodeMirror 6</title> <subtitle/> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>Accessible code editing with CodeMirror 6</p></abstract> <description></description> <persons> <person id="7681">Marijn Haverbeke</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.javascript/codemirror.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/codemirror.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11051.php">Submit feedback</link> </links> </event> <event id="10907"> <start>12:00</start> <duration>00:30</duration> <room>D.javascript</room> <slug>dos</slug> <title>This DoS goes loop-di-loop</title> <subtitle>Preventing DoS attacks in your Node.js application</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>Node.js’ single-threaded nature makes it very susceptible to DOS attacks. While Node.js’ event loop allows performing some operations in an asynchronous fashion, it’s still quite easy to write a vulnerable Node.js application by making a few simple mistakes. In this talk I’ll cover some common ways a Node.js application may be vulnerable to DoS attacks and some common best-practices and counter measures to defend against such attacks.</p></abstract> <description></description> <persons> <person id="1828">Allon Mureinik</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/dos/attachments/slides/4548/export/events/attachments/dos/slides/4548/This_dos_goes_loop_di_loop_slides.pdf">Slides from the talk</attachment> </attachments> <links> <link href="https://nodejs.org/en/docs/guides/dont-block-the-event-loop/">Don't block the event loop!</link> <link href="https://github.com/mureinik/loop-li-loop">Demos and benchmarks</link> <link href="https://video.fosdem.org/2021/D.javascript/dos.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/dos.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10907.php">Submit feedback</link> </links> </event> <event id="11101"> <start>12:30</start> <duration>00:30</duration> <room>D.javascript</room> <slug>communicating_across_browsing_contexts</slug> <title>Talking Tabs - Communicating Across Browsing Contexts</title> <subtitle>The talk covers different ways on how to communicate across browsing contexts/tab and explains the use-case for each of them.</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>The presentation will cover different ways to communicate across browsing contexts. The main 2 approaches are - 1. Shared memory - Localstorage, Cookies, SessionStorage, IndexedDB, SharedArrayBuffers &amp; Atomics 2. Messaging- Postmessage, BroadcastChannel, MessageChannel</p> <p>The presentation will show a demo of usage for each of the types and explain the use-case, advantages and disadvantages for them.</p></abstract> <description></description> <persons> <person id="7022">Akshat Garg</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.javascript/communicating_across_browsing_contexts.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/communicating_across_browsing_contexts.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11101.php">Submit feedback</link> </links> </event> <event id="11005"> <start>13:00</start> <duration>01:00</duration> <room>D.javascript</room> <slug>bangle_js_smart_watch</slug> <title>Bangle.js: Making a smart watch</title> <subtitle>Reverse-engineering off the shelf hardware, and adding JavaScript</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>How I reverse engineered an off the shelf smart watch in order to create Bangle.js, a watch that runs JavaScript. I'll cover the process as well as some of the hacks Espruino employs to run JS on a device with only 64k of RAM!</p></abstract> <description></description> <persons> <person id="7641">Gordon Williams</person> </persons> <attachments> </attachments> <links> <link href="https://www.espruino.com/Bangle.js">Bangle.js info</link> <link href="https://video.fosdem.org/2021/D.javascript/bangle_js_smart_watch.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/bangle_js_smart_watch.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11005.php">Submit feedback</link> </links> </event> <event id="11085"> <start>14:00</start> <duration>01:00</duration> <room>D.javascript</room> <slug>reinforcement_learning</slug> <title>Reinforcement Learning with JavaScript</title> <subtitle>Bringing Machine Learning into the browser using TensorFlow.js</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>Reinforcement learning learns complex processes by experimenting with its environment. In this session, you will get a glimpse into Q-Learning and Neural Networks, and how they can be implemented in JavaScript using TensorFlow.js library. As an example, we will show &amp; discuss an implementation which solves the well-known Mountain Car problem.</p></abstract> <description></description> <persons> <person id="7695">Eliran Natan</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.javascript/reinforcement_learning.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/reinforcement_learning.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11085.php">Submit feedback</link> </links> </event> <event id="11381"> <start>15:00</start> <duration>00:30</duration> <room>D.javascript</room> <slug>babiaxr</slug> <title>BabiaXR: Virtual Reality Data Visualizations using only Front-End</title> <subtitle/> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>BabiaXR is a set of front-end FOSS modules for VR data visualization for the browser. BabiaXR is composed of different modules (for querying, filtering, and representing data) based on A-Frame and Threejs, with the goal of making it very easy to create different kinds of data visualizations (bar charts, bubble charts, cities, ...), by exploiting the power of WebXR and regular web front-end programming.</p></abstract> <description><p>There are plenty of tools that can analyze data in many ways, most of them are composed of a full-stack app, and the well-known front-end libraries limit the visualization on the 2D and screen environment, just a few of them try to visualize this data in the browser integrating other technologies/environments like webXR. This is the goal of BabiaXR, a set of front-end modules for 3D and VR (virtual reality) data analysis. The visualization part of BabiaXR is based on A-Frame and Threejs, providing a collection of components for querying data, filtering data, and creating different kinds of visualizations, all of them developed using just front-end technology. Among the visualizations, there are common ones like bar charts, pie charts, bubbles chart, but now we are moving beyond that, exploring new ways of show data in 3D/VR. For example, we are working on representing software projects using the city metaphor, showing the evolution of the project as the evolution of a city, with building corresponding to the different files. In this talk, I will do an overview of BabiaXR, showing different examples of the power of WebXR and A-Frame with different visualizations, and how simple is to develop this kind of module using just JavaScript and other front-end libraries. Then, I will analyze a city corresponding to a well-known FOSS project, showing its evolution in different time snapshots and explaining how the code evolves as the city does.</p></description> <persons> <person id="4886">David Moreno</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/babiaxr/attachments/slides/4609/export/events/attachments/babiaxr/slides/4609/babiaxr_slides.pdf">Talk Slides</attachment> </attachments> <links> <link href="https://babiaxr.gitlab.io/">BabiaXR main page</link> <link href="https://babiaxr.gitlab.io/aframe-babia-components/">Live Demo examples</link> <link href="https://gitlab.com/babiaxr/aframe-babia-components">BabiaXR main repository</link> <link href="https://video.fosdem.org/2021/D.javascript/babiaxr.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/babiaxr.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11381.php">Submit feedback</link> </links> </event> <event id="11848"> <start>15:30</start> <duration>00:30</duration> <room>D.javascript</room> <slug>jsexostichw</slug> <title>JavaScript connecting exotic hardware</title> <subtitle>A personal retrospective of 10 proofs of concept using the most pervasive language</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>JavaScript runs everywhere. Or so it should! In this 30min talk we're going to skim over 10 small proof of concepts that relied on JavaScript to do something new. We'll conclude with an overview of useful technical and social patterns helpful to run "nearly" JS nearly everywhere.</p></abstract> <description><p>A computer is an amazing piece of technology because it is generic. It is a general purpose device par excellence. Without going as abstract as Turing machines we wish we could run any code everywhere. Several things get in the way though : performances, design choices, business strategy, available implementation, etc. Yet, when you consider buying a new device or repurposing an old one patterns seem to be coming back over and over again, namely : is a browser present? Can I run a web server on it? Which protocols are available? Is there any usable file format to send or receive data? By efficiently identifying those new opportunities emerge. One can then connect one device to another even if they are not your usual computer. This talk is going to explore such patterns through 10 small examples built over last year. From a vibrating sex toy available on a social VR platform to a Linux phone controlling a TV like a remote or a virtual light bulb controlled by strangers and matching its physical equivalent, exotic hardware is going to leverage JavaScript, one way or another.</p> <p>This presentation targets a curious audience. Basic knowledge of JavaScript, Internet of Things, virtual reality, augmented reality, embedded devices are welcomed but not necessary. The slides provide links to code snippets and all used libraries.</p></description> <persons> <person id="4435">Fabien Benetou (@Utopiah)</person> </persons> <attachments> </attachments> <links> <link href="https://archive.fosdem.org/2019/schedule/event/machine_learning_javascript/">High end augmented reality using Javascript</link> <link href="https://fabien.benetou.fr/Testing/FOSDEM2021">Slides</link> <link href="https://video.fosdem.org/2021/D.javascript/jsexostichw.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/jsexostichw.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11848.php">Submit feedback</link> </links> </event> <event id="11314"> <start>16:00</start> <duration>01:00</duration> <room>D.javascript</room> <slug>html5_validation</slug> <title>HTML5 validation with HTML-validate</title> <subtitle>Why validation matters and how HTML-validate can be used</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>HTML-validate is an offline, strict and customizable HTML5 validator with support for custom elements, partial templates and fully extendable. This talk will describe why validation matters and how you can integrate it with your tooling and frameworks.</p></abstract> <description></description> <persons> <person id="7656">David Sveningsson</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/html5_validation/attachments/slides/4652/export/events/attachments/html5_validation/slides/4652/html5_validation_with_html_validate.pdf">Slides</attachment> </attachments> <links> <link href="https://html-validate.org/">Project homepage</link> <link href="https://gitlab.com/html-validate/html-validate">Git</link> <link href="https://video.fosdem.org/2021/D.javascript/html5_validation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/html5_validation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11314.php">Submit feedback</link> </links> </event> <event id="11529"> <start>17:00</start> <duration>00:30</duration> <room>D.javascript</room> <slug>designing_sensor_data</slug> <title>Designing with sensor data</title> <subtitle>The next level of responsive web design?</subtitle> <track>JavaScript</track> <type>devroom</type> <language/> <abstract><p>For years now, we associate Responsive Web Design with Media Queries which adapt to the width of the device we are using. But what if we can take this one step further? Modern devices are brimful of sensors. The fun thing? There are JavaScript and CSS APIs which allow access to some of them! This talk will introduce you to some lesser known Web APIs and give examples on how you can progressively enhance your design with sensor input!</p></abstract> <description><p>When I did some research for hackathons, I noticed on MDN Web Docs, that there are APIs for device sensors, that rarely get used.</p> <p>The devicemotion and deviceorientation API might be known from Firefox OS days. But you can also use Ambient Light, Voice, Colours, Pointer devices, NFC or Bluetooth - if the device supports it.</p> <p>This talk is using a Fairphone 3+ as mobile device to demonstrate some of those APIs. Part of them are available on Firefox, others on Chrome. You might need to toggle some flags to enable them. This means, it's not production ready yet - but you can build interesting demos to convince browser vendors to refine the APIs for production!</p> <p>An idea might be to adjust the contrast or font to the environment you are. Or the position you are in. Or the devices which could be detected around you.</p></description> <persons> <person id="6670">André Jaenisch</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/designing_sensor_data/attachments/other/4634/export/events/attachments/designing_sensor_data/other/4634/fosdem_javascript_device_sensors.zip">Slides</attachment> </attachments> <links> <link href="https://jaenis.ch/hobbies/speaking/fosdem2021-javascript-device-sensors/">Slides</link> <link href="https://video.fosdem.org/2021/D.javascript/designing_sensor_data.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.javascript/designing_sensor_data.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11529.php">Submit feedback</link> </links> </event> </room> <room name="D.openjdk"> <event id="11678"> <start>10:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>modernjava</slug> <title>Getting the Most from Modern Java</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Java is changing faster than ever with new features being added every six months.</p> <p>Despite being over 25 years old, Java is still adapting to ensure it remains one of the most popular platforms on the planet. Find out in this session how to take advantage of many of these exciting new features.</p></abstract> <description><p>With the release of JDK 16, we will have had eight (yes eight!) versions of Java in less than four years.</p> <p>We still hear claims that Java is the new COBOL, and its popularity is in decline. The reality, however, is that Java developers are now being provided with new features at a faster pace than at any time in its 25-year history.</p> <p>Many of these new features provide exciting new language level changes, as well as useful new APIs.</p> <p>In this session, we’ll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We’ll also explain the significance of preview features and incubator modules.</p> <p>We’ll cover the following new language features:</p> <ul> <li>Local variable type inference (JDK 10)</li> <li>Switch expressions (JDK 12)</li> <li>Text blocks (JDK 13)</li> <li>Records (JDK 14)</li> <li>Pattern matching for instanceof (JDK 14)</li> <li>Sealed classes and changes to Records (JDK 15)</li> </ul> <p>For each of these JDKs, we’ll also highlight the most useful additions to the core class libraries and changes in the HotSpot JVM.</p> <p>At the end of this session, you’ll be all set to write modern Java code!</p></description> <persons> <person id="3512">Simon Ritter</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/modernjava.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/modernjava.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11678.php">Submit feedback</link> </links> </event> <event id="11307"> <start>10:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>10ways</slug> <title>10 Ways Everyone Can Support the Java Community</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Foojay is all about the community helping to take Java forward, so as an attendee of the Friends of OpenJDK FOSDEM devroom you are already on your way towards making the Java community better!</p> <p>But what can we all encourage our friends and colleagues to do in order to make the Java community more vibrant, active, and welcoming.</p> <p>In this presentation, you will learn all of the insider secrets on how to support the worldwide community of 12 million Java developers.</p></abstract> <description></description> <persons> <person id="3357">Stephen Chin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/10ways.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/10ways.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11307.php">Submit feedback</link> </links> </event> <event id="10838"> <start>11:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>deepnetts</slug> <title>DeepNetts: Deep Learning IDE</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Most software developers are not also data scientists or machine learning experts.</p></abstract> <description><p>They don't know machine learning workflows, math, data analysis and model building practice, and tricks.</p> <p>Mastering these skills can take months or even years.</p> <p>Learn about the shortcut that can quickly turn a software developer into a deep learning developer: an IDE that guides you in building advanced machine learning models and deploying them into your applications.</p></description> <persons> <person id="7839">Zoran Sevarac</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/deepnetts.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/deepnetts.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10838.php">Submit feedback</link> </links> </event> <event id="11674"> <start>12:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>javaversionalmanac</slug> <title>The Java Version Almanac</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Even though it is 25 years old, Java is still a modern and one of the most used programming languages. For this, the language, the APIs, and the runtime have been dramatically improved over the years.</p> <p>As a Java developer since the early 1.0 days, the presenter has collected extensive information over the years and has finally put it together on the Java Version Almanac website: https://javaalmanac.io.</p> <p>In this session, we take a look behind the scenes of the Java Version Almanac and touch on some trivia about the history and future of Java.</p></abstract> <description></description> <persons> <person id="7954">Marc Hoffmann</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/javaversionalmanac.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/javaversionalmanac.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11674.php">Submit feedback</link> </links> </event> <event id="11577"> <start>12:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>discoapi</slug> <title>Disco API: OpenJDK Distributions As A Service</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>At Azul, we have spent some time to create a little API that should help you to discover builds of OpenJDK from different distributions in a general way.</p> <p>In this session, we will give you a short introduction on what the Disco API is and how it can help you finding the JDK/JRE of your choice.</p> <p>At the moment the API can help you getting builds of OpenJDK from the following distributions: AdoptOpenJDK, Corretto, Dragonwell, Liberica, Oracle OpenJDK, SAP Machine, and Zulu.</p></abstract> <description></description> <persons> <person id="7933">Gerrit Grunwald</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/discoapi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/discoapi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11577.php">Submit feedback</link> </links> </event> <event id="11670"> <start>13:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>sdkman</slug> <title>It's a Bird, It's a Plane, It's SDKMAN: Software Development Kit Manager</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>SDKMAN is the Software Development Kit Manager. It is fast becoming the defacto standard for installing JDKs and other JVM related SDKs on the CLI. It's a Free and Open Source tool with the primary purpose to making developers' lives less painful!</p> <p>This talk will begin with a demo of how SDKMAN can be used in your daily workflow. We will show you how to install multiple Candidate Versions side by side and how to switch between them. We will also look at some of the other functionalities that it offers. We will then take a peek under the hood and see how SDKMAN works both in the CLI as well as the serverside backend.</p> <p>Finally, we will take a look at other aspects of what SDKMAN brings, including Vendoring, Community Contribution and Future plans.</p> <p>If you really don't know what SDKMAN is, or if you would like to have a peek under the hood at what it does or how it does it, this talk is a must for you!</p></abstract> <description></description> <persons> <person id="7963">Marco Vermeulen</person> </persons> <attachments> </attachments> <links> <link href="https://sdkman.io">The SDKMAN website</link> <link href="https://github.com/sdkman">The SDKMAN Github organisation</link> <link href="https://video.fosdem.org/2021/D.openjdk/sdkman.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/sdkman.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11670.php">Submit feedback</link> </links> </event> <event id="10958"> <start>14:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>bach</slug> <title>Bach Builds (on(ly)) Java Modules</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Java build tools were developed before Java modules were around -- Bach builds (on(ly)) Java modules!</p></abstract> <description><p>The JDK contains a set of foundation tools <a href="https://docs.oracle.com/en/java/javase/14/docs/specs/man/index.html">1</a> but none of them guides developers from processing Java source files into shippable products: be it a reusable modular JAR file with its API documentation or an entire custom (soon static <a href="https://mail.openjdk.java.net/pipermail/discuss/2020-April/005429.html">2</a>) runtime image. There exists an implicit workflow encoded in the available options of the foundation tools. The (binary) output of one tool is the input of one or more tools. With the introduction of modules in Java 9 some structural parts of that workflow got a) promoted into the language itself and b) resulted in explicit module-related tool options.</p> <p>These structural information, encoded explicitly by developers in Java's module descriptors, can be used as basic building blocks when describing a modular Java project. I think of it as a "project-info.java" file -- which I don't propose to introduce (as a part of the language) -- but it helps to transport the basic idea. With assets from the "Greetings world" example <a href="https://openjdk.java.net/projects/jigsaw/quick-start#greetingsworld">3</a> a fictitious project descriptor could read like:</p> <pre><code>project greet { version 1-ea; modules com.greetings,org.astro; main-module com.greetings; module com.greetings { main-class com.greetings.Main; } } </code></pre> <p>Based on such a project descriptor Bach calls existing (and future) JDK tools in the right order with the right arguments. Nothing more, nothing less.</p></description> <persons> <person id="6657">Christian Stein</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/sormuras/bach">GitHub Repository</link> <link href="https://video.fosdem.org/2021/D.openjdk/bach.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/bach.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10958.php">Submit feedback</link> </links> </event> <event id="11628"> <start>14:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>jakartaee9beyond</slug> <title>Jakarta EE 9 and Beyond</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Jakarta EE 9 lowers the barriers of entry, ease migration, and lays a foundation for future innovation.</p></abstract> <description><p>Jakarta EE 9 is out! This is the second release of Jakarta EE since the transition from the Java Community Process (JCP) to the Eclipse Foundation. In this session, I will go through what Jakarta EE 9 brings to the table and how this release lowers the barriers of entry, eases migration, and lays the foundation for a platform for future innovation.</p> <p>We will also look ahead to what future releases may bring. The session includes a demo including converting from the javax. to jakarta. namespace as well as looking at available implementations.</p></description> <persons> <person id="7609">Ivar Grimstad</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/jakartaee9beyond/attachments/slides/4329/export/events/attachments/jakartaee9beyond/slides/4329/Jakarta_EE_9_and_Beyond_FOSDEM_2021.pdf">Jakarta EE 9 and Beyond</attachment> </attachments> <links> <link href="https://jakarta.ee">Jakarta EE</link> <link href="https://video.fosdem.org/2021/D.openjdk/jakartaee9beyond.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/jakartaee9beyond.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11628.php">Submit feedback</link> </links> </event> <event id="11552"> <start>15:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>jakartaeecontributorsguide</slug> <title>Contributors Guide to the Jakarta EE 10 Galaxy</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Jakarta EE 8 has been delivered and Jakarta EE 9 is well on the way. This is a perfect time to begin exploring the horizons of Jakarta EE 10 and how you can help make it reality.</p> <p>We will guide you on how to begin contributing towards Jakarta EE 10. We will cover ways of contributing, what paperwork is needed as well as the likely possibilities for Jakarta EE 10 including high level themes, platform level changes and some detailed features. Some technologies that might change include Jakarta Security, Concurrency, Messaging, Persistence, REST, Batch and Faces. New APIs that could be added include Jakarta NoSQL, MVC and Configuration. We will talk about non-specification projects such as the Tutorial and Samples.</p> <p>We will also discuss what might be after Jakarta EE 10. Bring your thinking caps!</p></abstract> <description></description> <persons> <person id="7863">Reza Rahman</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/jakartaeecontributorsguide/attachments/slides/4510/export/events/attachments/jakartaeecontributorsguide/slides/4510/jakartaee10.pptx">Contributors Guide to the Jakarta EE 10 Galaxy (Slides)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/jakartaeecontributorsguide.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/jakartaeecontributorsguide.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11552.php">Submit feedback</link> </links> </event> <event id="11105"> <start>16:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>classdatasharing</slug> <title>How Class Data Sharing Can Speed up Your Application Startup</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.</p> <p>In this presentation, I'll go into more detail what Class Data Sharing is and how you can use it on an OpenJDK versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.</p></abstract> <description></description> <persons> <person id="7725">Rudy De Busscher</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/classdatasharing/attachments/slides/4653/export/events/attachments/classdatasharing/slides/4653/presentation.pdf">Presentation Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/classdatasharing.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/classdatasharing.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11105.php">Submit feedback</link> </links> </event> <event id="11113"> <start>16:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>alpine</slug> <title>Alpine Musl Containers: Now Upstream</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Container images based on Alpine Linux have been around for some time. You can calculate the real cost savings from using small containers, which we will do. And now it's time to have them as an official flavor of Java Runtime with new JEP 386: Alpine Linux Port. The new port has its own subtleties, which we will consider in the context of microservices development.</p> <p>BellSoft is the company behind JEP 386 and we would like to share our work in the OpenJDK community. We have long been providing Liberica JDK Docker images on top of Alpine Linux. It really helps our users and therefore remains the most popular choice.</p></abstract> <description></description> <persons> <person id="5749">Dmitry Chuyko</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/alpine/attachments/slides/4659/export/events/attachments/alpine/slides/4659/Alpine_en_Fosdem.pdf">Alpine Musl Containers: Now Upstream</attachment> </attachments> <links> <link href="https://openjdk.java.net/jeps/386">JEP 386</link> <link href="https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine-musl">Alpine musl JDK containers</link> <link href="https://www.bell-sw.com/pages/downloads/?os=Alpine%20Linux">Alpine musl Liberica JDK downloads</link> <link href="https://video.fosdem.org/2021/D.openjdk/alpine.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/alpine.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11113.php">Submit feedback</link> </links> </event> </room> <room name="D.kotlin"> </room> <room name="D.legal"> <event id="11852"> <start>14:00</start> <duration>01:00</duration> <room>D.legal</room> <slug>ecoss</slug> <title>European Commission Open source software strategy</title> <subtitle>Interview </subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>On October 21st 2021, the European Commission approved the new Open Source Software Strategy 2020-2023 of the Commission. We will interview Evangelos Tsavalopoulos on this.</p></abstract> <description><p>In the interview we will ask the most important questions about this strategy.</p></description> <persons> <person id="6422">Alexander Sander</person> <person id="8380">Evangelos TSAVALOPOULOS</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/ecoss.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/ecoss.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11852.php">Submit feedback</link> </links> </event> <event id="11140"> <start>15:00</start> <duration>00:30</duration> <room>D.legal</room> <slug>avoiduscentric</slug> <title>Open Source Culture is Very US-Centric, But It Shouldn't Be</title> <subtitle>How Can We Make FOSS Truly Global?</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Free and open source software is made up of a truly global community of tinkerers, collaborators and innovators. In this conversation, Deb Nicholson and Hong Phuc Dang will look at the global state of open source policy and talk about why no particular country -- especially the US -- should be centered. So, let's make sure the conversation about the future of open source is a truly global one!</p></abstract> <description><p>Sure, lots of tech came from the US; Microsoft, Apple, Google, Facebook, Amazon but a large proportion of the story of free and open source software didn't happen in the US. In fact, most of the exciting parts of the work to encourage people to adopt, build and adapt open source are happening in other places. In this conversation, Deb Nicholson and Hong Phuc Dang will look at the global state of open source policy and talk about why no particular country -- especially the US -- should be centered. They'll cover:</p> <pre><code>* Public code strategies and adoption of open source tools in different jurisdictions * Policy initiatives that foster free and open source software production * Local FOSS adoption blueprints that could be replicated around the world </code></pre> <p>Open source is a global community of tinkerers, collaborators and innovators. It's time to share the spotlight more equitably. Solutions for small cities, or minority language groups or vulnerable populations could come from anywhere and be applied around the world. The discussions around public code and adoption aren't even happening in the US yet, and code without hearty adoption isn't enough. So, let's make sure the conversation about the future of open source is a truly global one!</p></description> <persons> <person id="698">Deb Nicholson</person> <person id="2611">Hong Phuc Dang</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/avoiduscentric.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/avoiduscentric.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11140.php">Submit feedback</link> </links> </event> <event id="11731"> <start>15:30</start> <duration>01:00</duration> <room>D.legal</room> <slug>healthpublicpolicy</slug> <title>Software and Hardware Freedom in Health Public Policy</title> <subtitle>A Panel about Health Public Policy related to Software and Hardware</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Software and Hardware Freedom in Health Public Policy<br/> On this panel, we will discuss the extent to which the use of Free Software and open hardware can be used in the public health sector. Software and hardware can help to solve global problems together. The wheel does not always have to be reinvented and through cooperation common innovation can succeed.</p></abstract> <description><p>The Corona crisis has clearly shown us that we also need to work together in the area of software and hardware. Hackathons were held in various countries, for example, to find software solutions to counter this crisis. The development of tracing apps or solutions for hospitals and health authorities has also shown that Free Software can help many people and that isolated solutions are counterproductive. In the panel we want to discuss what lessons we can learn from the crisis and how Free Software and Open Hardware must be used in the future.</p></description> <persons> <person id="448">Karen Sandler</person> <person id="7566">Fabio Balli</person> <person id="8304">Adriana Groh</person> <person id="8313">Luis Falcon</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/healthpublicpolicy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/healthpublicpolicy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11731.php">Submit feedback</link> </links> </event> <event id="11217"> <start>16:30</start> <duration>00:30</duration> <room>D.legal</room> <slug>fosstaxbreak</slug> <title>Give open source a (tax) break</title> <subtitle/> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Financing open source using tax breaks on donations made to endowment funds or general interest associations is a construct available in France and a viable alternative to R&amp;D expenditures for sponsoring open source projects. We will present several initiatives from the Libre Endowment Fund ("Fonds de Dotation du Libre" in French) - from financing feature development of open source software to releasing a 4G/5G base station as open source hardware or supporting litigation against the French government's decision to host Health Data on Microsoft servers.</p></abstract> <description><p>The recently published FOSS contributor report showed that 48.7% of contributors were paid for their contributions by their employer with only 2.95% being paid by a third party. So even today as (open source) software continues to eat the world, almost half of all projects lack the financial base for ensuring their respective software's long-term existence.</p> <p>To finance the long term maintenance of its open source software stack, Nexedi has created the Libre Endowment Fund ("Fonds de Dotation du Libre" or FDL in French). It is a French endowment fund which complies with strict auditing procedures. With this status, French Law permits corporations and individuals to donate to the FDL and claim back up to 60% from future income taxes (65% for individuals). Rather than investing directly in the maintenance or continuous development of own or third party solutions, Nexedi and other companies (ex. Amarisoft) can pool donations which then support the maintenance or development of open source software, open source hardware or open services.</p> <p>During the last three years, FDL has been involved in a variety of projects:</p> <p>1) "Open Source Software" - FDL sponsored the development of Jexcel v4, an open source online spreadsheet editor ;</p> <p>2) "Open Source Hardware" - FDL has acquired the technological assets for a remote radio head (RHH) and is about to publish its PCB design and BOM under open source licence. It will be the first open source carrier-grade 4G/5G base station ;</p> <p>3) "Open Service" - FDL is supporting the launch of an initiative called "HyperOpen" for cloud solutions built using open source software, open hardware and open service. Open Service applies to the service industry the four freedoms of Free Free Software. With Open Service, everyone can use a service, study how a service is made, modify the service and become provider of that service. It is a generic principle, that in theory can be applied to services beyond the cloud.</p> <p>4) "Open Data" - FDL maintains a directory of European Open Source software publishers and their success cases. This directory is shared and contributed as open data (JSON) through pull-requests on a git platform.</p> <p>5) "Open Policy" - FDL is helping to sponsor the legal cost of Santenathon, a group of IT companies and non-profit organisations who have recently succeeded in a court case asking the French government's Health Data Hub to stop collecting personal data of french citizens and to migrate their solution from Microsoft to a European provider.</p> <p>The examples should highlight that provided the legal conditions in a respective country, funding of FLOSS solutions and related general interest projects can be partially subsidized by tax exemptions. It is important to notice that strict accounting and reporting rules apply in order to ensure juridical safety of the donor. FDL is managed using an open source ERP by a professional accountant and auditor. Those costs can be shared among the different projects.</p> <p>FDL also benefits from a scientific board of advisors which include three developers of open source software (Jean-Paul Smets, Stéfane Fermigier, Gaël Varoquaux) who also hold a PhD in computer science or mathematics. This scientific board follows the same procedures as governement sponsored RTD projects and thus also contributes to the juridical safety of FDL.</p></description> <persons> <person id="7757">Sven Franck</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fosstaxbreak/attachments/slides/4553/export/events/attachments/fosstaxbreak/slides/4553/FDL_Presentation_Fosdem_Presentation_Give_Open_Source_A_Tax_Break_Slides_002_en.pdf">Slides/Notes - Give open source a (tax) break</attachment> </attachments> <links> <link href="https://fdl-lef.org">Fonds de Dotation du Libre</link> <link href="https://www.euractiv.com/section/digital/opinion/gaia-x-a-trojan-horse-for-big-tech-in-europe/">My last publication on Gaia-X</link> <link href="https://video.fosdem.org/2021/D.legal/fosstaxbreak.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/fosstaxbreak.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11217.php">Submit feedback</link> </links> </event> <event id="11119"> <start>17:00</start> <duration>01:00</duration> <room>D.legal</room> <slug>compliancepanel</slug> <title>PANEL: Open Source and Free Software License Compliance And Users</title> <subtitle>Do Present Compliance Practices Assure Software Freedom for Device Users?</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Compliance with Open Source and Free Software licenses remains a perennial topic of discussion among policy makers in our community. However, little attention is paid to the motivations why these licenses have specific requirements. Specifically, at least for copyleft licenses, the licenses seek to bestow specific rights and freedoms to the users who receive the software integrated into the devices they use. This panel, containing a group of industry experts, consultants, and license enforcement experts, discusses the challenges and importance of assuring downstream can actually utilize the compliance artifacts they receive with products as intended by the license.</p></abstract> <description><p>Compliance with Open Source and Free Software licenses remains a perennial topic of discussion among policy makers in our community. However, little attention is paid to the motivations why these licenses have specific requirements. Specifically, at least for copyleft licenses, the licenses seek to bestow specific rights and freedoms to the users who receive the software integrated into the devices they use. This panel, containing a group of industry experts, consultants, and license enforcement experts, discusses the challenges and importance of assuring downstream can actually utilize the compliance artifacts they receive with products as intended by the license.</p></description> <persons> <person id="441">Bradley M. Kuhn</person> <person id="1577">John Sullivan</person> <person id="6335">Miriam Ballhausen</person> <person id="8184">Davide Ricci</person> <person id="8291">Eilís Ní Fhlannagáin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/compliancepanel.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/compliancepanel.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11119.php">Submit feedback</link> </links> </event> </room> <room name="D.libreoffice"> </room> <room name="D.mariadb"> <event id="11654"> <start>10:00</start> <duration>00:05</duration> <room>D.mariadb</room> <slug>mariadb_devroom_welcome</slug> <title>Welcome to the MariaDB devroom</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>A brief introduction and overview of what you can expect from the MariaDB devroom at FOSDEM</p></abstract> <description></description> <persons> <person id="5872">Ian Gilfillan</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_devroom_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_devroom_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11654.php">Submit feedback</link> </links> </event> <event id="11377"> <start>10:05</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_10_6</slug> <title>MariaDB 10.6 and beyond</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>MariaDB Corporation is currently working on plenty of features for MariaDB 10.6. At the same time we already have a long list of things to add in future versions of MariaDB. This talk will look at the main tasks for 10.6 and future versions of MariaDB. At the same time we are hoping to get feedback and suggestions from the community</p></abstract> <description></description> <persons> <person id="7836">Max Mether</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_10_6.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_10_6.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11377.php">Submit feedback</link> </links> </event> <event id="11160"> <start>10:30</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_upgrade</slug> <title>Upgrading to a newer major version of MariaDB</title> <subtitle>What mysql_upgrade really does and what problems remain</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>With MariaDB in a general case (backup, proper shutdown, storage engines incompatibilities, Galera, async replication, and maybe few bugs and corner cases aside) it should be possible to easily and directly upgrade from one major version to the other, skipping any number of intermediate major versions in between. mysql_upgrade utility is designed to fix all incompatibilities in the mysql.* system tables. In frames of this talk the details of its implementation and actions are discussed, as well as some known bugs and problems that it does not solve. Upgrades to MariaDB 10.4 and 10.5 are covered, from versions at least as old as MySQL 5.5.</p></abstract> <description></description> <persons> <person id="2718">Valerii Kravchuk</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_upgrade/attachments/slides/4266/export/events/attachments/mariadb_upgrade/slides/4266/Upgrading_to_a_newer_major_version_of_MariaDB_FOSDEM_2021.pdf">Upgrading to a newer major version of MariaDB - FOSDEM 2021</attachment> </attachments> <links> <link href="https://mysqlentomologist.blogspot.com/2020/04/what-mysqlupgrade-really-does-in.html">Initial blog post on the topic</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_upgrade.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_upgrade.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11160.php">Submit feedback</link> </links> </event> <event id="11235"> <start>10:55</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_migrating</slug> <title>Migrating from other databases to MariaDB</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>This talk will present a proper procedure of migrating applications from proprietary database systems (such as Oracle or SQL Server) to MariaDB. The talk will give an overview of the steps required to successfully perform a full migration. built from the experience of migrating DBS Bank's core infrastructure from Oracle to MariaDB.</p></abstract> <description></description> <persons> <person id="7772">Michael "Monty" Widenius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_migrating.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_migrating.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11235.php">Submit feedback</link> </links> </event> <event id="11065"> <start>11:20</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_oracle</slug> <title>Migration from Oracle to MariaDB with no application change</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>Introduce a use case from a Chinese who migrated one of their important applications from Oracle to MariaDB with very few modifications to the application. I will cover the entire migration process and experience, including tools to check the Oracle syntax compatibility with MariaDB and tools to compare the execution results of Oracle and MariaDB, and the proxy that receives and interprets the Oracle network protocol to MariaDB</p></abstract> <description></description> <persons> <person id="7700">pickup li</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_oracle.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_oracle.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11065.php">Submit feedback</link> </links> </event> <event id="11248"> <start>11:45</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_arm</slug> <title>Migrating MariaDB Cluster to ARM</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>MariaDB has been releasing packages for ARM for quite some time now. ARM is known to have a lower cost of ownership there-by delivering more TPS for the same cost, effectively generating cost savings. Any changes to the working production environment would surely make DBA/dev-ops anxious and we are talking about migrating to a different architecture altogether. How complex is that? Is it feasible? Is it the right time to look into it? What about the ecosystem/other aspects?</p> <p>We will try to answer all such questions through this talk. We would discuss the why and how aspect, highlighting the step-step approach how user could migration existing MariaDB cluster to ARM, tools compatibility, do and don't, revert back to the old system (if needed rarely), etc....</p></abstract> <description></description> <persons> <person id="6777">Krunal Bauskar</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_arm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_arm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11248.php">Submit feedback</link> </links> </event> <event id="10905"> <start>12:10</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_mariabackup</slug> <title>Mariabackup - too rarely used</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>Mariabackup is another backup tool for MariaDB. But it is still not used very frequently. In this presentation we will have a short look how this backup works and what we can do with it.</p></abstract> <description><p>Mariabackup full backup is a fast and reliable backup/restore method for a whole instance. With the partial restore we can also restore one table or several tables together (aka schema). Point-in-Time-Recovery is also possible with Mariabackup (do not confuse this with incremental backup). But it becomes more tricky for one schema or table only. And finally this can also be done on a MariaDB Galera Cluster.</p></description> <persons> <person id="279">Oli Sennhauser</person> </persons> <attachments> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/mariadb_mariabackup/attachments/audio/4423/export/events/attachments/mariadb_mariabackup/audio/4423/fosdem_2021_mariabackup.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_mariabackup.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_mariabackup.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10905.php">Submit feedback</link> </links> </event> <event id="11337"> <start>12:35</start> <duration>00:30</duration> <room>D.mariadb</room> <slug>mariadb_beyond_tutorials</slug> <title>Databases beyond the tutorials</title> <subtitle>Database usage for the real world for flexibility and scale</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>Getting started guides for application development with databases are important for learning the basics. Naturally they tend to target ease of understanding. However, these choices for simplicity can make it hard to scale or operate without downtime once your application starts to grow. This talk aims to cover a few things you and your team can start doing to help lay a foundation for growth and flexibility.</p></abstract> <description></description> <persons> <person id="6977">Eric Herman</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_beyond_tutorials.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_beyond_tutorials.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11337.php">Submit feedback</link> </links> </event> <event id="11236"> <start>13:05</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_atomic_ddl</slug> <title>Atomic DDL in MariaDB</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>Crash safety is one of the requirements of modern databases. Although DML is crash safe (depending on storage engine), DDL is still problematic. MariaDB 10.6 will implement atomic DDL. Currently RENAME and DROP are fully supported for all database objects and the goal is to implement all remaining operations. This talk will go into the technical details of the atomic DDL implementation, explaining how it provides crash safety.</p></abstract> <description></description> <persons> <person id="7772">Michael "Monty" Widenius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_atomic_ddl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_atomic_ddl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11236.php">Submit feedback</link> </links> </event> <event id="11234"> <start>13:30</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_roles</slug> <title>MariaDB Roles</title> <subtitle>Overview and Migration</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>MariaDB has had roles all the way back in 10.0 (2013). MySQL now supports roles as well, starting with 8.0. This talk will go through an overview of Roles in MariaDB and how they can be used. The talk will also highlight the differences, as well as the migration requirements, should you need to move to (or from) MariaDB.</p></abstract> <description><p>Roles in MariaDB follow the SQL Standard implementation. Roles are a very useful feature for ensuring ease of use for a DBA. Not only that, but thanks to DEFAULT ROLE, applications not previously aware of roles can make use of them transparently.</p> <p>In this talk we will cover the following aspects of Roles: * Creating, granting, activating. * Roles granted to roles (the role graph) * Default Roles * Information schema tables * Differences to MySQL, migration with mariadb-dump.</p></description> <persons> <person id="3999">Vicentiu Ciorbaru</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_roles.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_roles.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11234.php">Submit feedback</link> </links> </event> <event id="11192"> <start>13:55</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_set_operations</slug> <title>Set operations UNION, INTERSECT, and EXCEPT in MariaDB</title> <subtitle>How to use and combine them.</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>The presentation will show how and why use UNION/INTERSECT/EXCEPT. How combine them to get expected result.</p> <p>We will also dive into implementation details (with the help of the EXPLAIN command) to understand how MariaDB executes these set operators. This will help in understanding and troubleshooting performance problems.</p></abstract> <description></description> <persons> <person id="7755">Oleksandr Byelkin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_set_operations.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_set_operations.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11192.php">Submit feedback</link> </links> </event> <event id="11308"> <start>14:20</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_json</slug> <title>JSON Support: news, non-news, and the bigger picture</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>This talk aims to cover everything about the current state of JSON support.</p> <p>First, I'll cover the newest addition, JSON_TABLE in MariaDB 10.6.</p> <p>Then, I'll discuss the power of JSONPath in MariaDB and how it compares to the SQL Standard and other databases. This is technically non-news but it hasn't been discussed before.</p> <p>Finally, we'll take a look at other present and missing features and see what are the biggest and lowest-hanging fruits in JSON support in MariaDB.</p></abstract> <description></description> <persons> <person id="3487">Sergei Petrunia</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_json/attachments/slides/4614/export/events/attachments/mariadb_json/slides/4614/mariadb_json_fosdem2021.pdf">JSON Support in MariaDB</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_json.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_json.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11308.php">Submit feedback</link> </links> </event> <event id="11316"> <start>14:45</start> <duration>00:30</duration> <room>D.mariadb</room> <slug>mariadb_devops</slug> <title>MySQL Performance for DevOps</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>MySQL performance can be improved by tuning queries, server options, and hardware. Traditionally it was an area of responsibility of three different roles: Development, DBA, and System Administrators. Now DevOps handle these all. But there is a gap. Knowledge, gained by MySQL DBAs after years or focus on a single product is hard to gain when you focus on more than one. This is why Sveta Smirnova (Percona, Support Team) is doing this session. She will show minimal, but the most effective, set of options that will improve your MySQL performance. For illustrations, she will use real user stories from her Support experience.</p></abstract> <description></description> <persons> <person id="2247">Sveta Smirnova</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_devops/attachments/slides/4306/export/events/attachments/mariadb_devops/slides/4306/DevOps_perf.pdf">MySQL Performance for DevOps</attachment> </attachments> <links> <link href="https://www2.slideshare.net/SvetaSmirnova/mysql-performance-for-devops">Slides from Open Source Summit Europe 2020</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_devops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_devops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11316.php">Submit feedback</link> </links> </event> <event id="10986"> <start>15:15</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_vagrant</slug> <title>Creating Vagrant development machines for MariaDB</title> <subtitle>HowTo and Best Practices</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>How to use Vagrant to automate the creation of development machines running MariaDB.</p></abstract> <description><p>Usually a devops team takes care of creating development machines that the developers will use in their daily work. Vagrant makes this task very easy. Though, there are some good practices that will increase development/production parity and will help developers to optimise their code.</p></description> <persons> <person id="7643">Federico Razzoli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_vagrant/attachments/slides/4299/export/events/attachments/mariadb_vagrant/slides/4299/vagrant_mariadb.pdf">slides</attachment> </attachments> <links> <link href="https://github.com/Vettabase/vagrant-mariadb-examples">Working Example on GitHub</link> <link href="https://mariadb.com/kb/en/vagrant-and-mariadb/">Vagrant and MariaDB</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_vagrant.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_vagrant.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10986.php">Submit feedback</link> </links> </event> <event id="11181"> <start>15:40</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_shard</slug> <title>How to shard MariaDB like a Pro?</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>In this talk, I'd like to give brief information about how to shard your data under MariaDB topologies and the possibility of using frameworks such as Vitess. While discussing the pros and cons of sharding I would like to showcase how structured horizontal sharding can scale your database almost infinitely. The audience will benefit from how others sharding to scale unlimited under both cloud and Kubernetes realm. In this short talk, I'd like to demo a case study that can be an example to get started for many.</p></abstract> <description><p>Vitess is a database clustering system for horizontal scaling of MySQL through sharding. By enabling shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can split, merge, and migrate shards as your needs grow. With its compatibility to development frameworks and integration to open-source tools, Vitess has been a core component of several high traffic OLTP sites around the world and serving data across different platforms. Vitess is also the first Linux Foundation/Cloud Native Computing Foundation graduated open-source database project.</p></description> <persons> <person id="4191">Alkin Tezuysal</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_shard/attachments/slides/4613/export/events/attachments/mariadb_shard/slides/4613/How_to_shard_MariaDB_like_a_Pro_FOSDEM_2021.pdf">How to shard MariaDB like a Pro?</attachment> </attachments> <links> <link href="https://www.slideshare.net/atezuysal">Slideshare</link> <link href="https://https://www.linkedin.com/in/askdba/">Linkedin</link> <link href="https://https://www.percona.com/blog/author/alkin-tezuysal/">Technical Blog</link> <link href="https://askdbablog.wordpress.com/blog/">Personal Blog</link> <link href="https://www.youtube.com/playlist?list=PLqT9tN3yEwFVGRE-U429oPfpB9nF2Hdh6">Public Videos</link> <link href="https://vitess.io/blog/">Latest Blogs</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_shard.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_shard.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11181.php">Submit feedback</link> </links> </event> <event id="11205"> <start>16:10</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_observability</slug> <title>MariaDB Observability</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>A broken MariaDB means broken Application, so maintaining insights in MariaDB operational performance is critical. Thankfully MariaDB offers a lot in terms of observability to resolve problems quickly and get great insights into opportunities for optimization. In this talk, we will cover the most important observability improvements in MariaDB ranging from Performance Schema and Information Schema to enhanced error logging and optimizer trace. If you're a Developer or DBA passionate about Observability or just want to be empowered to resolve MariaDB problems quickly and efficiently you should attend this talk.</p></abstract> <description></description> <persons> <person id="7756">Peter Zaitsev</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_observability/attachments/slides/4658/export/events/attachments/mariadb_observability/slides/4658/FOSDEM_Feb2021_MariaDB_Observability.pptx"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_observability.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_observability.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11205.php">Submit feedback</link> </links> </event> <event id="10985"> <start>16:35</start> <duration>00:25</duration> <room>D.mariadb</room> <slug>mariadb_jupyter</slug> <title>The MariaDB Jupyter Kernel</title> <subtitle/> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>The reliability and performance of Open Source database solutions can’t be contested. They are fast and they are stable, but they fell short of integrating nicely with the latest data science and research workflows.</p> <p>If you store your data in MariaDB or even other database systems from the MySQL family, I am proud to let you know we have been working hard to create a beautiful Open Source friendship between the MariaDB Server and the Jupyter ecosystem.</p></abstract> <description><p>The MariaDB Jupyter kernel aims to improve the interaction with your data, it allows you to run MariaDB directly in a Jupyter notebook. You can display the results of your favorite SELECTs in Matplotlib graphics or export them into a DataFrame in another Python Notebook through database specific %magic commands.</p> <p>This talk covers the current state of the MariaDB kernel, the existing features, how to install and use it and how we imagine it should look like in terms of functionalities in the near future.</p> <p>It also explains the inner structure of the kernel, how to pass different configuration options and shows demos for some of the most common use cases.</p> <p>There is no background knowledge expected to understand the content of this talk, if you've ever used a Jupyter notebook, a SQL database or both, or you'd just love to learn about these technologies, you're more than welcome to attend.</p></description> <persons> <person id="7651">Robert Bindar</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_jupyter/attachments/slides/4760/export/events/attachments/mariadb_jupyter/slides/4760/Slides">The MariaDB Jupyter Kernel slides</attachment> </attachments> <links> <link href="https://github.com/MariaDB/mariadb_kernel">MariaDB Jupyter Kernel on GitHub</link> <link href="https://mybinder.org/v2/gh/MariaDB/mariadb_kernel.git/master?filepath=binder%2Ftry_it_out.ipynb">Try it on Binder</link> <link href="https://jupyter.org/">Project Jupyter</link> <link href="https://mariadb.org/">MariaDB Foundation</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_jupyter.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_jupyter.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10985.php">Submit feedback</link> </links> </event> <event id="11298"> <start>17:00</start> <duration>00:30</duration> <room>D.mariadb</room> <slug>mariadb_distros</slug> <title>MariaDB post-release quality assurance in Debian and Ubuntu</title> <subtitle>What Linux distros can do about software quality</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>All about MariaDB packaging in two of the most widely-used Linux distros, Debian and Ubuntu, including the strict requirements demanded by distros, and the impact on fixing bugs “upstream” in MariaDB itself.</p></abstract> <description></description> <persons> <person id="1032">Otto Kekäläinen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_distros/attachments/slides/4381/export/events/attachments/mariadb_distros/slides/4381/FOSDEM_2021_MariaDB_post_release_QA_in_Debian_and_Ubuntu_by_Otto_Kekalainen.pdf">Presentation slides</attachment> </attachments> <links> <link href="https://tracker.debian.org/pkg/mariadb-10.5">Debian tracker for MariaDB 10.5</link> <link href="https://qa.debian.org/developer.php?email=pkg-mysql-maint%40lists.alioth.debian.org">MariaDB & MySQL packagers overview in Debian</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_distros.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_distros.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11298.php">Submit feedback</link> </links> </event> <event id="11190"> <start>17:30</start> <duration>00:30</duration> <room>D.mariadb</room> <slug>mariadb_buffer_pool_improvements</slug> <title>Buffer pool performance improvements</title> <subtitle>How the LRU replacement and log checkpoints were made faster in MariaDB 10.5</subtitle> <track>MariaDB</track> <type>devroom</type> <language/> <abstract><p>In any block-oriented, update-in-place database with log-based recovery, two kinds of page flushing are needed. Eviction flushing is necessary when all least recently used blocks are dirty (modifications exist in the buffer pool). Checkpoint flushing (writing out the oldest modified page first) allows the log checkpoint to advance, shortening the potential recovery time by logically discarding the start of the log. Any write of a persistent page must be preceded by a corresponding log write and optional doublewrite, to guarantee that crash recovery works.</p> <p>We will cover some improvements in this area in MariaDB Server's version of InnoDB storage engine. We will also discuss how a database could be configured to minimize write amplification.</p></abstract> <description><p>MariaDB 10.5 simplified page flushing and fixed bottlenecks that had originally been worked around by introducing multiple buffer pool instances and multi-threaded flushing. It turns out that a single buffer pool and page flushing thread (assisted by a log flushing thread) can still saturate most contemporary I/O subsystems. Data structures were simplified, some synchronous writes replaced with asynchronous ones, and mutex contention reduced through more use of atomic memory operations.</p></description> <persons> <person id="6968">Marko Mäkelä</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_buffer_pool_improvements/attachments/slides/4310/export/events/attachments/mariadb_buffer_pool_improvements/slides/4310/MariaDB_buffer_pool.pdf">Buffer Pool slides</attachment> </attachments> <links> <link href="https://jira.mariadb.org/browse/MDEV-23399">refactoring the LRU block replacement algorithm</link> <link href="https://jira.mariadb.org/browse/MDEV-23855">refactoring the log checkpointing</link> <link href="https://jira.mariadb.org/browse/MDEV-15053">simplifying buffer pool data structures</link> <link href="https://jira.mariadb.org/browse/MDEV-22871">cache-friendlier buf_pool.page_hash table with custom rw-lock</link> <link href="https://jira.mariadb.org/browse/MDEV-15528">avoid writing freed pages</link> <link href="https://jira.mariadb.org/browse/MDEV-12227">defer writes to temporary tablespace</link> <link href="https://github.com/MariaDB/server/tree/10.5/storage/innobase/buf">buffer pool implementation</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_buffer_pool_improvements.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mariadb/mariadb_buffer_pool_improvements.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11190.php">Submit feedback</link> </links> </event> </room> <room name="D.microkernel"> <event id="11667"> <start>10:00</start> <duration>00:10</duration> <room>D.microkernel</room> <slug>microkernel_welcome</slug> <title>Welcome and Introduction</title> <subtitle/> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>Welcome talk and introduction to the Microkernel Devroom at FOSDEM 2021.</p></abstract> <description></description> <persons> <person id="605">Martin Děcký</person> </persons> <attachments> </attachments> <links> <link href="http://fosdem.microkernel.info/">About the microkernel devroom</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11667.php">Submit feedback</link> </links> </event> <event id="11572"> <start>10:10</start> <duration>01:00</duration> <room>D.microkernel</room> <slug>microkernel_sel4_report</slug> <title>The seL4 Report</title> <subtitle>What happened in seL4 land in the past 12 months</subtitle> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>I will provide an update on developments in the seL4 ecosystem in the past 12 months. Highlights include the creation of the seL4 Foundation and some of its activities since, and the functional correctness proof of seL4 on the RISC-V architecture. I will also discuss our work on time protection, a principled and systematic approach to prevention of timing channels and on-going work on its formal verification.</p></abstract> <description></description> <persons> <person id="6203">Gernot Heiser</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/microkernel_sel4_report/attachments/slides/4482/export/events/attachments/microkernel_sel4_report/slides/4482/heiser.pdf">The seL4 Report</attachment> </attachments> <links> <link href="https://sel4.systems">seL4 home page</link> <link href="https://sel4.systems/Foundation/">seL4 Foundation</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_sel4_report.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_sel4_report.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11572.php">Submit feedback</link> </links> </event> <event id="11573"> <start>11:10</start> <duration>00:45</duration> <room>D.microkernel</room> <slug>microkernel_sel4_foundation</slug> <title>The seL4 Foundation</title> <subtitle>what it is and why you should get involved</subtitle> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>The seL4 Foundation was created in April 2020 as a Project of the Linux Foundation. Its aim is to provide an open and neutral framework for developing seL4 and its ecosystem and promote update. The talk will give an overview of the seL4 Foundation, its goals and activities and the benefits of joining.</p></abstract> <description></description> <persons> <person id="7978">June Andronick</person> </persons> <attachments> </attachments> <links> <link href="https://sel4.systems/Foundation">the seL4 Foundation</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_sel4_foundation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_sel4_foundation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11573.php">Submit feedback</link> </links> </event> <event id="11170"> <start>11:55</start> <duration>01:10</duration> <room>D.microkernel</room> <slug>microkernel_libioth</slug> <title>libioth</title> <subtitle>The definitive API for the Internet of Threads</subtitle> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>Microkernels, partial virtual machines and internet of threads are not unrelated. The challenge of this talk is to show that the new libioth providing an effective and flexible support for the internet of threads can open interesting perspectives for a wider range of applications.</p></abstract> <description><p>A network protocol stack can be implemented as a library. There are several examples: lwip/lwipv6, picoxnet, lkl. These libraries can be used to implement processes connected as network nodes (the so called "Internet of Thread" processes) or to implement network protocol stack servers for microkernels.</p> <p>The main goal of libioth is to provide a convenient API to interoperate with different network stack implementations. Libioth is also an infrastructure where the actual implementations can be loaded as plug-ins.</p> <p>Libioth's API is minimal: it includes the complete set of Berkeley Sockets functions, some functions to add or delete a stack and 'msocket', an extended version of 'socket' providing one more leading argument to select which stack should manage the communication.</p> <p>Libioth does not provide in its API any specific function to set up the network configuration, e.g. to configure the IP addresses/routes etc. These features are provided through netlink (see RFC3549). "nlinline" is a simple and effective set of inline functions to manage the network configuration.</p> <p>The data link layer infratructure used by libioth is VDE, Virtual Distributed Ethernet.</p> <p>Although libioth has been primarily designed for the Internet of Threads, the way it is used in the vunetioth module of vuos has many similarities with the network protocol stack servers for the microkernels.</p> <p>Several concepts and many building blocks of libioth can be useful in microkernel development. The design of the minimal API itself can be used to reuse existing stack implementations in network protocol stack servers. Libnlq (a sibling project of libioth) is a library able to process netlink requests, and can be used to add the netlink support to those stack implementations providing configuration through a custom specific API.</p></description> <persons> <person id="2639">Renzo Davoli</person> <person id="8061">Mikey Goldweber</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/microkernel_libioth/attachments/slides/4319/export/events/attachments/microkernel_libioth/slides/4319/libioth_slides.pdf">slides</attachment> </attachments> <links> <link href="https://github.com/virtualsquare/libioth">development vcs</link> <link href="http://wiki.virtualsquare.org/#!tutorials/ioth_libioth.md">wiki page</link> <link href="http://wiki.virtualsquare.org/">VirtualSquare wiki</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_libioth.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_libioth.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11170.php">Submit feedback</link> </links> </event> <event id="11425"> <start>13:05</start> <duration>00:40</duration> <room>D.microkernel</room> <slug>microkernel_pluggable_device_drivers_for_genode</slug> <title>Pluggable device drivers for Genode</title> <subtitle/> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>Resilience is often touted as the biggest advantage of component-based systems over monolithic architectures. The catchy part of the story often told is the containment of faults via sandboxing. However, the story has another inconvenient side that often remains untold. Components are interdependent. Whenever a central low-level component fails, dependent software stacks suffer under the outage. The talk presents Genode's recent breakthroughs to address this second part of the story, in particular making the system resilient against flaky device drivers.</p></abstract> <description><p>Component-based operating systems promise the containment of software faults and vulnerabilities by separating functionality into sandboxed components. In practice however, a contained fault is still a fault. Whenever a fault happens in a central server component, clients have to suffer under the outage of the server.</p> <p>Device drivers are especially problematic because they tend to be fragile while being a hard dependency for critical software stacks on running on top. Even though a bug in the driver cannot subvert the information security of the dependent components, it cuts the lifelines of those components.</p> <p>This fundamental problem calls for an architectural solution. We found the key in the reversal of the dependency relationships for several classes of device drivers. During this line of work, we re-stacked Genode's low-level GUI stack and turned network device drivers into disposable components. Thanks to these changes, drivers for framebuffer, input, network, and wireless devices can now be started, killed, updated, and restarted at anytime without disrupting applications.</p> <p>The talk provides a holistic view of Genode's recent architectural changes, gives insights into the though process, outlines the methodology applied for turning big parts of the system upside down, presents limitations, and gives an outlook to the future of Genode and Sculpt OS.</p></description> <persons> <person id="607">Norman Feske</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/microkernel_pluggable_device_drivers_for_genode/attachments/slides/4303/export/events/attachments/microkernel_pluggable_device_drivers_for_genode/slides/4303/pluggable_drivers_genode_2021.pdf">Pluggable Device Drivers for Genode</attachment> </attachments> <links> <link href="https://genode.org">Genode OS Projekt</link> <link href="https://genodians.org/nfeske/2020-06-23-gui-stack">Re-stacking the GUI stack</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_pluggable_device_drivers_for_genode.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_pluggable_device_drivers_for_genode.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11425.php">Submit feedback</link> </links> </event> <event id="11537"> <start>13:45</start> <duration>00:40</duration> <room>D.microkernel</room> <slug>microkernel_hardware_acceleration_for_unikernels</slug> <title>Hardware acceleration for unikernels</title> <subtitle/> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>Applications demand fast and secure execution in diverse environments (Cloud data centers, Edge Nodes, mobile platforms etc.). Execution efficiency has been facilitated by the introduction of specialized compute elements (eg. GPUs), in order to accelerate specific parts of tasks/workloads (such is image processing). At the same time, too abstract deployment and management burdens, service providers use virtualization and container technologies. Eliminating the software overheads of these abstractions, especially in the context of hardware off-load/acceleration is a challenge and requires a number of factors to be taken into consideration: (a) portability, (b) performance, and (c) security.</p> <p>In this talk, we attack the first two factors and examine the option of unikernels and their surrounding ecosystem (application porting frameworks, orchestration frameworks, lightweight virtualization backends) in the context of hardware acceleration.</p> <p>We present our efforts in porting a novel hardware acceleration framework, vAccel, to the rumprun unikernel, digging into the internals of semantic abstraction for ML inference, as well as its implementation on rumprun and QEMU/KVM. We describe the frontend/backend driver port, the runtime needed to support the actual execution on the hardware and showcase our results in a brief demo of two unikernel frameworks performing ML inference on images.</p></abstract> <description></description> <persons> <person id="8216">Charalampos Mainas</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/microkernel_hardware_acceleration_for_unikernels/attachments/slides/4596/export/events/attachments/microkernel_hardware_acceleration_for_unikernels/slides/4596/Hardware_acceleration_for_unikernels_slides.pdf">Hardware acceleration for unikernels</attachment> </attachments> <links> <link href="https://vaccel.org/">vAccel splash page</link> <link href="https://docs.vaccel.org/unikernels/unikraft/">Unikraft with vAccel</link> <link href="https://blog.cloudkernels.net/posts/vaccel">vAccel post on QEMU</link> <link href="https://blog.cloudkernels.net/posts/vaccel_v2">vAccel post on Firecracker</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_hardware_acceleration_for_unikernels.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_hardware_acceleration_for_unikernels.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11537.php">Submit feedback</link> </links> </event> <event id="10895"> <start>14:25</start> <duration>00:40</duration> <room>D.microkernel</room> <slug>microkernel_unikraft</slug> <title>Is the Time Ripe for Unikernels to Become Mainstream with Unikraft?</title> <subtitle>Building extremely Fast, Specialized Unikernels the Easy Way</subtitle> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>In this talk we give an update on the Unikraft Linux Foundation open source project, a fully modular and librarized unikernel that aims to provide outstanding performance while making it easy to port off-the-shelf applications into unikernels. In particular, we will go into details how Unikraft (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components, (2) exposes a set of composable, performance-oriented APIs in order to make it easy for developers to obtain high performance and (3) aims for POSIX compatibility, already supporting over 130+ syscalls. In addition, there are ongoing efforts to integrate Unikraft into popular frameworks such as Kubernetes and Prometheus in order to finally bring the promise of unikernels to the mainstream. Our recent evaluation using off-the-shelf popular applications such as Nginx, SQLite, and Redis shows that running such applications on Unikraft results in a 30%-50% performance improvement compared to Linux guests. Unikraft images for these apps are around 1MB, require less than 10MB of RAM to run, and boot in around 1ms on top of the VMM time (total boot time 2ms-70ms). During the talk we will show a brief demo. Unikraft is Xen Project incubator project.</p></abstract> <description></description> <persons> <person id="8058">Alexander Jung</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/microkernel_unikraft/attachments/slides/4382/export/events/attachments/microkernel_unikraft/slides/4382/slides.pdf">Is the Time Ripe for Unikernels to Become Mainstream with Unikraft?</attachment> </attachments> <links> <link href="https://github.com/unikraft">GitHub</link> <link href="http://docs.unikraft.org">Documentation</link> <link href="http://unikraft.org">Unikraft.org</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_unikraft.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_unikraft.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10895.php">Submit feedback</link> </links> </event> <event id="11668"> <start>15:05</start> <duration>01:00</duration> <room>D.microkernel</room> <slug>microkernel_state_in_2021</slug> <title>State of Microkernels in 2021</title> <subtitle>Panel Discussion</subtitle> <track>Microkernel</track> <type>devroom</type> <language/> <abstract><p>Panel discussion and an extended Q&amp;A session on the state of microkernel-based operating systems in 2021 and related topics. The panelists (in order of acceptance):</p> <ul> <li>Martin Decky (HelenOS, Huawei)</li> <li>Jakub Jermar (Kernkonzept, HelenOS)</li> <li>Norman Feske (Genode Labs)</li> <li>Julian Stecklina (Cyberus)</li> <li>Udo Steinberg (BedRock Systems)</li> <li>Matthias Lange (Kernkonzept)</li> <li>Gernot Heiser (seL4)</li> </ul> <p>The discussion will smoothly evolve into the traditional and less formal "microkernel dinner". Please bring your own food and beverages.</p></abstract> <description></description> <persons> <person id="604">Jakub Jermář</person> <person id="605">Martin Děcký</person> <person id="607">Norman Feske</person> <person id="608">Julian Stecklina</person> <person id="1136">Udo Steinberg</person> <person id="1958">Matthias Lange</person> <person id="6203">Gernot Heiser</person> </persons> <attachments> </attachments> <links> <link href="http://fosdem.microkernel.info/">About the microkernel devroom</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_state_in_2021.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.microkernel/microkernel_state_in_2021.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11668.php">Submit feedback</link> </links> </event> </room> <room name="D.monitoring"> </room> <room name="D.mozilla"> <event id="11787"> <start>13:00</start> <duration>00:30</duration> <room>D.mozilla</room> <slug>thunderbird_in_2021</slug> <title>Thunderbird in 2021</title> <subtitle/> <track>Mozilla</track> <type>devroom</type> <language/> <abstract><p>A talk about Thunderbird's journey in 2020 and 2021.</p></abstract> <description></description> <persons> <person id="7357">Magnus Melin</person> </persons> <attachments> </attachments> <links> <link href="https://www.thunderbird.net/">Thunderbird's main page</link> <link href="https://developer.thunderbird.net/">Thunderbird developer docs</link> <link href="https://video.fosdem.org/2021/D.mozilla/thunderbird_in_2021.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mozilla/thunderbird_in_2021.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11787.php">Submit feedback</link> </links> </event> <event id="11633"> <start>13:30</start> <duration>00:45</duration> <room>D.mozilla</room> <slug>a_journey_to_performance</slug> <title>A journey to performance</title> <subtitle>Using Rust in Mercurial</subtitle> <track>Mozilla</track> <type>devroom</type> <language/> <abstract><p>Mercurial is a Distributed Version Control System mainly written in Python. While it is often the VCS of choice for monorepos for its great scalability, certain parts remain slower than they should be. Over the past two years, an effort to rewrite parts of the Mercurial core in Rust has seen multiple significant wins in performance, even compared to C implementations.</p> <p>We will go over the different obstacles that Raphaël and his colleagues at Octobus faced during the rewrite of the ubiquitous <code>hg status</code>, and the solutions they came up with to make this command (and others) a lot faster. For example, running <code>hg status</code> in a Mozilla working copy moved from 1.1s to 0.04s, a ×25 improvement.</p> <p>Themes covered include:</p> <pre><code>- Rust and Python interoperability - Fast (and slow) Rust datastructures - Fast directory traversal - Version control internals - Append-only binary formats - Mtime caching - Safe mmap usage in a concurrent context - Multithreading - Unix vs MacOS vs Windows issues </code></pre></abstract> <description></description> <persons> <person id="7143">Raphaël Gomès</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/a_journey_to_performance/attachments/slides/4542/export/events/attachments/a_journey_to_performance/slides/4542/Speeding_up_Mercurial_2021_02_FOSDEM.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mozilla/a_journey_to_performance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mozilla/a_journey_to_performance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11633.php">Submit feedback</link> </links> </event> <event id="11764"> <start>14:30</start> <duration>00:45</duration> <room>D.mozilla</room> <slug>rethinking_the_biggest_developer_resource_on_the_web</slug> <title>Rethinking the Biggest Developer Resource on the Web</title> <subtitle>MDN Web Docs ~ Past, Present and Future</subtitle> <track>Mozilla</track> <type>devroom</type> <language/> <abstract><p>The time has come for Kuma — the platform that powered MDN Web Docs — to evolve. For quite some time now, the MDN developer team has been planning a radical platform change. That change has now landed. In short, we have moved away from our wiki model where the content was stored in a centralized SQL database, to a decentralized pull request model via Github. Our tech stack has also radically changed, paving the way for faster future development, ease of maintenance, and opening up the platform for contribution from our community. During this talk, I will share the history of the project, talk about our recent achievements, demonstrate how to contribute to both the MDN Web Docs content and the underlying platform, and take a peek at what the future looks like for MDN Web Docs.</p></abstract> <description></description> <persons> <person id="8231">Schalk Neethling</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/rethinking_the_biggest_developer_resource_on_the_web/attachments/other/4451/export/events/attachments/rethinking_the_biggest_developer_resource_on_the_web/other/4451/transcript.md">[Transcript] Rethinking the Biggest Developer Resource on the Web</attachment> </attachments> <links> <link href="https://github.com/mdn/content">MDN Web Docs content repository</link> <link href="https://github.com/mdn/yari">MDN Web Docs platform code repository</link> <link href="https://github.com/mdn/mdn-minimalist">MDN Web Docs SASS library repository</link> <link href="https://video.fosdem.org/2021/D.mozilla/rethinking_the_biggest_developer_resource_on_the_web.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mozilla/rethinking_the_biggest_developer_resource_on_the_web.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11764.php">Submit feedback</link> </links> </event> <event id="11728"> <start>15:15</start> <duration>00:45</duration> <room>D.mozilla</room> <slug>mozilla_history_20_years_and_counting</slug> <title>Mozilla History: 20+ Years And Counting</title> <subtitle>An overview of origins, past, and present</subtitle> <track>Mozilla</track> <type>devroom</type> <language/> <abstract><p>We sometimes hear statements like "Mozilla is one of the oldest Free &amp; Open Source projects in existence today, with more than 20 years of history - and still going strong". But where exactly did this project come from? What happened early in its history? What did the project go through to come to where it is today? This talk will try to answer those questions and compress multiple decades into less than an hour - or at least give an overview of the big-picture events this project lived through. As the audience may be more familiar with recent than earlier years, more emphasis will be put on times when the project was still young - for some things even reaching back to times before the speaker joined the community in 1999. After attending this talk, you will hopefully have a better understanding of the background of the Mozilla project and how it has helped shaping the web for the better, something that will hopefully continue into the future.</p></abstract> <description><p>The roots of Mozilla go back almost to the beginning of the web itself. The first broadly used web browser in university circles was NCSA Mosaic - the co-writer of that piece of software created a commercial variant back in 1993, going under the commercial name of "Netscape" when it was released and became the first major web browser in Internet history. But its code name, right from the start, was "Mozilla". When Netscape open-sourced its code in March of 1998, that code name became the public name of the open source project, and over the years, Mozilla attracted a large community of developers, localizers, and more. A non-profit Mozilla Foundation was created, with a "corporation" subsidiary for tax reasons, and a huge list of projects and products have been associated with Mozilla over its more than 20 years of history. The most well-known is of course the Firefox web browser, which has been one of the most-used open-source products for many years - hundreds of thousands of people browse the web with Mozilla Firefox even nowadays. After decades, this project and community is still going strong - hopefully continuing to do so in the future.</p> <p>The speaker has been with this community for over 20 years himself and the talk will give you and overview of the origin, past, and present of this interesting project.</p></description> <persons> <person id="142">Robert Kaiser</person> </persons> <attachments> </attachments> <links> <link href="https://slides.kairo.at/fosdem2021/">Slides for this talk</link> <link href="http://archive.org/details/CodeRush_616">"Code Rush" documentary (initial open-sourcing of Netscape/Mozilla code in 1998)</link> <link href="https://en.wikipedia.org/wiki/File:The_Story_of_Mozilla_by_Mitchell_Baker.webm">Mitchell Baker talking about early Mozilla history in 2012</link> <link href="https://www.mozilla.org/">Mozilla website</link> <link href="https://video.fosdem.org/2021/D.mozilla/mozilla_history_20_years_and_counting.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mozilla/mozilla_history_20_years_and_counting.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11728.php">Submit feedback</link> </links> </event> <event id="11325"> <start>16:00</start> <duration>01:00</duration> <room>D.mozilla</room> <slug>open_accessible_delightfu_building_the_mozilla_community</slug> <title>Open, Accessible & Delightful: building the Mozilla Hubs community during COVID-19</title> <subtitle/> <track>Mozilla</track> <type>devroom</type> <language/> <abstract><p>2020 was an isolating year. During a time of travel restrictions and social distancing, Mozilla Hubs (hubs.mozilla.com) provided a safe place for people to come together virtually. This open source project allows users to quickly create custom 3D spaces, and invite others to join using only a link. It is browser-based, and works across a wide variety of devices - no downloads required.</p> <p>From conferences, to weddings, to art galleries and even windsurfing lessons, over the last year we’ve seen a huge variety of creative applications that our team had never imagined. In this talk I showcase exciting work created by the Hubs community, and share specific insights learned while managing Hubs’ rapidly growing user-base. Attendees will discover how to foster an open, accessible &amp; delightful community.</p></abstract> <description></description> <persons> <person id="7810">Elgin-Skye McLaren</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_accessible_delightfu_building_the_mozilla_community/attachments/slides/4654/export/events/attachments/open_accessible_delightfu_building_the_mozilla_community/slides/4654/Open_Accessible_Delightful_Building_the_Mozilla_Hubs_community_during_COVID_19_slide_version.pdf">Slide version of video</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mozilla/open_accessible_delightfu_building_the_mozilla_community.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mozilla/open_accessible_delightfu_building_the_mozilla_community.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11325.php">Submit feedback</link> </links> </event> </room> <room name="D.mysql"> </room> <room name="D.network"> <event id="10840"> <start>10:00</start> <duration>00:05</duration> <room>D.network</room> <slug>nemodiscovery</slug> <title>Let's find NeMo together</title> <subtitle>welcome, overview, lineup</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>A brief introduction to the room and to the sessions.</p></abstract> <description><p>A brief introduction to the room and to the sessions.</p></description> <persons> <person id="7491">Stephan Schmidt</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemodiscovery.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemodiscovery.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10840.php">Submit feedback</link> </links> </event> <event id="10974"> <start>10:05</start> <duration>00:45</duration> <room>D.network</room> <slug>nemoopennms</slug> <title>What's new with OpenNMS</title> <subtitle>Technology and roadmap update</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>In March 2021, OpenNMS will celebrate its twenty-first year as a free software project. Much has changed since the early days, both within the project and in the world in which people build and monitor networks. Surprisingly little has changed with respect to the project's mission, even as major changes are happening with the project's corporate steward, The OpenNMS Group.</p> <p>Newcomers will receive a brief background on the OpenNMS project, and longtime users will come up to date with the project's latest advancements and near-term plans. If you're interested in monitoring your networked resources with a free platform that integrates events, metrics, flows, ML-enabled correlation, and more in a multi-protocol, distributed, and fault-tolerant model, this talk might be for you.</p></abstract> <description></description> <persons> <person id="2597">Jeff Gehlbach</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemoopennms.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemoopennms.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10974.php">Submit feedback</link> </links> </event> <event id="10886"> <start>10:50</start> <duration>00:45</duration> <room>D.network</room> <slug>nemonesi</slug> <title>NESi</title> <subtitle>The Network Equipment Simulator</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>With the NESi software we aim at simulating certain points of a network.</p></abstract> <description><p>At the Moment we are able to simulate DSLAMs (Digital Subscriber Line Multiplexer) of various vendors including Alcatel, Huawei and KeyMile to name the most popular.</p> <p>The software itself can simulate the vendors OS running on the network-device and allows the user to configure the amount of network cards, the number of ports on said cards and connected CPEs (Customer Premises Equipment). In the OS itself the user is able to change certain values to configure the device. The traffic on ports can be limited and ports can be dis-/ enabled completely allowing the user to simulate a DSLAM. NESi also comes with a handy GUI which allows easier configuration of network-devices.</p> <p>The idea of the software originated from Ilya Etingof, the creator of snmpsim. A python based software to simulate snmp calls to a network-device. In a future release of NESi we are planning on integrating snmpsim into our framework as well.</p></description> <persons> <person id="7497">Philip Konrath</person> <person id="7498">Janis Groß</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/inexio/NESi">NESi on Github</link> <link href="https://github.com/inexio/snmpsim">snmpsim on Github</link> <link href="https://video.fosdem.org/2021/D.network/nemonesi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemonesi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10886.php">Submit feedback</link> </links> </event> <event id="10843"> <start>11:35</start> <duration>00:45</duration> <room>D.network</room> <slug>nemothola</slug> <title>Introducing Thola</title> <subtitle>A tool for monitoring and provisioning network devices written in Go.</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>Thola is a new open source tool for reading, monitoring and provisioning (coming soon) network devices written in Go. This talk will inform about the current state of development as well as planned features, including reading out inventory, configuring network devices, support for other monitoring systems like prometheus and many more.</p></abstract> <description><p>It serves as a unified interface for communication with network devices and features a check mode which complies with the monitoring plugins development guidelines and is therefore compatible with Nagios, Icinga, Zabbix, Checkmk, etc.</p> <p>Thola features:</p> <ul> <li><p>reading, monitoring and configuring (coming soon) network devices from Cisco, Juniper, Nokia/ISAM, Brocade, Huawei and many more</p></li> <li><p>support for different network device types like switches, routers, WDM, directional radio, UPS, DSLAM/OLT,... including type specific requests and checks</p></li> <li><p>an easy way for adding support for additional devices by YAML configuration files</p></li> <li><p>support for different network protocols like SNMP, HTTP(S), telnet/ssh (coming soon) and more</p></li> <li><p>a check plugin mode compatible with Icinga, Nagios, Zabbix, Checkmk, ...</p></li> <li><p>a REST API mode</p></li> <li><p>low resource needs</p></li> </ul> <p>For more informations, feel free to have a look at our GitHub!</p></description> <persons> <person id="7492">Niklas Schon</person> <person id="7493">Tobias Berdin</person> <person id="7500">Mika Meyer</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/inexio/thola">Thola on Github</link> <link href="https://thola.io">Thola Website</link> <link href="https://video.fosdem.org/2021/D.network/nemothola.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemothola.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10843.php">Submit feedback</link> </links> </event> <event id="11581"> <start>12:20</start> <duration>00:45</duration> <room>D.network</room> <slug>nemoicinga</slug> <title>Talking about Icinga and Icinga development</title> <subtitle>Chatting about the current state and how to contribute to Icigna</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>Julian and I work for Icinga and want to shed some light on what, how and why we do what we do and also what YOU can do. The format is going to be a bit like a podcast, where we just talk about our topics for a little and try to provide some light entertainment while staying technical.</p></abstract> <description><p>We were thinking of covering the following topics:</p> <ol> <li>What is Icinga</li> <li>what can Icinga do for me?</li> <li>Where do our strengths (and weaknesses) lie?</li> <li>How does our development work at the moment?</li> <li>Which direction would we like to go with it?</li> <li>How can someone contribute to the project?</li> </ol> </description> <persons> <person id="7935">Feu Mourek</person> <person id="7972">Julian Brost</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemoicinga.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemoicinga.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11581.php">Submit feedback</link> </links> </event> <event id="11462"> <start>13:05</start> <duration>00:45</duration> <room>D.network</room> <slug>nemoinflux</slug> <title>Network Monitoring with InfluxDB 2 and Telegraf</title> <subtitle/> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>Telegraf is an agent for collecting, processing, aggregating, and writing metrics.</p> <p>With over 200 plugins, Telegraf can fetch metrics from a variety of sources, allowing you to build aggregations and write those metrics to InfluxDB, Prometheus, Kafka, and many more targets.</p> <p>In this talk, we'll take a look at the different plugins Telegraf provides for collecting metrics about our networks, as well as the latest features of InfluxDB 2 that make sharing our configurations with others a piece of cake.</p> <p>Lets get started</p></abstract> <description></description> <persons> <person id="7889">David McKay</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemoinflux.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemoinflux.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11462.php">Submit feedback</link> </links> </event> <event id="10842"> <start>13:50</start> <duration>00:45</duration> <room>D.network</room> <slug>nemonaemon</slug> <title>Monitoring Large Networks with Naemon, Thruk, Mod-Gearman and LMD</title> <subtitle>challenges in distributed monitoring at global scale.</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>An introduction to techniques required to scale Naemon like Thruk, Mod-Gearman and LMD.</p></abstract> <description><p>When companies and setups grow, network monitoring has to scale. This talk will walk you through an expanding and growing Naemon setup from city to global scale showing what will go wrong and how to mitigate those challenges. On the way, the tools Thruk, Mod-Gearman and LMD will be introduced.</p></description> <persons> <person id="7517">Sven Nierlein</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemonaemon.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemonaemon.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10842.php">Submit feedback</link> </links> </event> <event id="11176"> <start>14:35</start> <duration>01:00</duration> <room>D.network</room> <slug>nemolargescalemon</slug> <title>Large-scale Network Monitoring: 3 Rules to Rule Them All</title> <subtitle/> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>So you want to monitor a large-scale network-- where do you start? This talk will give you some practical tips in strategizing your network monitoring to avoid future problems, detect those you didn’t know are causing performance issues and save your time in configuration. You’ll learn practical tips, summarized into 3 simple rules, coming from the speaker’s 20+ years of experience as a network specialist. Whether you're starting your monitoring from scratch or improving an existing setup, these tips will be useful for you to have a holistic network monitoring.</p></abstract> <description><p>Along with the practical tips, the speaker will show some demos on how you can apply them using Checkmk, an open source IT monitoring software. We will discuss best practices to take advantage of rule-based monitoring in discovering all your network interfaces. After learning the fundamentals, we'll discuss how you can take it further with network flow monitoring using ntopng. This will help you troubleshoot network issues through in-depth network performance monitoring and network flow analyses.</p> <p>By the end of the talk, you’ll get to learn a holistic approach to network monitoring; saving your organization lots of time, as well as budget for hiring external consultants.</p></description> <persons> <person id="7732">Alex Wilms</person> <person id="7979">Martin Hirschvogel</person> </persons> <attachments> </attachments> <links> <link href="https://checkmk.com">Checkmk website</link> <link href="/2021/stands.fosdem.org/stands/checkmk">Checkmk FOSDEM stand</link> <link href="https://twitter.com/checkmk">Checkmk Twitter</link> <link href="https://video.fosdem.org/2021/D.network/nemolargescalemon.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemolargescalemon.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11176.php">Submit feedback</link> </links> </event> <event id="11088"> <start>15:35</start> <duration>00:45</duration> <room>D.network</room> <slug>nemopmm</slug> <title>What do we want to monitor? All the databases!</title> <subtitle/> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>Your databases and monitoring are all set up and you've got your MySQL and MongoDB databases figured out - you're monitoring them and everything is fine. You're killing off those occasional monster queries and you have it all in check. But now you've been tasked to keep tabs on that new Cassandra cluster your company has - we'll show you how to incorporate monitoring it into the Percona Monitoring and Management tool and which features enable you to get the best out of any new and existing database you're incorporating. Database problems? Not on your watch.</p></abstract> <description><p>You will also find out how to include other databases into PMM as a handy open source tool you can use to monitor your databases. You're invited to ask questions during this presentation as well as in the Q&amp;A section.</p></description> <persons> <person id="8042">Agustín Gallego</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/nemopmm/attachments/slides/4387/export/events/attachments/nemopmm/slides/4387/What_do_we_want_to_monitor_All_databases.pdf"/> </attachments> <links> <link href="https://www.percona.com/software/database-tools/percona-monitoring-and-management">PMM</link> <link href="https://video.fosdem.org/2021/D.network/nemopmm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemopmm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11088.php">Submit feedback</link> </links> </event> <event id="10874"> <start>16:20</start> <duration>00:35</duration> <room>D.network</room> <slug>nemondpi</slug> <title>Using nDPI for Monitoring and Security</title> <subtitle>nDPI in practice</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>As most of modern traffic is now encrypted, deep packet inspection is becoming a key component for providing visibility in network traffic. nDPI is an open source toolkit able to detect application protocols both in plain text and encrypted traffic, extract metadata information, and detect relevant cybersecurity information. This talk shows how nDPI can be used in real life to monitor network traffic, report key information metrics and detect malicious communications.</p></abstract> <description><p>The pervasive use of encrypted protocols and new communication paradigms based on mobile and home IoT devices has obsoleted traffic analysis techniques that relied on clear text analysis. DPI (Deep Packet Inspection) is a key component to provide network visibility on network traffic. nDPI is an open source toolkit designed to detect application protocols on both plain and encrypted traffic. it is also able to extract relevant metadata information including metrics on encrypted traffic for easy classification and accounting. This talk introduces nDPI, demonstrate how to use it in real life examples, and it presents how it can be effectively used not only for traffic monitoring but also in cybersecurity being it able to detect unusual traffic behaviour and security issues.</p></description> <persons> <person id="4993">Luca Deri</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/ntop/nDPI">nDPI source code</link> <link href="https://video.fosdem.org/2021/D.network/nemondpi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemondpi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10874.php">Submit feedback</link> </links> </event> <event id="11464"> <start>16:55</start> <duration>00:20</duration> <room>D.network</room> <slug>nemontopng</slug> <title>ntopng network monitoring and discovery</title> <subtitle>Network discovery with ntopng</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>This talk shows how ntopng, an open source monitoring application, can be profitably used to discover, characterise, classify and enforce network traffic policies.</p></abstract> <description><p>ntopng is an open-source passive traffic monitoring tool based on packet capture. These monitoring capabilities have been complemented with active device discovery for the purpose of characterising them (e.g. is this device a tablet, a TV or a PC?) and thus apply monitoring decisions (e.g. a printer should not do any bittorrent traffic, a router should not print). This talk covers passive and active techniques implemented by ntopng for discovering and classifying network devices. As well it shows how this information is used to create monitoring reports and enforce security policies. Finally the talk shows how selected devices can be both actively and passively monitored in order to implement a comprehensive monitoring solution.</p></description> <persons> <person id="7892">Matteo Biscosi</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemontopng.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemontopng.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11464.php">Submit feedback</link> </links> </event> <event id="11735"> <start>17:15</start> <duration>00:05</duration> <room>D.network</room> <slug>nemotimeseries</slug> <title>Time Series Service</title> <subtitle/> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>This is a lightning talk about an upcoming time series/Influxdb service open source project.</p></abstract> <description></description> <persons> <person id="8053">Thomas Suffel</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.network/nemotimeseries.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemotimeseries.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11735.php">Submit feedback</link> </links> </event> <event id="11451"> <start>17:20</start> <duration>00:40</duration> <room>D.network</room> <slug>nemorobotmk</slug> <title>RobotMK: Extend Checkmk with Robot Framework E2E tests</title> <subtitle>Why infrastructure monitoring is not enough</subtitle> <track>Network monitoring, discovery and inventory</track> <type>devroom</type> <language/> <abstract><p>Robotmk: How to extend the monitoring system Checkmk with checks from the user's perspective</p></abstract> <description><p>So you think you are comprehensively monitoring your business-critical applications? Are you using Nagios, Naemon, Icinga2, Checkmk et cetera for this?</p> <p>Then... let me say that, alas, you only rely on a hypothesis, because all these IT infrastructure monitoring tools have their natural limits.</p> <p>Robotmk extends the monitoring capabilities of Checkmk to the application level. It integrates the results of End2End tests done with Robot Framework - which is by far the most popular and versatile tool for automated testing.</p> <p>My talk first covers the basic concepts of Robot Framework and Checkmk. You will learn the added value by RobotMK and the different monitoring strategies it offers.</p> <p>Robot Framework/RobotMK has been chosen as the E2E monitoring solution for the application landscape of the swiss government.</p></description> <persons> <person id="7877">Simon Meggle</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/nemorobotmk/attachments/slides/4623/export/events/attachments/nemorobotmk/slides/4623/Robotmk_SimonMeggle_FOSDEM2021.pdf">Robotmk-SimonMeggle-FOSDEM2021</attachment> </attachments> <links> <link href="https://robotframework.org">Robot Framework</link> <link href="https://robotmk.org">Robotmk</link> <link href="https://checkmk.com">Checkmk</link> <link href="https://video.fosdem.org/2021/D.network/nemorobotmk.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.network/nemorobotmk.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11451.php">Submit feedback</link> </links> </event> </room> <room name="D.perl"> <event id="10853"> <start>10:00</start> <duration>00:15</duration> <room>D.perl</room> <slug>perl_raku_welcome</slug> <title>Welcome to the Perl & Raku devroom</title> <subtitle>Introduction, lineup, CoC, AoB</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>A brief introduction to the 2021 virtual FOSDEM devroom, talk overview, code of conduct and Community Affairs Team.</p> <p>Please ask any questions after the introduction - there will be 10 minutes for discussion.</p> <p>TPF Code of Conduct applies to our devroom</p></abstract> <description></description> <persons> <person id="1263">Juan Julián Merelo</person> <person id="7484">Stuart J Mackintosh</person> </persons> <attachments> </attachments> <links> <link href="https://www.perlfoundation.org/">The Perl Foundation</link> <link href="https://news.perlfoundation.org/post/fosdem-2021-call-for-papers">2021 FOSDEM call-for-papers</link> <link href="https://perlconference.us/tpc-2020-hou/standards-of-conduct/">TPF commuity Code of Conduct</link> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10853.php">Submit feedback</link> </links> </event> <event id="11418"> <start>10:15</start> <duration>01:00</duration> <room>D.perl</room> <slug>raku_sets_without_borders</slug> <title>Raku - Sets without Borders</title> <subtitle>Using set operators without limitations</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Set operators are often seen as a way to handle (semi-)complex mathematical issues, the only exists in Set objects. But set operators are so much more! This presentation will show you how to make use of set operators in your day-to-day code, making your code more concise, better readable and better maintainable.</p></abstract> <description></description> <persons> <person id="7859">Elizabeth Mattijsen</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/raku_sets_without_borders.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/raku_sets_without_borders.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11418.php">Submit feedback</link> </links> </event> <event id="11276"> <start>11:15</start> <duration>00:45</duration> <room>D.perl</room> <slug>future_of_oo_perl_cor</slug> <title>Cor - The Future of OO In Perl</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>I plan to bring modern OO to the Perl core. Modern enough that it leapfrogs the capabilities of the OO systems of many other dynamic languages. I’ve been stealing ideas from Stevan Little, Damian Conway, and anyone else foolish enough to leave their ideas lying around. I have no pride. Sawyer’s expressed interest and it's likely it will go into the Perl core, though with the upcoming Perl governance changes, the timeline is unclear.</p> <p>I’m not going to beat around the bush: writing object-oriented code in Perl is a shambolic mess. Some people want to use bless and hand-roll everything, others insist upon using Moo/se, while still others others reach for Class::Std, Spiffy, Class::Tiny, some in-house monstrosity their company uses and so on. You have to relearn it again and again and again. It's time to put this embarrassment aside.</p></abstract> <description></description> <persons> <person id="7736">Curtis Poe</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/future_of_oo_perl_cor/attachments/slides/4625/export/events/attachments/future_of_oo_perl_cor/slides/4625/oo_and_cor_fosdem.pptx">Bringing Modern OO to the Perl Core</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/future_of_oo_perl_cor.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/future_of_oo_perl_cor.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11276.php">Submit feedback</link> </links> </event> <event id="10894"> <start>12:00</start> <duration>00:35</duration> <room>D.perl</room> <slug>perl_raku_branding</slug> <title>Perl, Raku and TPF Branding: Next Steps</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>The TPF is passionate about helping our software communities flourish.</p> <p>This is an update from a legal and marketing perspective on the communities' brands and some suggested next steps to help them flourish.</p></abstract> <description></description> <persons> <person id="7550">Nigel Hamilton</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_branding.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_branding.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10894.php">Submit feedback</link> </links> </event> <event id="11349"> <start>12:35</start> <duration>00:40</duration> <room>D.perl</room> <slug>raku_dynamic_language_features</slug> <title>Raku: The Dynamic Language You Didn’t Know You Needed</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Raku is an amazing programming language, but many examples online are very complex and can be hard to follow. This talk highlights some amazing features of Raku, but assumes zero knowledge of the language.</p></abstract> <description></description> <persons> <person id="7736">Curtis Poe</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/raku_dynamic_language_features/attachments/slides/4621/export/events/attachments/raku_dynamic_language_features/slides/4621/raku_for_mortals_fosdem.pptx">Raku for Mere Mortals</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/raku_dynamic_language_features.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/raku_dynamic_language_features.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11349.php">Submit feedback</link> </links> </event> <event id="11302"> <start>13:15</start> <duration>00:20</duration> <room>D.perl</room> <slug>perl_raku_lessons</slug> <title>The one where a Perl+Raku programmer went to the Bar ... ...</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Spending a short time working as a barrister opened my eyes to a profession that is hundreds of years old. In comparison to the legal profession, the computing profession has barely got started!</p> <p>This talk is a mash up of when these two worlds collide. As professional Perl and Raku programmers are there any cool hacks we can borrow from the arcane world of barristers? Which practices could help power Perl and Raku for the next hundred years?</p></abstract> <description></description> <persons> <person id="7550">Nigel Hamilton</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_lessons.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/perl_raku_lessons.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11302.php">Submit feedback</link> </links> </event> <event id="11442"> <start>13:35</start> <duration>00:40</duration> <room>D.perl</room> <slug>perl_in_2025</slug> <title>Perl in 2025</title> <subtitle>What kind of Perl I expect to be writing in five years time</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>When Perl gained the ability to support custom keywords provided by modules it started down the path that CPAN modules would experiment with new language ideas. Already a number of such modules exist, and it is likely this idea will continue to develop. What new ideas might turn up in the next few years, and will any of them evolve to become parts of the actual core language?</p></abstract> <description><p>Already we have real exception-handling <code>try/catch</code> syntax provided by <a href="https://metacpan.org/pod/Syntax::Keyword::Try">Syntax::Keyword::Try</a>, asynchronous code flow <code>async/await</code> by <a href="https://metacpan.org/pod/Future::AsyncAwait">Future::AsyncAwait</a>, and a still-experimental object system in <a href="https://metacpan.org/pod/Object::Pad">Object::Pad</a>. There are still many other commonly-requested or discussed features such as some sort of conditional case matching, multiple dispatch of functions or methods, or ideas around type assertions that could be applied by keywords as well.</p> <p>At the same time, as these existing modules continue to provide useful semantics and gain more acceptance across CPAN authors and the wider community, we can begin to look at whether they can somehow be migrated into the core language entirely, becoming a true native part of Perl syntax.</p></description> <persons> <person id="7872">Paul Evans</person> </persons> <attachments> </attachments> <links> <link href="https://docs.google.com/presentation/d/1rtS-OwnSjV5pJS8cREZ587MdP3sWlsmNfdg5VPaqVt8">Slides</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/D.perl/perl_in_2025.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/perl_in_2025.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11442.php">Submit feedback</link> </links> </event> <event id="11144"> <start>14:15</start> <duration>00:15</duration> <room>D.perl</room> <slug>supporting_perl_beginners</slug> <title>What support do Perl beginners need?</title> <subtitle>The results of a survey run by The Perl Foundation to determine how best to provide support to people finding their feet with Perl</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Are you dying to help people new to Perl, but have no idea where to start? With guidance and support of the The Perl Foundation I’ve run a <a href="https://news.perlfoundation.org/post/newperluserssurvey">survey</a> through January 2021 to find out who the Perl beginners are, and the type of help they feel they need whether it’s through real-time chat, mentoring, tutorials - or something we hadn’t even thought of! Based on the information we’ve got from the survey, you’re welcome to get involved in the next steps of putting together the support they need.</p></abstract> <description></description> <persons> <person id="7740">Andrew Solomon</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/supporting_perl_beginners.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/supporting_perl_beginners.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11144.php">Submit feedback</link> </links> </event> <event id="11247"> <start>15:20</start> <duration>01:00</duration> <room>D.perl</room> <slug>raku_digital_audio_das_server</slug> <title>Programming Digital Audio Server (DAS) backend with Raku</title> <subtitle>JUCE+Raku as the backend for Linux driven web audio services</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Musicians, producers and composers use digital audio workstations (DAW) in daily work. You've probably seen beautiful photos from recording studios: a sound engineer is sitting in front of several monitors with multi track recording application windows and dialogs?! This is the DAW.</p> <p>But what's about to run DAS (Digital Audio Server): the server instance with DAW benefits + multi client access from web, compatibility with popular cloud services, FOSS and Raku-driven backend.</p> <p>In this lecture we will consider DAS backend as a JRP pipeline — JUCE + RAKU + PHEIX, focus on each component and demonstrate Raku as the tool for unusual daily programming tasks.</p></abstract> <description><p>When we talk about sound processing on the remote server or cloud, we assume the set of various web audio services: AI composers, recognizers (stylistic classifiers, plagiarism scanners, audio content reviewers), co-creativity, etc... Each of these services bases on headless processing and mixing audio backend. Actually this is a Digital Audio Server (similar to a DAW), providing multitrack recording, mixing and processing in real time via API.</p> <p>The fundamental differences between DAS and DAW are: Linux platform, no GUI and the TCP/IP stack as the only data transport. In this paradigm we can define DAS software as Linux + headless audio backend.</p> <p>Frontend provides visualization of processes on the backend, works in the context of web browser on client workstation and interacts with the backend via, for example, REST-API.</p> <p>This talk defines the DAS headless audio backend as a JRP pipeline — JUCE + RAKU + PHEIX.</p> <p>The JUCE framework has the large set of the tools and features required for audio processing. It is one of the most well-documented, actively evolved and powerful audio frameworks with the Linux support.</p> <p>The PHEIX content management system is used to interact with the frontend. It is currently the only CMS with Ethereum Blockchain native support. For the audio industry, in terms of copyright protection, this is definitely a must-have solution — since all metadata passing through the Digital Audio Server can be stored in a distributed ledger (both private and public, for example, the Görli network) and used for copyright disputes in future.</p> <p>PHEIX is written in the RAKU language: the most promising and at the same time underrated programming language. In JRP concept — RAKU is the glue for the DAS backend components on the one hand, and the high-level adapter for the JUCE application on the other.</p> <p>In the practical part of this lecture, we will consider the sample web audio service for frequency analysis and audio content visualization. The example demonstrates methods for creating and deploying a JUCE application as a shared library on a Linux platform. We will pass the step-by-step dev process of the RAKU application-level module with a JUCE bindings, make an integration into PHEIX and try it all from the simple frontend.</p> <p>This lecture primarily aimed at architects and programmers of web audio services, JUCE community members with Linux background, and RAKU enthusiasts who are involved in digital audio processing.</p></description> <persons> <person id="7555">Konstantin Nakhov</person> </persons> <attachments> </attachments> <links> <link href="https://pheix.org/embedded/page/1611521427">Programming Digital Audio Server backend with Raku (online presentation)</link> <link href="https://narkhov.pro/creating-secure-decentralized-content-management-systems-on-ethereum-blockchain-with-raku.html">Secure Raku CMSs</link> <link href="https://narkhov.pro/querying-the-ethereum-blockchain-nodes-with-raku-gpw2020.html">Raku and Ethereum blockchain - overview</link> <link href="https://narkhov.pro/vzaimodejstvie-s-uzlami-ethereum-iz-prilozhenij-na-yazyke-raku.html">Raku and Ethereum blockchain - workshop (RU)</link> <link href="https://narkhov.pro/swiss-perl-workshop-2019.html">Pheix CMS overview</link> <link href="https://narkhov.pro/video-s-dvadcatogo-yubilejnogo-mitapa-soobshchestva-blokchejn-razrabotchikov-sankt-peterburga.html">Ethereum Parity</link> <link href="https://narkhov.pro/raku-advent-calendar-2020.html">Modern templating with Raku</link> <link href="https://video.fosdem.org/2021/D.perl/raku_digital_audio_das_server.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/raku_digital_audio_das_server.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11247.php">Submit feedback</link> </links> </event> <event id="11438"> <start>17:00</start> <duration>01:00</duration> <room>D.perl</room> <slug>raku_unexpected_simplicity</slug> <title>Surprisingly Unsurprising</title> <subtitle>The joy of unexpected simplicity</subtitle> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Raku is a programming language that spent years in development under a philosophy of torturing the language implementor developer for the sake of the language user. This results in the language and its core classes behaving in a way that it is surprising — particularly to those coming from other languages — but also intuitive. The philosophy also carries over to those who develop modules as well, particularly as certain features in Raku allow for modules to integrate themselves deeply (and often transparently) into the language.</p></abstract> <description><p>This lecture will provide examples of ways that Raku's elements work together to create surprisingly easy and intuitive ways to do things by showcasing modules like Cro, Red, and DateTime::Timezones. It will then show how module authors have managed to recreate much of the same and provide recommendations for future module authors on how to best integrate with Raku to surprise the user through apparent mundanity. This will be done first by showing how one could recreate the <code>gather</code>/<code>take</code> structure, and then creating a more practical module that replaces the <code>.say</code> with localized variants while inside of a special block.</p></description> <persons> <person id="7870">Matthew Stuckwisch</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/raku_unexpected_simplicity/attachments/slides/4646/export/events/attachments/raku_unexpected_simplicity/slides/4646/Surprisingly_Unsurprising_Slides.pdf">Surprisingly Unsurprising Slides</attachment> </attachments> <links> <link href="https://raku.org">Raku homepage</link> <link href="https://cro.services/">Cro module</link> <link href="https://github.com/FCO/Red">Red module</link> <link href="https://github.com/alabamenhu/IntlTokenNumber">Intl::Token::Number module</link> <link href="https://github.com/lizmat/silently">silently module</link> <link href="https://video.fosdem.org/2021/D.perl/raku_unexpected_simplicity.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/raku_unexpected_simplicity.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11438.php">Submit feedback</link> </links> </event> </room> <room name="D.postgresql"> <event id="11446"> <start>10:00</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_waffles</slug> <title>PostgreSQL Waffles</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>FOSDEM would not be FOSDEM without waffles... What if we coud use Postgres to make waffles ?</p> <p>During this talk we will use the excuse of FOSDEM and Brussels to create an extension that will look for the best waffle recipe and use Postgres to display it. During this journey, on top of making delicious waffles, we will : - understand what an extension is - find the steps needed to create an extension - make this work all together - install our extension - display the best Waffle recipe</p></abstract> <description></description> <persons> <person id="7875">Lætitia Avrot</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_waffles.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_waffles.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11446.php">Submit feedback</link> </links> </event> <event id="11042"> <start>11:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_foreign_data_wrapper_study_for_schemaless_databases</slug> <title>Foreign data wrapper study for schemaless databases</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>In order to connect to external databases, PostgreSQL supports Foreign Data Wrappers (FDW), and there are already many FDWs. However, among of FDWs have various restrictions preventing utilization of external databases features. As such a restriction, FDWs for schemaless databases need to change the foreign table definition, when some columns are added in remote database. This restriction can not take full advantage of the schemaless feature. In this time, we considered implementing FDW that does not require changing the external table when columns are added on external database. I would like to introduce this study based on the time-series database InfluxDB as schemaless database.</p></abstract> <description></description> <persons> <person id="7680">Hiroki Kumagai</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_foreign_data_wrapper_study_for_schemaless_databases/attachments/slides/4762/export/events/attachments/postgresql_foreign_data_wrapper_study_for_schemaless_databases/slides/4762/fosdem2021_kumagai.pdf">Foreign data wrapper study for schemaless databases</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_foreign_data_wrapper_study_for_schemaless_databases.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_foreign_data_wrapper_study_for_schemaless_databases.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11042.php">Submit feedback</link> </links> </event> <event id="11021"> <start>11:30</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_database_schema_management_for_lazybones_from_chaos_to_heaven</slug> <title>Database schema management for lazybones: from chaos to heaven</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Performing schema changes on a live system is challenging because it often involves high level of locks leading to downtime. It becomes harder and harder when the number of databases to manage raise continuously. At OVHcloud, a major cloud computing provider in Europe, we used to manage such changes approximately. With our startup mindset, we used to yell "Who can ALTER my database?" and hope for someone sitting next to you to answer. Database engineers were used to copy paste bunch of SQL statements on production databases directly. What happens if a bad character is inserted? What if there is no transaction in the script? What if you run the migration on the wrong database? It works, sometimes. Lots of tasks are boring. This one was on top of our list. In this talk, you will discover our feedback on how we have reduced efforts, time and human errors by automating databases schema migrations using git, code reviews, CI/CD, migration tools, service discovery and automation systems at the OVHcloud scale.</p></abstract> <description></description> <persons> <person id="7671">Julien Riou</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_database_schema_management_for_lazybones_from_chaos_to_heaven/attachments/slides/4317/export/events/attachments/postgresql_database_schema_management_for_lazybones_from_chaos_to_heaven/slides/4317/fosdem21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_schema_management_for_lazybones_from_chaos_to_heaven.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_schema_management_for_lazybones_from_chaos_to_heaven.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11021.php">Submit feedback</link> </links> </event> <event id="11267"> <start>12:30</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_caveats_of_replication</slug> <title>Caveats of replication</title> <subtitle>in PostgreSQL HA clusters and CDC systems</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Synchronous or quorum replication is the basis of the modern HA cluster. At Yandex.Cloud we are using replication-based HA PostgreSQL clusters for many years. In this talk, we want to introduce basic concepts and highlight caveats that seem important to us.</p></abstract> <description></description> <persons> <person id="7626">Andrey Borodin</person> <person id="7789">Evgeny Dyukov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_caveats_of_replication/attachments/slides/4365/export/events/attachments/postgresql_caveats_of_replication/slides/4365/sides.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_caveats_of_replication.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_caveats_of_replication.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11267.php">Submit feedback</link> </links> </event> <event id="11496"> <start>13:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_the_story_about_the_migration</slug> <title>The Story About The Migration</title> <subtitle>The story about a challenging PoC that proved that Postgres can achieve the same performance as Oracle Exadata</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>In this talk we want to present how Microsoft team composed of people from two different teams approached the project and solved the migration issues using ora2pg and was able to prove that Postgres Single Server can perform equally well as Oracle Exadata. We will present our ways of working and also some main technical challenges that we faced including migration of BULK COLLECT’s, hierarchical queries, refcursors and others more complicated Oracle constructs.</p></abstract> <description><p>The story about a challenging PoC that proved that Postgres can achieve the same performance as Oracle Exadata. The schema that was migrated wasn’t the simplest one you might see. It was quite the opposite. The code was loaded with dynamic queries, BULK COLLECT’s, nested loops, CONNECT BY statements, global variables and lot of dependencies. Ora2pg did a great job converting the schema but left a lot of work to do manually. Also estimates produced by the tool were highly inaccurate since the logic required not the migration but total re-architecture of the code. In this talk we want to present how Microsoft team composed of people from two different teams approached the project and solved the migration issues using ora2pg and was able to prove that Postgres Single Server can perform equally well as Oracle Exadata. We will present our ways of working and also some main technical challenges that we faced including: • How estimates do (not) work • How we handled BULK COLLECT’s • Why we got rid of refcursors • How we got stuck with testing of one the packages and how the help from a friend solved the problem • How we handled hierarchical queries and drilling down the hierarchy</p></description> <persons> <person id="7690">Alicja Kucharczyk</person> <person id="7990">Sushant Pandey</person> </persons> <attachments> </attachments> <links> <link href="https://speakerdeck.com/awdotiaromanowna/the-story-about-the-migration">presentation deck</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_the_story_about_the_migration.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_the_story_about_the_migration.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11496.php">Submit feedback</link> </links> </event> <event id="11227"> <start>14:00</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgres_development_environment</slug> <title>A PostgreSQL development environment</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Over many years of PostgreSQL development I have collected a lot of information about setting up a development environment and assorted notes about the development process that would be worth sharing. If you are new to PostgreSQL development, this can help you get set up. If you are an experienced developer, we can compare notes.</p></abstract> <description><p>Topics covered include:</p> <ul> <li>git setup</li> <li>shell setup</li> <li>editor setup</li> <li>tags</li> <li>documentation</li> <li>using configure and make well</li> <li>core files, backtraces</li> <li>running tests</li> <li>test coverage analysis</li> <li>profiling</li> <li>sending patches</li> <li>reviewing patches</li> <li>dealing with odd platforms</li> <li>dealing with multiple branches</li> </ul> </description> <persons> <person id="7734">Peter Eisentraut</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgres_development_environment/attachments/slides/4528/export/events/attachments/postgres_development_environment/slides/4528/A_PostgreSQL_development_environment.pdf">slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_development_environment.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_development_environment.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11227.php">Submit feedback</link> </links> </event> <event id="11517"> <start>15:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgres_query_optimization</slug> <title>Adaptive Query Optimization in PostgreSQL: approaches and challenges</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Query optimizer is one of the key components which determines DBMS performance under OLAP workload. Nevertheless, it was shown that query optimizer often fails to find a good execution plan because of incorrect cardinality estimations. The perspective approach to improve cardinality estimation quality is adaptive query optimization. In contrast with classical approaches, which rely on the precomputed histograms, it utilizes the execution statistics of the previously executed queries to refine cardinality estimations. However, the original AQO uses a modification of kNN machine learning method, which implies a number of limitations on the AQO applicability. In the current lecture we will make an introduction to the kNN-based AQO. Afterwards, we will present you our novel neural network-based AQO which can potentially overcome the limitations of the kNN-based AQO, and will demonstrate the first experimental results.</p></abstract> <description></description> <persons> <person id="7904">Oleg Ivanov</person> <person id="7910">Yerzhaisang Taskali</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgres_query_optimization/attachments/slides/4600/export/events/attachments/postgres_query_optimization/slides/4600/AQO_NN_slides.pdf">Presentation slides</attachment> </attachments> <links> <link href="https://github.com/postgrespro/aqo">Adaptive Query Optimization code</link> <link href="https://arxiv.org/pdf/1711.08330.pdf">Adaptive Cardinality Estimation</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_query_optimization.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_query_optimization.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11517.php">Submit feedback</link> </links> </event> <event id="11481"> <start>15:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_speed_improvements_and_new_use_scenarios_for_spgist_access_method</slug> <title>Performance improvements and new use scenarios for SPGiST access method</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>In the PostgreSQL core, we have the SPGiST index, which is more lightweight and significantly faster than GiST for the supported data types. In many cases, it is the most suitable option for geometric data like points, boxes, etc. An easy way to increase the selection speed is to eliminate the need for the results recheck by a table. But with the index being single-column by design we could not enjoy index-only scans for multicolumn queries.</p> <p>The talk covers my improvement of the SPGiST access method. Non-key columns can now be included in a single key-column index in a way, similar to that have in GiST and B-tree. This adds the ability to make fast index-only scans for multicolumn queries. Also, non-key columns with data types without SPGiST opclass can be added, which creates an opportunity for the new use cases. In my presentation, I will justify the modification, discuss new use cases of GiST and SPGiST indexes, and share some performance benchmarks.</p></abstract> <description></description> <persons> <person id="7894">Pavel Borisov</person> </persons> <attachments> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/postgresql_speed_improvements_and_new_use_scenarios_for_spgist_access_method/attachments/audio/4456/export/events/attachments/postgresql_speed_improvements_and_new_use_scenarios_for_spgist_access_method/audio/4456/spgist_fosdem2021.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_speed_improvements_and_new_use_scenarios_for_spgist_access_method.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_speed_improvements_and_new_use_scenarios_for_spgist_access_method.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11481.php">Submit feedback</link> </links> </event> <event id="11012"> <start>16:00</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_postgres_and_the_artificial_intelligence_landscape</slug> <title>Postgres and the Artificial Intelligence Landscape</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Artificial intelligence, machine learning, and deep learning are intertwined capabilities that attempt to solve problems that defy traditional computational solutions — problems include fraud detection, voice recognition, and search result recommendations. While they defy simple computation, they are computationally expensive, involving computation of perhaps millions of probabilities and weights. While these computations can be done outside of the database, there are specific advantages of doing machine learning inside the database, close to where the data is stored. This presentation explains how to do machine learning inside the Postgres database.</p></abstract> <description></description> <persons> <person id="3126">Bruce Momjian</person> </persons> <attachments> </attachments> <links> <link href="https://momjian.us/main/writings/pgsql/AI.pdf">slides</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgres_and_the_artificial_intelligence_landscape.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgres_and_the_artificial_intelligence_landscape.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11012.php">Submit feedback</link> </links> </event> <event id="11523"> <start>17:00</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_database_performance_at_gitlab_com</slug> <title>Database Performance at GitLab.com</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>GitLab.com has an aggressive SLA, that made us research and develop solutions to improve our performance in all directions, on one of the most important components in our architecture, the PostgreSQL relational database. During this talk, we would like to invite you to explore the details about how we improve the performance of the main PostgreSQL relational database of GitLab.com in a high demanding environment with a load between 40k to 60k transactions per sec.</p> <p>We would share with you our projects, processes, and tools, and all tools being developed by our partner Postgres.ai, including the main one, Database Lab.</p></abstract> <description></description> <persons> <person id="7767">Nikolay Samokhvalov</person> <person id="7970">Jose Finotto</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_database_performance_at_gitlab_com/attachments/slides/4363/export/events/attachments/postgresql_database_performance_at_gitlab_com/slides/4363/Postgresql_at_Gitlab_com_FOSDEM2021.pdf">Database Performance at Gitlab.com (FOSDEM2021)</attachment> </attachments> <links> <link href="https://gitlab.com">GitLab.com</link> <link href="https://postgres.ai">Postgres.ai</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_performance_at_gitlab_com.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_performance_at_gitlab_com.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11523.php">Submit feedback</link> </links> </event> </room> <room name="D.power"> <event id="11761"> <start>10:00</start> <duration>00:15</duration> <room>D.power</room> <slug>introtothepowerdevroom</slug> <title>Intro to the OpenPOWER DevRoom</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>This will be an introduction to the OpenPOWER DevRoom, it will briefly explain the OpenPOWER Foundation, the changes we're making and how we want to interact more with the open source communities, for both hardware and software. And introduce the DevRoom for the day.</p></abstract> <description></description> <persons> <person id="6782">Toshaan Bharvani</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.power/introtothepowerdevroom.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/introtothepowerdevroom.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11761.php">Submit feedback</link> </links> </event> <event id="11793"> <start>10:15</start> <duration>00:45</duration> <room>D.power</room> <slug>microwatt_grows_up</slug> <title>Microwatt grows up</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>Microwatt is an open-source POWER CPU implementation which can run on cheap FPGAs, bringing new level of accessibility to POWER. In the last year, we have added to Microwatt features such as a memory management unit, privilege modes, interrupts, a floating-point unit, an interrupt controller and a level-2 cache, so that now it can boot Linux. This presentation will outline these new additions to Microwatt and talk about some interesting applications for Microwatt.</p></abstract> <description><p>Microwatt is an open-source POWER CPU implementation which can run on cheap FPGAs, bringing new level of accessibility to POWER. In the last year, we have added to Microwatt features such as a memory management unit, privilege modes, interrupts, a floating-point unit, an interrupt controller and a level-2 cache, so that now it can boot Linux. This presentation will outline these new additions to Microwatt and talk about some interesting applications for Microwatt.</p></description> <persons> <person id="8297">Paul Mackerras</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.power/microwatt_grows_up.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/microwatt_grows_up.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11793.php">Submit feedback</link> </links> </event> <event id="11110"> <start>11:00</start> <duration>00:30</duration> <room>D.power</room> <slug>statusopenpowercoreboot</slug> <title>Status of OpenPOWER support in coreboot</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>The presentation describes efforts of porting OpenPOWER architecture firmware to open source firmware framework - coreboot. Although OpenPOWER firmware has been open-sourced some time ago, it may still benefit by implementing the support in coreboot. The differences and benefits of the OpenPOWER firmware and coreboot will be mentioned as well as current progress of work and challenges faced during development.</p></abstract> <description><p>The IBM POWERPC architecture exists since early 90. Many may also know that the POWER processors were used in Apple Macintosh between 1994-2006. Today the IBM goes forward with their POWER processors releasing newer and newer processor families like POWER9 and even POWER10 recently. Modern POWER architecture features very high computing performance with multi-core processors which makes them ideal for servers and computing clusters. They also are great as a workstation, for example Raptor Computing Systems Talos II (POWER9), which is the reference platform used during the coreboot port. A huge advantage of OpenPOWER architecture is its openness. Compared to modern x86 architecture which is full of binary blobs, POWER can easily rival with x86 domination and dethrone it from the most common used processors architecture in modern computers. Although the OpenPOWER firmware and documentation is open-source the development of coreboot for POWER9 is very challenging and full of unknowns. In this presentation you will hear about the current progress of the work on coreboot POWER9 support, what problems we face and how much effort it takes to enable new architecture in coreboot.</p></description> <persons> <person id="7269">Michał Żygowski</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/statusopenpowercoreboot/attachments/slides/4557/export/events/attachments/statusopenpowercoreboot/slides/4557/Status_of_OpenPOWER_support_in_coreboot.pdf">Status of OpenPOWER support in coreboot - slides</attachment> </attachments> <links> <link href="https://github.com/3mdeb/openpower-coreboot-docs">OpenPOWER coreboot port documentation and developer notes</link> <link href="https://video.fosdem.org/2021/D.power/statusopenpowercoreboot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/statusopenpowercoreboot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11110.php">Submit feedback</link> </links> </event> <event id="10861"> <start>11:30</start> <duration>00:45</duration> <room>D.power</room> <slug>libresocproject</slug> <title>The LibreSOC Project</title> <subtitle>a hybrid 3D CPU / VPU / GPU based on OpenPOWER</subtitle> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>The LibreSOC Project is a hybrid 3D CPU, GPU and VPU, designed for use in mass-volume products such as smartphones netbooks tablets and Industrial SBC IoT. As such, user trust and reduced product development costs are both equally important. Both these goal are achieved by providing full source right to the bedrock (Hardware HDL, bootloader, drivers, everything) and deploying strict transparent "Libre" development criteria. The project has EUR 350,000 funding from NLnet under their PET Programme and is actively seeking developers.</p></abstract> <description><p>Analysis of SoCs (system-on-a-chip) used for embedded, mobile and IoT shows a decade-long disturbing persistent trend that is almost 100% without exception across hundreds of integrated processors: not a single recent SoC with modern performance in the past 10 years can be used 100% effectively without at least one closed source driver. The choices for developers and end-users alike is very stark: go without the GPU, or without the VPU, or without some key critical functionality that would penalise performance or business effectiveness entirely, or compromise on integrity and end-user trust, and reduce product reliability by delivering closed source binary-only drivers.</p> <p>Even the highly-regarded Freescale/NXP iMX.6 which uses Etnaviv for the GPU, and has a 19-year Long-Term Supply committment, is still burdened by closed source 3rd party binary-only drivers for the VPU. Huge multi-man-year efforts consuming precious FOSS engineer resources that could be productively deployed elsewhere are wasted on reverse-engineering these closed SoCs.</p> <p>The kicker: unlike a Desktop system where swapping out the Graphics Card is a 15 minute job, you cannot replace the VPU or GPU or crypto-block on an integrated System-on-a-Chip, and you certainly cannot disable the boot-level DRM that prevents booting anything other than pre-approved signed versions of u-boot (Otherwise fantastic Windows 10 ARM laptop products using the Tegra processor quickly became landfill due to the BIOS-level DRM locking that chained right through to applications. applications that could only be downloaded once a Microsoft online account had been registered)</p> <p>This situation is one that is not deliberate: it's a product of how SoCs are put together. It is simply easier for Fabless Semi Companies to license off-the-shelf solutions (GPU hard macro, VPU hard macro) with their associated closed source secretive drivers than it is to tackle what is effectively, to their perspective, a hindrance to sales and profits: issues faced by end-users who know nothing about source code or the close relationship that source code has to "Right to Repair" and security vulnerabilities.</p> <p>Unbelievably, then, after more than 10 years of waiting for even just one SoC manufacturer to come out with an SoC that has full source code for its GPU, VPU, bootloader and all other integrated HDL, the solution is to design and bring to market an SoC that does exactly that, developing integrated 3D GPU and VPU capability into the same and providing a 100% committment to provide full source, right to the bedrock: HDL, bootloader, drivers, OS: everything.</p> <p>This huge project requires concerted community effort and coordination with many stakeholders. Significant care is taken to appraise the OpenPOWER Foundation of the ongoing efforts and enhancements being developed on top of OpenPOWER, with a view to proposing the 3D and Video instruction enhancements to the OpenPOWER Foundation for review.</p></description> <persons> <person id="3743">Luke Kenneth Casson Leighton</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/libresocproject/attachments/paper/4569/export/events/attachments/libresocproject/paper/4569/fosdem2021_libresoc.pdf">Slides accompanying talk</attachment> </attachments> <links> <link href="https://libre-soc.org">main developer website</link> <link href="https://git.libre-soc.org">LibreSOC git source repositories</link> <link href="https://video.fosdem.org/2021/D.power/libresocproject.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/libresocproject.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10861.php">Submit feedback</link> </links> </event> <event id="11760"> <start>12:15</start> <duration>00:45</duration> <room>D.power</room> <slug>switchtoopenpowerhardware</slug> <title>It's the right time to switch computing to Open Hardware Power Architecture</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>The game has changed, FOSS OS and software is everywhere running on every CPU architectures and devices. Even mass consumer computer manufactures are producing with "new" CPU architectures. In 2020 thanks to the Open Power ISA have opened Power Architecture new Chips. It's the right time to have (back) Power Architecture for Open Source Hardware lovers, in educations, makers, hobbyists, consumers and gaming electronics. We will see concretes present projects and future options.</p></abstract> <description><p>This year IBM released the A2I,A20 POWER processor cores design (softcore) licensed with Creative Common CC-BY 4.0 and associated FPGA environment. In 2019 IBM opened the POWER Instruction Set Architecture (ISA) so now others chip manufactures could produce Power Architecture royalty-free chips . We discover how the FOSS have permitted to manufacturers to adopt newer CPU Architectures and how will be redesigned electronic adopting Open Source Hardware for motherboard and CPU design. We will focus on Open Hardware concretes projects around Power Architecture like the Power Architecture Notebook project, Libre-SOC project ( aims to deliver a physical POWER compliant SOC with a CPU, GPU, VPU, and DDR controller and others projects of cheap Power Architecture motherboards.</p></description> <persons> <person id="8223">Roberto Innocenti</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/switchtoopenpowerhardware/attachments/slides/4607/export/events/attachments/switchtoopenpowerhardware/slides/4607/Fosdem_2021_Switch_OH_PowerArchitecture.pdf">It's the right time to switch computing to Open Hardware Power Architecture</attachment> </attachments> <links> <link href="https://powerprogress.org/">Power Progress Community association</link> <link href="https://www.powerpc-notebook.org">GNU/Linux Open Hardware PowerPC notebook project</link> <link href="https://video.fosdem.org/2021/D.power/switchtoopenpowerhardware.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/switchtoopenpowerhardware.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11760.php">Submit feedback</link> </links> </event> <event id="11759"> <start>13:00</start> <duration>00:45</duration> <room>D.power</room> <slug>voidlinuxlittleendian</slug> <title>Void Linux: we heard you like little endian</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>Void's POWER architecture port has been progressing steadily since the last OpenPOWER Summit EU talk in 2019. Recently we introduced a completely new 32-bit little endian port, which will be a big part of this talk's focus, and is a first among Linux distributions. I will not stay there though - we have more to cover, including stuff like Chromium and Electron applications in repos, faster POWER crypto in LibreSSL, reworked crosstoolchains, stable support for newest AMD GPUs, and our big endian variants are also receiving attention, including properly clearing up the 64-bit ABI situation.</p></abstract> <description><p>Void Linux is an independent, rolling release, general purpose Linux distribution (leaning towards desktop/workstation focus) originally created in 2008 on the x86_64 architecture as a testbed for its own XBPS package manager. Over time, it has received a variety of ports, including 32-bit and 64-bit ARM, MIPS, and eventually POWER and PowerPC. It has variants for 64 and 32 bits, little and big endian, and glibc and musl C standard libraries. Most recently it has received an experimental 32-bit little endian port, which is a first among Linux distributions.</p> <p>I will be focusing partially on the new port, and partially on other news in the distribution since my last talk I gave at OpenPOWER Summit EU 2019. I will explain our goals with the new port, as well as our plans. Additionally, the future of the distribution will also be covered, as well as currently remaining issues and blockers that prevent us from achieving that.</p></description> <persons> <person id="2589">Daniel Kolesa</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/voidlinuxlittleendian/attachments/slides/4462/export/events/attachments/voidlinuxlittleendian/slides/4462/void_ppc_update.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.power/voidlinuxlittleendian.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/voidlinuxlittleendian.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11759.php">Submit feedback</link> </links> </event> <event id="10903"> <start>13:45</start> <duration>01:00</duration> <room>D.power</room> <slug>the_libresoc_project_simple_v_vectorisation</slug> <title>The LibreSOC Project: Simple-V Vectorisation</title> <subtitle>why we decided to invent a new Vector system on top of OpenPOWER</subtitle> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>The LibreSOC hybrid 3D CPU-VPU-GPU is intended to provide a significant reduction in both hardware complexity, software (driver) complexity and systems integration primarily initially for embedded and mobile environments.</p> <p>Larrabee or more specifically Nyuzi showed that a software-only "Traditional Vector Processor" architecture makes for a fantastic High Performance Compute Engine that, unfortunately, also turns out to have only 25% the performance/watt of current competitive embedded mobile GPUs. Not only that but SIMD, despite being (seductively) easy to implement by hardware engineers, has been shown to have harmful consequences at the software level (setup and loop end cleanup). A recent patch to glibc6 to add POWER9 VSX strncpy was a whopping 250 hand-crafted assembly instructions, where its equivalent using Cray Vector principles is around 14.</p> <p>All of this was solved decades ago by Cray Vector designs, and then forgotten. Only now is variable-length Vectorisation being rediscovered and deployed in modern architectures: RISC-V RVV, ARM SVE2 and also Simple-V. This talk therefore goes through the background and concepts behind Simple-V. Thanks to a grant from NLnet, SV will be formally documented and proposed formally as an extension to OpenPOWER, for review by the OpenPOWER Foundation.</p></abstract> <description></description> <persons> <person id="3743">Luke Kenneth Casson Leighton</person> </persons> <attachments> </attachments> <links> <link href="https://www.sigarch.org/simd-instructions-considered-harmful/">SIMD considered harmful</link> <link href="https://jbush001.github.io/">Jeff Bush's Nyuzi diary</link> <link href="https://libre-soc.org/openpower/sv/">SimpleV for OpenPOWER (main hub page)</link> <link href="https://libre-soc.org/openpower/sv/overview/">An overview of SV</link> <link href="https://video.fosdem.org/2021/D.power/the_libresoc_project_simple_v_vectorisation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/the_libresoc_project_simple_v_vectorisation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10903.php">Submit feedback</link> </links> </event> <event id="11862"> <start>16:30</start> <duration>00:30</duration> <room>D.power</room> <slug>opfcommunity</slug> <title>OpenPOWER Foundation Community</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>James Kulina, Executive Director of OpenPOWER Foundation will be giving introduction to the Foundation and outlook for 2021 and beyond.</p></abstract> <description></description> <persons> <person id="8377">James Kulina</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/opfcommunity/attachments/slides/4571/export/events/attachments/opfcommunity/slides/4571/OpenPOWER_FOSDEM_Intro_2021.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.power/opfcommunity.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/opfcommunity.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11862.php">Submit feedback</link> </links> </event> <event id="11858"> <start>17:00</start> <duration>00:30</duration> <room>D.power</room> <slug>opence</slug> <title>Open-CE the community driven software distribution of machine learning tools</title> <subtitle/> <track>OpenPOWER</track> <type>devroom</type> <language/> <abstract><p>Open-CE the community driven software distribution of machine learning tools that is built on standard Linux platforms across different architectures. Open-CE provides a quick easy pathway to using NVIDIA GPU technologies with tools like Tensorflow, Pytorch, XGBoost, and other related packages and dependencies.These tools are built using the standard conda environment to ensure easy access and deployment. The Open Source Lab (OSUOSL) and Center for Genome Research and Biocomputing (CGRB) partner with IBM and OpenPOWER in order to provide a download resources around Open-CE supporting both x86 and PPC64LE machines.</p></abstract> <description><p>Open-CE the community driven software distribution of machine learning tools that is built on standard Linux platforms across different architectures. Open-CE provides a quick easy pathway to using NVIDIA GPU technologies with tools like Tensorflow, Pytorch, XGBoost, and other related packages and dependencies.These tools are built using the standard conda environment to ensure easy access and deployment. The Open Source Lab (OSUOSL) and Center for Genome Research and Biocomputing (CGRB) partner with IBM and OpenPOWER in order to provide a download resources around Open-CE supporting both x86 and PPC64LE machines.</p></description> <persons> <person id="8364">Christopher Sullivan</person> </persons> <attachments> </attachments> <links> <link href="https://osuosl.org/services/powerdev/opence/">OSU Precompiled Conda Package</link> <link href="https://github.com/open-ce">Open-CE Github Page</link> <link href="https://video.fosdem.org/2021/D.power/opence.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.power/opence.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11858.php">Submit feedback</link> </links> </event> </room> <room name="D.python"> </room> <room name="D.radio"> </room> <room name="D.research"> <event id="11272"> <start>10:00</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_open_street_maps</slug> <title>OpenStreetMap Features as Proxy to Socio-Economic Indicators: A Network Theory Approach</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>As technology advances, so as our maps. In this talk, we will explore the ever growing open map data that can help us understand, validate, and explore socio-economic indicators with the aid of network theory and machine learning techniques.</p></abstract> <description><p>Participants will learn what data are available in OpenStreetMap that can be used to profile cities and municipalities for socio-economic conditions based on proxy variables. These variables include existence of businesses through establishments and buildings, road network densities and complexities, topographical features, vegetation and water indices, etc. Machine learning models will be used for categorization aided by graph metrics. Results will be cross validated with existing city/municipality tags.</p></description> <persons> <person id="7791">Albert Yumol</person> </persons> <attachments> </attachments> <links> <link href="https://validate.video.fosdem.org/27dd8c4eeea0e76a175a9938b24d4f85b500539e0b4b03d9d34cfcb74c5a3e7c.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_open_street_maps.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_open_street_maps.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11272.php">Submit feedback</link> </links> </event> <event id="11068"> <start>10:25</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_crowdsourcing_dh</slug> <title>Combining crowdsourcing and expertise in Digital Humanities</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>We will describe in this talk how to combine crowdsourcing approaches with scientific expertise in Digital Humanities projects, and some of the issues that are at stake. The talk will focus on Recital, a Digital Humanities project aiming at gaining insights on 18th-century theater through the analysis of its accounting books. It combines crowdsourcing, using the ScribeAPI free software, producing results that need to be evaluated and validated by scientific expertise, which requires appropriate visualisation and analysis tooling.</p></abstract> <description></description> <persons> <person id="6901">Olivier Aubert</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_crowdsourcing_dh/attachments/slides/4318/export/events/attachments/open_research_crowdsourcing_dh/slides/4318/recital_fosdem.pdf"/> </attachments> <links> <link href="https://recital.univ-nantes.fr/">The crowdsourcing platform</link> <link href="http://cethefi.org/">The research project in which Recital is used</link> <link href="https://validate.video.fosdem.org/559ddaaea029e7a550c9dc2ef5b5d9a0cbbc65161f5127bdc25c046190b8ac88.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_crowdsourcing_dh.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_crowdsourcing_dh.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11068.php">Submit feedback</link> </links> </event> <event id="11293"> <start>10:50</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_social_media_research</slug> <title> Making Tools for Social Media Research: Principles and (Future) Challenges</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>This talk will focus on our experiences with making open source tools for the study of social media platforms (amongst others, DMI-TCAT for Twitter, the YouTube Data Tools, and 4CAT for forum-like platforms such as Reddit and 4chan) in the context of social science and humanities research. We will discuss questions of reliability and reproducibility, but also how tools are taking part in shaping which questions are being asked and how research is done in practice - making open source particularly relevant as a form of methodological transparency. Two aspects have become particularly important for our tool-making practice: the relationship with large platform companies and their Web-APIs as well as concerns about user privacy and legal compliance with regulations such as the GDPR. Our talk will address these in turn, scoping the issue and proposing ways forward.</p></abstract> <description></description> <persons> <person id="7137">Stijn Peeters</person> <person id="7968">Erik Borra</person> <person id="8045">Bernhard Rieder</person> </persons> <attachments> </attachments> <links> <link href="https://cat4smr.humanities.uva.nl/">CAT4SMR website</link> <link href="https://github.com/bernorieder/YouTube-Data-Tools">YouTube Data Tools</link> <link href="https://github.com/digitalmethodsinitiative/4cat">4CAT</link> <link href="https://github.com/digitalmethodsinitiative/dmi-tcat">DMI-TCAT</link> <link href="https://digitalmethods.net">Digital Methods Initiative</link> <link href="https://validate.video.fosdem.org/1ca413128388198396418a3f6bb8955103e1d933169b6383ac779f21d671a867.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_social_media_research.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_social_media_research.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11293.php">Submit feedback</link> </links> </event> <event id="11122"> <start>11:15</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_webcrawlers_social_sciences</slug> <title>From Navicrawler to HyBro: a brief history of webcrawlers for social sciences</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>The World Wide Web’s original design as a vast open documentary space built around the concept of hypertext made it a fantastic research field to study networks of actors of a specific field or controversy and analyse their connectivity. <a href="https://medialab.sciencespo.fr/outils/navicrawler/"><em>Navicrawler</em></a>, <a href="https://www.issuecrawler.net/"><em>IssueCrawler</em></a>, <a href="https://hyphe.medialab.sciences-po.fr/"><em>Hyphe</em></a>... Over the past 15 years, a variety of web crawling tools, most often free and open source, have been developped by or for social sciences research labs across the world. They provide means to engage with the web as a research field or to teach students what the WWW is beyond Google or Facebook’s interfaces.</p> <p>We will first present an overview of this history of open source web crawling tools built for research, teaching or data journalism purposes. Then we will propose a short demonstration of the latest version of médialab's <em>HyBro</em>, aka <em>Hyphe-Browser</em>, a tool built to let users benefit from automated web crawling as well as <em>in situ</em> web browsing and categorizing. Its friendly user interface allows a variety of publics to engage with web crawling, including non-experts like students, social science scholars, and activists.</p></abstract> <description></description> <persons> <person id="7729">Benjamin Ooghe-Tabanou</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_webcrawlers_social_sciences/attachments/slides/4390/export/events/attachments/open_research_webcrawlers_social_sciences/slides/4390/210206_FOSDEM21_HyBro_Webcrawlers_for_SHS.pdf"/> </attachments> <links> <link href="https://github.com/medialab/hyphe-browser/releases">HyBro releases</link> <link href="https://validate.video.fosdem.org/75449c8411027228573a90094886ca1a6cf100bcdcd2edf8a62bfc06c720569c.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_webcrawlers_social_sciences.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_webcrawlers_social_sciences.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11122.php">Submit feedback</link> </links> </event> <event id="11082"> <start>11:25</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_gazouilloire</slug> <title>Gazouilloire: a command line tool for long-term tweets collection</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Many open-source libraries provide an interface for the Twitter API. However, most people use these tools in temporary scripts for a one-time tweets collection. Moving to a robust application for collecting and indexing tweets over long periods of time requires some programming knowledge that most social science researchers do not master. In order to meet this need, the medialab has developed gazouilloire, a tool that makes it possible to easily configure the collection parameters (keywords searched, language of tweets, location of tweets, etc.) and can then be launched from the command line.</p> <p>Gazouilloire combines two methods to collect tweets from the Twitter API ("search" and "filter") in order to maximize the number of collected tweets, and automatically fills the gaps in the collection in case of connexion errors or reboots. It also provides a large range of features that are not directly available from the free Twitter API: collecting during specific periods of time, resolving redirected urls, downloading only certain types of media contents (only photos and no videos, for example) or unfolding Twitter conversations. The user can then choose to export the tweets in csv format, and select the fields that will form the columns of the table.</p> <p>Social science researchers have already used gazouilloire for a wide variety of studies: measuring online activity during COVID-19 lockdown, studying the public discourse of anti-vaxxers, or monitoring urban nature policies, among many others...</p></abstract> <description></description> <persons> <person id="7709">Béatrice Mazoyer</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/medialab/gazouilloire/tree/elasticPy3-merge">github page</link> <link href="https://validate.video.fosdem.org/64907a67ad46e1045d09b1fbcfb7b3a1fda38508b576f2de263259c21d542dcd.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_gazouilloire.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_gazouilloire.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11082.php">Submit feedback</link> </links> </event> <event id="11163"> <start>11:35</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_pandorae_tool</slug> <title>PANDORÆ</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>PANDORÆ : Retrieving, curating and exploring enhanced corpi through time and space Mapping the state of research in a particular field has been made easier through commercial services providing API-based bibliometric-enhanced corpuses retrieval. Common assertions such as “the use of CRISPR technologies has skyrocketed in laboratories all around the world since 2012” can now be easily verified in both quantitative and qualitative perspectives using those platforms. Such services as Elsevier’s Scopus propose inbuilt functions to explore corpuses chronologically and geographically. They don’t, however, allow for hand curation and enrichment of the corpus. This lecture advocates for a solution to this methodological issue using PANDORÆ, a free and open source software designed for that purpose. PANDORÆ requests corpuses from the Scopus API, enriches its data by geolocating each document’s affiliations, and then uploads the resulting dataset to a Zotero library. The user is then free to curate the corpus, adding, editing or removing items. PANDORÆ allows downloading it back from Zotero to its internal databases, and to display the enriched corpuses on a map, on a timeline, or as an author-directed force-layout network graph.</p> <p>This presentation will also introduce more advanced PANDORAE features, such as displaying Twitter dataset obtained through Gazouilloire, mapping web entities loaded from Hyphe and scraping biorXiv results using Artoo.</p></abstract> <description></description> <persons> <person id="6576">Guillaume Levrier</person> </persons> <attachments> </attachments> <links> <link href="https://guillaume-levrier.github.io/PANDORAE/">PANDORÆ project</link> <link href="https://validate.video.fosdem.org/73b8b7559c301ce7727548f6d2bc45f6ded3c0d840cd8109d1f98909c6a8ea52.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_pandorae_tool.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_pandorae_tool.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11163.php">Submit feedback</link> </links> </event> <event id="11609"> <start>11:45</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_web_mining_panel</slug> <title>Web mining panel</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>This is a live panel session which gathers speakers from three lightning talks about web mining tools and technologies.</p></abstract> <description></description> <persons> <person id="6576">Guillaume Levrier</person> <person id="7709">Béatrice Mazoyer</person> <person id="7729">Benjamin Ooghe-Tabanou</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11609.php">Submit feedback</link> </links> </event> <event id="11182"> <start>11:55</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_floss_meet_social_science</slug> <title>FLOSS meets Social Science Research (and lived to tell the tale)</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>This talk aims to give a user’s perspective on FLOSS tools for open research in social science. It will be based on personal experience with a team project that aimed to analyze the Twitter follow graph of last year’s FOSDEM and CHAOSScon participants. The project used open source tools and agile management: data was collected with a command line tool (Twarc), network visualization was done with Gephi, and Framagit provided a collaborative framework for managing code, data, visualization and text.</p> <p>Implementing this project led to insight about what it takes for social scientists who have minimal tech knowledge and culture, to practice open research with FLOSS tools. This talk will specifically address three types of challenges I faced : training, documenting, and collaborating.</p></abstract> <description><p>This talk will be particularly relevant for people who are designing FLOSS tools in interdisciplinary research environments. More generally, it can be of interest to people who attended the Open Research Tools and Technologies devroom talks in 2020.</p></description> <persons> <person id="7686">Maya Anderson-González</person> </persons> <attachments> </attachments> <links> <link href="https://framagit.org/inno3/osos">Code, data, viz repos</link> <link href="https://inno3.fr/actualite/projet-de-recherche-ouverte-osos-analyse-dun-reseau-dacteurs-la-croisee-de-lopen-source">Blog Post</link> <link href="https://validate.video.fosdem.org/30eae5b61ce1eb9808d7fdea589cebd76da73229a611d9f56a9c68dbc28f79a2.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_floss_meet_social_science.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_floss_meet_social_science.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11182.php">Submit feedback</link> </links> </event> <event id="11050"> <start>12:20</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_schema_collaboration</slug> <title>Collaborating to describe datasets using Frictionless Data schemas: schema-collaboration</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>schema-collaboration is a tool that helps data managers and researchers to collaborate on documenting datasets using Frictionless Data schemas. It uses Frictionless Data Package Creator and allows the collaborators to create and share dataset schemas, edit them, post messages and export the schemas in different formats (text, Markdown, PDF). The tool is implemented in Python and Django.</p> <p>The talk will consist of a brief explanation of Frictionless Data schemas, how data managers work with researchers and then I shall do a demo of how the tool can be used.</p></abstract> <description></description> <persons> <person id="7688">Carles Pina Estany</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_schema_collaboration/attachments/slides/4333/export/events/attachments/open_research_schema_collaboration/slides/4333/carles_pina_schema_collaboration.odp"/> </attachments> <links> <link href="https://github.com/frictionlessdata/schema-collaboration">GitHub</link> <link href="https://carles.eu.pythonanywhere.com/">Tool</link> <link href="https://validate.video.fosdem.org/d01dc6d43722877d4b5d52d6e293ea84c0095fbfb438e8703a834567c9398b80.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_schema_collaboration.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_schema_collaboration.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11050.php">Submit feedback</link> </links> </event> <event id="10956"> <start>12:45</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_emacs_orgmode</slug> <title>Emacs and org-mode for reproducible research</title> <subtitle>Organize your research in plain text!</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>This presentation illustrates how the GNU Emacs text editor provides an powerful integrated environment for reproducible research, effectively bypassing the need for juggling different software in order to write and execute code, manage data or write papers. GNU Emacs as a long history, and is still widely used and supported by a very active community of users and developers. A very popular feature of GNU Emacs is Org-mode which, at its core, offers a markup language similar to Markdown.</p> <p>Following a brief introduction to Org-mode, this presentation demonstrates its use for reproducible research: straightforward mixing of prose and code, execution of code blocks as well as display of the results. With Org-mode, GNU Emacs is turned into a computational notebook which functionalities goes well beyond popular alternatives such as Jupyter. Code blocks are not restricted to a particular programming language and data can be passed between them: generate data in C, analyse it in Python, visualise it with R, all in one single executable document. Moreover, Org-mode documents are nothing but plain text, making them inherently portable, sustainable, and suited to version control - crucial qualities for academic research. Moving on, I illustrate the export of Org-mode documents to richer formats: PDF, ODT, HTML and many more - all from within GNU Emacs. Lastly, I broaden the scope of this presentation and discuss the open nature of GNU Emacs itself. Indeed, GNU Emacs is free (as in freedom) software under a copyleft license. This ensures that GNU Emacs remains sustainable, community-owned software: GNU Emacs will never be "discontinued" or its features reduced inside a "community edition".</p></abstract> <description><p>If GNU Emacs is widely used among GNU/Linux users, it is a rather unusual component of nowadays researchers' toolbox. This presentation is an opportunity for attendees to (re)discover GNU Emacs, not so much as a code editor, but as a powerful tool for reproducible research, from day-to-day data collection and analysis, all the way to paper publication. Despite being over 30 years old, GNU Emacs comes with with very modern ideas, highly relevant to today's discussions of openness and reproducibility in scientific research. Beyond the tool itself, this presentation is an opportunity to sparkle discussions on the nature of research tooling. GNU Emacs has always been developed and maintained in the open, and its license ensures that it will always be. GNU Emacs maintenance and development is a collective, not-for-profit effort of thousands of developers worldwide and anyone wanting to make modifications to it is welcome to do so. This ensures both reliability and sustainability, which are key characteristics for any tool at the core of a reproducible research practice.</p></description> <persons> <person id="7599">Thibault Lestang</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_emacs_orgmode/attachments/slides/4211/export/events/attachments/open_research_emacs_orgmode/slides/4211/Slides"/> </attachments> <links> <link href="https://github.com/tlestang/org-mode-reproducible-research">Github repo with examples shown during presentation</link> <link href="https://validate.video.fosdem.org/d61d2f5dc263a0891e42e8f37da0f9d133ca490b5d539f77d27a61b0c2242e84.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_emacs_orgmode.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_emacs_orgmode.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10956.php">Submit feedback</link> </links> </event> <event id="11036"> <start>13:10</start> <duration>00:15</duration> <room>D.research</room> <slug>open_research_elabftw</slug> <title>eLabFTW - the open source lab notebook</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>eLabFTW is an open source laboratory notebook for research labs. It tracks experiments and results but also features a database where you can keep track of all the elements in your lab. Created in 2012 and published on GitHub, eLabFTW quickly gained traction in the research community and several contributors joined over time to help implementing new features and fixing bugs. Now translated in 17 languages, eLabFTW has become a pillar of the ELN landscape and more and more labs and universities are using it all around the world.</p> <p>In this presentation I will talk about the software itself but also how publishing the source code on GitHub with a AGPLv3 license helped tremandously the software to grow.</p></abstract> <description><p>When doing research work, it is important to keep track of your experiments and results. To do that, we normally use paper lab notebooks. But nowadays, it makes little sense to stick to paper, especially when all of our results are produced in a numeric format. Users are now looking for a solution to that problem, and that solution is Electronic Laboratory Notebooks (ELN).</p> <p>Several ELN are available to researchers. Some are proprietary, and only a few are truly free (as in beer and as in speech). Among the libre ones, we can find quite a lot of abandoned projects.</p> <p>Since 2012, eLabFTW has seen continuous improvements with a constant flow of new features and a growing community of users, translators and contributors. It is now a mature and polished piece of software, widely used by startups, research labs and universities.</p> <p>Now backed by a company, the future seems bright and full of promises with fruitful collaborations with Universities to implement specific features that will benefit the whole community of users.</p></description> <persons> <person id="7678">Nicolas CARPi</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_elabftw/attachments/slides/4219/export/events/attachments/open_research_elabftw/slides/4219/elabftw_presentation">Presentation of eLabFTW</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/open_research_elabftw/attachments/paper/4220/export/events/attachments/open_research_elabftw/paper/4220/elabftw_paper">Scientific publication of eLabFTW</attachment> <attachment type="video" href="https://fosdem.org/2021/schedule/event/open_research_elabftw/attachments/video/4292/export/events/attachments/open_research_elabftw/video/4292/elabftw_video">Presentation of eLabFTW</attachment> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/open_research_elabftw/attachments/audio/4293/export/events/attachments/open_research_elabftw/audio/4293/elabftw_video_x265_1080p">Presentation in 1080p and x265</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/open_research_elabftw/attachments/other/4295/export/events/attachments/open_research_elabftw/other/4295/Nicolas_Carpi">My picture</attachment> </attachments> <links> <link href="https://www.elabftw.net">Website</link> <link href="https://demo.elabftw.net">Live demo</link> <link href="https://doc.elabftw.net">Documentation</link> <link href="https://validate.video.fosdem.org/51fe9eafa7b6936332b067c366115f3ccc1640c621f5c561178d34b645686730.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_elabftw.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_elabftw.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11036.php">Submit feedback</link> </links> </event> <event id="11151"> <start>13:25</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_using_elabftw</slug> <title>Using ElabFTW for materials science</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Keeping work organized in experimental materials science research is a nightmare. Projects involve data collected with dozens of different instruments on dozens of different samples that are related to eachother in a hierarchical fashion. For each new project, researchers struggle with questions like: how should I organize my files and data? How should I name my samples? How should I keep track of the links between data and samples? Since no standard answer to these questions has been formulated, labs and individuals just improvise. The result is that most data and samples become utterly useless once the person who conducted the research leaves; no one else can find their way through the ad-hoc naming conventions and various excel sheets. This eventually translates into a lot of wasted and repeated efforts.</p> <p>The biological sciences have long ago figured out solutions to these problems, and they are lab information systems (LIMS) and digital lab notebooks. In this talk I will present how I organize my research workflow in eLabFTW, a free and open source lab notebook with some LIMS capabilities. The tool was originally developed with molecular biologists in mind, but most of the tooling is useful for materials scientists. I will also talk about how I could leverage the python API for tailoring the tool to my needs, for example for printing QR-code stickers for database items.</p></abstract> <description></description> <persons> <person id="7739">Niels Cautaerts</person> </persons> <attachments> </attachments> <links> <link href="https://www.elabftw.net/">elabftw home page</link> <link href="https://github.com/din14970/elabftwqrprint">command line tool for creating QR stickers</link> <link href="https://validate.video.fosdem.org/09a20a0eb73d3b18b5f3cb3904ddbba3303fca2c85aad3404f123a8810ed5236.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_using_elabftw.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_using_elabftw.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11151.php">Submit feedback</link> </links> </event> <event id="11610"> <start>13:35</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_elab_panel</slug> <title>ELab panel</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Live panel Q/A with two speakers who spoke about the Elab software.</p></abstract> <description></description> <persons> <person id="7678">Nicolas CARPi</person> <person id="7739">Niels Cautaerts</person> </persons> <attachments> </attachments> <links> <link href="https://www.elabftw.net/">elabftw home page</link> <link href="https://submission.fosdem.org/feedback/11610.php">Submit feedback</link> </links> </event> <event id="11301"> <start>13:45</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_replication_wiki</slug> <title>ReplicationWiki - Transparency in the Social Sciences</title> <subtitle>Informing about Data & Code Availability and Published Replications</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>The ReplicationWiki provides an overview of published empirical studies in the social sciences with information on data and code availability, data sources, and software. One can search for keywords, Journal of Economic Literature codes, and geographical origin of data. It informs about 670 replications, that is studies reanalyzing previously published results, as well as corrections and retractions. The wiki helps researchers to compare their results to those of previous studies. It is a resource that helps to identify useful teaching examples for statistical methods, replication and studies of social science. It allows advanced students and practicing researchers to find guidance on how to publish their replication research in various journals. A collection of teaching resources, useful tools, and literature helps instructors to integrate replication into their teaching and students to integrate open science practices into their own research. With the ongoing expansion of the wiki, currently covering more than 4,500 empirical studies, it is becoming an ever more powerful tool for social science research and education. It is a crowd-based platform where users can add their own replication results, suggest studies that should be replicated, and identify for example further data sources used in the empirical studies, especially ones from countries underrepresented in the literature and for whom economic policies are thus difficult to investigate.</p></abstract> <description><p>The Wiki uses Semantic Media Wiki technology that is evolving, and a number of technical improvements in terms of usability and database structure are planned. A massive expansion of the content is planned based on machine learning and natural language processing techniques identifying the relevant information from the available data. For the technical improvements further expertise is welcome, and for the content expansion developers and researchers from all fields of the empirical social sciences are invited to join.</p></description> <persons> <person id="7809">Jan H. Höffler</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/open_research_replication_wiki/attachments/other/4468/export/events/attachments/open_research_replication_wiki/other/4468/ReplicationWiki_logo">ReplicationWiki logo</attachment> </attachments> <links> <link href="https://replication.uni-goettingen.de">ReplicationWiki main page</link> <link href="https://replication.uni-goettingen.de/wiki/index.php/User:Jan_H._Höffler">Overview of publications & previous presentations on the wiki</link> <link href="https://replication.uni-goettingen.de/wiki/index.php/ReplicationWiki:Open_tasks">Overview of planned technical improvements</link> <link href="https://validate.video.fosdem.org/659a229e9f73cff72807b5ae9fab59feb09a559bf107b0ab4900b87f169a9e9b.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_replication_wiki.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_replication_wiki.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11301.php">Submit feedback</link> </links> </event> <event id="10979"> <start>14:10</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_life_science</slug> <title>Open research in life science: funding foundational tools, trust, and talent</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Open source software powers incredible scientific and research discoveries, from <a href="https://www.nature.com/articles/d41586-019-01155-0">images of the black hole in 2019</a>, <a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007747">visualising proteins in 3D virtual reality</a>, and <a href="https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3000730">open source hardware can affordably save lives during the COVID-19 pandemic</a>. Despite this, the academic credit/metric system does not incentivise or reward activities around code sharing, instead preferring to use research papers, and citations for structured reward and promotion systems.</p> <p>In this short talk, we will share the vision of the Wellcome Trust <a href="https://wellcome.org/what-we-do/our-work/data-science-and-health-trustworthy-data-science">Data for Science and Health</a> team, which is working over the next five years to incentivise the foundational tools, trust, and talent required to recognise and fund open research software sustainably.</p></abstract> <description><p>Picture Sam, a researcher in a white coat: they spend hours in the lab with their beakers, test tubes, and agar plates. Once they’ve gathered results they think the world will want to know, they write up their conclusions, publish in a journal, and repeat. While this type of research has existed for a long time, and will continue to do so, this model doesn’t effectively acknowledge newer scenarios, where machines and mass data collection result in what is often referred to by the now-buzzword “big data” – data at a scale where it must be managed and analysed with the use of computers.</p> <p>This type of research gap is often addressed by Joy, the computational researcher. Joy may identify as a coder, a researcher, an engineer, a data scientist, support staff, a lab assistant, or some other title. The main theme is that Joy writes computer code in order to make their job easier, or perhaps even to make it feasible at all. Given that this computer code feeds into and creates the end results, it is reasonable to consider it a research method, albeit a less traditional research method or output than the research paper.</p> <p>In the current world, Joy is typically less supported than a more traditional academic like Sam: Fewer funding calls exist for funding code work, and ever fewer recognise or reward good open source behaviour, even though an incredible number of scientific analyses rely on open source software themselves, and even though the perils of <em>not</em> sharing research code could be completely wrong scientific results that don't look wrong since no-one can see inside the black-box of proprietary code. Things have gotten a little better - there are scientific journals that accept software papers, and even journals that are exclusive to open source software papers, but they're far from the norm. We still have a long way to go.</p> <p>In order to make real progress, research code <em>must</em> be open to allow others to verify, re-use, and build upon it. This includes recognising and funding underfunded areas such as open source community management, accessibility, software maintenance, and user experience. The Wellcome Trust has dedicated £75 million GBP over the next five years towards making trustworthy data science a first-class citizen in the research ecosystem. By sharing our vision with others in the open source world we hope to encourage this attitude, meet others working towards the same goals, and meet prominent contributors to the open source research ecosystem who might be looking for funding opportunities.</p></description> <persons> <person id="7635">Yo Yehudi</person> </persons> <attachments> </attachments> <links> <link href="wellcome.org/what-we-do/our-work/data-science-and-health-trustworthy-data-science">Wellcome</link> <link href="https://validate.video.fosdem.org/4b86ba4e154602d8b9c3bb68aa74fd6bf9b22ece5489cdb4c50ef9fce71e4e91.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_life_science.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_life_science.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10979.php">Submit feedback</link> </links> </event> <event id="11072"> <start>14:35</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_gaspard_monge</slug> <title>Free/Open source Research Software production at the Gaspard-Monge Computer Science laboratory</title> <subtitle>Lessons learnt</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>In this talk we present the experience of the software produced, as part of the research activities, at the French Gaspard-Monge Computer Science laboratory (Laboratoire d'informatique Gaspard-Monge or LIGM in French).</p></abstract> <description><p>The LIGM has an important production of research software with 66 software items identified for the period 2013-18, where 50 have been disseminated as FOSS. Since 2006, the Lab has worked in order to improve the dissemination and the visibility conditions of this research production [1], which includes the adoption of policies and the production and maintenance of a catalogue.</p> <p>In this context, one of the first issues we had to deal with was the concept of the Lab's software, in order to answer the questions of the researchers. The second concept was the identification or reference (or citation form) of such objects.</p> <p>The concept of "Logiciel d'un laboratoire" [1,2] initially proposed in 2006 has since then evolved to become research software ("Logiciel de la recherche") and it is a central concept in order to propose services and infrastructures to deal with this production in the current Open Science global context evolution [3,4], where the goals are to make it visible, accessible, reusable. It is also a central concept in order to propose research evaluation procedures related to this scientific output [5].</p> <p>In this talk we will detail the evolution of this work since 2006 and we will present the current state of the art.</p> <p>[1] T. Gomez-Diaz (2013) Patrimoine logiciel des laboratoires https://hal.archives-ouvertes.fr/cel-01804283</p> <p>[2] T. Gomez-Diaz (2015) Article vs. Logiciel : questions juridiques et de politique scientifique dans la production de logiciels http://www.societe-informatique-de-france.fr/wp-content/uploads/2015/04/1024-5-gomez-diaz.pdf</p> <p>[3] T. Gomez-Diaz, T. Recio (2020) A policy and legal Open Science framework: a proposal https://zenodo.org/record/4075106</p> <p>[4] T. Gomez-Diaz, T. Recio (2021) Open comments on the Task Force SIRS report: Scholarly Infrastructures for Research Software (EOSC Executive Board, EOSCArchitecture). Research Ideas and Outcomes 7: e63872. https://doi.org/10.3897/rio.7.e63872</p> <p>[5] T. Gomez-Diaz, T. Recio (2019) On the evaluation of research software: the CDUR procedure https://doi.org/10.12688/f1000research.19994.2</p></description> <persons> <person id="7704">Teresa Gomez-Diaz</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_gaspard_monge/attachments/slides/4643/export/events/attachments/open_research_gaspard_monge/slides/4643/2021_02_06_FOSDEM_TGD_talk.pdf">Free/Open source Research Software production at LIGM (PDF), Teresa Gomez-Diaz, FOSDEM21</attachment> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/open_research_gaspard_monge/attachments/audio/4647/export/events/attachments/open_research_gaspard_monge/audio/4647/20210114FOSDEM21_TGD.mp4">Free/Open source Research Software production at LIGM (video), Teresa Gomez-Diaz, FOSDEM21</attachment> </attachments> <links> <link href="https://validate.video.fosdem.org/c1c620ebe5d782d60db5e9855bd4101fd456b408ab85f7c6cbf10d1336653d3c.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_gaspard_monge.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_gaspard_monge.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11072.php">Submit feedback</link> </links> </event> <event id="11045"> <start>15:00</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_software_heritage</slug> <title>Archiving, referencing and citing research software in Software Heritage</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Software Heritage is a long term, non profit, multistakeholder initiative with the ambitious goal to collect, preserve and share all source code publicly available, protecting our Software Commons, in collaboration with UNESCO. In this presentation we will share recent developments in the Software Heritage archive that make it the ideal platform for archiving, referencing and citing research software: it's a stepping stone for reproducibility and for raising awareness about the importance of software in research.</p></abstract> <description></description> <persons> <person id="4426">Roberto Di Cosmo</person> </persons> <attachments> </attachments> <links> <link href="https://www.softwareheritage.org/save-and-reference-research-software/">Guidelines</link> <link href="https://www.softwareheritate.org">Software Heritage</link> <link href="https://validate.video.fosdem.org/8768ba3599c208cdddca5162e5bb750b58fbd512d7bda7c8a292e28fb4853bf9.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_software_heritage.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_software_heritage.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11045.php">Submit feedback</link> </links> </event> <event id="11312"> <start>15:25</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_pubpub</slug> <title>Open source isn't enough. Working towards sustainable solutions with PubPub.</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Having started on a very typical path for open source projects - needing to solve our own problems - we were struck by the challenge that our technology wouldn’t be sufficient for our eventual goal: improving the culture and process of scientific publishing. The challenge is not only technologically broad and complicated - but there are also enormous cultural and operational logistics needed to approach real solutions. Not least of which is the ability to provide resource-constrained, technologically-limited organizations with the stability and support they need to make commitments that will last years if not decades.</p> <p>We’ll share our experience with PubPub and the Knowledge Futures Group (a non-profit organization dedicated to building digital infrastructure as a public utility), what it’s taught us about building sustainable open source products, and welcome contributions to make our work more supportive and inclusive of the entire knowledge community.</p></abstract> <description></description> <persons> <person id="7808">Travis Rich</person> </persons> <attachments> </attachments> <links> <link href="https://www.knowledgefutures.org">Knowledge Futures Group</link> <link href="https://www.pubpub.org">PubPub</link> <link href="https://validate.video.fosdem.org/2d64dc0482247f33441e8bf4a03efbe65aa889aa70e3e0497dc1bee6505c6786.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_pubpub.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_pubpub.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11312.php">Submit feedback</link> </links> </event> <event id="11150"> <start>15:50</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_law_factory</slug> <title>Research on the french law-making process</title> <subtitle>What happens when you try to put the law into git</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>The Law Factory is a research project which attempts to make it easier to observe the law-making process in the French Parliament. It allows to track down the different steps of the parliament process, to identify when a particular piece of law was introduced, and to look at all the amendments and the debates per article. The software is fully open-source, based on Python 3 for the data collection. It's a common project of the association Regards Citoyens, the médialab research lab of Sciences Po Paris and the Centre d’Études Européennes et de Politique Comparée.</p> <p>In this Talk we will present the work done and the research output produced.</p></abstract> <description></description> <persons> <person id="5321">Damien Marié</person> <person id="7729">Benjamin Ooghe-Tabanou</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/regardscitoyens/the-law-factory-parser/">main backend code</link> <link href="https://github.com/regardscitoyens/the-law-factory/">frontend code</link> <link href="https://www.lafabriquedelaloi.fr">website</link> <link href="https://validate.video.fosdem.org/4d51fcb1aee37886a9631e9fd80749e2c2c14c4a0ad8141b3d68f9dd19f7932a.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_law_factory.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_law_factory.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11150.php">Submit feedback</link> </links> </event> <event id="11313"> <start>16:15</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_rawgraphs</slug> <title>Rawgraphs</title> <subtitle>An open visualization framework for open outputs</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>RAWGraphs is an open source web application for the creation of static data visualisations that are designed to be further modified. Originally conceived for graphic designers to provide a series of tasks not available with other tools, it evolved into a platform widely used in research and data journalism contexts that provides simple ways to map data dimensions onto visual variables. It presents a chart-based approach to data visualisation: each visual model is an independent module exposing different visual variables that can be used to map data dimensions. Consequently, users can create complex data visualisations. Finally, the tool is meant to produce outputs that are open, that is, not subjected to proprietary solutions, which can be further edited. Thanks to an intuitive user interface and experience drafting visualizations become an easy task, enabling the user to produce the visualizations not only as a mere output but also as a tool within the research process. Last year we launched a successful crowdfunding campaign to raise funds for the redesign and development of a new version of RAWGraphs, that will be released in the first months of 2021. The new version is written from scratch with the aim to make the tool more flexible for customisation and to create an active community also on the development side. The talk aims at presenting how RAWGraphs has been used in research context and our strategies to keep the project free, open source, economically sustainable and independent.</p></abstract> <description></description> <persons> <person id="7801">Giorgio Uboldi</person> </persons> <attachments> </attachments> <links> <link href="https://rawgraphs.io/">project website</link> <link href="https://validate.video.fosdem.org/2e260ca996f100748b4e85fd96777cb5d8d4f922298210b0ff1097f3cd90b1e9.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_rawgraphs.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_rawgraphs.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11313.php">Submit feedback</link> </links> </event> <event id="11245"> <start>16:40</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_datasette</slug> <title>Datasette</title> <subtitle>An open source multi-tool for exploring and publishing data</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p><a href="https://datasette.io/">Datasette</a> is a tool for exploring and publishing data. It helps people take data of any shape or size, analyze and explore it, and publish it as an interactive website and accompanying API.</p> <p>Datasette is aimed at data journalists, museum curators, archivists, local governments and anyone else who has data that they wish to share with the world. It is part of a wider ecosystem of tools and plugins dedicated to making working with structured data as productive as possible.</p></abstract> <description><p>I’ll use this talk to introduce Datasette and show how it can be used to quickly explore and publish data.</p> <p>I’ll talk about why SQLite is an ideal publishing format for structured data and demonstrate several open source tools for converting data from different sources into SQLite databases for use with Datasette.</p> <p>Datasette is the foundation of my <a href="https://dogsheep.github.io/">Dogsheep</a> personal data warehouse project. I’ll show how I’ve pulled together data about my own life from a wide range of sources - from Twitter and GitHub to 23AndMe and Apple Health - and used it to build my own data warehouse to help me answer questions about myself.</p></description> <persons> <person id="7769">Simon Willison</person> </persons> <attachments> </attachments> <links> <link href="https://datasette.io/">Datasette</link> <link href="https://datasette.io/plugins">The Datasette plugins directory</link> <link href="https://datasette.io/tools">Additional tools for use with Datasette</link> <link href="https://dogsheep.github.io/">Dogsheep</link> <link href="https://simonwillison.net/2021/Feb/7/video/">Annotated version of the talk by the speaker</link> <link href="https://validate.video.fosdem.org/4e8686e4498944410f994d28ca545341a8f6821589ee7c12c1207ff6bdaa77b1.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_datasette.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_datasette.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11245.php">Submit feedback</link> </links> </event> <event id="11092"> <start>17:05</start> <duration>00:25</duration> <room>D.research</room> <slug>open_research_filecoin_ipfs</slug> <title>Filecoin & IPFS: A new Home for Research Data</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Come learn about how researchers and open data initiatives are using IPFS and Filecoin to make their data resilient, accessible, and verifiable. From Starling to Qri to EDGI - many groups are pioneering the use of distributed web tools to preserve important data, empower researchers, and bring new capabilities like end-to-end verifiability or peer-to-peer data transfer to their research. Learn about best practices using these tools today, and how they're getting better in 2021.</p></abstract> <description></description> <persons> <person id="7715">Molly Mackinlay</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_filecoin_ipfs/attachments/slides/4457/export/events/attachments/open_research_filecoin_ipfs/slides/4457/FOSDEM_Filecoin_IPFS_A_new_Home_for_Research_Data.pdf"/> </attachments> <links> <link href="ipns://ipfs.io">IPFS (only works on Brave)</link> <link href="https://filecoin.io">Filecoin</link> <link href="ipns://momack.eth">(only works on Brave)</link> <link href="https://validate.video.fosdem.org/1b68fa3d5aa01da2614fc97a308bf9c1be1a43e9563fcaec6f33cec9a3cc7b5c.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_filecoin_ipfs.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_filecoin_ipfs.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11092.php">Submit feedback</link> </links> </event> <event id="11330"> <start>17:30</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_scholarly_metrics</slug> <title>Metrics in Context: A Data Specification For Scholarly Metrics</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><h2>Grounding this virtual talk</h2> <p>In the times of zoom calls, virtual conferencing, and ubiquitous connectivity, I want to take some time and ground myself and this talk on the unceded[1] lands that I am living, working, and recording on as a visitor. I want to acknowledge the Coast Salish people including the səl̓ilwətaɁɬ təməxʷ (Tsleil-Waututh), Skwxwú7mesh-ulh Temíx̱w (Squamish), S’ólh Téméxw (Stó:lō), Stz'uminus, and xʷməθkʷəy̓əm (Musqueam) whose lands were stolen but have rights to these lands even today.</p> <h2>Abstract</h2> <p>Google Scholar, Web of Science, Scopus, Dimensions, Crossref, Scite.ai, ... What used to be the home turf of for-profit publishers has become a buzzing field of technological innovation. Scholarly metrics, not only limited to citations and altmetrics, come from a host of data providers using an even wider range of technologies to capture and disseminate their data. Citations come as closed or open data, using traditional text processing or AI methods by private corporations, research projects or NGOs. What is missing is a language and standard to talk about the provenance of scholarly metrics.</p> <p>In this lightning talk, I will present an argument why we need to pay more attention to the processes of tracing and patterning that go into the creation of the precious data that determine our academic profiles, influence hiring and promotion decitions, and even national funding strategies. Furthmermore, I present an early prototype of Metrics in Context, a data specification for scholarly metrics implemented in Frictionless Data. Additionally, the benefits and application of Metrics in Context is presented using both traditional citation data and a selection of common altmetrics such as the number of Tweets or FB shares.</p> <hr /> <p>[1] "Unceded lands are territories that were never signed away by the Indigenous people who inhabited them before Europeans settled in North America. In other words, this land was stolen. (It's worth noting that territories covered by treaties also weren't necessarily ceded — in many cases, the intent of the agreements was the sharing of territory, not the relinquishing of rights.)" <a href="https://www.nationalobserver.com/2020/01/24/analysis/what-we-mean-when-we-say-indigenous-land-unceded">Source</a></p></abstract> <description></description> <persons> <person id="7716">Asura Enkhbayar</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/open_research_scholarly_metrics/attachments/slides/4530/export/events/attachments/open_research_scholarly_metrics/slides/4530/metrics_in_context_slides">Metrics in Context - Slides</attachment> </attachments> <links> <link href="https://github.com/Bubblbu/metrics-in-context">Github Repository</link> <link href="https://frictionlessdata.io/">Frictionless Data</link> <link href="https://validate.video.fosdem.org/5a7515a41d14a6f9b281df7583ff29e53f268b453cbeadc397cc77e3d2a40d49.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_scholarly_metrics.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_scholarly_metrics.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11330.php">Submit feedback</link> </links> </event> <event id="11280"> <start>17:40</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_reverse_engineering</slug> <title>Reverse-engineering as a crossroads for investigation, science and open tools and technologies</title> <subtitle>We are experimentally trying to revisit the practice of reverse-engineering to explore these possible and effective contributions in the case of investigation (journalism, activism, science, art).</subtitle> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>“We want (Exposing the Invisible) to inspire a new generation of people committed to transparency and accountability.” (Tactical Tech). Reverse-engineering consists in studying an object (or a method) in order to determine its internal functioning. Reverse-engineering consists in identifying a precise case, making a recognition, disassembling step by step and piece by piece, then understanding the mechanism; and finally reassembling the object (or the method) with a new value proposition in its operation.</p> <p>We are experimentally trying to revisit the practice of reverse-engineering to explore these possible and effective contributions in the case of investigation (journalism, activism, science, art).</p> <p>By: Xavier, Jess, Nuria, Clio, Laura… and more folks from Exposing The Invisible project.</p></abstract> <description><p>In investigations, reverse engineering can be valuable as a process of learning from scratch based on deconstructing existing case studies/investigations and being able to replicate in many cases at least the more accessible parts and processes, which led to the findings and evidence exposed.</p> <p>Today, organizations, events, collectives, are configuring themselves in a multidisciplinary way to tackle problems to be studied, to tackle problems to be solved. We are ourselves a group of people from different fields with different practices and skills - citizen investigators, journalists, researchers artists, technologists, etc. -- who want to demonstrate that learning to investigate can be made more accessible to local communities and individuals who may need to use such techniques in a safe, ethical and collaborative way in their own context.</p> <p>Reverse engineering practices allow us to consider these paradigms from different angles, then open windows, similar to those of open hardware and free open-source software, in the fields of environment, biology, health.</p> <p>Reverse-engineering as a process of deconstructing investigations, asking questions to figure out how they were made (methods, tools, resources needed, challenges, safety...) Taking something less understood or inaccessible to many and transforming it into something public -- reverse-engineering it back to the commons. The process is about finding the fundamental backbone of events, what is the part of the investigation that can be taken away.</p> <p>Reverse-engineering investigations implies to be able to reconstruct and experiment with the methods and information acquired in the initial process in order to visualize what elements are indispensable to how a "system" works. It also allows one to figure out what elements could be removed, replaced with more contextual information if the method can be replicated, or "hacked" to make the "system" or method work differently in other settings.</p> <p>Methodology &amp; Major Findings:</p> <p>We are experimentally trying to revisit the practice of reverse-engineering to explore these possible and effective contributions in the case of investigation (journalism, activism, science, art). We engage with different techniques, tools and methods along with the individual practices of those working at the new frontiers of investigation.</p> <p>We all come from very different research and professional backgrounds, use different methodologies and techniques, investigate very different things.</p> <p>From a software perspective, reverse-engineering is used for:</p> <ul> <li><p>industrial espionage</p></li> <li><p>cracking</p></li> <li><p>exploit creation</p></li> <li><p>security audit</p></li> <li><p>bug correction</p></li> <li><p>malware analysis</p></li> <li><p>interoperability</p></li> <li><p>scientific study</p></li> <li><p>fun.</p></li> </ul> <p>But one question that unites us all is: what do you do when faced with a "dark box"? A finished product or event that fascinates you, but its development process, features and functions are in some way hidden from sight. It could be a network, a photograph, an environmental catastrophe, a machine - something that in order to understand or act upon, you need to be able to reconstruct how it was made.</p> <p>We work with some non-negotiable constraints to this complex problem:</p> <ul> <li><p>intimacy &amp; privacy concerns of the practice used and the result</p></li> <li><p>low cost or free cost access</p></li> <li><p>accessible, affordable, usable</p></li> <li><p>no domination provided to a person who has scientific or technical knowledge, understanding or skill</p></li> <li><p>reliable, transparent, and readable result.</p></li> </ul> <p>When we share, give or receive information, during investigations or knowledge sharing sessions, we have the responsibility of explaining or demystifying a complex architectural object:</p> <ul> <li><p>we try to deal with a complex architectural object</p></li> <li><p>we often try to disassemble objects, even if we don’t really figure it out.</p></li> </ul> <p>Through several experimental residencies, educational workshops, operational implementations in the field, we have gained experience and opened up a few paths for collaboration on "Reverse before any action, reverse-engineering the existing rather than producing new dark boxes". Even some use cases of Reverse-engineering during investigation.</p> <p>Conclusion:</p> <p>By practicing reverse-engineering on a pregnancy urine test or on a digital photo with steganography in it people regain control over the information and the technique. Similarly, the method can be applied to investigations, especially the ones built on openly available information (see such cases here: https://kit.exposingtheinvisible.org/en/index.html) and with open source tools (including OSINT investigations but not only) as well as to more complex inquiries such as follow-the-money investigations, supply chain and much more. By reverse-engineering investigations, we can help demystify and expose the insides of a process that is often assumed to be exclusive to professional investigators (journalists, law enforcement, private investigators ..). Now we want to invite other communities of practice more broadly to contribute to our experimental approach − at the crossroads between investigation, science, and open tools and technologies in order to encourage more people to use investigation methods to understand their often non-transparent environments and find safe and ethical ways to ask and address the questions and problems affecting their communities.</p> <p>We also accept that our world is filled with objects from extractivist political choices supporting hyper-growth as a productive dogma.</p> <p>We take our responsibility here by opening a different path in the relationship to objects, which consists as much in the mastery of knowledge and techniques as in the perspective of disassembling and improving accessibility to the existing rather than extracting in order to overproduce the invading.</p></description> <persons> <person id="7720">Xavier Coadic</person> </persons> <attachments> </attachments> <links> <link href="https://exposingtheinvisible.org">https://exposingtheinvisible.org</link> <link href="https://validate.video.fosdem.org/ecdf83864f9fdf6c976a451e44be92595e8d08b432d634fc2f908177591d9452.mp4">VIDEO (temp link)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_reverse_engineering.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_reverse_engineering.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11280.php">Submit feedback</link> </links> </event> <event id="11611"> <start>17:50</start> <duration>00:10</duration> <room>D.research</room> <slug>open_research_black_box_panel</slug> <title>Black box panel</title> <subtitle/> <track>Open Research Tools and Technologies</track> <type>devroom</type> <language/> <abstract><p>Live Q/A panel with two speakers who presented works arround black box issues.</p></abstract> <description></description> <persons> <person id="7716">Asura Enkhbayar</person> <person id="7720">Xavier Coadic</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.research/open_research_black_box_panel.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.research/open_research_black_box_panel.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11611.php">Submit feedback</link> </links> </event> </room> <room name="D.retro"> </room> <room name="D.rtc"> <event id="11729"> <start>10:00</start> <duration>00:25</duration> <room>D.rtc</room> <slug>products_vs_protocols</slug> <title>Products versus Protocols</title> <subtitle>Or why I no longer recommend XMPP and Matrix</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Having been an advocate of free (as in freedom) communication systems for almost as long as I've been on the internet, the number of people I successfully converted away from proprietary networks was surprisingly low for a very long time.</p> <p>In this talk I will share the lessons I have learned while trying to implement (Prosody/Snikket), document (modernxmpp.org) and promote communication freedom to people.</p></abstract> <description></description> <persons> <person id="3437">Matthew Wild</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/products_vs_protocols.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/products_vs_protocols.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11729.php">Submit feedback</link> </links> </event> <event id="11324"> <start>10:25</start> <duration>00:25</duration> <room>D.rtc</room> <slug>matrix_gitter</slug> <title>Adding Matrix for interoperability to existing chat apps</title> <subtitle>How we added Gitter to Matrix, and how you can join too.</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Matrix (https://matrix.org) is an open protocol for secure, decentralised communication - defining an end-to-end-encrypted real-time communication layer for the open Web. Historically the network has been made up of newly written native Matrix clients, or bridges to 3rd party existing chat systems (e.g. Slack, Discord, Telegram).</p> <p>This year, however, we added production-grade native Matrix support for the first time to a major 3rd party chat system: Gitter (https://gitter.im) over the course of about 5 weeks. This talk will explain how we did it it, and show how easily other existing chat systems can extend their reach into the whole Matrix ecosystem; breaking open those walled gardens forever.</p></abstract> <description><p>With the European Commission proposing to mandate interoperability for big tech "gatekeepers" (https://ec.europa.eu/commission/presscorner/detail/en/ip<em>20</em>2347), it's never been more relevant to understand how best to expose existing communication silos via open communication APIs such as Matrix.</p> <p>Between October &amp; December 2020 we happened to go through precisely this process - designing how best to make Gitter natively speak Matrix such that Matrix users can natively participate in all Gitter conversations, using it as the reference example of linking an existing large-scale chat silo into Matrix. Do you try to natively speak the Matrix server-server API? Or do you embed a homeserver (if so, which one?) and use the Application Service API? Where do you store the data, and how do you minimise duplication between your existing service and Matrix? How do you scale to a userbase of millions of users? How do you handle end-to-end encryption?</p> <p>In this talk, we'll answer these questions; and show how we're at the point where Matrix has matured enough that it could actually be used to add open communication APIs to the tech giants if they ever found themselves in need.</p></description> <persons> <person id="7439">Will Hunt</person> <person id="8279">Eric Eastwood</person> </persons> <attachments> </attachments> <links> <link href="https://matrix.org">Matrix</link> <link href="https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix">Gitter now speaks Matrix</link> <link href="https://video.fosdem.org/2021/D.rtc/matrix_gitter.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/matrix_gitter.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11324.php">Submit feedback</link> </links> </event> <event id="11028"> <start>10:50</start> <duration>00:25</duration> <room>D.rtc</room> <slug>webrtc_musicians</slug> <title>Can WebRTC help musicians?</title> <subtitle>Going beyond traditional and boring use cases to support the arts</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Last year, the world changed, and musicians were among those that were hit the most, and music lovers with them. Can WebRTC help, here? This presentation will try to cover different areas where it could, and in some cases already is.</p></abstract> <description><p>WebRTC is well known and widely deployed as a communication technology. Most of the times, though, we hear about it in the context of those same boring and traditional use cases that we've all seen thousands of times: conferencing, e-learning, contact centers, webinars, etc. As a very amateur and hobbyist musician, I've always wondered whether WebRTC could do more to support the arts instead: the answer is obviously a strong yes, and I've always been pleasantly surprised when I've seen it used to that effect.</p> <p>Music is indeed one of the areas where WebRTC could do so much more. Since the pandemic started, musicians all over the world were affected in different ways: no more concerts, or meeting the fans, or jam session, and so on and so forth, basically making it much harder for them to earn a living; the same could be said for those who simply love to listen to music, attend concerts and engage with musicians. What can WebRTC do to help, here, and what are the technical challenges that may need to be overcome?</p> <p>This presentation will try to cover a few different use cases, ranging from plain streaming/broadcasting (and how WebRTC audio could be improved), tinkering with remote music equipment, playing with friends online and so on. I'll also share some of the experiments I've carried on myself just for fun in this area, the challenges I've identified, and what I'd like to work on next, possibly using the Janus WebRTC Server as a support.</p></description> <persons> <person id="3242">Lorenzo Miniero</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/webrtc_musicians/attachments/slides/4601/export/events/attachments/webrtc_musicians/slides/4601/fosdem2021_webrtc_musicians.pdf">Slides</attachment> </attachments> <links> <link href="https://linuxmusicians.com/viewtopic.php?f=28&t=21617">Post on LinuxMusicians</link> <link href="https://janus.conf.meetecho.com">Janus WebRTC Server</link> <link href="https://soundcloud.com/lminiero">Shameless plug of my music</link> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_musicians.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_musicians.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11028.php">Submit feedback</link> </links> </event> <event id="11046"> <start>11:15</start> <duration>00:25</duration> <room>D.rtc</room> <slug>hep</slug> <title>Decentralizing HEP for RTC Platforms</title> <subtitle>Decentralized HEP/WSS/p2p</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Exploring viable methods to build decentralized, secure, encrypted p2p tracing/logging/capture swarms using HEP and DHT to provide for the present and future needs of webRTC platforms and other next-generation real-time communication systems.</p></abstract> <description></description> <persons> <person id="3287">Lorenzo Mangani</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/hep.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/hep.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11046.php">Submit feedback</link> </links> </event> <event id="11225"> <start>11:40</start> <duration>00:25</duration> <room>D.rtc</room> <slug>webrtc_shipping</slug> <title>Developing WebRTC</title> <subtitle>How to change the browser</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>WebRTC means many things to many people. One of these things is the C++ library that is used to implement the WebRTC functionality such as audio, video and data channels in the Chrome browser. The library is a complex beast with more than a million lines of code and a history dating back to 2004. It implements a wide range of network protocols and audio/video codecs. The interaction between WebRTC and Chrome is heavily influencing the how features are developed, reviewed and shipped to millions of users. In order to successfully contribute one has to understand both the tooling as well as the review process and how changes get into Chrome eventually.</p> <p>I am going to explain that process using two examples: - a trivial logging change - a feature to enable audio redundancy</p> <p>The logging change, while trivial, is a great example of the mechanics how a change gets uploaded, reviewed and shipped.</p> <p>Audio redundancy is a complex feature that attempts to solve a very hard problem, audio quality. Getting that feature considered even required data about the efficiency. The implementation turned out to be relatively complex, involving ten different changes in total. While implemented in the WebRTC library, it has not yet been shipped enabled by default in Chrome since evaluating and tuning the implementation at scale in the real world is difficult.</p> <p>Contributing back to the WebRTC library may be difficult, it is possible and contributions are welcomed. We just need more of them!</p></abstract> <description></description> <persons> <person id="7763">Philipp Hancke</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_shipping.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_shipping.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11225.php">Submit feedback</link> </links> </event> <event id="11401"> <start>12:05</start> <duration>00:25</duration> <room>D.rtc</room> <slug>webrtc_broadcasting</slug> <title>Eating your own dogfood; WebRTC for Broadcasters</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Seeing Zoom used for interviews and "virtual audiences" throughout the pandemic was humiliating for those of us who build projects and products with WebRTC. There must be a better way; and there is - building a WebRTC platform to generate feeds that broadcasters and event producers can consume as they see fit - no need to show Zoom's UI on TV any longer! This is the tale of how and why we built the service that's been used to record all of the RTC track sessions at FOSDEM.</p></abstract> <description></description> <persons> <person id="6159">Dan Jenkins</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_broadcasting.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_broadcasting.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11401.php">Submit feedback</link> </links> </event> <event id="11211"> <start>12:30</start> <duration>00:25</duration> <room>D.rtc</room> <slug>cgrates</slug> <title>High performance Rating Queues using CGRateS</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Instruct the audience for achieving high throughput online exports of charged events with in-memory data only.</p></abstract> <description><p>In this talk Teo will present the mechanisms implemented to achieve straight in-memory processing with online exports for events to be charged by CGRateS, without the need for further storing them. Following CGRateS modules will be covered: ERs, SessionS, CDRs, RALs, AttributeS, EEs. CGRateS is a battle-tested Enterprise Billing Suite with support for various prepaid and postpaid billing modes.</p></description> <persons> <person id="5976">Teofil Voivozeanu</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/cgrates.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/cgrates.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11211.php">Submit feedback</link> </links> </event> <event id="11351"> <start>12:55</start> <duration>00:25</duration> <room>D.rtc</room> <slug>e2ee</slug> <title>The road to End-to-End Encryption in Jitsi Meet</title> <subtitle>How we shipped E2EE in Jitsi Meet, how other apps can implement it and our plans for the future!</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>With the advent of Zoom's questionable use of the term "End to End Encryption" many turned their eyes to FLOSS solutions. Thanks to the insertable streams feature which shipped in Chrome at just the right time, we were able to ship a working E2EE implementation in a reasonably short amount of time.</p> <p>In this presentation we'll walk through all that was needed, what our plans for the future are and how others can leverage what we learned to add E2EE to their WebRTC applications.</p></abstract> <description></description> <persons> <person id="186">Saúl Ibarra Corretgé</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/e2ee/attachments/slides/4435/export/events/attachments/e2ee/slides/4435/E2EE.pdf">The road to End-to-End Encryption in Jitsi Meet</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/e2ee.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/e2ee.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11351.php">Submit feedback</link> </links> </event> <event id="11264"> <start>13:20</start> <duration>00:25</duration> <room>D.rtc</room> <slug>free_comms</slug> <title>Towards free, private and secure communications</title> <subtitle>Action we can take today</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>A look at the challenges facing us in the world of free communications and the practical steps we can take today to move forward.</p></abstract> <description></description> <persons> <person id="925">Daniel Pocock</person> </persons> <attachments> </attachments> <links> <link href="https://danielpocock.com">danielpocock.com (Blog)</link> <link href="https://video.fosdem.org/2021/D.rtc/free_comms.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/free_comms.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11264.php">Submit feedback</link> </links> </event> <event id="11141"> <start>13:45</start> <duration>00:25</duration> <room>D.rtc</room> <slug>webrtc_development</slug> <title>WebRTC shouldn't be this hard!</title> <subtitle>How can we make WebRTC easier for the next generation? What happens if we don't teach it.</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>WebRTC was the technology everyone wanted to learn in 2020. With COVID and WFH new developers and companies came pouring into the scene. They had lots of problems making their vision happen. Many of them didn't even know what WebRTC was. When they figured that out they still had to make the long journey of figuring out how to build. This talk is my reflection of helping developerswith Pion WebRTC. WebRTC has so much potential. We just need to solve some technical, educational and cultural problems.</p> <p>Out of those experiences we started WebRTC for the Curious and tried to make Pion easier to use. I also have some future ideas that I would love help from the RTC community.</p></abstract> <description></description> <persons> <person id="7738">Sean DuBois</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/webrtc_development/attachments/slides/4584/export/events/attachments/webrtc_development/slides/4584/Slides.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_development.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/webrtc_development.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11141.php">Submit feedback</link> </links> </event> <event id="11285"> <start>14:10</start> <duration>00:25</duration> <room>D.rtc</room> <slug>tims_webrtc_history</slug> <title>Why WebRTC is the way it is.</title> <subtitle>A personal history</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>WebRTC has played a vital role keeping us all connected in the last yea which has brought new developers into contact with it. Many are surprised and confused at how it works and the technical decisions that were made. This talk aims to give some historical context to those choices. Hopefully this talk will reduce the confusion experience.</p></abstract> <description><p>By a series of accidents I was on the edge of webRTC development, before it was even a thing. I've been involved in the standardisation from early on to this day, implemented most of the APIs and met most of the people who worked on it. I'll talk about the starting point, the forks in the road, some of the mistakes made and what this project has made possible.</p> <p>Topics covered: Early history... Standards groups P2P vs client server RTP - why? Signalling and SDP Encryption - who do we trust ? DataChannel - choice of protocol Codec wars API abstraction level choice(s)</p> <p>This talk is entirely from my point of view, but may help listeners understand how a huge project like webRTC evolves.</p></description> <persons> <person id="7090">Tim Panton</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tims_webrtc_history/attachments/slides/4604/export/events/attachments/tims_webrtc_history/slides/4604/webrtchistory">webrtchistory</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/tims_webrtc_history.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/tims_webrtc_history.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11285.php">Submit feedback</link> </links> </event> <event id="11698"> <start>14:35</start> <duration>00:25</duration> <room>D.rtc</room> <slug>opensips_call_api</slug> <title>Abstract the SIP Handling Using the Call API</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>The Call API is a management front-end for OpenSIPS 3.1+ SIP servers, aiming to abstract the SIP layer and to simplify the management of more advanced SIP call flows. Moreover, it enables event-driven architectures by providing real-time events on the handled call scenarios.</p></abstract> <description><p>The OpenSIPS 3.1 major release is not just about one piece of software, rather an entire ecosystem! After the recently introduced opensips-cli console environment, aimed at improving the interaction with an OpenSIPS 3.0+ server, we are proud to introduce the Call API -- a responsive, fully asynchronous, high-throughput API, built to abstract all the complexity behind the more arcane SIP calling scenarios (think click-to-dial scenarios, blind transfers, attended transfers, etc.) into intuitive, easy-to-invoke JSON-RPC commands.</p> <p>The first half of the presentation will include an architectural overview of the API. You will learn how to interact with it, how the API further interacts with the OpenSIPS backend, as well as some best practices on writing API clients in your favourite programming language.</p> <p>In the second half, you will learn about the specific SIP scenarios exposed by the API, how they work behind the curtains and what kind of services you can build on top of them.</p></description> <persons> <person id="4132">Liviu Chircu</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/opensips_call_api/attachments/slides/4657/export/events/attachments/opensips_call_api/slides/4657/2021_fosdem_abstract_the_sip_handling_using_the_call_api.pdf">Presentation (PDF)</attachment> </attachments> <links> <link href="https://github.com/opensips/call-api">Source Code Repository</link> <link href="https://video.fosdem.org/2021/D.rtc/opensips_call_api.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/opensips_call_api.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11698.php">Submit feedback</link> </links> </event> <event id="11693"> <start>15:00</start> <duration>00:25</duration> <room>D.rtc</room> <slug>freeswitch</slug> <title>FreeSWITCH mid-registering for Fun, Profit, Scale and Push</title> <subtitle>How to scale FreeSWITCH Registration Traffic and add Push Notifications</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Registration (User Location) is an important part of a SIP infrastructure, eg: where to send a call for a particular user. During this presentation we'll learn how to scale FreeSWITCH capabilities so to handle high volume / high frequency transactions by having a mid-registrar absorbing the most transactions and only bother FreeSWITCH with the bare minimum info it needs (is the user reachable, and where). Multiple parallel calls can be "forked" if the user is registered as present at various devices (eg: deskphone and smartphone app), push notifications can be sent to "wake up" the user's app. We'll use OpenSIPS as an example of mid-registrar, but the same concepts and techniques can be implemented by any open source SIP proxy, like Kamailio, Repro, etc</p></abstract> <description></description> <persons> <person id="4158">Giovanni Maruzzelli (gmaruzz)</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/freeswitch/attachments/slides/4480/export/events/attachments/freeswitch/slides/4480/Mid_Registering_for_Fun_Profit_Scale_Push_FOSDEM2021_Maruzzelli.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/freeswitch.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/freeswitch.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11693.php">Submit feedback</link> </links> </event> <event id="11697"> <start>15:25</start> <duration>00:25</duration> <room>D.rtc</room> <slug>opensips_media</slug> <title>Controlling media of ongoing calls with just a SIP Proxy</title> <subtitle>Enhanced media capabilities for calls going through a SIP Proxy</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Learn how to provide enhanced media capabilities (such as music on hold playbacks, PIN prompts, barge-in services, etc) to calls that are passing through OpenSIPS SIP Proxy.</p></abstract> <description><p>SIP proxies, by definition, lack the ability to do any media handling, due to the fact that they only stand in the path of call signalling, but not call media (as opposed to a B2B media server, which behaves as an endpoint for both media and signalling). So, how do you keep your OpenSPIS as a performant SIP proxy, but also enhance your SIP service with extra media capabilities? Starting version 3.1, OpenSIPS provides the means of controlling and changing the RTP streams of the ongoing calls without altering the signalling path of the call (i.e. without transferring the call to a B2B media server), as the calls should be easily resumed to its initial state.</p> <p>A set of examples where manipulating media in an ongoing call can be useful, while preserving its signalling path, are:</p> <ul> <li><p>inject an audio/video announcement</p></li> <li><p>playback music on hold files</p></li> <li><p>fork media for call recording, or for call listening</p></li> <li><p>inject media for call whispering</p></li> <li><p>temporary barge in an ongoing call</p></li> </ul> <p>All these features, and many others can be implemented by simply mixing the participants of multiple calls. This presentation describes how all these features can be implemented in OpenSIPS 3.1 using the new Media Exchange module, without changing the SIP signalling path, but only by exchanging SDP bodies between different SIP sessions.</p></description> <persons> <person id="1789">Razvan Crainea</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/opensips_media.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/opensips_media.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11697.php">Submit feedback</link> </links> </event> <event id="11043"> <start>15:50</start> <duration>00:25</duration> <room>D.rtc</room> <slug>sip3</slug> <title>How to build SIP3 based solutions or Wangiri fraud detection example</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>SIP3 is an advanced monitoring and troubleshooting platform. It recently released a few very powerful APIs which you can use to build your own telecom solutions. In the presentation I will show how we used these APIs to implement Wangiri fraud detection service.</p></abstract> <description></description> <persons> <person id="5717">Oleg Agafonov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sip3/attachments/slides/4483/export/events/attachments/sip3/slides/4483/SIP3_FOSDEM2021.pdf">How to build SIP3 based solutions or Wangiri fraud detection example</attachment> </attachments> <links> <link href="https://sip3.io">SIP3 Website</link> <link href="https://github.com/sip3io">SIP3 Github</link> <link href="https://sip3.io/docs/InstallationGuide.html">SIP3 Documentation</link> <link href="https://twitter.com/agaf0x">Twitter of @agafox</link> <link href="https://video.fosdem.org/2021/D.rtc/sip3.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/sip3.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11043.php">Submit feedback</link> </links> </event> <event id="11189"> <start>16:15</start> <duration>00:25</duration> <room>D.rtc</room> <slug>lpreproxy</slug> <title>Light RTPENGINE PROXY (LREPROXY) FOR KAMAILIO</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>The lrerpxy module is a new module for Kamailio for relaying media session in kernel space linux. The related paper of this module is accepted in 10th International Conference on Computer and Knowledge Engineering (ICCKE2020) October 29-30, 2020. (https://ieeexplore.ieee.org/document/9303608) Also the silde of my presentation is published in: https://www.slideshare.net/mespio/lreproxy-module-for-kamailio-presenation</p></abstract> <description><p>The IP Multimedia Subsystem is an architectural network for delivering IP multimedia services and data. The IMS network has built on three layers which allows for the convergence of different access networks. Each layer in IMS is consisting of various elements and protocols that consequently process signaling or media flow to specific application service. While the Call Session Control Function (CSCF) is the main route decision of the IMS network, the most significant of resources are used by routing and delivering media flow in Transport data layer in IMS network. With raising of request for service in IMS, the usage of resource have been increased. The ingress and egress nodes in IMS network are critical points and could potentially being bottleneck because they have to transmit huge signaling and media packets from and to IMS network. In this paper, we focused on Transport data layer on Edge-Border IMS network to manage and optimize its resources. We propose a new model of proxy that is called LREProxy. We implement LREProxy as new module for Kamailio, Open Source SIP Server.</p></description> <persons> <person id="7699">Mojtaba Esfandiari</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lpreproxy/attachments/slides/4499/export/events/attachments/lpreproxy/slides/4499/lreproxy">lreproxy</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/lpreproxy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/lpreproxy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11189.php">Submit feedback</link> </links> </event> <event id="11104"> <start>16:40</start> <duration>00:25</duration> <room>D.rtc</room> <slug>pocket_sip_tools</slug> <title>Pocket SIP Multi-Tools Kit</title> <subtitle/> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>The presentation tries to reveal a list of open source small applications that are typically not in focus, but very useful for helping to build RTC applications, troubleshoot or operate SIP-based platforms. Among others, they can be used to automatize, monitor or simulate endpoints for new features or scenarios, saving time and reducing costs during the development and testing phases. The scope is also to engage the audience to share their experiences and let everyone know about other tools.</p></abstract> <description></description> <persons> <person id="1104">Daniel-Constantin Mierla</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/pocket_sip_tools/attachments/slides/4573/export/events/attachments/pocket_sip_tools/slides/4573/dcm_pocket_sip_tools.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.rtc/pocket_sip_tools.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/pocket_sip_tools.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11104.php">Submit feedback</link> </links> </event> <event id="11263"> <start>17:05</start> <duration>00:25</duration> <room>D.rtc</room> <slug>resiprocate</slug> <title>reSIProcate project news</title> <subtitle>An update on reSIProcate development</subtitle> <track>Real Time Communications</track> <type>devroom</type> <language/> <abstract><p>Discussion of the most recent release of reSIProcate, how to use it and how to get involved.</p></abstract> <description></description> <persons> <person id="925">Daniel Pocock</person> <person id="8055">Scott Godin</person> </persons> <attachments> </attachments> <links> <link href="https://www.resiprocate.org">reSIProcate web site</link> <link href="https://video.fosdem.org/2021/D.rtc/resiprocate.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.rtc/resiprocate.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11263.php">Submit feedback</link> </links> </event> </room> <room name="D.safety"> <event id="11857"> <start>10:00</start> <duration>00:45</duration> <room>D.safety</room> <slug>safety_opensource_foss_safety</slug> <title>Why we should use Free and Open Source Software for safety applications</title> <subtitle/> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>The advantages of Free and Open Source Software are numerous, benefiting industry partners, individual contributors and the wider community who collaborate to advance state of the art. More than ever companies choose FOSS, however the world of safety is behind the curve. Software developed for safety applications often use old development practices and are closed source. Too commonly this code is seen as a competitive advantage, and having spent vast sums developing and analysing for safety, companies are reluctant to share their code. Ultimately this is to the detriment of everyone, and leaves us all vulnerable to unsafe software.</p> <p>This talk will outline the problems with software in safety currently, detail how using FOSS practices could benefit not just the wider community but the leading industry suppliers, and talk about what we need to do as FOSS creators to convince industry that this is the way forward and make the software we use safer for all.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_foss_safety.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_foss_safety.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11857.php">Submit feedback</link> </links> </event> <event id="11372"> <start>11:00</start> <duration>00:30</duration> <room>D.safety</room> <slug>safety_opensource_ada_contracts</slug> <title>Adding contracts to the GCC GNAT Ada standard libraries</title> <subtitle>to strengthen analysis provided by formal verification tools</subtitle> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>The guarantees provided by SPARK, an open-source formal proof tool for Ada, and its analysis are only as strong as the properties that were initially specified. In particular, use of third-party libraries or the Ada standard libraries may weaken the analysis, if the relevant properties of the library API are not specified. We progressively added contracts to some of the GCC GNAT Ada standard libraries to enable users to prove additional properties when using them, thus increasing the safety of their programs. In this talk, I will present the different levels of insurance those contracts can provide, from preventing some run-time errors to occur, to describing entirely their action.</p></abstract> <description></description> <persons> <person id="7834">Joffrey Huguet</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/safety_opensource_ada_contracts/attachments/slides/4628/export/events/attachments/safety_opensource_ada_contracts/slides/4628/FOSDEM2021_Adding_Contracts_Ada_Standard_Libraries.pdf">Presentation slides</attachment> </attachments> <links> <link href="https://github.com/AdaCore/spark2014">GitHub repository of spark2014</link> <link href="https://blog.adacore.com/secure-use-of-cryptographic-libraries-spark-binding-for-libsodium">Blogpost about annotation of a third-party library to increase software reliability</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_ada_contracts.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_ada_contracts.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11372.php">Submit feedback</link> </links> </event> <event id="11685"> <start>11:45</start> <duration>01:00</duration> <room>D.safety</room> <slug>safety_opensource_doc_security_pdf</slug> <title>Document security and digital signatures in PDF</title> <subtitle/> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>The push for paperless bureaucracy has been going on for quite some time, but the circumstances of the past year made the issue even more pressing than it already was.</p> <p>The PDF specification outlines a number of security features, including but not limited to encryption, digital signatures and redaction support. The goal of this talk is to give a broad overview of the various security mechanisms provided by the PDF standard and their applications in the real world, with a particular focus on digital signing.</p></abstract> <description><p>The push for paperless bureaucracy has been going on for quite some time, but the circumstances of the past year made the issue even more pressing than it already was.</p> <p>PDF has played---and continues to play---an important role in this digitalisation process. This is in large part due to the format's reputation for robust, platform-independent rendering, but its easy-to-use, natively supported security features are another key selling point. PDF documents can be encrypted using AES or public-key encryption to keep their contents away from prying eyes, and the PDF specification also includes native support for redacting documents before public release. Last but not least, electronic PDF signatures as a replacement for old-school "wet ink" signatures have been a major factor in moving towards paperless workflows for companies and governments alike.</p> <p>Document security is a complicated and broad subject, with many different facets that often conflict with one another. In particular, developers of workflows handling sensitive documents regularly face tough judgment calls weighing security requirements against ease of use. The security features in the PDF specification provide a standard framework to respond to these needs. In this talk, we'll discuss how you can leverage PDF to build secure, yet user-friendly document workflows. In the context of digital signing, we'll go over what it means to "trust" a digital signature, and how that trust is validated in practice. In addition, the talk wil touch upon some of the common pitfalls in PDF security that you should be aware of to prevent your documents from being exploited.</p></description> <persons> <person id="7832">Matthias Valvekens</person> </persons> <attachments> </attachments> <links> <link href="https://itextpdf.com">iText homepage</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_doc_security_pdf.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_doc_security_pdf.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11685.php">Submit feedback</link> </links> </event> <event id="11077"> <start>13:30</start> <duration>01:00</duration> <room>D.safety</room> <slug>safety_opensource_ada_heap_manipulation</slug> <title>Proving heap-manipulating programs with SPARK</title> <subtitle>The SPARK open-source proof tool for Ada now supports verifying pointer-based algorithms thanks to an ownership policy inspired by Rust</subtitle> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>SPARK is an open-source tool for formal verification of the Ada. language. Last year, support for pointers, aka access types, was added to SPARK. It works by enforcing an ownership policy somewhat similar to the one used in Rust. It ensures in particular that there is only one owner of a given data at all time, which can be used to modify it. One of the most complex parts for verification is the notion of borrowing. It allows to transfer the ownership of a part of a data-structure, but only for a limited time. Afterward ownership returns to the initial owner. In this talk, I will explain how this can be achieved and, in particular, how we can describe in the specification the relation between the borrower and the borrowed object at all times.</p></abstract> <description></description> <persons> <person id="7711">Claire Dross</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_ada_heap_manipulation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_ada_heap_manipulation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11077.php">Submit feedback</link> </links> </event> <event id="11856"> <start>14:45</start> <duration>01:00</duration> <room>D.safety</room> <slug>safety_opensource_elisa_safety_critical</slug> <title>ELISA - Advancing Open Source Safety-Critical Systems </title> <subtitle/> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>Assessing whether a system is safe, requires understanding the system sufficiently. If the system depends on Linux, it is important to understand Linux within that system context and how Linux is used in that system. The challenge is selecting Linux components and features that can be evaluated for safety and identifying gaps that exist where more work is needed to evaluate safety sufficiently.</p> <p>The ELISA project has taken on the challenge to make it easier for companies to build and certify Linux-based safety-critical applications. This talk will be given by Shuah Khan from the Linux Foundation to give an overview of the ELISA project and its technical strategy.</p></abstract> <description></description> <persons> <person id="8367">shuahfosdem</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_elisa_safety_critical.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_elisa_safety_critical.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11856.php">Submit feedback</link> </links> </event> <event id="11734"> <start>16:00</start> <duration>01:00</duration> <room>D.safety</room> <slug>safety_opensource_community</slug> <title>Community Discussion: Safety and Open Source</title> <subtitle/> <track>Safety and Open Source</track> <type>devroom</type> <language/> <abstract><p>We would like to hold an open live discussion on the topic of Safety and Open Source.</p></abstract> <description><p>We welcome folk to join regardless of their experience level in the topic area, and encourage everyone to engage with talking points, questions, debate and so on.</p> <p>Possible talking points might include (but are not limited to):</p> <ul> <li>Pros and cons of using Open Source software in safety</li> <li>Examples of Open Source Software being used in safety applications today</li> <li>Legal and moral implications for contributors who have their code used in safety applications</li> <li>Safety analysis techniques for complex software systems</li> <li>Requirements analysis, and verification and validation techniques (including creating argumentation to prove that software is safe enough to use)</li> <li>What we need to do as FOSS creators to shift the industry mentality around the use of FOSS vs. current safety standards</li> <li>Open Source Development practices and how we can map these to practices such as the V-model which are needed for current industry safety standards (e.g. IEC 61508, ISO 26262 ect.)</li> </ul> <p>We will upload a link to an online meeting space to do this.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_community.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.safety/safety_opensource_community.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11734.php">Submit feedback</link> </links> </event> </room> <room name="D.sdn"> </room> <room name="D.sds"> <event id="11513"> <start>11:00</start> <duration>00:30</duration> <room>D.sds</room> <slug>sds_ceph_s3_cosbench</slug> <title>Benchmarking S3 in Ceph with COSBench</title> <subtitle/> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>There are a number of available tools and approaches for benchmarking S3 performance in Ceph. Benchmarking reliably and sensibly gets more challenging as you scale out storage clusters, gateways, and benchmarking drivers. In this talk I’ll go over some of the benchmarking tools we’ve used in recent months, talk about our focus around COSBench, and some of the approaches and steps we took to improve the state of COSBench for Ceph benchmarking, both in COSBench itself and with helper tools.</p></abstract> <description></description> <persons> <person id="7042">Danny Abukalam</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_s3_cosbench.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_s3_cosbench.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11513.php">Submit feedback</link> </links> </event> <event id="11466"> <start>11:40</start> <duration>00:40</duration> <room>D.sds</room> <slug>sds_ceph_rgw_whats_new</slug> <title>What's new in Ceph RGW</title> <subtitle/> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>What's new in Ceph RGW</p> <p>Ceph is an open source, highly scalable, software defined storage that provides object, file and block interfaces under a unified system. Ceph Object Storage Gateway (RGW) provides a RESTful object storage interface to the Ceph Storage cluster. It provides an interface that is compatible with a large subset of AWS S3 APIs. In this talk we will discuss the upcoming features in ‘Pacific’ release and beyond. The list of features are: S3select Lua scripting Encryption - kmip, kms backend, sse-s3 D3n cache Gc OMAP offload Xattrs in nfs Hadoop connector that uses rgw Bucket notifications: addition of persistent bucket notifications Zypper multisite enhancements</p></abstract> <description></description> <persons> <person id="6638">Pritha Srivastava</person> <person id="7864">Shilpa Jagannath</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_rgw_whats_new.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_rgw_whats_new.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11466.php">Submit feedback</link> </links> </event> <event id="11130"> <start>12:30</start> <duration>00:40</duration> <room>D.sds</room> <slug>sds_smb3_overboard</slug> <title>SMB3 Overboard</title> <subtitle>An Offload Engine for NASty Networks</subtitle> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>Data Processing Units (DPUs) and SmartNICs--these things are getting a lot of attention, particularly in the network storage world. There's a bit of history behind them, particularly if you consider TCP Offload Engine (TOE) cards and iSCSI NICs, both of which have been around for quite a while. This latest wave, however, is more general-purpose by design and presents an opportunity for developers like us.</p></abstract> <description><p>DPUs are typically, but not necessarily, built around ARM cores. They are the engines that power the current cavalcade of SmartNICs, and are also being integrated into server-class mainboards. In any case, they are going to be a feature of the next generation of storage platforms, application servers, and cloud infrastructure systems. This talk centers around work to implement NAS Offload, particularly SMB3, for SmartNICs. We'll expand from there to discuss how NAS Offload can be leveraged for Software Defined NAS services, and will also consider what DPUs might mean for distributed object storage. The doors are wide open to Open Source development community, and this is an opportunity we cannot afford to miss.</p></description> <persons> <person id="7602">Christopher Hertel</person> </persons> <attachments> </attachments> <links> <link href="https://blogs.nvidia.com/blog/2020/05/20/whats-a-dpu-data-processing-unit/">NVidia</link> <link href="https://www.fungible.com/product/dpu-platform/">Fungible DPU Overview</link> <link href="https://fidus.com/products/sidewinder/">Example card from Fidus</link> <link href="https://gitlab.com/ubiqx/zambezi">SMB3 Offload Engine project (Zambezi)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_smb3_overboard.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_smb3_overboard.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11130.php">Submit feedback</link> </links> </event> <event id="11460"> <start>13:20</start> <duration>01:00</duration> <room>D.sds</room> <slug>sds_linstor_replicated_block</slug> <title>Replicated block storage automation with LINSTOR</title> <subtitle>Using LINSTOR as an SDS provider for container and virtualization platforms</subtitle> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>LINSTOR enables the automation of the deployment of block storage that is replicated over multiple storage nodes and can act as a software defined storage provider for various container and virtualization platforms, such as Kubernetes, OpenStack, OpenNebula and Proxmox. It also includes additional storage features, such as the automation of storage encryption, deduplication or the automatic creation of file systems on new block storage volumes.</p></abstract> <description></description> <persons> <person id="5995">Robert Altnoeder</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sds_linstor_replicated_block/attachments/slides/4617/export/events/attachments/sds_linstor_replicated_block/slides/4617/LINSTOR_at_FOSDEM21.pdf">Presentation slides of the LINSTOR presentation (SDS devroom)</attachment> </attachments> <links> <link href="https://www.linbit.com/linstor/">High-level overview of what LINSTOR is and does</link> <link href="https://github.com/LINBIT/linstor-server">LINSTOR project homepage on GitHub</link> <link href="https://github.com/piraeusdatastore/piraeus">Piraeus project homepage on GitHub</link> <link href="https://video.fosdem.org/2021/D.sds/sds_linstor_replicated_block.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_linstor_replicated_block.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11460.php">Submit feedback</link> </links> </event> <event id="11384"> <start>14:30</start> <duration>00:30</duration> <room>D.sds</room> <slug>sds_object_storage_for_k8s</slug> <title>What’s next after CSI? An introduction to Object Storage for Kubernetes</title> <subtitle>Moving beyond file and block storage in Kubernetes</subtitle> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>Kubernetes graduated Container Storage Interface (CSI) to GA status in v1.13. Since CSI’s origin, it has evolved to support a large number of vendors and storage formats. It has brought the industry together in consensus about the best practices in storage. However, CSI’s major limitation is that it only supports Block and File storage. The rapid growth of Object storage means that a growing share of the ecosystem is currently using ad-hoc solutions to leverage this new technology. Object storage is a fundamentally different paradigm where data is accessed over the network rather than locally. It allows applications to remain stateless while offloading state into a black box over the network. Object storage is the key enabler for cloud migration. This paradigm, however, does not have a standard mechanism for consumption in Kubernetes. COSI fundamentally exists to enable the natural consumption of object storage with Kubernetes.</p></abstract> <description><p>In this talk, we discuss our efforts in bringing object storage into the forefront of Kubernetes and introduce the Container Object Storage Interface (COSI) and cover: - Why COSI is needed for Kubernetes - Best practices for using COSI - Designing apps to leverage COSI - The COSI architecture, and how to contribute to the project.</p></description> <persons> <person id="3109">Jiffin Tony Thottan</person> <person id="7605">Krish Chowdhary</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sds_object_storage_for_k8s/attachments/slides/4507/export/events/attachments/sds_object_storage_for_k8s/slides/4507/cosi_slides.pdf">Kubernetes Object Storage FOSDEM 2021</attachment> </attachments> <links> <link href="https://github.com/kubernetes-sigs/container-object-storage-interface-controller">Kubernetes Sigs repo</link> <link href="https://github.com/kubernetes/enhancements/pull/2100">KEP</link> <link href="https://video.fosdem.org/2021/D.sds/sds_object_storage_for_k8s.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_object_storage_for_k8s.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11384.php">Submit feedback</link> </links> </event> <event id="11084"> <start>15:10</start> <duration>01:00</duration> <room>D.sds</room> <slug>sds_ceph_rgw_serverless</slug> <title> Ceph RGW Message Queue API for Serverless Computing</title> <subtitle/> <track>Software Defined Storage</track> <type>devroom</type> <language/> <abstract><p>A proposal to support AWS SQS API natively in Ceph RGW, for advanced Serverless computing use cases.</p></abstract> <description><p>Bucket notification has become widespread in many applications including AI/ML and Edge Computing. We have demonstrated that Ceph RGW bucket notifications trigger Serverless functions including Knative and AWS Lambda. Such workflows can be characterized as event push and event driven.</p> <p>We’ve identified yet another workflow that allows Serverless computing frameworks to be more preemptive in auto scaling. The workflow is based on the event queue polling model, the opposite of event push, that allows Serverless computing frameworks, such as KEDA, to preemptively scale the functions based on the queue length. Such workflow is more advantageous and lightweighted in dealing with highly bursty event traffic and reducing Serverless function cold start overhead.</p> <p>In order to support this workflow, we propose a new set of message queue APIs, modeled after AWS SQS, for Ceph RGW. In this talk, we’ll present the overview and planning of this technology to the community.</p></description> <persons> <person id="7551">Yuval Lifshitz</person> <person id="7569">Huamin Chen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sds_ceph_rgw_serverless/attachments/slides/4660/export/events/attachments/sds_ceph_rgw_serverless/slides/4660/FOSDEM2021">Ceph RGW Message Queue API for Serverless Computing</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_rgw_serverless.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sds/sds_ceph_rgw_serverless.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11084.php">Submit feedback</link> </links> </event> </room> <room name="D.testing"> <event id="11193"> <start>10:00</start> <duration>00:10</duration> <room>D.testing</room> <slug>welcome_to_testing_and_automation_devroom</slug> <title>Welcome to Testing and Automation devroom</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>A warm welcome from your devroom managers, practical information, lineup and administrivia. Let's make this edition of FOSDEM count!</p> <p>Happy Testing!</p></abstract> <description></description> <persons> <person id="1538">Alexander Todorov</person> <person id="5014">Cyril Hrubis</person> <person id="7104">Anders Roxell</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/welcome_to_testing_and_automation_devroom/attachments/slides/4327/export/events/attachments/welcome_to_testing_and_automation_devroom/slides/4327/welcome_testing_automation.odp">Slides in ODF format</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/welcome_to_testing_and_automation_devroom/attachments/slides/4328/export/events/attachments/welcome_to_testing_and_automation_devroom/slides/4328/welcome_testing_automation.pdf">Slides in PDF format</attachment> </attachments> <links> <link href="https://fosdem-testingautomation.github.io/">Devroom website</link> <link href="https://fosdem.org/2021/schedule/streaming/">FOSDEM: Live Streaming</link> <link href="/2021/stands.fosdem.org/">FOSDEM: Open Source Projects Stands</link> <link href="https://fosdem.org/2021/practical/conduct/">FOSDEM: Code of Conduct</link> <link href="https://kiwitcms.org/">Kiwi TCMS' website</link> <link href="https://www.linaro.org/">Linaro's website</link> <link href="https://www.suse.com/">SUSE's website</link> <link href="https://video.fosdem.org/2021/D.testing/welcome_to_testing_and_automation_devroom.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/welcome_to_testing_and_automation_devroom.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11193.php">Submit feedback</link> </links> </event> <event id="11343"> <start>10:10</start> <duration>01:00</duration> <room>D.testing</room> <slug>kernelci_over_to_you</slug> <title>KernelCI has passed the test. Over to you!</title> <subtitle>The first year as a LF project has been a success. Now it's time to involve a wider community.</subtitle> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>KernelCI has now been a Linux Foundation project for just over a year. During that time, it has set the basis needed to fulfil its mission of being the de facto upstream kernel test system. We can now build many more kernels, run many more tests and collate results from many more test labs. We also have a growing team of core contributors, an on-going commitment from our member companies as well as more presence in the kernel community. Together, we are gathering the momentum needed to start a trend.</p> <p>Now we need to make KernelCI a natural part of upstream kernel development and realise its true potential. The <a href="https://foundation.kernelci.org/blog/2020/07/09/kernelci-community-survey-report/">Community Survey</a> in June 2020 showed there is great value and interest in having a more test-driven workflow. While this is going to be a long-term goal, we already have a process to let the community shape the KernelCI tools according to their own needs. This talk gives an overview of how it would work, essentially by allowing decisions to be based on feedback from the whole ecosystem (developers, maintainers, OEMs...). We want to hear from you!</p></abstract> <description></description> <persons> <person id="4997">Guillaume Tucker</person> </persons> <attachments> </attachments> <links> <link href="https://kernelci.org">KernelCI dashboard</link> <link href="https://video.fosdem.org/2021/D.testing/kernelci_over_to_you.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/kernelci_over_to_you.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11343.php">Submit feedback</link> </links> </event> <event id="11003"> <start>11:10</start> <duration>00:45</duration> <room>D.testing</room> <slug>reproducing_kernel_data_races</slug> <title>Reliably reproducing kernel data races</title> <subtitle>From userland with LTP FuzzySync</subtitle> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Introduction to the Linux Test Project <em>Fuzzy Sync</em> C library, developed for reproducing data races in the Kernel from user land. Will cover a simple contrived data race, entirely in user land, to demonstrate the basics. Then we will move onto real world examples within the kernel, including when a <em>delay bias</em> is required to ensure a particular chronological order of events.</p> <p>Fuzzy Sync was developed for reproducing Linux kernel bugs, however it may be used to collide events in user land, another kernel or other contexts. No particular kernel features or instrumentation are required. The Linux Test Project is a large test suite for the Linux kernel and POSIX. Most of the tests are stand alone executables which run in user land and interact with some low level kernel interface. Fuzzy Sync is primarily used in regression tests which attempt to reproduce a particular bug. This ensures the bug is not reintroduced and indicates if a patch needs back porting to older kernels.</p></abstract> <description></description> <persons> <person id="5048">Richard Palethorpe</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/reproducing_kernel_data_races/attachments/slides/4289/export/events/attachments/reproducing_kernel_data_races/slides/4289/fzsync_pres.pdf">Slides exported to PDF</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/reproducing_kernel_data_races/attachments/slides/4291/export/events/attachments/reproducing_kernel_data_races/slides/4291/fzsync_pres.tar.gz">Reveal.js slides source</attachment> </attachments> <links> <link href="https://richiejp.com/a-rare-data-race">Previous article on Fuzzy Sync</link> <link href="https://www.youtube.com/watch?v=P1lstl-NwWQ">Previous video on Fuzzy Sync</link> <link href="https://gitlab.com/Palethorpe/fuzzy-sync">Standalone library</link> <link href="https://richiejp.github.io/fuzzy-sync-pres-2021">Presentation Slides</link> <link href="https://video.fosdem.org/2021/D.testing/reproducing_kernel_data_races.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/reproducing_kernel_data_races.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11003.php">Submit feedback</link> </links> </event> <event id="11345"> <start>11:55</start> <duration>00:30</duration> <room>D.testing</room> <slug>comparison_ftrace_lttng</slug> <title>A Comparison of ftrace and LTTng for Tracing Baremetal and Virtualized Workloads</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Tracing is awesome. Full stop. But what tracing? In fact, even just on Linux, there are quite a few tracing solutions, aren't there they? In this session we'll show off and compare ftrace and LTTng and, for visualizing the collected data, KernelShark and Trace Compass when tracing both baremetal and virtualized systems.</p></abstract> <description><p>With tracing, we can get to understand what is really happening while our software is running at a great level of detail. Depending on the adopted tracing solution, that applies to user-space components, to OS kernels or even to both. The collected data can be very helpful when investigating bugs and misbehaviors, but can also be used for understanding the internals of the system and for chasing performance degradations or improvements.</p> <p>On Linux, tracing can be done in a variety of ways. This talk will focus on two: ftrace and LTTng. The aim is describing their characteristics and show how each one works. After that we will show what are the main differences between them in terms of what they are capable of, how the are used and last but not least the overhead they introduce, measured with several benchmarks.</p> <p>We will also cover the tools that one can use to visualize the often huge amount of data that is usually collected during a tracing session. Both textual ones, such as trace-cmd and babeltrace2, and graphical ones, such as KernelShark and Trace-Compass.</p> <p>Last but not least, we will offer some insights on how to use these two mechanisms for tracing virtualized environments. I.e., how can you use them for tracing what is going on both on the host and inside one or more guests, at the same time, and how good are they for such purpose?</p></description> <persons> <person id="3513">Dario Faggioli</person> <person id="7804">Emilio Bruno</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/comparison_ftrace_lttng/attachments/slides/4529/export/events/attachments/comparison_ftrace_lttng/slides/4529/A_Comparison_of_ftrace_and_LTTng_for_Tracing_Baremetal_and_Virtualized_Workloads.pdf">A Comparison of ftrace and LTTng for Tracing Baremetal and Virtualized Workloads</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.testing/comparison_ftrace_lttng.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/comparison_ftrace_lttng.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11345.php">Submit feedback</link> </links> </event> <event id="11638"> <start>12:25</start> <duration>00:40</duration> <room>D.testing</room> <slug>testing_embedded_devices</slug> <title>About the joy and tears of testing Embedded Devices</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Embedded development is complex enough. By automating repetitive parts during development and employing testing, a lot of time can be saved and human errors avoided. Additionally, embedded development is usually a team effort: scarce hardware must often be shared between developers and sometimes even with automated testing. labgrid is an open source tool for remote control and testing of Embedded Linux Devices in a distributed lab. In this talk the presenter takes a look at how labgrid can be used in your Embedded lab and what labgrid's developers have learned in over three years of using and developing it.</p></abstract> <description><p>At first the presenter takes a closer look at what is actually needed to fully remote-control an Embedded Linux Device: What are the typical interfaces that need to be covered? What remote-control hardware is commercially available?</p> <p>Next the presenter will focus on the labgrid [0] framework. Labgrid is an embedded board control python library, with a focus on testing, development and general automation. After a short overview of the key design-concepts the presenter will discuss labgrid's architecture. This part finishes with a demo of how interactive development with labgrid looks like and how tests are implemented using pytest.</p> <p>The talk will conclude with a lessons-learned with the joy and tears of over three years of active labgrid development and use.</p></description> <persons> <person id="7857">Chris Fiege</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/testing_embedded_devices/attachments/slides/4610/export/events/attachments/testing_embedded_devices/slides/4610/joy_and_tears_of_testing_embedded_devices.pdf">Slides (PDF)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/testing_embedded_devices/attachments/slides/4611/export/events/attachments/testing_embedded_devices/slides/4611/joy_and_tears_of_testing_embedded_devices.odp">Slides Source (odp)</attachment> </attachments> <links> <link href="https://github.com/labgrid-project/labgrid">labgrid Project at Github</link> <link href="https://labgrid.readthedocs.io/">labgrid Documentation</link> <link href="https://video.fosdem.org/2021/D.testing/testing_embedded_devices.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/testing_embedded_devices.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11638.php">Submit feedback</link> </links> </event> <event id="11604"> <start>13:35</start> <duration>01:00</duration> <room>D.testing</room> <slug>debugging_inside_ci</slug> <title>Interactive debugging inside CI systems</title> <subtitle>Genesis and future of the spread tool</subtitle> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Commonly used CI systems operate as SAAS solutions, where the user is not running the CI stack locally. This lends itself to debugging pitfall as developers cannot easily reproduce the problem locally and cannot interactively examine it. This talk proposes an inverted design, where self-operated CI tool can be used both in the cloud as well as locally, supporting interactive debugging sessions.</p></abstract> <description><p>The recent surge of CI systems has created an interesting new problem, where a failure occurs in a specific test environment but does not appear in the familiar environment used by the developer.</p> <p>This problem is compounded by the batch nature of such systems, where a developer can merely push additional patches to some branch to trigger an asynchronous execution process.</p> <p>During the development of Ubuntu Core operating system, this problem was amplified by the fact building and testing a full OS image is a time-consuming process, leading to cycles that spanned hours and lead to frustration. Snapd developers created the spread program to solve this, among other, problem.</p> <p>The SAAS solution became a thin wrapper around spread, which allocates, provisions, uses and finally discards the test environment. Crucially, almost all errors can be reproduced locally, as spread runs as a standalone tool, using QEMU, LXD, Google Compute Engine or Linode as executors.</p> <p>This allows anyone to run spread locally, in interactive mode, and explore the problem without putting additional load on the centralized CI system, greatly improving the debugging process.</p></description> <persons> <person id="7945">Zygmunt Krynicki</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/debugging_inside_ci/attachments/slides/4452/export/events/attachments/debugging_inside_ci/slides/4452/fosdem_2021_interactive_debugging_in_CI_systems.odt">Interactive debugging in CI systems</attachment> </attachments> <links> <link href="https://github.com/snapcore/spread">Spread git repository</link> <link href="https://git.ostc-eu.org/OSTC/tools/oh-spread/">Spread OSTC git repository</link> <link href="https://video.fosdem.org/2021/D.testing/debugging_inside_ci.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/debugging_inside_ci.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11604.php">Submit feedback</link> </links> </event> <event id="11359"> <start>14:35</start> <duration>00:45</duration> <room>D.testing</room> <slug>tdd</slug> <title>TDD: seriously, try it !</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it?</p> <p>In this session I'd like to present the benefits of Test-Driven Development (TDD), explaing how it works and what the benefits are of using it. We will see in a more detailed approach this way of developing software, where our software is always built guided by tests.</p> <p>We will go over some history about TDD, which is the main process we must follow when we work with this mechanic and the rules that surround it. We will also list the main advantages and disadvantages that most developers who practice TDD find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD and see how to do it step by step with a Java code example.</p> <p>At the end of the session, I hope attendees will have a wider understanding of what TDD is, what advantages it brings, why it is interesting to master it and also that you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code 😉</p></abstract> <description></description> <persons> <person id="7629">Nacho Cougil</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/tdd/attachments/slides/4418/export/events/attachments/tdd/slides/4418/Powerpoint_Presentation">TDD: Seriously, try it!</attachment> </attachments> <links> <link href="https://www.slideshare.net/icougil/tdd-seriously-try-it-revisited-with-code-slides">Presentation slides</link> <link href="https://video.fosdem.org/2021/D.testing/tdd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/tdd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11359.php">Submit feedback</link> </links> </event> <event id="10882"> <start>15:20</start> <duration>01:00</duration> <room>D.testing</room> <slug>ansible_tdd_molecule</slug> <title>Unit Testing Ansible Roles using TDD with Molecule</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>It brings the concept of roles that help classify your automation tasks/playbooks and group them by purpose.</p> <p>But :</p> <p>When should we use Ansible roles? How to create and test Ansible roles? What tools do we have to ease the process? How can we apply best practices of software development (TDD) to ensure your roles are doing what they are intended to? This talk will introduce you to Ansible Roles testing will Ansible Molecule; a tool used to drive ansible roles testing. Moreover, we will try to apply the Test Driven Development (TDD) process to test our roles.</p> <p>So, come and see us, to learn more about Ansible and Ansible Roles Testing.</p></abstract> <description><p>Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuous Delivery.</p> <p>It brings the concept of roles that help classify your automation tasks/playbooks and group them by purpose.</p> <p>But :</p> <p>When should we use Ansible roles? How to create and test Ansible roles? What tools do we have to ease the process? How can we apply best practices of software development (TDD) to ensure your roles are doing what they are intended to? This talk will introduce you to Ansible Roles testing will Ansible Molecule; a tool used to drive ansible roles testing. Moreover, we will try to apply the Test Driven Development (TDD) process to test our roles.</p> <p>So, come and see us, to learn more about Ansible and Ansible Roles Testing.</p></description> <persons> <person id="6123">Lionel LONKAP TSAMBA</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ansible_tdd_molecule/attachments/slides/4579/export/events/attachments/ansible_tdd_molecule/slides/4579/KYN_FOSDEM_21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.testing/ansible_tdd_molecule.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/ansible_tdd_molecule.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10882.php">Submit feedback</link> </links> </event> <event id="11673"> <start>16:20</start> <duration>00:35</duration> <room>D.testing</room> <slug>daily_deploys_6500_automated_tests</slug> <title>Daily Deploys with 6500+ Automated Tests powered by Open Source</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Cerberus, in reference to the Greek mythology of the three-headed god, guardian of Hell, was the name given to the internal testing automation solution we decided to build internally in 2011. At that time, the ecosystem of existing solutions, being commercial or open source, was not fulfilling our requirements for end-to-end functional testing. In this article we will explain how our internal solution evolved from a Proof of Concept to a broader deploy in other major companies, to perform Continuous Delivery, Continuous Testing and Monitoring at scale.</p></abstract> <description></description> <persons> <person id="7535">Antoine Craske</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/cerberustesting/cerberus-source">Cerberus Testing Github</link> <link href="https://cerberus-testing.com">Cerberus Testing Website</link> <link href="https://laredoute.io/blog/cerberus-the-birth-of-our-open-source-testing-solution/">Company Article</link> <link href="https://video.fosdem.org/2021/D.testing/daily_deploys_6500_automated_tests.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/daily_deploys_6500_automated_tests.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11673.php">Submit feedback</link> </links> </event> <event id="10891"> <start>16:55</start> <duration>00:35</duration> <room>D.testing</room> <slug>testing_vscode_extensions</slug> <title>Testing Visual Studio Code extensions</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Visual Studio Code is an extremely popular editor and has a very rich ecosystem of extensions. However, testing these extensions is rather tricky in practice. Often extensions require external resources which have to be injected into the development environment. Unit tests are quite bad at testing the UI itself, as they require extensive setup code and a lot of mocking (= implementation of the production API in the testing environment that exposes the same interface). Checking the results of them still requires one to manually verify that the UI looks correct. All this combined can easily lead to false-positives and false-negatives. Integration tests on the other hand are not a silver bullet either as they can be rather brittle, slow, lengthy to write, hard to set up while also not being able to cover edge-cases very efficiently. This talk will focus on what we learned while developing the Open Build Service Connector: which testing strategies work, which don't and what tools to use. We will cover some viable approaches to unit testing and the vscode-extension-tester module that we used for integration tests.</p></abstract> <description></description> <persons> <person id="7167">Dan Čermák</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/testing_vscode_extensions/attachments/slides/4539/export/events/attachments/testing_vscode_extensions/slides/4539/testing_vscode_extensions.tar.gz">Slides</attachment> </attachments> <links> <link href="https://github.com/SUSE/open-build-service-connector">Open Build Service Connector extension</link> <link href="https://github.com/redhat-developer/vscode-extension-tester">vscode extension tester module</link> <link href="https://github.com/dcermak/fosdem_2021">source of the slides</link> <link href="https://video.fosdem.org/2021/D.testing/testing_vscode_extensions.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/testing_vscode_extensions.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10891.php">Submit feedback</link> </links> </event> <event id="10900"> <start>17:30</start> <duration>00:30</duration> <room>D.testing</room> <slug>qaops</slug> <title>QAOps - The Latest Trend in QA & Software Delivery</title> <subtitle/> <track>Testing and Automation</track> <type>devroom</type> <language/> <abstract><p>Quality expectations are increasing day by day, market demand is changing rapidly and digital technologies are influencing QA practices. How do we adapt? QA plays a strategic role, it is a connection point between development and operations. DevOps can speed up the development, but what can you expect without a robust QA strategy? Continuous development and continuous delivery is impossible without a comprehensive QA strategy. How can we accelerate software delivery without sacrificing quality? Join this presentation and you will find out why QA and Ops have a complimentary mindset, how you can implement a QAOps framework and why it matters.</p></abstract> <description></description> <persons> <person id="7553">Marcela State</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/qaops/attachments/slides/4206/export/events/attachments/qaops/slides/4206/QAOps_Latest_Trend_in_QA_Software_Delivery_pptx.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.testing/qaops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.testing/qaops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10900.php">Submit feedback</link> </links> </event> </room> <room name="D.virtualization"> <event id="11315"> <start>10:00</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_kubevirt_hco</slug> <title>KubeVirt opinionated deployment via Hyperconverged Cluster Operator </title> <subtitle>How deploy KubeVirt and several adjacent operators with ease</subtitle> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>KubeVirt enables developers to run Containerized Application and Virtual Machines in a common, shared Kubernetes/OKD/OpenShift environment. An Operator is a method of packaging, deploying and managing a Kubernetes/Openshift application. The Hyperconverged Cluster Operator is an unified operator deploying and controlling KubeVirt and several adjacent operators in a controlled and opinionated way.</p></abstract> <description><p>KubeVirt enables developers to run Containerized Application and Virtual Machines in a common, shared Kubernetes/OKD/OpenShift environment. An Operator is a method of packaging, deploying and managing a Kubernetes/OKD application. The Hyperconverged Cluster Operator is an unified operator deploying and controlling KubeVirt and several adjacent operators such as: - Containerized Data Importer - Scheduling, Scale and Performance - Cluster Network Addons - Node Maintenance - VM Import</p> <p>The Hyperconverged Cluster Operator delivers the domain-specific knowledge needed to orchestrate and automate the deployment and the upgrades of Kubevirt and its sibling operators in an opinionated and managed way. The Hyperconverged Cluster Operator can be installed on bare metal server clusters an a matter of minutes, even from a GUI, without requiring a deep knowledge of Kubernetes internals. The Hyperconverged Cluster Operator can be easily deployed in combination with rook.io to provide cloud native virtualization and distributed self-managing, self-scaling, self-healing storage services on a single cluster.</p> <p>An attendee will learn: - quick intro to KubeVirt technology (virtualization add-on for Kubernetes) - how to deploy and maintain it with the Hyperconverged Cluster Operator (deep-dive) - ongoing development and how to contribute</p></description> <persons> <person id="3534">Simone Tiraboschi</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.virtualization/vai_kubevirt_hco.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_kubevirt_hco.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11315.php">Submit feedback</link> </links> </event> <event id="11054"> <start>10:45</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_kubevirt_privilege</slug> <title>KubeVirt: privilege dropping one capability at a time</title> <subtitle/> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>KubeVirt's architecture is composed of two main components: virt-handler, a trusted DaemonSet, running in each node, which operates as the virtualization agent, and virt-launcher, an untrusted Kubernetes pod encapsulating a single libvirt + qemu process.</p> <p>To reduce the attack surface of the overall solution, the untrusted virt-launcher component should run with as little linux capabilities as possible.</p> <p>The goal of this talk is to explain the journey to get there, and the steps taken to drop CAP NET ADMIN, and CAP NET RAW from the untrusted component.</p></abstract> <description><p>This talk will encompass changes in KubeVirt and Libvirt, and requires some general prior information about networking (dhcp / L2 networking).</p></description> <persons> <person id="6376">Miguel Barroso</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_kubevirt_privilege/attachments/slides/4540/export/events/attachments/vai_kubevirt_privilege/slides/4540/kubevirt_privilege_dropping.pdf">Privilege dropping one capability at a time</attachment> </attachments> <links> <link href="https://github.com/kubevirt/kubevirt">KubeVirt github repo</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_kubevirt_privilege.webm">Video link</link> <link href="https://submission.fosdem.org/feedback/11054.php">Submit feedback</link> </links> </event> <event id="11070"> <start>11:30</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_virtio_vsock</slug> <title>Leveraging virtio-vsock in the cloud and containers</title> <subtitle>A communication channel for isolated workloads</subtitle> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>VM sockets (vsock) enable communication between hosts and VMs. The vsock use cases have grown over the recent years to also cover cloud and containers projects. Andra and Stefano will walk through the details of a set of projects focused on isolation that use vsock as a communication channel. Then they will present debugging tools and further work items for improving and adding new features for vsock.</p></abstract> <description><p>In the last years, many projects have been developed to increase security and isolation in the cloud and containers, such as Kata Containers, Nitro Enclaves, and libkrun. All these projects leverage Linux KVM (Kernel-based virtual machines) to create a more isolated environment. They use VM sockets (vsock) to provide a communication channel between constrained and less constrained worlds, reducing the attack surface.</p> <p>These VM sockets are provided by the AF_VSOCK address family and the virtio-vsock device. They offer a very simple configuration and the possibility to use POSIX sockets to communicate between hosts and VMs.</p> <p>Andra and Stefano will give a brief introduction of AF_VSOCK and virtio-vsock. Then they will illustrate how the projects and features, mentioned at the beginning, use VM sockets. They will present a couple of demos to explain how to use several tools for easier debugging and performance evaluation of vsock.</p> <p>At the end, they will share an overview of a set of new features such as namespaces, multiqueue, and shared memory. These are planned as future work to further grow the ecosystem for virtio-vsock.</p></description> <persons> <person id="7612">Andra Paraschiv</person> <person id="7654">Stefano Garzarella</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_virtio_vsock/attachments/slides/4419/export/events/attachments/vai_virtio_vsock/slides/4419/FOSDEM_2021_vsock.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.virtualization/vai_virtio_vsock.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_virtio_vsock.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11070.php">Submit feedback</link> </links> </event> <event id="11229"> <start>12:15</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_ml_lightweight_vmms</slug> <title>ML inference acceleration for lightweight VMMs</title> <subtitle/> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>The debate on how to deploy applications, monoliths or micro services, is in full swing. Part of this discussion relates to how the new paradigm incorporates support for accessing accelerators, e.g. GPUs, FPGAs. That kind of support has been made available to traditional programming models the last couple of decades and its tooling has evolved to be stable and standardized (eg. CUDA, OpenCL/OpenACC, Tensorflow etc.).</p> <p>On the other hand, what does it mean for a highly distributed application instance (i.e. a Serverless deployment) to access an accelerator? Should the function invoked to classify an image, for instance, link against the whole acceleration runtime and program the hardware device itself? It seems quite counter-intuitive to create such bloated functions.</p> <p>Things get more complicated when we consider the low-level layers of the service architecture. To ensure user and data isolation, infrastructure providers employ virtualization techniques. However, generic hardware accelerators are not designed to be shared by multiple untrusted tenants. Current solutions (device passthrough, API-remoting) impose inflexible setups, present security trade-offs and add significant performance overheads.</p> <p>To this end, we introduce vAccel, a lightweight framework to expose hardware acceleration functionality to VM tenants. Our framework is based on a thin runtime system, vAccelRT, which is, essentially, an acceleration API: it offers support for a set of operators that use generic hardware acceleration frameworks to increase performance, such as machine learning and linear algebra operators. vAccelRT abstracts away any hardware/vendor-specific code by employing a modular design where backends implement bindings for popular acceleration frameworks and the frontend exposes a function prototype for each available acceleration function. On top of that, using an optimized paravirtual interface, vAccelRT is exposed to a VM’s user-space, where applications can benefit from hardware acceleration via a simple function call.</p> <p>In this talk we present the design and implementation of vAccel on two KVM VMMs: QEMU and AWS Firecracker. We go through a brief design description and focus on the key aspects of enabling hardware acceleration for machine learning inference for ligthweight VMs both on x86_64 and aarch64 architectures. Our current implementation supports jetson-inference &amp; TensorRT, as well as Google Coral TPU, while facilitating integration with NVIDIA GPUs (CUDA) and Intel Iris GPUs (OpenCL).</p> <p>Finally, we present a demo of vAccel in action, using a containerized environment to simplify configuration &amp; deployment</p> <ul> <li>[1] https://blog.cloudkernels.net/posts/vaccel</li> <li>[2] https://blog.cloudkernels.net/posts/vaccel_v2</li> <li>[3] https://vaccel.org</li> <li>[4] https://github.com/nubificus/docker-jetson-inference</li> </ul> </abstract> <description></description> <persons> <person id="5495">Anastassios Nanos</person> <person id="7347">Babis Chalios</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_ml_lightweight_vmms/attachments/slides/4589/export/events/attachments/vai_ml_lightweight_vmms/slides/4589/VirtIaas_FOSDEM21_NBFC.pdf">ML inference acceleration for lightweight VMMs</attachment> </attachments> <links> <link href="https://blog.cloudkernels.net/posts/vaccel">vAccel post on QEMU</link> <link href="https://blog.cloudkernels.net/posts/vaccel_v2">vAccel post on Firecracker</link> <link href="https://vaccel.org">vAccel splash page</link> <link href="https://github.com/nubificus/docker-jetson-inference">containerized environment for demo</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_ml_lightweight_vmms.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_ml_lightweight_vmms.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11229.php">Submit feedback</link> </links> </event> <event id="10864"> <start>13:00</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_operator_sdk</slug> <title>Operator SDK use case: virtual machine import to KubeVirt</title> <subtitle/> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>Operator SDK is a solid foundation for building robust applications for Kubernetes; one of such applications is the VM import operator (https://github.com/kubevirt/vm-import-operator) allowing Kubernetes administrators to easily import their oVirt-managed virtual machines to KubeVirt. In this talk, the speaker will show how his team used Operator SDK to build the VM import operator and how that operator can be used.</p></abstract> <description><p>The Kubernetes is on a rise and thanks to its capabilities many developers and administrators want to migrate their workloads there, which not always is possible right away or easy to do.</p> <p>VM import operator can help in decomposing any applications previously running in oVirt. If the current deployment doesn’t allow for that, Operator SDK can ease the burden of either migrating existing applications to a new stack or building tools that can allow existing software to run in a completely new environment.</p> <p>The attendees will: - learn basic principles guiding development with OperatorSDK; - learn how VM import operator works; - know how to import their oVirt workloads to Kubernetes, hassle-free.</p></description> <persons> <person id="7501">Jakub Dżon</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_operator_sdk/attachments/slides/4630/export/events/attachments/vai_operator_sdk/slides/4630/Presentation"/> </attachments> <links> <link href="https://github.com/kubevirt/vm-import-operator">VM Import Operator</link> <link href="https://github.com/operator-framework/operator-sdk">Operator SDK</link> <link href="https://github.com/kubevirt/controller-lifecycle-operator-sdk">Controller Lifecycle Operator SDK</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_operator_sdk.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_operator_sdk.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10864.php">Submit feedback</link> </links> </event> <event id="10914"> <start>13:45</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_ovirt_monitoring</slug> <title>oVirt monitoring with Grafana & advanced options</title> <subtitle/> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>In this session, participants will get an overview of the new oVirt monitoring feature with its data warehouse (DWH) and Grafana, architecture and demo. The session will also cover the option of creating new dashboards based on the oVirt DWH schema. For creating new dashboards, attendees should be familiar with SQL querying.</p></abstract> <description></description> <persons> <person id="4977">Shirly Radco</person> <person id="8215">Aviv Litman</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.virtualization/vai_ovirt_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_ovirt_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10914.php">Submit feedback</link> </links> </event> <event id="11152"> <start>14:30</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_serverless_opennebula</slug> <title>Serverless Computing with OpenNebula</title> <subtitle>Running Containers as Firecracker MicroVMs at the Edge</subtitle> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>OpenNebula has recently incorporated a new supported hypervisor: Firecracker. This next generation virtualization technology was launched by AWS in late 2018 and is designed for secure multi-tenant container-based services. This integration provides an innovative solution to the classic dilemma between using containers—lighter but with weaker security—or Virtual Machines—with strong security but high overhead.</p> <p>Firecracker is an open source technology that makes use of KVM to launch lightweight Virtual Machines—called micro-VMs—for enhanced security, workload isolation, and resource efficiency. It is widely used by AWS as part of their Fargate and Lambda services. Firecracker opens up a whole new world of possibilities as the foundation for serverless offerings that need to deploy containerized critical applications nearly instantly while keeping them in isolation.</p> <p>OpenNebula is a simple, yet robust, open source platform for building Enterprise Clouds and managing Data Center virtualization. Its integration with public cloud providers offers additional flexibility in creating True Hybrid and Edge infrastructures. By incorporating Firecracker, OpenNebula now provides users with a powerful solution for serverless computing and an alternative, native model for secure container orchestration.</p> <p>In this talk we will explain the technical details of this integration and will show a live demo on how to easily deploy and orchestrate a composition of Docker Hub images running as Firecracker microVMs on a distributed bare-metal Edge infrastructure.</p></abstract> <description></description> <persons> <person id="7687">Christian Gonzalez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_serverless_opennebula/attachments/slides/4612/export/events/attachments/vai_serverless_opennebula/slides/4612/FOSDEM_Serverless_Computing_with_OpenNebula_Running_containers_as_Firecracker_microVMs_at_the_Edge.pdf">Presentation</attachment> </attachments> <links> <link href="https://opennebula.io/firecracker/">https://opennebula.io/firecracker/</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_serverless_opennebula.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_serverless_opennebula.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11152.php">Submit feedback</link> </links> </event> <event id="10896"> <start>15:15</start> <duration>00:45</duration> <room>D.virtualization</room> <slug>vai_cloud_images_unikraft</slug> <title>Severely Debloating Cloud Images with Unikraft</title> <subtitle/> <track>Virtualization and IaaS</track> <type>devroom</type> <language/> <abstract><p>Cloud computing has revolutionized the way we think about IT infrastructure: Another web server? More database capacity? Resources for your artificial intelligence use case? Just spin-up another instance and you are good to go. While most cloud images (e.g., AMIs on Amazon EC2) are meant to run a single service (e.g., nginx), for convenience these tend to be built on top of general-purpose OSes and full distributions, often resulting in GB-sized images that sometimes only need to perform a simple task such as serving static web pages. One of the main contributing factors to this status quo is the myriad kernel inter-dependencies, rendering debloating of a Linux kernel image far from trivial. In this talk we will show results from a proof-of-concept deployment on Amazon EC2 using Unikraft, a fully modular library OS that makes it easy to remove unneeded components, and to optimize the remaining ones. On EC2, a Unikraft nginx image is able to outperform an nginx Debian image by 2x in terms of requests/sec when serving static content, all the while consuming 1/6 of the memory (we will show a brief Unikraft demo). Unikraft is an open source Xen Project incubator under the auspices of the Linux Foundation.</p></abstract> <description></description> <persons> <person id="5391">Simon Kuenzer</person> <person id="7014">sharan</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/vai_cloud_images_unikraft/attachments/slides/4353/export/events/attachments/vai_cloud_images_unikraft/slides/4353/Severely_Debloating_Cloud_Images_with_Unikraft">Severely Debloating Cloud Images with Unikraft</attachment> </attachments> <links> <link href="http://unikraft.org">Unikraft.org</link> <link href="https://github.com/unikraft">Sources</link> <link href="http://docs.unikraft.org">Documentation</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_cloud_images_unikraft.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.virtualization/vai_cloud_images_unikraft.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10896.php">Submit feedback</link> </links> </event> </room> <room name="D.web.performance"> </room> <room name="D.zig"> <event id="11666"> <start>13:45</start> <duration>01:00</duration> <room>D.zig</room> <slug>zig_intro</slug> <title>Welcome to the Zig Programming Language</title> <subtitle/> <track>Zig Programming Language</track> <type>devroom</type> <language/> <abstract><p>An introduction to the Zig programming language and the talks that will follow.</p></abstract> <description></description> <persons> <person id="7504">Loris Cro</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.zig/zig_intro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.zig/zig_intro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11666.php">Submit feedback</link> </links> </event> <event id="11166"> <start>14:45</start> <duration>01:00</duration> <room>D.zig</room> <slug>zig_wayland</slug> <title>Zig: the perfect language for a wayland compositor?</title> <subtitle>Bringing increased type safety to libwayland and wlroots</subtitle> <track>Zig Programming Language</track> <type>devroom</type> <language/> <abstract><p>I explore how I have eliminated nearly all void pointer casting from the libwayland/wlroots APIs in my Zig bindings without introducing overhead or significantly increasing complexity. This will include a demonstration of how Zig's compile time code execution features make such a task quite straightforward. I will then discuss the experience of updating river, my wayland compositor, to use the bindings over the auto-generated bindings provided by Zig's @cImport() feature.</p></abstract> <description></description> <persons> <person id="7515">Isaac Freund</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/ifreund/zig-wayland">Zig bindings/scanner for libwayland</link> <link href="https://github.com/swaywm/zig-wlroots">Zig bindings for wlroots</link> <link href="https://github.com/ifreund/river">River: a dynamic tiling wayland compositor</link> <link href="https://video.fosdem.org/2021/D.zig/zig_wayland.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.zig/zig_wayland.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11166.php">Submit feedback</link> </links> </event> <event id="11600"> <start>15:45</start> <duration>01:15</duration> <room>D.zig</room> <slug>zig_macho</slug> <title>Mach-O linker in Zig: linking in the era of Apple Silicon</title> <subtitle/> <track>Zig Programming Language</track> <type>devroom</type> <language/> <abstract><p>One of Zig's main goals is seamless cross-compilation from any target to any target. This includes macOS and Apple's recent switch from x64 to ARM64 architecture with the introduction of the M1 SoC. This talk will delve deep into the internals of Mach-O linking in ZIg for both x64 and ARM64 targets, discussing new strict requirements the ARM64-version of the XNU kernel places on the binaries such as embedded code signature and inode caching, and how Zig mustered up to address and solve them for fantastic developer experience on macOS.</p></abstract> <description><p>I hope for this talk to deliver on two fronts: 1) to showcase and convince the audience that Zig takes cross-compilation very seriously and is a language worth learning, and 2) demistify Mach-O linking in general. Yet another great strength of Zig is that it is a very readable language, therefore, even though the code examples will be in Zig, it will not hinder anyone's ability to enjoy figuring out the finer points of Mach-O linking on ARM64 aka the Apple Silicon which are language-agnostic. Finally, there naturally will be coding examples interleaved here and there to demonstrate the different linking concepts that the talk will touch upon.</p></description> <persons> <person id="7359">Jakub Konka</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/zig_macho/attachments/slides/4495/export/events/attachments/zig_macho/slides/4495/macho_linker_zig">MachO linker in Zig</attachment> </attachments> <links> <link href="https://github.com/ziglang/zig/blob/master/src/link/MachO.zig">Mach-O linker's source code</link> <link href="https://video.fosdem.org/2021/D.zig/zig_macho.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.zig/zig_macho.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11600.php">Submit feedback</link> </links> </event> <event id="11601"> <start>17:00</start> <duration>01:00</duration> <room>D.zig</room> <slug>zig_android</slug> <title>Create an Android Application with Zig</title> <subtitle>Some people said, you need Java to create an Android app. They were wrong!</subtitle> <track>Zig Programming Language</track> <type>devroom</type> <language/> <abstract><p>This talk explains how to create an Android app with "only" the Zig toolchain</p></abstract> <description><p>This talk explains how to create an Android app with "only" the Zig toolchain. It still needs the Android SDK to create and sign the APK, but everything else is written in Zig.</p> <p>The app renders the Zig logo with OpenGL ES and reacts to touch input.</p></description> <persons> <person id="7512">Felix "xq" Queißner</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/MasterQ32/ZigAndroidTemplate">Source Repository</link> <link href="https://video.fosdem.org/2021/D.zig/zig_android.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.zig/zig_android.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11601.php">Submit feedback</link> </links> </event> </room> <room name="S.apache"> <event id="11837"> <start>09:30</start> <duration>00:30</duration> <room>S.apache</room> <slug>apache_welcome</slug> <title>Welcome to the stand for The Apache Software Foundation</title> <subtitle/> <track>The Apache Software Foundation stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11837.php">Submit feedback</link> </links> </event> </room> <room name="S.appinventor"> <event id="11817"> <start>09:30</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_welcome</slug> <title>Welcome to the stand for MIT App Inventor</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11817.php">Submit feedback</link> </links> </event> <event id="12272"> <start>11:00</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_codi_mash1</slug> <title>Minigame: Codi Mash</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://www.twitch.tv/peterblocks">Livestream</link> <link href="https://submission.fosdem.org/feedback/12272.php">Submit feedback</link> </links> </event> <event id="11881"> <start>12:05</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_chart</slug> <title>Get a chart image from a Google Sheet and display in App</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract><p>Get a chart image from a Google Sheet and display in App Inventor App</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/-3WGqYGOmvY">Livestream</link> <link href="https://submission.fosdem.org/feedback/11881.php">Submit feedback</link> </links> </event> <event id="12288"> <start>13:00</start> <duration>01:00</duration> <room>S.appinventor</room> <slug>appinventor_extenstions1</slug> <title>Expanding App Inventor with Extensions</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="twitch.tv/vishwasadiga">Livestream</link> <link href="https://submission.fosdem.org/feedback/12288.php">Submit feedback</link> </links> </event> <event id="12273"> <start>14:00</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_codi_clicker2</slug> <title>Minigame: Codi Clicker </title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://www.twitch.tv/peterblocks">Livestream</link> <link href="https://submission.fosdem.org/feedback/12273.php">Submit feedback</link> </links> </event> <event id="12245"> <start>15:05</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_single_cell</slug> <title>Get the Value of a Single Cell in a Google Sheet and return this to an App Inventor App</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/nXVQ7pS28NA">Livestream</link> <link href="https://submission.fosdem.org/feedback/12245.php">Submit feedback</link> </links> </event> </room> <room name="S.box86"> <event id="11798"> <start>09:30</start> <duration>00:30</duration> <room>S.box86</room> <slug>box86_welcome</slug> <title>Welcome to the stand for Box86</title> <subtitle/> <track>Box86 stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11798.php">Submit feedback</link> </links> </event> </room> <room name="S.checkmk"> <event id="11799"> <start>09:30</start> <duration>00:30</duration> <room>S.checkmk</room> <slug>checkmk_welcome</slug> <title>Welcome to the stand for Checkmk</title> <subtitle/> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11799.php">Submit feedback</link> </links> </event> <event id="12289"> <start>10:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_askusanything2</slug> <title>Ask-us-Anything</title> <subtitle>Ask us about anything IT monitoring</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12289.php">Submit feedback</link> </links> </event> <event id="11878"> <start>11:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo_1100</slug> <title>Technical Demo (DevOps)</title> <subtitle>Monitoring Kubernetes with Checkmk</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11878.php">Submit feedback</link> </links> </event> <event id="11879"> <start>13:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo</slug> <title>Technical Demo (DevOps)</title> <subtitle>Learn how to integrate Prometheus to Checkmk</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11879.php">Submit feedback</link> </links> </event> <event id="12291"> <start>13:45</start> <duration>03:00</duration> <room>S.checkmk</room> <slug>checkmk_askusanything3</slug> <title>Ask-us-Anything</title> <subtitle>Ask us about anything IT monitoring</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12291.php">Submit feedback</link> </links> </event> <event id="11880"> <start>17:00</start> <duration>00:15</duration> <room>S.checkmk</room> <slug>checkmk_about1</slug> <title>Bridging the gap between ITOps and DevOps</title> <subtitle>About Checkmk's aim to bridge the gap and how you can contribute</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11880.php">Submit feedback</link> </links> </event> </room> <room name="S.civicrm"> <event id="11800"> <start>09:30</start> <duration>00:30</duration> <room>S.civicrm</room> <slug>civicrm_welcome</slug> <title>Welcome to the stand for CiviCRM</title> <subtitle/> <track>CiviCRM stand</track> <type>standtrack</type> <language/> <abstract><p>CiviCRM is used by many organizations - including Amnesty International, Creative Commons, the Free Software Foundation, CERN and the Wikimedia Foundation - for their contact management, membership management, fundraising, event management, and mass mailings.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11800.php">Submit feedback</link> </links> </event> </room> <room name="S.coderdojo"> <event id="11876"> <start>09:30</start> <duration>00:30</duration> <room>S.coderdojo</room> <slug>coderdojo_welcome</slug> <title>Welcome to the stand for Coderdojo Belgium</title> <subtitle/> <track>Coderdojo Belgium stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11876.php">Submit feedback</link> </links> </event> </room> <room name="S.debian"> <event id="11801"> <start>09:30</start> <duration>00:30</duration> <room>S.debian</room> <slug>debian_welcome</slug> <title>Welcome to the stand for Debian</title> <subtitle/> <track>Debian stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11801.php">Submit feedback</link> </links> </event> </room> <room name="S.eclipse"> <event id="11838"> <start>09:30</start> <duration>00:30</duration> <room>S.eclipse</room> <slug>eclipse_welcome</slug> <title>Welcome to the stand for the Eclipse Foundation</title> <subtitle/> <track>The Eclipse Foundation stand</track> <type>standtrack</type> <language/> <abstract><p>Welcome to the Eclipse Foundation stand!</p></abstract> <description></description> <persons> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/eclipse_welcome/attachments/video/4519/export/events/attachments/eclipse_welcome/video/4519/Eclipse_Overview_ECDT_2.mp4"/> <attachment type="video" href="https://fosdem.org/2021/schedule/event/eclipse_welcome/attachments/video/4520/export/events/attachments/eclipse_welcome/video/4520/Eclipse_Overview_ECDT_2.mp4"/> <attachment type="video" href="https://fosdem.org/2021/schedule/event/eclipse_welcome/attachments/video/4521/export/events/attachments/eclipse_welcome/video/4521/Eclipse_Overview_ECDT_2.mp4"/> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11838.php">Submit feedback</link> </links> </event> </room> <room name="S.fedora"> <event id="11839"> <start>09:30</start> <duration>01:00</duration> <room>S.fedora</room> <slug>fedora_welcome</slug> <title>Welcome to the Fedora Project stand!</title> <subtitle/> <track>The Fedora Project stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description><p>Welcome to the <a href="https://getfedora.org/">Fedora Project</a> <strong>welcome session at FOSDEM 2021</strong>! The Fedora Project is a community of people working together to build a free and open source software platform and to collaborate on and share user-focused solutions built on that platform. We are the Fedora community people: the ones who use, build, test, and maintain the <strong>Fedora Linux distribution</strong>. Fedora will be participating in several ways during FOSDEM 2021, join us! If you're just hearing about us, learn more <a href="https://docs.fedoraproject.org/en-US/project/">here</a>.</p> <h2>The Fedora Project stand page</h2> <p>For more details about Fedora's presence at FOSDEM 2021, check out the <a href="/2021/stands.fosdem.org/stands/the_fedora_project/">Fedora Project's stand page</a> and the <a href="https://chat.fosdem.org/#/room/#fedora-stand:fosdem.org">chatroom</a>!</p> <h3>Ruffle</h3> <p>What would FOSDEM be without <strong>swag</strong>? That’s what we thought so we decided to share Fedora goodies in a ruffle contest for this year’s FOSDEM! How to enter the ruffle? Join our chatroom <strong>to find the ruffle entry link</strong>. You will need to enter your name and email address to enter. We will randomly draw <strong>100 winners</strong> on February 8th, at 5PM UTC. The winners will receive a follow up form to provide shipment information. Please see the full Terms &amp; Conditions in the entry form. Also, don’t worry if you are a veteran Fedoran and are involved with the community, there will be plenty more chances to receive swag during 2021.</p> <h3>Social Hours</h3> <p>We are excited to meet you at FOSDEM 2021! Please join us for two dedicated Social Hours at <strong>3PM UTC on both February 6th &amp; 7th</strong>.</p> <h3>Badges:</h3> <p>Event badges are some of the most special badges for your <a href="https://badges.fedoraproject.org/">FAS collection</a>. Grab your <strong>FOSDEM 2021 attendee badge</strong>!</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="/2021/stands.fosdem.org/stands/the_fedora_project/">The Fedora Project Stand</link> <link href="https://chat.fosdem.org/#/room/#fedora-stand:fosdem.org">Chatroom</link> <link href="https://badges.fedoraproject.org/badge/fosdem-2021-attendee">Attendee Bandge</link> <link href="https://submission.fosdem.org/feedback/11839.php">Submit feedback</link> </links> </event> </room> <room name="S.foreman"> <event id="11802"> <start>09:30</start> <duration>00:30</duration> <room>S.foreman</room> <slug>foreman_welcome</slug> <title>Welcome to the stand for Foreman</title> <subtitle/> <track>Foreman stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11802.php">Submit feedback</link> </links> </event> </room> <room name="S.fossasia"> <event id="11803"> <start>09:30</start> <duration>00:30</duration> <room>S.fossasia</room> <slug>fossasia_welcome</slug> <title>Welcome to the stand for FOSSASIA</title> <subtitle/> <track>FOSSASIA stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11803.php">Submit feedback</link> </links> </event> </room> <room name="S.freebsd"> <event id="11804"> <start>09:30</start> <duration>00:30</duration> <room>S.freebsd</room> <slug>freebsd_welcome</slug> <title>Welcome to the stand for FreeBSD Project</title> <subtitle/> <track>FreeBSD Project stand</track> <type>standtrack</type> <language/> <abstract><p>Join members of the FreeBSD Community to hear about the latest developments in FreeBSD including the 13.0 release, new online educational content and why now is a great time to use FreeBSD.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11804.php">Submit feedback</link> </links> </event> </room> <room name="S.fsfe"> <event id="11805"> <start>09:30</start> <duration>00:30</duration> <room>S.fsfe</room> <slug>fsfe_welcome</slug> <title>Welcome to the stand for Free Software Foundation Europe</title> <subtitle/> <track>Free Software Foundation Europe stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11805.php">Submit feedback</link> </links> </event> </room> <room name="S.gitlab"> <event id="11806"> <start>09:30</start> <duration>00:30</duration> <room>S.gitlab</room> <slug>gitlab_welcome</slug> <title>Welcome to the stand for GitLab</title> <subtitle/> <track>GitLab stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11806.php">Submit feedback</link> </links> </event> </room> <room name="S.gnome"> <event id="11840"> <start>09:30</start> <duration>00:30</duration> <room>S.gnome</room> <slug>gnome_welcome</slug> <title>Welcome to the stand for The GNOME Foundation</title> <subtitle/> <track>The GNOME Foundation stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11840.php">Submit feedback</link> </links> </event> </room> <room name="S.gsoc"> <event id="11807"> <start>09:30</start> <duration>00:30</duration> <room>S.gsoc</room> <slug>gsoc_welcome</slug> <title>Welcome to the stand for Google Summer of Code</title> <subtitle/> <track>Google Summer of Code stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11807.php">Submit feedback</link> </links> </event> </room> <room name="S.haarcourt"> <event id="11834"> <start>09:30</start> <duration>00:30</duration> <room>S.haarcourt</room> <slug>haarcourt_welcome</slug> <title>Welcome to the stand for School of AI Port Haarcourt</title> <subtitle/> <track>School of AI Port Haarcourt stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11834.php">Submit feedback</link> </links> </event> </room> <room name="S.haiku"> <event id="11808"> <start>09:30</start> <duration>00:30</duration> <room>S.haiku</room> <slug>haiku_welcome</slug> <title>Welcome to the stand for Haiku</title> <subtitle/> <track>Haiku stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11808.php">Submit feedback</link> </links> </event> </room> <room name="S.illumos"> <event id="12308"> <start>09:30</start> <duration>00:30</duration> <room>S.illumos</room> <slug>illumos_welcome</slug> <title>Welcome to the Illumos stand!</title> <subtitle/> <track>Illumos stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12308.php">Submit feedback</link> </links> </event> </room> <room name="S.jenkins"> <event id="11809"> <start>09:30</start> <duration>00:30</duration> <room>S.jenkins</room> <slug>jenkins_welcome</slug> <title>Welcome to the stand for Jenkins</title> <subtitle/> <track>Jenkins stand</track> <type>standtrack</type> <language/> <abstract><p>Jenkins offers a simple way to set up a continuous integration or continuous delivery (CI/CD) environment for almost any combination of languages and source code repositories using pipelines, as well as automating other routine development tasks.</p> <p>Come to our virtual stand to learn more or just to say "Hi"</p> <p>=> /2021/stands.fosdem.org/stands/jenkins/</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11809.php">Submit feedback</link> </links> </event> </room> <room name="S.kde"> <event id="11810"> <start>09:30</start> <duration>02:05</duration> <room>S.kde</room> <slug>kde_welcome</slug> <title>Welcome to the stand for KDE Community</title> <subtitle/> <track>KDE Community stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11810.php">Submit feedback</link> </links> </event> </room> <room name="S.kiwi"> <event id="11811"> <start>09:30</start> <duration>00:30</duration> <room>S.kiwi</room> <slug>kiwi_welcome</slug> <title>Welcome to the stand for Kiwi TCMS</title> <subtitle/> <track>Kiwi TCMS stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11811.php">Submit feedback</link> </links> </event> </room> <room name="S.kopano"> <event id="11812"> <start>09:30</start> <duration>00:30</duration> <room>S.kopano</room> <slug>kopano_welcome</slug> <title>Welcome to the stand for Kopano</title> <subtitle/> <track>Kopano stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11812.php">Submit feedback</link> </links> </event> </room> <room name="S.Libreoffice"> <event id="11813"> <start>09:30</start> <duration>00:30</duration> <room>S.Libreoffice</room> <slug>libreoffice_welcome</slug> <title>Welcome to the stand for LibreOffice</title> <subtitle/> <track>LibreOffice stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/libreoffice_welcome/attachments/slides/4511/export/events/attachments/libreoffice_welcome/slides/4511/tdf_lo71deck.pdf">LibreOffice 7.1</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/libreoffice_welcome/attachments/slides/4512/export/events/attachments/libreoffice_welcome/slides/4512/tdf_lotechnology.pdf">LibreOffice Technology Long Deck</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/libreoffice_welcome/attachments/slides/4513/export/events/attachments/libreoffice_welcome/slides/4513/tdf_lotechnologyfosdem.pdf">LibreOffice Technology Short Deck</attachment> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11813.php">Submit feedback</link> </links> </event> </room> <room name="S.libresoc"> <event id="11841"> <start>09:30</start> <duration>00:30</duration> <room>S.libresoc</room> <slug>libresoc_welcome</slug> <title>Welcome to the stand for The LibreSOC Project</title> <subtitle/> <track>The LibreSOC Project stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11841.php">Submit feedback</link> </links> </event> </room> <room name="S.mariadb"> <event id="11814"> <start>09:30</start> <duration>00:30</duration> <room>S.mariadb</room> <slug>mariadb_welcome</slug> <title>Welcome to the stand for MariaDB Foundation</title> <subtitle/> <track>MariaDB Foundation stand</track> <type>standtrack</type> <language/> <abstract><p>MariaDB Server, the open source relational database, is part of most cloud offerings and the default in most Linux distributions.</p> <p>The MariaDB Foundation is a non-profit organisation supporting continuity and open collaboration in the MariaDB ecosystem. The MariaDB Foundation supports continuity and open collaboration in the MariaDB ecosystem. The Foundation guarantees that there is a global contact point for collaboration and that the community can always rely upon MariaDB Server.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11814.php">Submit feedback</link> </links> </event> </room> <room name="S.matrix"> <event id="11815"> <start>09:30</start> <duration>00:30</duration> <room>S.matrix</room> <slug>matrix_welcome</slug> <title>Welcome to the stand for Matrix</title> <subtitle/> <track>Matrix stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11815.php">Submit feedback</link> </links> </event> </room> <room name="S.mautic"> <event id="11816"> <start>09:30</start> <duration>00:30</duration> <room>S.mautic</room> <slug>mautic_welcome</slug> <title>Welcome to Mautic - Open Source Marketing Automation</title> <subtitle>Discover the power of Open Marketing Automation with Mautic!</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>Mautic is an Open Source (GPL v3) PHP-based Marketing Automation platform based on the Symfony framework.</p> <p>Come and learn more, walk through demos, chat with the community and watch a range of talks that will be screening during the event on our stand!</p> <p>Bit of a sticker fan? Drop by and have a chat, and we can post you some swag!</p></abstract> <description><p>Find out more about Mautic at <a href="https://www.mautic.org">https://www.mautic.org</a> and check out our repo at <a href="https://github.com/mautic/mautic">https://github.com/mautic/mautic</a>.</p> <p>➡️ We are looking for <strong>Angular and Symfony developers</strong> in addition to folk with UI/UX expertise to help with our Next Generation project - we are in the early stages of planning a major re-write Mautic on API Platform / Symfony 5 with a React or Angular front-end, optimised for scale and usability.</p> <p>Watch Alan Hartless' talk on our schedule or on YouTube <a href="https://www.youtube.com/watch?v=A8iW7LbRqtA">Alan Hartless - Lessons Learned from the Infamous Mautic 3 and the Journey Ahead</a> for more details of our journey to this point and our plans for the future.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://github.com/mautic/mautic">Mautic on Github</link> <link href="https://mautic.org/slack">Mautic on Slack</link> <link href="https://forum.mautic.org">Mautic Forums</link> <link href="https://submission.fosdem.org/feedback/11816.php">Submit feedback</link> </links> </event> <event id="12238"> <start>11:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_agencies1</slug> <title>Agencies, why and how to use Marketing Automation for your business</title> <subtitle>Norman Pracht - General Manager at Webmecanik and Product Team Lead</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>Marketing automation is a very helpful new skill in your agencies capabilities. It'll help you to boost the performance of your SEO/SEA/SM campaigns for your customers. Learn how the Open Source platform Mautic can enable your agency to deliver a true omni-channel, personalised experience</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12238.php">Submit feedback</link> </links> </event> <event id="12264"> <start>13:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_buytaert1</slug> <title>Dries Buytaert - Built to Last: Growing Sustainable Open Source Communities</title> <subtitle>Founder and Project Lead, Drupal & Co-founder and CTO, Acquia</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>What does it take to start and scale one of the largest and most active Open Source communities in the world? As founder and project lead of Drupal, Dries Buyaert will share the story of Drupal’s humble beginnings, to its rise to power 1 in every 35 websites in the world. Its inclusive, global community serves as a model in Open Source, sustaining a growing number of corporate and volunteer contributions every year. He later co-founded Acquia, a Digital Experience Platform company with over 1,000 global employees built around Open Source. In the summer of 2019, Acquia acquired Mautic Inc.</p></abstract> <description><p>Today, Dries is still the Project Lead of Drupal and the Chief Technology Officer of Acquia. Through sharing his personal journey, he'll share some lessons he's learned over the years around scaling and growing Open Source projects.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12264.php">Submit feedback</link> </links> </event> <event id="12265"> <start>14:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_evergreen</slug> <title>Steve Robinson - Maximizing Evergreen Content with Mautic</title> <subtitle>Founder & CEO at Brilliant Metrics</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>One of the keys to digital marketing success is maximizing content re-use. Mautic gives us a number of great tools to ensure that content is consistently given maximum exposure to the right audience at the right time, making each piece an asset that works for you indefinitely.</p></abstract> <description><p>In this session you will learn best practices for building evergreen nurtures, applying website personalization, and linking Mautic with your paid media efforts to let your content live forever and continue to produce returns long after it's produced.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12265.php">Submit feedback</link> </links> </event> <event id="12266"> <start>16:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_typo3</slug> <title>Florian Wessels, Leon-Elias Oltmanns and Lamin Njie - Mautic und TYPO3 - Eine unsichtbare Verbindung</title> <subtitle>Leuchtfeuer Digital Marketing</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>In dieser Session möchten wir euch vorstellen, wie einfach sich Mautic mit einem Content Management System (CMS) verbinden lässt.</p></abstract> <description><p>Am Beispiel von Formularen und dynamischen Inhalten zeigen wir euch, wie CMS-Redakteure zur Leadgenerierung beitragen können, ohne sich dabei mit Mautic auseinandersetzen zu müssen.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12266.php">Submit feedback</link> </links> </event> <event id="12267"> <start>18:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_guembel1</slug> <title>Ekke Guembel - Online + Offline = beste Erfolgsrate. Postkarten in Mautic-Kampagnen</title> <subtitle>Mautic Enthusiast at Leuchtfeuer Digital Marketing - and Community Team Lead in the Mautic Open Source Marketing Automation project</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>Eine Postkarte oder ein Brief werden viel seltener ungelesen verworfen als eine E-Mail. Daher haben sie für alle höherwertigen Käufe (oder zur Leadgenerierung) nicht nur eine Daseinsberechtigung, sondern sehr gute ROI-Werte.</p></abstract> <description><p>Hier ist eine Demo, wie man Sendungen zum Versand mit der Deutschen Post gestaltet und individualisiert - und in Mautic-Kampagnen einbindet.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12267.php">Submit feedback</link> </links> </event> </room> <room name="S.nextcloud"> <event id="11818"> <start>09:30</start> <duration>00:30</duration> <room>S.nextcloud</room> <slug>nextcloud_welcome</slug> <title>Welcome to the stand for Nextcloud Hub</title> <subtitle/> <track>Nextcloud Hub stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11818.php">Submit feedback</link> </links> </event> </room> <room name="S.ntop"> <event id="11819"> <start>09:30</start> <duration>00:30</duration> <room>S.ntop</room> <slug>ntop_welcome</slug> <title>Welcome to the stand for ntop</title> <subtitle/> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Thanks for visiting us and welcome to our stand. Check the links for all the activities we are carrying out during this FOSDEM21! And don't forget to join us at 10:50AM for a lightning talk with our founder Luca Deri.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#ntop-stand:fosdem.org">Chatroom</link> <link href="/2021/stands.fosdem.org/stands/ntop/">Stand</link> <link href="https://fosdem.org/2021/schedule/track/ntop_stand/">Schedule</link> <link href="https://submission.fosdem.org/feedback/11819.php">Submit feedback</link> </links> </event> <event id="12248"> <start>10:50</start> <duration>00:30</duration> <room>S.ntop</room> <slug>ntop_luca_deri</slug> <title>ntop @ FOSDEM</title> <subtitle>Ongoing developments and future directions</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>In this talk, the founder of ntop Luca Deri introduces the main ongoing activities of ntop, and its future directions.</p></abstract> <description></description> <persons> <person id="4993">Luca Deri</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3a2b9b45ea6ecf4eddafadcc9ec37bb673%40thread.tacv2/1612451106281?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream </link> <link href="https://submission.fosdem.org/feedback/12248.php">Submit feedback</link> </links> </event> <event id="12249"> <start>11:20</start> <duration>00:20</duration> <room>S.ntop</room> <slug>ntop_iot</slug> <title>ntopng for IoT</title> <subtitle>How to Profitably Use ntopng in Smart Homes</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>In this presentation we showcase how ntopng could be straightforwardly transformed to an indispensable trust-enhancing tool with many attractive features, i.e. simplicity, affordability and open-ness. We will finally share some first views from its deployment in a connected home testbed environment.</p></abstract> <description><p>The connected home enables the interconnection and interoperability of various types of end-points catering for applications like connectivity/networking, media/entertainment, physical security, energy monitoring, or even healthcare, fitness, wellness, and more recently, given the unprecedented challenges of the COVID-19 outbreak, remote working. From advanced control of previously non-connected devices such as home appliances, to the employment of smart IoT platforms, the connected home end-user enjoys an extraordinary degree of convenience and money-saving capabilities. However, this level of automation comes at a price: every single connected device may act as a potential trojan horse, a backdoor compromising the privacy, the cyber security and even the physical safety of the house. We argue that as more and more connected things are incorporated in our digital environment, there is a need to develop new robust, open, and easy to use tools to help users increase trust and achieve greater control over their devices fleet. In this presentation we will introduce the EU Project TOTEM, jointly carried out by ntop and FERON TECHNOLOGIES. The project is an attempt to increase the trust in connected homes through the provision of improved information to end users about their home network security status, on a simple, usable, and comprehensible way.</p></description> <persons> <person id="8359">Antonis Gotsis</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3a2b9b45ea6ecf4eddafadcc9ec37bb673%40thread.tacv2/1612451106281?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream</link> <link href="https://submission.fosdem.org/feedback/12249.php">Submit feedback</link> </links> </event> <event id="12250"> <start>11:40</start> <duration>00:20</duration> <room>S.ntop</room> <slug>ntop_industrial_network_monitoring</slug> <title>Industrial Network Monitoring With ntopng</title> <subtitle>A Look into Industrial Network Protocols With ntopng</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Many organizations do not have the resources to supervise their OT/ICS networks, but they heavily rely on them. In this presentation Martin will show what is doable with ntopng to monitor OT/ICS networks. The aim is to get you started with network monitoring. You will see how to baseline your network, define what to detect and how to alert.</p></abstract> <description></description> <persons> <person id="8365">Martin Scheu</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3a2b9b45ea6ecf4eddafadcc9ec37bb673%40thread.tacv2/1612451106281?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream</link> <link href="https://submission.fosdem.org/feedback/12250.php">Submit feedback</link> </links> </event> <event id="12252"> <start>14:00</start> <duration>02:00</duration> <room>S.ntop</room> <slug>ntop_dev_chat_sat2</slug> <title>Chat With the ntop Developers</title> <subtitle>Meet with the Community</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Meet us in the chatroom, see the link!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#ntop-stand:fosdem.org">Chatroom</link> <link href="https://submission.fosdem.org/feedback/12252.php">Submit feedback</link> </links> </event> <event id="12253"> <start>16:00</start> <duration>02:00</duration> <room>S.ntop</room> <slug>ntop_installation_party_sat</slug> <title>Installation Party</title> <subtitle>Tips&Tricks for best results</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Meet us in the chatroom, see the link!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#ntop-stand:fosdem.org">Chatroom</link> <link href="https://submission.fosdem.org/feedback/12253.php">Submit feedback</link> </links> </event> </room> <room name="S.onlyoffice"> <event id="11820"> <start>09:30</start> <duration>00:30</duration> <room>S.onlyoffice</room> <slug>onlyoffice_welcome</slug> <title>Welcome to the stand for ONLYOFFICE</title> <subtitle/> <track>ONLYOFFICE stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11820.php">Submit feedback</link> </links> </event> </room> <room name="S.openembedded"> <event id="11821"> <start>09:30</start> <duration>00:30</duration> <room>S.openembedded</room> <slug>openembedded_welcome</slug> <title>Welcome to the stand for OpenEmbedded</title> <subtitle/> <track>OpenEmbedded stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11821.php">Submit feedback</link> </links> </event> </room> <room name="S.openharmony"> <event id="11822"> <start>09:30</start> <duration>00:30</duration> <room>S.openharmony</room> <slug>openharmony_welcome</slug> <title>Welcome to the stand for OpenHarmony Project</title> <subtitle/> <track>OpenHarmony Project stand</track> <type>standtrack</type> <language/> <abstract><p>Discover OpenHarmony! The open source operating systems project that aims to revolutionize the dichotomy between OS/Device. Join the journey to a new IoT frontier made of autonomous intelligent co-operating devices.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11822.php">Submit feedback</link> </links> </event> </room> <room name="S.openmandriva"> <event id="11823"> <start>09:30</start> <duration>00:30</duration> <room>S.openmandriva</room> <slug>openmandriva_welcome</slug> <title>Welcome to the stand for OpenMandriva</title> <subtitle/> <track>OpenMandriva stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11823.php">Submit feedback</link> </links> </event> </room> <room name="S.opentap"> <event id="11825"> <start>09:30</start> <duration>00:30</duration> <room>S.opentap</room> <slug>opentap_welcome</slug> <title>Welcome to the stand for OpenTAP</title> <subtitle/> <track>OpenTAP stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11825.php">Submit feedback</link> </links> </event> </room> <room name="S.openuk"> <event id="11826"> <start>09:30</start> <duration>00:30</duration> <room>S.openuk</room> <slug>openuk_welcome</slug> <title>Welcome to the stand for OpenUK</title> <subtitle/> <track>OpenUK stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11826.php">Submit feedback</link> </links> </event> </room> <room name="S.openwifi"> <event id="11827"> <start>09:30</start> <duration>00:30</duration> <room>S.openwifi</room> <slug>openwifi_welcome</slug> <title>Welcome to the stand for openwifi</title> <subtitle>The 1st opensource WiFi chip</subtitle> <track>openwifi stand</track> <type>standtrack</type> <language/> <abstract><p>Openwifi, announced in FOSDEM’20, is the 1st opensource WiFi chip design (802.11a/g/n) which includes Verilog source code for the chip and C source code for the Linux driver. Currently the design runs on FPGA verification platform via SDR (Software Defined Radio) methodology. With the design running, the FPGA board could become WiFi AP, WiFi client, ad-hoc node or sniffer. Besides the standard WiFi functionality (802.11a/g/n), it also has some special features, such as non-standard frequencies (&lt;6GHz); CSI; IQ sample; configurable low MAC behavior; time slicing; etc.</p></abstract> <description><ul> <li>802.11a/g/n</li> <li>20MHz bandwidth; 70 MHz to 6 GHz frequency range</li> <li>Mode tested: Ad-hoc; Station; AP, Monitor</li> <li>DCF (CSMA/CA) low MAC layer in FPGA (10us SIFS is achieved)</li> <li>802.11 packet injection</li> <li>CSI (Channel State Information, freq offset, equalizer to computer)</li> <li>IQ capture (real-time AGC, RSSI, IQ sample to computer)</li> <li>Configurable channel access priority parameters: duration of RTS/CTS, CTS-to-self, SIFS/DIFS/xIFS/slot-time/CW/etc</li> <li>Time slicing based on MAC address (time gated/scheduled FPGA queues)</li> <li>Easy to change bandwidth and frequency: 2MHz for 802.11ah (sub-GHz); 10MHz for 802.11p/vehicle (5.9GHz)</li> <li>On roadmap: 802.11ax</li> </ul> </description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#openwifi-stand:fosdem.org">Chatroom</link> <link href="https://github.com/open-sdr/openwifi">github link</link> <link href="https://chat.fosdem.org/#/room/#radio:fosdem.org">Presentation. 7/Feb 11AM. Dev room: Free Software Radio</link> <link href="https://submission.fosdem.org/feedback/11827.php">Submit feedback</link> </links> </event> </room> <room name="S.ow2"> <event id="11828"> <start>09:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_welcome</slug> <title>Welcome to the stand for OW2 Open Source Community</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11828.php">Submit feedback</link> </links> </event> <event id="12283"> <start>10:00</start> <duration>01:00</duration> <room>S.ow2</room> <slug>ow2_telosys</slug> <title>Hey, developers, stop writing repetitive code, let Telosys do it for you!</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 Telosys project</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12283.php">Submit feedback</link> </links> </event> <event id="12260"> <start>13:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_knowage</slug> <title>Knowage - Advanced Analytics meets Data Visualization</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 Knowage project.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12260.php">Submit feedback</link> </links> </event> <event id="12285"> <start>15:00</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_mrl</slug> <title>OW2 Market Readiness Levels and OSS long-term sustainibility</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 MRL : Market Readiness Levels.</p></abstract> <description><p>OW2 is developing a market readiness program to address what we call the delivery challenge of open source software development. Our aim is to facilitate the adoption of OW2 software by mainstream decision makers, i.e. those that are not necessarily open source software supporters.</p> <p>Check out this page: <a href="https://www.ow2.org/view/MRL/">https://www.ow2.org/view/MRL/</a> and this presentation <a href="https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-MRL-Intro.pdf">https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-MRL-Intro.pdf</a> and come chat with us on the OW2 stand.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12285.php">Submit feedback</link> </links> </event> <event id="12284"> <start>15:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_decoder</slug> <title>DeCODER: a new DevOps toolbox for code exploration and analysis</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 DECODER Project</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12284.php">Submit feedback</link> </links> </event> <event id="12286"> <start>15:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_ggi</slug> <title>OW2 OSS Good Governance initiative</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 GGI: Good Governance Initiative</p></abstract> <description><p>The OW2 Open Source Good Governance Initiative (GGI) is a joint effort between OW2 members and non-members to grow awareness and expertise on how to properly use and contribute to open source software with the objective to improve competitiveness and enhance the sustainability of the European OSS ecosystem.</p> <p>Get started here:</p> <ul> <li>OSS Good Governance resource center: <a href="https://www.ow2.org/view/OSS_Governance/">https://www.ow2.org/view/OSS_Governance/</a></li> <li>OW2 Open Source Good Governance Initiative slide deck: <a href="https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-GGI-Intro.pdf">https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-GGI-Intro.pdf</a></li> <li>OW2 Open Source Good Governance initiative video primer (5:34): <a href="https://youtu.be/abQzK8gkZJU">https://youtu.be/abQzK8gkZJU</a></li> </ul> </description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12286.php">Submit feedback</link> </links> </event> <event id="12311"> <start>16:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_zenroom</slug> <title>Zenroom : Crypto VM for database and blockchain</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>OW2 ZENROOM PROJECT Zenroom is a tiny and portable virtual machine that integrates in any application to authenticate and restrict access to data and execute human-readable smart contracts.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12311.php">Submit feedback</link> </links> </event> </room> <room name="S.pharo"> <event id="11829"> <start>09:30</start> <duration>00:30</duration> <room>S.pharo</room> <slug>pharo_welcome</slug> <title>Welcome to the stand for Pharo</title> <subtitle/> <track>Pharo stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11829.php">Submit feedback</link> </links> </event> </room> <room name="S.postgresql"> <event id="11830"> <start>09:30</start> <duration>00:30</duration> <room>S.postgresql</room> <slug>postgresql_welcome</slug> <title>Welcome to the stand for PostgreSQL</title> <subtitle/> <track>PostgreSQL stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11830.php">Submit feedback</link> </links> </event> </room> <room name="S.pulp"> <event id="11831"> <start>09:30</start> <duration>00:30</duration> <room>S.pulp</room> <slug>pulp_welcome</slug> <title>Welcome to the stand for Pulp</title> <subtitle/> <track>Pulp stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11831.php">Submit feedback</link> </links> </event> </room> <room name="S.radio"> </room> <room name="S.reactos"> <event id="11832"> <start>09:30</start> <duration>00:30</duration> <room>S.reactos</room> <slug>reactos_welcome</slug> <title>Welcome to the stand for ReactOS</title> <subtitle/> <track>ReactOS stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11832.php">Submit feedback</link> </links> </event> </room> <room name="S.refpersys"> <event id="11833"> <start>09:30</start> <duration>00:30</duration> <room>S.refpersys</room> <slug>refpersys_welcome</slug> <title>Welcome to the stand for RefPerSys</title> <subtitle/> <track>RefPerSys stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11833.php">Submit feedback</link> </links> </event> </room> <room name="S.schulfrei"> <event id="11835"> <start>09:30</start> <duration>00:30</duration> <room>S.schulfrei</room> <slug>schulfrei_welcome</slug> <title>Welcome to the stand for schul-frei</title> <subtitle/> <track>schul-frei stand</track> <type>standtrack</type> <language/> <abstract><p>Teckids e.V. is a German association which provides a legal frame for three technological projects. We manage the project called "schul-frei", which aims to bring digitisation with free software to schools. We especially value the participation of youth in these projects, because they are the people which are affected by digitisation the most. Our educational concept is also based around the idea that young people should be judged by their abilities, not by age. They should learn to take responsibility and be independent. An example of this would be the AlekSIS project. It is (mostly) developed by adolescents from Teckids e.V. and from the school Katharineum zu Luebeck, where it is actively used.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11835.php">Submit feedback</link> </links> </event> </room> <room name="S.sesame"> <event id="11836"> <start>09:30</start> <duration>00:30</duration> <room>S.sesame</room> <slug>sesame_welcome</slug> <title>Welcome to the stand for Sesame Discovery</title> <subtitle/> <track>Sesame Discovery stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11836.php">Submit feedback</link> </links> </event> </room> <room name="S.thola"> <event id="11842"> <start>09:30</start> <duration>00:30</duration> <room>S.thola</room> <slug>thola_welcome</slug> <title>Welcome to the stand for Thola and NESi</title> <subtitle/> <track>Thola and NESi stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7491">Stephan Schmidt</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11842.php">Submit feedback</link> </links> </event> </room> <room name="S.tracim"> <event id="11843"> <start>09:30</start> <duration>00:30</duration> <room>S.tracim</room> <slug>tracim_welcome</slug> <title>Welcome to the stand for Tracim</title> <subtitle/> <track>Tracim stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11843.php">Submit feedback</link> </links> </event> </room> <room name="S.unikraft"> <event id="11844"> <start>09:30</start> <duration>00:30</duration> <room>S.unikraft</room> <slug>unikraft_welcome</slug> <title>Welcome to the stand for Unikraft</title> <subtitle/> <track>Unikraft stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11844.php">Submit feedback</link> </links> </event> </room> <room name="S.xcpng"> <event id="11845"> <start>09:30</start> <duration>00:30</duration> <room>S.xcpng</room> <slug>xcpng_welcome</slug> <title>Welcome to the stand for XCP-ng</title> <subtitle/> <track>XCP-ng stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11845.php">Submit feedback</link> </links> </event> </room> <room name="S.xwiki"> <event id="11846"> <start>09:30</start> <duration>00:30</duration> <room>S.xwiki</room> <slug>xwiki_welcome</slug> <title>Welcome to the stand for XWiki & CryptPad</title> <subtitle/> <track>XWiki & CryptPad stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11846.php">Submit feedback</link> </links> </event> </room> <room name="S.yottadb"> <event id="11847"> <start>09:30</start> <duration>00:30</duration> <room>S.yottadb</room> <slug>yottadb_welcome</slug> <title>Welcome to the stand for YottaDB</title> <subtitle/> <track>YottaDB stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11847.php">Submit feedback</link> </links> </event> </room> <room name="I.infodesk"> <event id="11762"> <start>09:00</start> <duration>09:00</duration> <room>I.infodesk</room> <slug>infodesk_saturday</slug> <title>The Virtual FOSDEM Infodesk (Saturday)</title> <subtitle/> <track>Infodesk</track> <type>infodesk</type> <language/> <abstract><p>Need any assistance during the event? Join us in here!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11762.php">Submit feedback</link> </links> </event> </room> </day> <day index="2" date="2021-02-07"> <room name="K.fosdem"> <event id="12237"> <start>18:00</start> <duration>00:10</duration> <room>K.fosdem</room> <slug>closing_fosdem</slug> <title>Closing FOSDEM 2021</title> <subtitle/> <track>FOSDEM</track> <type>maintrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="6">FOSDEM Staff</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/K.fosdem/closing_fosdem.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/K.fosdem/closing_fosdem.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/12237.php">Submit feedback</link> </links> </event> </room> <room name="M.community"> </room> <room name="M.misc"> <event id="10852"> <start>10:00</start> <duration>00:30</duration> <room>M.misc</room> <slug>cloud_shaken_fist</slug> <title>Shaken Fist, thought experiments in simpler IaaS clouds</title> <subtitle/> <track>Cloud Computing</track> <type>maintrack</type> <language/> <abstract><p>OpenStack today is a complicated beast -- not only does it try to perform well for large clusters, but it also embraces a diverse set of possible implementations from hypervisors, storage, networking, and more. This was a deliberate tactical choice made by the OpenStack community years ago, forming a so called "Big Tent" for vendors to collaborate in to build Open Source cloud options. It made a lot of sense at the time to be honest. However, OpenStack today finds itself constrained by the large number of permutations it must support, ten years of software and backwards compatability legacy, and a decreasing investment from those same vendors that OpenStack courted so actively.</p> <p>OpenStack Compute wasn't always like this though. The first public git commit had about 5,000 lines of code in it, and was surprisingly functional. What would a simpler and more opinionated IaaS compute component look like? Especially if it could take advantage of the general improvement of Open Source tooling in the last decade that OpenStack has driven? This was what I was pondering in late 2019 as I started to drift away from the OpenStack community for various reasons. Then, a series of natural disasters in Australia and globally presented me with an opportunity to cancel all my extracurricular activities and really give an experiment a go. That experiment is called Shaken Fist (as in old man shakes fist at cloud), is about the same size as the original OpenStack Compute commit, and is available at https://shakenfist.com. I'd appreciate the opportunity to discuss some of the simplifying assumptions made, what functionality is available, whether the experiment tells us anything interesting, and possible future directions.</p></abstract> <description></description> <persons> <person id="7533">Michael Still</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/M.misc/cloud_shaken_fist.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_shaken_fist.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10852.php">Submit feedback</link> </links> </event> <event id="11038"> <start>10:30</start> <duration>00:30</duration> <room>M.misc</room> <slug>cloud_mariadb_systemd</slug> <title>MariaDB PaaS using systemd multi-instance / socket activation</title> <subtitle>Bare metal, but still modern</subtitle> <track>Cloud Computing</track> <type>maintrack</type> <language/> <abstract><p>Using baremetal and user level segregation, we can use systemd multi-instance to provide MariaDB as on demand PaaS, where every user gets their own configuration.</p> <p>This talk will show you what this looks like from a user and system maintainer perspective.</p></abstract> <description><p>With containers as all the rage, and the perceived default way of doing things, lets take a look at another approach of PaaS. Systemd as a service manager provides significant functionality on delivering multiple similar services in a managed way, so why not MariaDB PaaS?</p> <p>So with a few configuration changes from a default MariaDB install, let's show what a per user database instances looks like. Adding socket activation to mix and see "serverless" capability before it came fad with Kubernetes.</p> <p>On top of that, a brief look at abstract sockets that have been in MariaDB for while and what they could look like in a PaaS environment.</p></description> <persons> <person id="7677">Daniel Black</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/cloud_mariadb_systemd/attachments/other/4412/export/events/attachments/cloud_mariadb_systemd/other/4412/cloud_mariadb_systemd_demo.script">Typescript for demo</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/cloud_mariadb_systemd/attachments/other/4413/export/events/attachments/cloud_mariadb_systemd/other/4413/cloud_mariadb_systemd_demo_script.timing">Timescript timing for demo</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/cloud_mariadb_systemd/attachments/slides/4414/export/events/attachments/cloud_mariadb_systemd/slides/4414/cloud_mariadb_systemd.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/M.misc/cloud_mariadb_systemd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/cloud_mariadb_systemd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11038.php">Submit feedback</link> </links> </event> <event id="11465"> <start>11:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>toolchains_choice</slug> <title>A fresh look at toolchains in 2021</title> <subtitle>binutils, gcc and glibc are no longer the only options. Are they still the best?</subtitle> <track>Performance</track> <type>maintrack</type> <language/> <abstract><p>Not too long ago, it was clear how to build a new toolchain -- build binutils, build a gcc bootstrap compiler, build glibc, build a full featured gcc, debug it with gdb. That is still a good option - but no longer the only one: These days, alternatives to each of those components are available. This talk examines the available options and gives recommendations of what components make sense for what use cases.</p></abstract> <description><p>The talk looks at the traditional toolchain options as well as alternatives including LLVM/clang/lld, elfutils, TinyCC and OpenArk, musl, uClibc-ng, klibc, newlib, LLVM libc, bionic and dietlibc, libstdc++, libc++ and uClibc++, and shows which components go well together and which don't.</p></description> <persons> <person id="2501">Bernhard Rosenkränzer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/toolchains_choice/attachments/slides/4398/export/events/attachments/toolchains_choice/slides/4398/FOSDEM21_A_Fresh_Look_at_Toolchains_in_2021.pdf">FOSDEM21 - A Fresh Look at Toolchains in 2021</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/M.misc/toolchains_choice.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/toolchains_choice.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11465.php">Submit feedback</link> </links> </event> <event id="11326"> <start>12:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>matrix_communities</slug> <title>Building massive virtual communities in Matrix</title> <subtitle>or... Spaces: The Final Frontier!</subtitle> <track>Virtual Events</track> <type>maintrack</type> <language/> <abstract><p>Matrix (https://matrix.org) is an open protocol for secure, decentralised communication - defining an end-to-end-encrypted real-time communication layer for the open Web suitable for instant messaging, VoIP, microblogging, forums and more. We provide the open standard and open source tools to democratise communication away from the proprietary closed communication silos (Slack, Discord, Telegram, WhatsApp etc) that currently dominate.</p> <p>In this talk, we'll explain all the features we've been adding to let Matrix scale to support massive virtual communities such as FOSDEM itself, Mozilla, KDE and others. This includes Spaces: the ability to group rooms into a hierarchy, for ease of discovery and management; Widgets: the ability to add arbitrary webapps to chatrooms to provide dashboards of additional functionality (e.g. the FOSDEM livestreams and video conferences); Threading: the ability (at last!) to support threaded conversations in Matrix; and Decentralised Reputation - the ability to empower users to tune out content they dislike on their own terms. Our goal is to ensure no open source project ever uses Slack/Discord/Telegram to collaborate ever again. Finally, we'll give a quick tour of the FOSDEM-specific work we've done in order to run FOSDEM 2021 on Matrix!</p></abstract> <description><p>Matrix has always been built to support large virtual communities - after all, Matrix itself and all its dependent projects are developed via Matrix. Over the last year this has expanded further, with Mozilla joining Matrix in March 2020, Gitter joining in October - and meanwhile a huge influx of large virtual events and educational and public-sector deployments driven by the COVID-19 pandemic. As a result, lots of our work in 2020 has been focused on improving features for navigating and managing large virtual communities, whether that's improving the user experience in Element, or adding entirely new features to the protocol. We'll give a tour of what we've been doing, and how we deployed it for FOSDEM. We'll also show off our brand new Spaces implementation (the ability to group rooms into a hierarchy).</p> <p>Spaces are particularly interesting because they open up the possibility of Matrix being more than just a big flat namespace of conversations: instead they provide a global fully decentralised hierarchical filesystem, complete with decentralised ACLs, allowing users to publish and curate an arbitrary taxonomy of whatever data they choose (be it real-time conversations, history, data streams, files, objects, etc). This has potential to flip Matrix entirely on its head: Spaces could become the main backbone of the protocol, with chatrooms being mere leaf nodes in a giant tree of collaboration. Imagine if NNTP, AFS, IRC and the Web had a baby :D We'll dig into these ideas and more, and their implications for large-scale decentralised open source collaboration in years to come!</p></description> <persons> <person id="2951">Matthew Hodgson</person> </persons> <attachments> </attachments> <links> <link href="https://matrix.org">Matrix</link> <link href="https://github.com/matrix-org/matrix-doc/blob/matthew/msc1772/proposals/1772-groups-as-rooms.md">MSC1772: Matrix Spaces</link> <link href="https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors">Combating Abuse without Backdoors in Matrix</link> <link href="https://github.com/matrix-org/matrix-doc/blob/kegan/msc/threading/proposals/2836-threading.md">MSC2836: Threading</link> <link href="https://video.fosdem.org/2021/M.misc/matrix_communities.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/matrix_communities.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11326.php">Submit feedback</link> </links> </event> <event id="11058"> <start>13:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>computational_storage</slug> <title>Postgres Meets Computational Storage</title> <subtitle>Higher Performance at Lower Cost</subtitle> <track>Performance</track> <type>maintrack</type> <language/> <abstract><p>This proposed talk will present how Postgres could seamlessly and significantly benefit from replacing normal solid-state drives (SSDs) with emerging computational storage drives (CSDs). Aligned with the grand trends towards heterogeneous and near-data computing, computational storage has gained tremendous momentum and led to an on-going industry-wide effort on expanding the NVMe standard to support CSD. The first generation CSD products have built-in transparent compression, which can be deployed into existing computing infrastructure without any changes to the OS and applications. This proposed talk will discuss and present: (1) brief introduction to commercially available CSDs with built-in transparent compression, (2) experimental results that show, by replacing leading-edge normal SSD with CSD, one could reduce the storage cost by over 50% and meanwhile achieve 30% better Postgres TPS performance, and (3) experimental results that show CSD could meanwhile significantly reduce the Postgres write amplification, which enables the use of emerging low-cost QLC flash memory to further reduce the system storage cost. Finally, this proposed talk will discuss the potential of leveraging CSDs to improve the efficiency of important operations in Postgres.</p></abstract> <description></description> <persons> <person id="7676">Tong Zhang</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/computational_storage/attachments/slides/4549/export/events/attachments/computational_storage/slides/4549/postgres_computation_storage.pdf">Postgres Meets Computational Storage</attachment> </attachments> <links> <link href="https://www.scaleflux.com">company website</link> <link href="https://video.fosdem.org/2021/M.misc/computational_storage.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/computational_storage.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11058.php">Submit feedback</link> </links> </event> <event id="11352"> <start>14:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>jitsi_scaling</slug> <title>Challenges running Jitsi Meet at scale during the pandemic</title> <subtitle>A tale with what failed, what didn't, what we learned and what we are doing next.</subtitle> <track>Virtual Events</track> <type>maintrack</type> <language/> <abstract><p>When the pandemic (first) hit, many turned towards online solutions for having their business meetings, or gatherings of any kind really. Jitsi Meet being an Open Source and privacy respecting service saw a huge surge in usage (through the free meet.jit.si service) which we hadn't anticipated.</p> <p>In this presentation we'll share our lessons learned keeping up with the huge load, what improvements were made since and where the project is heading in 2021.</p></abstract> <description></description> <persons> <person id="186">Saúl Ibarra Corretgé</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/jitsi_scaling/attachments/slides/4478/export/events/attachments/jitsi_scaling/slides/4478/scaling_jitsi_meet_slides.pdf">Scaling Jitsi Meet</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/jitsi_scaling/attachments/slides/4626/export/events/attachments/jitsi_scaling/slides/4626/Scaling_Jitsi_Meet.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/M.misc/jitsi_scaling.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/jitsi_scaling.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11352.php">Submit feedback</link> </links> </event> <event id="10837"> <start>15:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>file_descriptor_monitoring</slug> <title>The Evolution of File Descriptor Monitoring in Linux</title> <subtitle>From select(2) to io_uring</subtitle> <track>Performance</track> <type>maintrack</type> <language/> <abstract><p>File descriptor monitoring is at the core of event-driven applications from graphical applications to web servers. Over the history of Linux, a number of system calls APIs have been introduced to improve upon the performance, features, and interface design. Developers may ask themselves which API they should use and how they differ.</p> <p>This talk covers select(2), poll(2), epoll(7), as well as the more recent Linux AIO and io_uring APIs. We will look at the classic scalability challenges with these APIs as well as the latest shared kernel memory ring and polling approaches. An understanding of the evolution of file descriptor monitoring in Linux exposes API design topics that have relevance even if you don't need to implement an event loop in your application.</p></abstract> <description><p>The Linux logo used for this talk was created by Larry Ewing.</p></description> <persons> <person id="2816">Stefan Hajnoczi</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/file_descriptor_monitoring/attachments/slides/4544/export/events/attachments/file_descriptor_monitoring/slides/4544/stefanha_fosdem_2021.pdf"/> </attachments> <links> <link href="https://vmsplice.net/">My website with past talks</link> <link href="https://github.com/stefanha/fdmonbench">Benchmark code</link> <link href="https://video.fosdem.org/2021/M.misc/file_descriptor_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/file_descriptor_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10837.php">Submit feedback</link> </links> </event> <event id="10924"> <start>16:00</start> <duration>01:00</duration> <room>M.misc</room> <slug>vircadia</slug> <title>Vircadia - A Technical Introduction</title> <subtitle/> <track>Virtual Events</track> <type>maintrack</type> <language/> <abstract><p>Vircadia is a "metaverse" -- a shared 3D/VR space for doing most anything you want, including holding meetings, hosting events, socializing, playing games and education. It is a continuation of the now dead High Fidelity project, developed by volunteers.</p> <p>In this talk I will give a very short explanation of what the project is about, and follow up with a series of quick technical introductions about the architecture and how to get started.</p> <p>People interested in an overview of the project, its history and the basics of how it works may want to watch our LCA talk: https://www.youtube.com/watch?v=4ZPz4rvMEwk</p></abstract> <description><p>The talk will be simple, but technical. The purpose is to explain the architecture of the system, and to give people a way to quickly get started. The content covered will be:</p> <ol> <li>What is this, and who we are</li> <li>Basic architecture of the system</li> <li>How to get it (installing or compiling)</li> <li>Basic controls and interface</li> <li>How to create objects</li> <li>How to write a very simple script</li> <li>How to write a more complex script</li> <li>How to host a server</li> <li>Question time</li> </ol> </description> <persons> <person id="2558">Vadim Troshchinskiy</person> </persons> <attachments> </attachments> <links> <link href="https://vircadia.com">Main website</link> <link href="https://github.com/vircadia/">Github</link> <link href="https://video.fosdem.org/2021/M.misc/vircadia.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/vircadia.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10924.php">Submit feedback</link> </links> </event> <event id="11589"> <start>17:00</start> <duration>00:55</duration> <room>M.misc</room> <slug>new_type_of_computer</slug> <title>Starting Over</title> <subtitle>A FOSS proposal for a new type of OS for a new type of computer</subtitle> <track>Performance</track> <type>maintrack</type> <language/> <abstract><p>A possible next evolutionary step for computers is persistent memory: large capacity non-volatile main memory. With a few terabytes of nonvolatile RAM, who needs an SSD any more? I will sketch out a proposal for how to build an versatile, general-purpose OS for a computer that doesn't need or use filesystems or files, and how such a thing could be built from existing FOSS code and techniques, using lessons from systems that existed decades ago and which inspired the computers we use today.</p></abstract> <description><p>Since the era of the mainframe, all computers have used hard disks and at least two levels of storage: main memory, or RAM, and secondary or auxiliary storage: disk drives, accessed over some form of disk controller using a file system to index the contents of secondary storage for retrieval.</p> <p>Technology such as Intel's 3D Xpoint -- sold under the brand name Optane -- and HP's future memristor storage will render this separation obsolete. When a computer's permanent storage is all right there in the processors' memory map, there is no need for disk controllers or filesystems. It's all just RAM.</p> <p>It is very hard to imagine how existing filesystem-centric OSes such as Unix could be adapted to take full advantage of this, so fundamental are files and directories and metadata to how they operate. I will present the outline of an idea how to build an OS that natively uses such a computer architecture, based on existing technology and software, that the FOSS community is ideally situated to build and develop.</p></description> <persons> <person id="7516">Liam Proven</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/new_type_of_computer/attachments/slides/4712/export/events/attachments/new_type_of_computer/slides/4712/Starting_Over_slides.pdf">Slides in PDF</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/new_type_of_computer/attachments/slides/4713/export/events/attachments/new_type_of_computer/slides/4713/Starting_Over_slides_only.odp">Slides in LibreOffice Impress</attachment> </attachments> <links> <link href="https://youtu.be/nHaTRWRj8G0">Steve Jobs on what he missed at PARC</link> <link href="http://www.loper-os.org/?p=8"> On the importance of Lisp Machines</link> <link href="http://www.loper-os.org/?p=932">On Kalman Reti</link> <link href="http://tunes.org/overview.html">A previous effort at a new kind of OS</link> <link href="https://www.macintoshrepository.org/1358-apple-dylan-tr">Apple Dylan downloads</link> <link href="http://www.projectoberon.com/">Project Oberon</link> <link href="https://en.wikibooks.org/wiki/Oberon ">Oberon documentation</link> <link href="https://ssw.jku.at/Research/Projects/Oberon.html">Linz Oberon</link> <link href="https://liam-on-linux.livejournal.com/46523.html ">More Oberon and A2 links</link> <link href="https://squeak.org/">The Squeak Project</link> <link href="https://newspeaklanguage.org/">NewSpeak</link> <link href="http://www.vitanuova.com/inferno/ ">Vita Nuova Inferno</link> <link href="http://jehanne.io/">Jehanne OS — a modern fork of Plan 9</link> <link href="https://harvey-os.org/">Harvey OS — another modern fork of Plan 9</link> <link href="https://video.fosdem.org/2021/M.misc/new_type_of_computer.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/M.misc/new_type_of_computer.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11589.php">Submit feedback</link> </links> </event> </room> <room name="L.lightningtalks"> <event id="11282"> <start>13:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>25_languages_in_25_days</slug> <title>25 languages in 25 days</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>I did the Advent of Code 2020 with a different programming language every day, so instead of having to visit 25 developer rooms, you can just listen to me for my lightning summary.</p></abstract> <description></description> <persons> <person id="7734">Peter Eisentraut</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/25_languages_in_25_days/attachments/slides/4527/export/events/attachments/25_languages_in_25_days/slides/4527/25_languages_in_25_days.pdf">slides</attachment> </attachments> <links> <link href="https://github.com/petere/adventofcode-2020">GitHub repository</link> <link href="https://adventofcode.com/2020">Advent of Code 2020</link> <link href="https://github.com/xocolatl/advent-of-code">Alternative: Advent of Code in SQL (GitHub)</link> <link href="http://cds.cern.ch/record/2706981">Alternative: Advent of Code in SQL (video)</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/25_languages_in_25_days.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/25_languages_in_25_days.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11282.php">Submit feedback</link> </links> </event> <event id="11188"> <start>13:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>etebase</slug> <title>Etebase - Your End-to-End Encrypted Backend</title> <subtitle>Building encrypted applications has never been easier</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Etebase is a software development kit and backend for building end-to-end encrypted applications. Think Firebase, but encrypted in a way that only end-users can access their data.</p> <p>This is in contrast to how things are done today where the data is only encrypted while in-transit or at-rest, and is therefore accessible by anyone with access to the server, including service providers, rogue employees, hackers, and malicious governments to name a few.</p></abstract> <description><p>This is not a theoretical threat. We live in an increasingly hostile digital world where out data is used to track, analyze and manipulate us all. With data breaches and privacy violations becoming a common occurrence, it's now more clear than even that our data is not safe.</p> <p>Our goal with Etebase is to make it easy for developers to build encrypted applications, so that everyone's data can be encrypted and safe.</p> <p>Etebase already powers the popular EteSync encrypted applications, and is also used in GNOME (Evolution) and KDE (KDE-PIM) among other projects. There are libraries for Rust, JavaScript (TypeScript), Java/Kotlin, Python, C/C++, and C#, with a few others in the works. Which means you can already use it in a variety of projects.</p> <p>In this talk Tom will introduce the Etebase project, will show developers how to easily build encrypted and privacy respecting applications, and will discuss the project's design goals and future plans.</p> <p>The work on Etebase has been made possible with financial support from NLnet Foundation, courtesy of NGI0 Discovery and the European Commission DG CNECT's Next Generation Internet programme.</p></description> <persons> <person id="875">Tom Hacohen (tasn)</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/etebase/attachments/slides/4535/export/events/attachments/etebase/slides/4535/Etebase.pdf">Slides</attachment> </attachments> <links> <link href="https://www.etebase.com">Etebase</link> <link href="https://www.etesync.com">EteSync</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/etebase.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/etebase.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11188.php">Submit feedback</link> </links> </event> <event id="11700"> <start>13:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>weaviate</slug> <title>Weaviate</title> <subtitle>Updates to the v1.0 of the Weaviate Vector Search Engine</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Weaviate is a cloud-native, real-time vector search engine that allows you to bring your machine learning models to scale. During this lightning talk, you will see a demo, unique ML-use cases Weaviate solves and you will learn how you can get started with V1.0.0</p></abstract> <description></description> <persons> <person id="6158">Bob van Luijt</person> </persons> <attachments> </attachments> <links> <link href="https://www.semi.technology/developers/weaviate/current/">Weaviate documentation</link> <link href="https://github.com/semi-technologies/weaviate">Weaviate on Github</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/weaviate.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/weaviate.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11700.php">Submit feedback</link> </links> </event> <event id="10971"> <start>14:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>distributed_bank</slug> <title>An I2P-based, fully distributed Bank</title> <subtitle>Free Banking Technology. For Everyone.</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Imagine: I2P (aka "Darknet"), a highly energy-efficient, new and fully distributed storage engine, some basic banking business logic and a fresh user interface.</p> <p>Result: a highly privacy-respecting, in theory secure, yet very slow, personal bank. Meet diva.exchange - the first non-profit, non-corporate, very-small-tech and research-driven association developing "Free Banking Technology - For Everyone". All licensed under AGPLv3+.</p> <p>The presentation is about the technology stack of the truly distributed free banking technology "DIVA". It's also about the fact that "distributed technology" does not offer anything like a "business model" in the old-fashioned-cloudy way. It's about the overlay network "I2P". It's about the distributed storage engine "Iroha" and the challenges with a very slow network. It's about banking business logic, the user interface and its challenges being fully distributed. And it's about the research co-operations in Switzerland.</p> <p>DIVA is small and local tech for everyone.</p></abstract> <description></description> <persons> <person id="7622">Konrad Bächler</person> </persons> <attachments> </attachments> <links> <link href="https://codeberg.org/diva.exchange">Code & Documentation Repository</link> <link href="https://hub.docker.com/u/divax/">Docker Container Repository</link> <link href="https://diva.exchange">Website of the association</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/distributed_bank.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/distributed_bank.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10971.php">Submit feedback</link> </links> </event> <event id="11333"> <start>14:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>returning_clause</slug> <title>RETURNING clause ... Have your cake and eat it too!</title> <subtitle>RETURNING result set in DML statements</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>RETURNING retrieves the modified, inserted or deleted values of columns. Without RETURNING, there would be a need to run an extra SELECT query.So, along with many other benefits like triggering actions in your application based on what really gets modified, it helps to avoid a round trip and still gets the same job done! Number of queries running can be important for performance of your application as well. So you can have your cake and eat it too!</p></abstract> <description></description> <persons> <person id="7795">Rucha Deodhar</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/returning_clause/attachments/slides/4708/export/events/attachments/returning_clause/slides/4708/Slides_pdf">RETURNING CLAUSE...Have your cake and eat it too!</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/returning_clause/attachments/slides/4709/export/events/attachments/returning_clause/slides/4709/slides_pptx">RETURNING CLAUSE...Have your cake and eat it too!</attachment> </attachments> <links> <link href="https://mariadb.com/kb/en/insertreturning/">INSERT ... RETURNING- MariaDB Knowledge Base</link> <link href="https://mariadb.com/kb/en/replacereturning/">REPLACE ... RETURNING- MariaDB Knowledge Base</link> <link href="https://mariadb.com/kb/en/delete/">DELETE ... RETURNING</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/returning_clause.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/returning_clause.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11333.php">Submit feedback</link> </links> </event> <event id="11415"> <start>14:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>git_learning_game</slug> <title>Building a Git learning game</title> <subtitle>A playful approach to version control</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Git is ubiquitous these days - but it has a pretty steep learning curve! To help people learn how to use it efficiently and intuitively, we're developing an interactive, open-source learning game!</p> <p>It makes heavy use of visualizations, features an (optional) graphical "playing card" interface, and uses real Git repositories under the hood! Storywise, you're a time agent in training, and learn all about how to use your time machine to help people solve their problems.</p></abstract> <description><p>In this talk, we want to introduce you to how the game works, and show you our current progress. We're using the Godot engine, and have a simple, extensible level format based on Bash scripts, which you can use to build your own levels!</p> <p>We want to accomodate both people who are new to Git and the command line, as well as advanced users who are interested in learning more about what's going on under the hood. We'll share what we learned in our playtest sessions, and what's next.</p></description> <persons> <person id="7632">blinry</person> <person id="8273">bleeptrack</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/git-learning-game/oh-my-git">Git repository of the game</link> <link href="https://blinry.itch.io/oh-my-git">Download page on itch.io</link> <link href="https://morr.cc/git-game/">Collection of links and infos about the game</link> <link href="https://morr.cc/building-a-git-learning-game/">Slides</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/git_learning_game.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/git_learning_game.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11415.php">Submit feedback</link> </links> </event> <event id="11053"> <start>15:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>contributing_beyond_code</slug> <title>Contributing beyond Code: My 6 months review</title> <subtitle>My Open Source achievement</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Starting my contributions as a beginner in tech was an amazing journey and really something worth sharing because I was able to contribute beyond the code by actively helping out other beginners get involved. It took me from submitting talks about including beginners in OSS, making explanatory blog posts, tweeting about OSS, getting involved in onboarding teams to improve the process, and even having one on one calls to help out others get involved. In this talk, I will be sharing my challenges, strategies, and accomplishments so far highlighting my biggest recognitions which is joining the Github Stars program.</p></abstract> <description></description> <persons> <person id="7558">Ruth Ikegah</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/contributing_beyond_code/attachments/slides/4766/export/events/attachments/contributing_beyond_code/slides/4766/Contributing_Beyond_code.pdf">Contributing Beyond Code</attachment> </attachments> <links> <link href="https://https://https://twitter.com/IkegahRuth">Twitter handle</link> <link href="https://https://github.com/Ruth-ikegah">Github Profile</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/contributing_beyond_code.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/contributing_beyond_code.mp4">Video recording (mp4)</link> <link href="https://www.canva.com/design/DAEP1emW61U/T3Js1deYCIAZXTPx4tEWUA/view?utm_content=DAEP1emW61U&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton">Slides</link> <link href="https://">https://</link> <link href="https://submission.fosdem.org/feedback/11053.php">Submit feedback</link> </links> </event> <event id="11433"> <start>15:20</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>perl_the_hidden_gem</slug> <title>Perl, the hidden automation gem</title> <subtitle>On how Perl can be used in almost every CI/CD environment, and you probably didn't know</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Modern deployment workflows extensively employ CI/CD tools for tasks that go from simple testing to automating the creation of container images. Most of these machines have a version of Perl installed; in many cases because it's an essential language used for many tools in the operating system it runs, in some other cases simply because it's there. In most cases, though, its existence is undocumented. In this talk we will make a small introduction to Perl and how it's relevant to 21st century computing, and then we'll show how to put it to good use in environments such as Travis, Github Actions and even Docker Hub.</p></abstract> <description><p>I've been using Perl for more than 25 years, and in fact I started using Travis because it was the only CI/CD tool back then that gave good support to this language. However, over the years I have seen how new tools stopped mentioning it for other languages, notably JavaScript. This meant that, when I needed to write new workflows on base environments, I needed to use shell script and other tools like awk and sed. Which are wonderful tools, but it's almost impossible to be really productive with them. Out of curiosity mainly, I started running uname -v and perl --version over the machines where I was bumping my head against shell scripts, and lo and behold, I discovered that, undocumented, Perl was there. That started a quest for creating pull requests all over the place so that its presence is documented... And also a series of initiatives to actually put it down to use.</p> <p>Baseline is: since Perl is already present in the environments used to run workflows, you can save precious seconds of language installation, and you can actually perform some serious data munging and processing using the base configuration. We will show different examples of this in different environments, and also some ways to speed up even more your workflows to save those precious seconds that are in such short supply in the free tier lately.</p></description> <persons> <person id="1263">Juan Julián Merelo</person> </persons> <attachments> </attachments> <links> <link href="https://dev.to/jj/writing-docker-hub-hooks-in-perl-44h2">Writing docker hub hooks in Perl</link> <link href="https://github.com/actions/virtual-environments/pull/2206">Adding Perl to Github Actions</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/perl_the_hidden_gem.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/perl_the_hidden_gem.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11433.php">Submit feedback</link> </links> </event> <event id="11240"> <start>15:40</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>including_everyone</slug> <title>Accessibility Considerations </title> <subtitle>Including Everyone - Focus on Accessibility</subtitle> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>Accessibility considerations for hardware, software and documentation are presented. The presenters are Marcia K Wilbur (developer) and her daughter, Justina Wilbur. Justina was diagnosed several years ago with mixed connective tissue disorder (MS, Lupus, Rheumatoid Arthritis) and has some insights on additional areas for accessibility considerations in software and documentation. Web considerations and recommendations for future tools will be discussed.</p></abstract> <description><p>The transcript for this presentation is attached.</p></description> <persons> <person id="7591">Marcia Wilbur</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/including_everyone/attachments/other/4432/export/events/attachments/including_everyone/other/4432/transcript_accessibility_considerations">transcript - accessibility considerations</attachment> </attachments> <links> <link href="https://http://gnulinux.io/transcript-wilbur">transcript</link> <link href="https://templates.openoffice.org/en/template/fosdem-presentation-draw-template">openoffice draw template - presentation</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/including_everyone.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/including_everyone.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11240.php">Submit feedback</link> </links> </event> <event id="10941"> <start>16:00</start> <duration>00:20</duration> <room>L.lightningtalks</room> <slug>classops</slug> <title>ClassOps: pre-grading student assignments using CI pipelines</title> <subtitle/> <track>Lightning Talks</track> <type>lightningtalk</type> <language/> <abstract><p>There are many things in which software can help grade computer science assignments, since these will consist mainly in executable pieces of code. However, in the same way DevOps will involve teams that code, test and set up infraestructure, ClassOps will have to add teachers to that equation. At any rate, it will imply that teachers will need to lay down in code the requirements of a student assignment (which can be as simple as testing for inclusion of a file or as complex of setting up the infrastructure to probe the code in different ways) and set up CI pipelines to actually test, and give meaningful (and fast!) feedback to the student so that it's included in their learning experience. This (lightning) talk will explain how the speaker set up that kind in infrastructure in Travis and, lately, GitHub actions, and how that resulted as a learning experience for him and his students.</p></abstract> <description><p>For professors, grading is grunt work, and mostly done manually. As such, it's usually limited to the things that can be checked by hand. This eventually results in a very limited understanding of the learning process of students, lengthy grading process and bad learning outcomes for students. The first step is understanding grading as part of the learning process for students: it's simply a chance to give feedback to students so that they can fulfill their learning objectives. This needs to be done frequently and meaningfully. The second step is decoupling grading from your personal appreciation and setting it up as a functional requirement. Joining both things leads to automating grading as much as possible. While I had been using GitHub for turning in assignments for quite some time, I really started using CI pipelines in 2017, initially with Travis, and adding GitHub actions in 2019 when they started to admit people into the beta. They are used alongside each other now, making assignments undergo different kinds of tests, from (mild) plagiarism to, lately, setting up the student environment in a Docker container and run things inside it. The main idea of this talk will be how to pass from concept to (software) test, how the different tests have been set up, and what kind of obstacles have been found along the way. And, of course, if this has resulted in better learning outcomes for students.</p></description> <persons> <person id="1263">Juan Julián Merelo</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/JJ/IV-20-21">Class where I use these tools</link> <link href="https://archive.fosdem.org/2018/schedule/event/ci_classroom/">Previous version of the talk, in the Perl devroom 2018</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/classops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/L.lightningtalks/classops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10941.php">Submit feedback</link> </links> </event> </room> <room name="B.bofs"> </room> <room name="D.apache.openoffice"> </room> <room name="D.blockchain"> <event id="11641"> <start>11:00</start> <duration>00:50</duration> <room>D.blockchain</room> <slug>fluence_backend</slug> <title>How to make a Service and distribute it with the Fluence network</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>This section aims to show how a service can be created from scratch and then deployed to the Fluence network. We will start with a discussion of FCE – special runtimes that designed to run multi-module Wasm applications with help of interface-types. Then we will create several simple services and discuss how to compile, run locally, and debug them with our tooling. Finally, we will deploy these services to Fluence nodes to use them next by the front-end application.</p></abstract> <description></description> <persons> <person id="8001">Dmitriy Shakhtarin</person> <person id="8010">Mike Voronov</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_backend.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_backend.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11641.php">Submit feedback</link> </links> </event> <event id="11643"> <start>11:50</start> <duration>00:40</duration> <room>D.blockchain</room> <slug>fluence_aquamarine</slug> <title>Aquamarine under the hood: how to work with services</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>We've seen the theory behind Aquamarine, and how it can be used to build apps. In this section, I'll review the AIR language that is used to program distributed backends running on Aquamarine. We'll dive into the possibilities of the language, and some of the patterns that emerged from our experience of writing AIR scripts.</p></abstract> <description></description> <persons> <person id="8000">Alexey Pyshnenko</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_aquamarine.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/fluence_aquamarine.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11643.php">Submit feedback</link> </links> </event> <event id="11699"> <start>12:30</start> <duration>00:50</duration> <room>D.blockchain</room> <slug>scuttlebutt_protocol</slug> <title>New Scuttlebutt Database</title> <subtitle>All the juicy gossip on the new development of the SSB protocol. A walk-through of some of the design aspects and what seeds have been planted! </subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>All the juicy gossip on the new development of the SSB protocol. A walk-through of some of the design aspects and what seeds have been planted!</p></abstract> <description></description> <persons> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/scuttlebutt_protocol/attachments/slides/4665/export/events/attachments/scuttlebutt_protocol/slides/4665/new_ssb_database_slides.pdf">New SSB Database (Slides)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_protocol.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/scuttlebutt_protocol.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11699.php">Submit feedback</link> </links> </event> <event id="11677"> <start>13:20</start> <duration>00:35</duration> <room>D.blockchain</room> <slug>neuropil</slug> <title>Zero Trust Architecture as an enabler for Data Sovereignty</title> <subtitle>The business approach behind the neuropil messaging layer</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>This talk will give an introduction to the up and coming concept of Zero Trust. It will briefly point out shortcomings of security in the past. We will discuss why there are signs for a paradigm shift and illustrate what security of the future looks like to us. We show different approaches and concepts and share our vision of how we believe data sovereignty can be established. We hope to exchange thoughts and ideas with the audience to make this a valuable and interactive talk in which we can all bring in our knowledge to build secure digital environments.</p></abstract> <description></description> <persons> <person id="5493">Stephan Schwichtenberg</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/neuropil/attachments/slides/4686/export/events/attachments/neuropil/slides/4686/zero_trust_data_souvereignity">Zero Trust as an enabler for data sovereignty</attachment> </attachments> <links> <link href="https://programm.froscon.de/2020/events/2577.html">FroScon Talk</link> <link href="https://www.youtube.com/watch?v=o6N4uRzTuKc">FroScon Talk</link> <link href="https://www.neuropil.org">Neuropil messaging layer</link> <link href="https://gitlab.com/pi-lar/neuropil">GitLab Repository</link> <link href="https://video.fosdem.org/2021/D.blockchain/neuropil.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/neuropil.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11677.php">Submit feedback</link> </links> </event> <event id="11430"> <start>13:55</start> <duration>00:20</duration> <room>D.blockchain</room> <slug>alpress</slug> <title>Alpress </title> <subtitle>Self-Governing Publication Platform</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Alpress is the new project of the Almonit organization. It is a self-governing decentralized platform for publishing articles.</p></abstract> <description><p>Alpress looks and feels like a classical Internet platform, but in practice, it is owned, governed, and operated by its own users. The platform is made with a combination of ENS, IPFS, and DAO technologies.</p> <p>Alpress is not only aimed to become the main dWeb place for publishing articles but is also meant an inspiration for developers to build more self-governing Internet platforms. Such platforms, which are democratic in nature, can create a future where the web belongs to the people of the Internet.</p></description> <persons> <person id="7849">Muhammed Tanrikulu</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/Almonit">Github page of Almonit Organization</link> <link href="https://twitter.com/GoAlmonit">Follow us on Twitter for more updates!</link> <link href="https://testpress.eth.link/">Instructions for testing MVP version of platform</link> <link href="https://video.fosdem.org/2021/D.blockchain/alpress.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/alpress.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11430.php">Submit feedback</link> </links> </event> <event id="11708"> <start>14:20</start> <duration>00:50</duration> <room>D.blockchain</room> <slug>p2p_app_with_vue</slug> <title> Build a p2p distributed app with vue, really fast </title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>This demonstration shows how to use the Vue Cli presets and plugins we built for Holochain to create a fully operational distributed p2p application in minutes. Running yarn start gives you, the developer, a Holochain Conductor admin app for managing Demo Agents, installing your new app and launching your app with the crypto keys for each Demo Agent. There are four web apps launched making it super easy to see how your app really works for each Agent. That's not all, using the same technique you can add "modules" of functionality to your app plus you can add new layouts, views and entry types. Come and see how easy it is to build a fully distributed, p2p, secure, fast, reliable and great looking app for the new world!</p></abstract> <description></description> <persons> <person id="8007">Guillem Córdoba</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/p2p_app_with_vue.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/p2p_app_with_vue.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11708.php">Submit feedback</link> </links> </event> <event id="11707"> <start>15:10</start> <duration>00:55</duration> <room>D.blockchain</room> <slug>holochain_playtime</slug> <title>Holochain Playtime!</title> <subtitle/> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>Start playing with Holochain applications!</p> <p>In this session you will build your own DNA by composing small modules of functionality using the compository. Using the holochain playground, a hands-on space to test your knowledge of Holochain, you will build your own zome functions and see what happens!</p></abstract> <description></description> <persons> <person id="8007">Guillem Córdoba</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_playtime.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/holochain_playtime.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11707.php">Submit feedback</link> </links> </event> <event id="11690"> <start>16:05</start> <duration>01:00</duration> <room>D.blockchain</room> <slug>hypercore</slug> <title>Decentralization and Decency</title> <subtitle>A talk on the values and goals of decentralizers</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>After Trump and Parler were removed from a variety of Internet services, decentralization became a new focus of wider discussion. This talk is about our values and goals as a community beyond just "censorship resistance," and how we're solving problems, not creating new ones.</p></abstract> <description></description> <persons> <person id="7988">Paul Frazee</person> </persons> <attachments> </attachments> <links> <link href="https://hypercore-protocol.org">Hypercore Protocol Website</link> <link href="https://github.com/pfrazee/ctzn">CTZN Repo</link> <link href="https://www.youtube.com/channel/UCSkcL4my2wgDRFvjQOJzrlg">My YouTube Channel</link> <link href="https://twitter.com/pfrazee">My Twitter Account</link> <link href="https://beakerbrowser.com">Beaker Browser Website</link> <link href="https://scuttlebutt.nz"> Secure Scuttlebutt Website</link> <link href="https://video.fosdem.org/2021/D.blockchain/hypercore.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/hypercore.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11690.php">Submit feedback</link> </links> </event> <event id="11704"> <start>17:05</start> <duration>00:55</duration> <room>D.blockchain</room> <slug>compost_artist_centric_development</slug> <title>COMPOST: Exploring artist-centric development through Distributed Press</title> <subtitle>Towards a decentralized and interdependent publishing ecology</subtitle> <track>Beyond Blockchain - Distributed Web</track> <type>devroom</type> <language/> <abstract><p>In a few weeks we are launching COMPOST, a magazine about the digital commons. Each issue serves as a collective lab, where we test and validate novel approaches to content production, distribution, and monetization, with a unique cohort of contributors every quarter. Through subsequent issues of COMPOST, our learnings and code will be published to the commons as Distributed Press. Along with inspiring creators and readers with our magazine, our objective is to develop better open-source tools for decentralized publishing to catalyze an interdependent ecology of publishing projects.</p> <p>In our talk, we will present the organizational and technical scaffolding of COMPOST and Distributed Press. We will share our learnings from the first issue working directly with writers and artists to inform features and user experience of our tool. We will present how Distributed Press will help publish works to the DWeb (IPFS, Hypercore, Scuttlebutt), enable monetization, add a disintermediated social layer to publishing, and verify content, in a manner aligned with our values. Finally, we will talk about radical practices that ensure decentralization extends into governance, decision making, and community building.</p></abstract> <description></description> <persons> <person id="8006">COMPOST</person> </persons> <attachments> </attachments> <links> <link href="https://compost.digital">COMPOST magazine project page</link> <link href="https://distributed.press">Distributed Press approach</link> <link href="https://github.com/hyphacoop/api.distributed.press#distributed-press-api">Distributed Press API spec issue on Github</link> <link href="https://video.fosdem.org/2021/D.blockchain/compost_artist_centric_development.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.blockchain/compost_artist_centric_development.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11704.php">Submit feedback</link> </links> </event> </room> <room name="D.bsd"> <event id="11197"> <start>11:00</start> <duration>01:00</duration> <room>D.bsd</room> <slug>cbsd_ecosystem</slug> <title>Managing virtual resources with CBSD, and beyond</title> <subtitle>CBSD ecosystem is growing and now you can manage more than just virtual resources</subtitle> <track>BSD</track> <type>devroom</type> <language/> <abstract><p>CBSD team was working hard to bring you not just VM/jail management, but to also make integrating existing cloud software easy. This talk will describe new features of CBSD as well as some of the new projects around it: some are done, and some are in implementation phase.</p></abstract> <description><p>CBSD can manage bhyve, Xen, VNET and non-VNET jails, setup your network environment and storage, but that's not all. There are numerous projects using CBSD as a base like ClonOS (WEB interface), Reggae for DevOps tasks (with support for all provisioning alternatives out there), Android emulation and Kubernetes management of CBSD/bhyve cluster. As CBSD have support for external modules, extending with custom functionalities and features is easier than ever. There are even some projects that are not yet finished, like CBSDng, which will provide colorized shell with completion and alternative WEB interface.</p></description> <persons> <person id="4922">Goran Mekić</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/cbsd_ecosystem/attachments/slides/4618/export/events/attachments/cbsd_ecosystem/slides/4618/cbsd_echosystem.odp">CBSD Echosystem</attachment> </attachments> <links> <link href="https://cbsd.io">CBSD documentation</link> <link href="https://bsdstore.ru">Official CBSD site</link> <link href="https://github.com/cbsd">Github organization</link> <link href="https://www.patreon.com/clonos">Patreon page</link> <link href="https://video.fosdem.org/2021/D.bsd/cbsd_ecosystem.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.bsd/cbsd_ecosystem.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11197.php">Submit feedback</link> </links> </event> <event id="11621"> <start>12:10</start> <duration>01:00</duration> <room>D.bsd</room> <slug>hello_bsd</slug> <title>hello... again?</title> <subtitle>Simplicity, elegance, and usability for the desktop</subtitle> <track>BSD</track> <type>devroom</type> <language/> <abstract><p>Can we make an open source system that is welcoming to switchers from the Mac? Something that “just works” as intended, without the need to fiddle around much to get to a working desktop that does its job and otherwise gets out of your way? Say "hello" to helloSystem, a desktop system for creators with focus on simplicity, elegance, and usability.</p></abstract> <description><p>Presentation and Live walktrough of a running helloSystem desktop.</p> <p>helloSystem is FreeBSD preconfigured as a desktop operating system. Its design follows the “Less, but better” philosophy. It is intended as a system for “mere mortals”, welcoming to switchers from a world in which a global menu bar exists, the Command key is used rather than Control, and applications are contained in .app bundles.</p> <p>helloSystem aims at providing a "it just works" out-of-the-box user experience in which a non-technical user can just use the system without ever opening the terminal, without having to configure anything, and without ever seeing white text on a black background scroll by during system boot.One objective for helloSystem is to be both easy to use for “mere mortals” yet powerful under the hood for advanced users, a combination that had been skillfully mastered in the first releases of Mac OS X. So the question is, can we take this objective of being easy but powerful but take it even further than Apple ever did?</p></description> <persons> <person id="7948">Simon Peter</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/hello_bsd/attachments/other/4245/export/events/attachments/hello_bsd/other/4245/Screenshot.png">Screenshot</attachment> </attachments> <links> <link href="https://hellosystem.github.io/docs/">helloSystem documentation</link> <link href="https://github.com/helloSystem/">helloSystem on GitHub</link> <link href="https://matrix.to/#/%23helloSystem:matrix.org?via=matrix.org">#helloSystem:matrix.org</link> <link href="https://video.fosdem.org/2021/D.bsd/hello_bsd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.bsd/hello_bsd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11621.php">Submit feedback</link> </links> </event> <event id="11431"> <start>13:20</start> <duration>00:30</duration> <room>D.bsd</room> <slug>porting_fwupd_to_the_bsd</slug> <title>Porting fwupd to the BSD distributions</title> <subtitle>Porting firmware update system from Linux to FreeBSD, OpenBSD, NetBSD, and DragonFlyBSD</subtitle> <track>BSD</track> <type>devroom</type> <language/> <abstract><p>This presentation will describe the plan of porting the fwupd daemon to BSD distributions (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD). It will explain the challenges connected with the implementation of firmware update systems. Through the fwupd daemon port, we will extend the functionality of the Linux Vendor Firmware Service (LVFS) to another family of systems. I will demonstrate the process of porting the fwupd/LVFS, based on the previous implementations. Also, I would like to present the fwupd/LVFS chain of trust and answer any questions the BSD community may have on this topic. I would love to hear some suggestions and feedback, which we should take into account during the development process.</p></abstract> <description><p>The security of the whole system is not determined only by the software it runs, but also the firmware. Firmware is a piece of software inseparable from the hardware. It is responsible for proper hardware initialization as well as its security features. That means that the safety of the machine strongly depends on the mitigations of vulnerabilities provided by firmware (like microcode updates, bug/exploit fixes). For these particular reasons, the firmware should be kept up-to-date.</p> <p>Nowadays, one of the most popular firmware update software is fwupd/LVFS. fwupd is a Linux daemon that manages firmware updates of each of your hardware components that have some kind of firmware. What is more fwupd is open source, which makes it more trustworthy than proprietary applications delivered by hardware vendors designed for (only) their devices.</p></description> <persons> <person id="7798">Norbert Kamiński</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/porting_fwupd_to_the_bsd/attachments/slides/4473/export/events/attachments/porting_fwupd_to_the_bsd/slides/4473/Porting_fwupd_to_the_BSD_distributions.pdf">Porting fwupd to the BSD distributions</attachment> </attachments> <links> <link href="https://github.com/fwupd/fwupd">fwupd daemon source</link> <link href="https://fwupd.org">LVFS site</link> <link href="https://lvfs.readthedocs.io/en/latest/intro.html">fuwpd documetation</link> <link href="https://nlnet.nl/project/fwdup-BSD/">NLnet Foundation project site</link> <link href="https://video.fosdem.org/2021/D.bsd/porting_fwupd_to_the_bsd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.bsd/porting_fwupd_to_the_bsd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11431.php">Submit feedback</link> </links> </event> <event id="11297"> <start>14:00</start> <duration>00:45</duration> <room>D.bsd</room> <slug>sudo_and_syslog_ng</slug> <title>What’s new in sudo and syslog-ng?</title> <subtitle>A BSD-specific view</subtitle> <track>BSD</track> <type>devroom</type> <language/> <abstract><p>Most people consider sudo and syslog-ng as old, small and stable utilities. Yes, they are from the ‘90s, but both are constantly evolving, gaining many interesting new features along the way. Peter, who is an evangelist for these two applications, shows you some of the most interesting new developments in both projects. By default, only basic functionality is enabled in FreeBSD ports, so we will also take a look at some of the extra features you can enable if you compile the packages yourself.</p></abstract> <description><p>On the syslog-ng side most people know that it can save incoming log messages to text files, and few are aware of the complete set of features this tool has. Syslog-ng has four major roles: collecting log messages, processing, filtering and storing them. There are many supported log sources and you can write your own in Python. Or another example: it can find credit card numbers in logs and remove them to comply with PCI-DSS. And syslog-ng can store logs not just to text files, but to databases, big data destinations, like Hadoop, or to Splunk or Elasticsearch as well. Sudo is mostly known as a prefix for administrative commands. Did you know that you can also record sessions, extend sudo with Python scripts and even analyze what is happening on the screen? Learn which of the above mentioned features are supported in FreeBSD ports (hint: all of them), which are enabled by default, and which features require you to recompile sudo or syslog-ng.</p></description> <persons> <person id="828">Peter Czanik</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sudo_and_syslog_ng/attachments/slides/4534/export/events/attachments/sudo_and_syslog_ng/slides/4534/czp_fosdem2021_v2.pdf"/> </attachments> <links> <link href="https://www.syslog-ng.com/products/open-source-log-management/">syslog-ng</link> <link href="https://www.sudo.ws/">sudo</link> <link href="https://twitter.com/PCzanik">Peter Czanik Twitter</link> <link href="https://video.fosdem.org/2021/D.bsd/sudo_and_syslog_ng.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.bsd/sudo_and_syslog_ng.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11297.php">Submit feedback</link> </links> </event> </room> <room name="D.cad"> <event id="11199"> <start>10:00</start> <duration>00:25</duration> <room>D.cad</room> <slug>cadcloud</slug> <title>CADCloud building an interactive online version control system for FreeCAD</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>During this short talk, I will introduce CADCloud an online platform tightly integrated with FreeCAD and designed to manage version tracking and user collaborations in CAD. CADCloud aims to create a reference database of 3D models generated by FreeCAD users and allow them to easily handle their lifecycle and sharing.</p></abstract> <description><p>CADCloud is new online platform designed under an MIT licence, and hosted by the Open Compute Project. It aims to ease collaboration between CAD user around the world, share models and display them directly into a web browser. Full lifecycle management is under implementation. The platform leverage FreeCAD open file format, and is tightly integrated into it within version 0.19 through the Cloud workbench. The source code is free, open and can be self hosted.</p></description> <persons> <person id="6133">Jean-Marie Verdun</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/cadcloud.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/cadcloud.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11199.php">Submit feedback</link> </links> </event> <event id="11411"> <start>10:25</start> <duration>00:25</duration> <room>D.cad</room> <slug>sparselizard</slug> <title>The 'sparselizard' multiphysics c++ fem library</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>Presentation of the new features in sparselizard 202012. They include adaptive mesh refinement, interpolation order adaptivity (hpFEM), time-adaptivity, speedups, syntax optimization, link to gmsh, move to cmake and a large number of added functions.</p></abstract> <description></description> <persons> <person id="6963">Alexandre Halbach</person> </persons> <attachments> </attachments> <links> <link href="https://www.sparselizard.org">Official website</link> <link href="https://github.com/halbux/sparselizard">Github</link> <link href="https://video.fosdem.org/2021/D.cad/sparselizard.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/sparselizard.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11411.php">Submit feedback</link> </links> </event> <event id="11185"> <start>10:50</start> <duration>00:35</duration> <room>D.cad</room> <slug>bim</slug> <title>The growth of free software in Building Information Modeling for architects, engineers, and construction</title> <subtitle>A summary of free software developments related to OpenBIM, OSArch, IfcOpenShell, the BlenderBIM Add-on, FreeCAD, and more</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>The architecture, engineering, and construction industry is a vast, diverse, but highly proprietary field. The primary means of data exchange between architects, structural, MEPF engineers, cost planners, surveyors, program schedulers, asset/facility management and more revolve around a concept known as Building Information Modeling (BIM) in addition to CAD. Many of these tools do not exist as free software, or are drastically better, or are dominated by a monopoly vendor market with lock-in business practices.</p> <p>Free software implementations of BIM have seen rapid growth in the past year, with new utilities available for OpenBIM building models, quality auditing, diffing, clash detection, issue management, facility management, environmental simulation, and more. This is supported by a newly formed community known as OSArch. Dion Moult, a main developer of the BlenderBIM Add-on, IfcOpenShell contributor, and one of the OSArch founders, will present a summary of these events, demonstrate how free software communities have collaborated and shared resources, and where this leads in the future. The BlenderBIM Add-on was recently awarded the buildingSMART 2020 Awards in Technology, the international standards body for BIM.</p></abstract> <description></description> <persons> <person id="7751">Dion Moult</person> </persons> <attachments> </attachments> <links> <link href="https://ifcopenshell.org">IfcOpenShell main site</link> <link href="https://blenderbim.org">BlenderBIM Add-on main site</link> <link href="https://osarch.org">OSArch community main page</link> <link href="https://video.fosdem.org/2021/D.cad/bim.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/bim.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11185.php">Submit feedback</link> </links> </event> <event id="11169"> <start>11:25</start> <duration>00:25</duration> <room>D.cad</room> <slug>realtime_netlisting</slug> <title>Real-time Netlisting in KiCad</title> <subtitle>Motivation, Implementation, and Benefits</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>KiCad 6 features a new real-time netlisting system that is used to determine connectivity between items in schematics as the user draws them. Previously, netlisting in KiCad was a relatively slow operation that only took place when commanded by the user. I will discuss the motivations behind this system, some details of its implementation, benefits it brings, and some opportunities for future improvements.</p></abstract> <description><p>Netlisting is the process of generating a set of connected items from a schematic drawing. Traditionally this was needed for creating a "netlist" for PCB layout: a list of electrical nets, and all the component pins that are part of each net. We now also use this term in KiCad to refer to determining which graphical objects in a schematic are electrically connected to each other. This includes the component pins that are part of a traditional netlist, but also things like graphical wires and labels that are used to connect pins to each other.</p></description> <persons> <person id="7746">Jon Evans</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/realtime_netlisting/attachments/slides/4679/export/events/attachments/realtime_netlisting/slides/4679/Real_time_Netlisting_in_KiCad.pdf">Real-time Netlisting in KiCad (slides)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/realtime_netlisting.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/realtime_netlisting.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11169.php">Submit feedback</link> </links> </event> <event id="11066"> <start>11:50</start> <duration>00:25</duration> <room>D.cad</room> <slug>opencascade</slug> <title>Open CASCADE Technology status update</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>Open Cascade Technology is a framework for B-Rep modeling. The lecture presents a status update from the previous talk (at FOSDEM 2020).</p></abstract> <description></description> <persons> <person id="7077">Alexander Malyshev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/opencascade.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/opencascade.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11066.php">Submit feedback</link> </links> </event> <event id="11187"> <start>12:15</start> <duration>00:20</duration> <room>D.cad</room> <slug>ngspice</slug> <title>ngspice - status update and Monte Carlo simulation</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>ngspice development is heading towards the ngspice-34 release. Three major activities are to be reported:</p> <p>We have integrated the high frequency bipolar model HICUM-2.4 from TU Dresden, Germany into the C sources of ngspice. Efficient simulation of GHz circuits becomes possible.</p> <p>ngspice has been adapted to efficiently serve the upcoming Open Source Skywater 0.13um CMOS PDK.</p> <p>adms for ngspice has been enhanced to allow integrating Berkeley BSIM Bulk and CMG models.</p> <p>Application examples will show the use of the ngspice statistical functions and control language for Monte Carlo simulation.</p></abstract> <description></description> <persons> <person id="6153">Holger Vogt</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/ngspice.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/ngspice.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11187.php">Submit feedback</link> </links> </event> <event id="11178"> <start>12:35</start> <duration>00:30</duration> <room>D.cad</room> <slug>neuro_hardware</slug> <title>Low cost open-source hardware for biopotential amplification for neuroscience, prosthetics and more</title> <subtitle>Open-source hadware design for neuroscience.</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>The term brain-computer interface is well known among engineers, tinkerers, and specifically among researchers. Companies like BackYard Brains made it accessible for all at a relatively affordable price, with their initiative of neuroscience for all. The price of their device and the ease of usability it comes with is pretty good for a school student who's just looking for an introduction to neuroscience but, the resolution of Arduino's ADC (10bit) doesn't allow it to be used for any real neuroscience research project. The company called OpenBCI also creates some good hardware for Biopotential amplification (4/8ch 24bit) and their hardware is much more capable but, it's very costly and certainly not for everybody.</p> <p>As an engineer myself, I believe we can create much cheaper hardware for Brain-Computer interface devices than currently available in the market without losing any signal quality. I have started working on some prototypes already and one of the devices is called BioAmp v1.5 (github.com/upsidedownlabs/udlabs<em>BioAmp</em>v1.5) which takes benefit of the already available high-resolution ADC input of your computer which is normally used to record audio. The device basically converts the muscle into an audio source and provides us with the option to directly listen to it using earphones OR to visualize/record the signal on our mobile/laptop using Audacity/BYB Spike Recorder.</p></abstract> <description></description> <persons> <person id="7737">Deepak Khatri</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/neuro_hardware/attachments/slides/4684/export/events/attachments/neuro_hardware/slides/4684/NeuroTech_FOSDEM_21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/neuro_hardware.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/neuro_hardware.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11178.php">Submit feedback</link> </links> </event> <event id="11145"> <start>13:05</start> <duration>00:45</duration> <room>D.cad</room> <slug>kicad</slug> <title>KiCad Project Status</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>Update on the KiCad project including the recent events, the upcoming version 6 release and what to expect during version 7 development.</p></abstract> <description></description> <persons> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/kicad/attachments/slides/4410/export/events/attachments/kicad/slides/4410/kicad_presentation_fosdem_2021.pdf">KiCad Project Status FOSDEM 2021</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/kicad.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/kicad.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11145.php">Submit feedback</link> </links> </event> <event id="11180"> <start>13:50</start> <duration>00:25</duration> <room>D.cad</room> <slug>openhard_cadstar</slug> <title>Importing into KiCad from CADSTAR</title> <subtitle>...and how you can develop your own importer</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>KiCad has become a professional tool that can easily replace many commercial EDA packages. However, most companies will have many years worth of designs in propietary file formats requiring a significant amount of manual effort if a migration to KiCad is desired. Ideally KiCad would be able to import from every EDA tool, but this is a time consuming task requiring help from motivated contributors.</p> <p>This talk will cover the information necessary to develop an importer for KiCad, in the context of the CADSTAR importer that has been recently developed. Topics will include: - Reverse engineering an ASCII-based file format (Using the CADSTAR Archive format as an example) - Deep-dive into the inner workings of KiCad's PCB and Schematic importers - Overview of the necessary steps required to develop your own importer</p></abstract> <description></description> <persons> <person id="7749">Roberto Fernandez Bautista</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/openhard_cadstar/attachments/slides/4707/export/events/attachments/openhard_cadstar/slides/4707/FOSDEM_2021_CADSTAR.pdf">Talk Slides</attachment> </attachments> <links> <link href="https://forum.kicad.info/t/work-in-progress-native-cadstar-importer/24665">Forum Post on the CADSTAR Importer</link> <link href="https://gitlab.com/kicad/code/kicad/-/merge_requests/279">Initial Merge Request for CADSTAR PCB Archive Importer</link> <link href="https://gitlab.com/kicad/code/kicad/-/merge_requests/410">Initial Merge Request for CADSTAR Schematic Archive Importer</link> <link href="https://dev-docs.kicad.org/contribute/">KiCad Contribution Guidelines (Dev Docs)</link> <link href="https://launchpad.net/~kicad-developers">KiCad Developer Mailing List</link> <link href="https://video.fosdem.org/2021/D.cad/openhard_cadstar.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/openhard_cadstar.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11180.php">Submit feedback</link> </links> </event> <event id="11137"> <start>14:15</start> <duration>00:25</duration> <room>D.cad</room> <slug>libre_mech_overview</slug> <title>A (very) quick overview of libre mechanical software</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>In this presentation, we will give an overview of the state of libre mechanical software. What are some of the programs out there? What can be done with them? Of course, this task cannot possibly include every program out there, there are too many! However, with the most common tools we can get a good idea about the environment that is currently available to users. We will also discuss how are we currently doing and what the future may bring us.</p> <p>The structure is as follows: 1. Disclaimer 2. CAD 3. CAM 4. Meshing 5. Simulation 6. Visualization 7. HVAC and energy analysis 8. Extras 9. Current status (bad and good things) 10. Moving forward</p></abstract> <description></description> <persons> <person id="7529">Fernando Oleo Blanco</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/libre_mech_overview/attachments/slides/4256/export/events/attachments/libre_mech_overview/slides/4256/Slides_v2.pdf">Slides</attachment> <attachment type="video" href="https://fosdem.org/2021/schedule/event/libre_mech_overview/attachments/video/4277/export/events/attachments/libre_mech_overview/video/4277/Video.mp4">A (very) quick overview of libre mechanical software</attachment> </attachments> <links> <link href="https://github.com/Irvise/Documents/blob/master/Cheatsheets/Libre/Packages.md#science---engineering">A quick, dirty and a bit out of date list of libre engineering software</link> <link href="https://video.fosdem.org/2021/D.cad/libre_mech_overview.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/libre_mech_overview.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11137.php">Submit feedback</link> </links> </event> <event id="11183"> <start>14:40</start> <duration>00:35</duration> <room>D.cad</room> <slug>reverse_engineering</slug> <title>Reverse-Engineering of (binary) File-Formats</title> <subtitle>From seemingly arbitrary zeros and ones to a PCB file.</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>Ever found an interesting PCB design, but you are not able to open it with your favorite program? The world of EDA file formats is divided by vendors, with low flexibility to move from one program to another one. The design is for a proprietary program? Well you need to either buy the program, or hope to convert it to your favorite file-format using an error-prone conversation process. Not ideal, but better than nothing.</p> <p>This talk will show you the basics to write an importer yourself, with focus on reverse-engineering of the questionable file-format. Thus, going from seemingly arbitrary zeros and ones to the basic file structure and the actual data such as a track. While this is quite easy for text-based files such as the KiCad file format, binary files can be seen more like a puzzle to solve.</p></abstract> <description></description> <persons> <person id="7744">Thomas Pointhuber</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/reverse_engineering/attachments/slides/4518/export/events/attachments/reverse_engineering/slides/4518/Reverse_Engineering_of_binary_File_Formats.pdf">Reverse-Engineering of (binary) File-Formats</attachment> </attachments> <links> <link href="https://forum.kicad.info/t/work-in-progress-native-altium-importer/20712">Forum Post on the Altium Importer</link> <link href="https://video.fosdem.org/2021/D.cad/reverse_engineering.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/reverse_engineering.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11183.php">Submit feedback</link> </links> </event> <event id="11159"> <start>15:15</start> <duration>00:45</duration> <room>D.cad</room> <slug>glasgow</slug> <title>Glasgow Digital Interface Explorer</title> <subtitle>An overview, a technical deep dive, and Crowd Supply / DFM overview.</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>In this talk Attie will give a high-level overview of what Glasgow is, how it works, and what it can do. We'll discuss an example applet, and how things are laid out. I will also take a deeper look into one of the more complex areas that exist, and show how it is managed.</p> <p>Piotr (@esden) will also run through some of the work that has gone into the Crowd Supply campaign, such as modifications to improve manufacturability.</p> <p>No prior knowledge of Glasgow or its technologies is required. This is not a Python / nMigen tutorial.</p></abstract> <description><p>Glasgow is a tool for exploring digital interfaces, aimed at embedded developers, reverse engineers, digital archivists, electronics hobbyists, and everyone else who wants to communicate to a wide selection of digital devices with high reliability and minimum hassle. It can be attached to most devices without additional active or passive components, and includes extensive protection from unexpected conditions and operator error.</p> <p>The Glasgow hardware can support many digital interfaces because it uses reconfigurable logic. Instead of only offering a small selection of standard hardware supported interfaces, it uses an FPGA to adapt on the fly to the task at hand without compromising on performance or reliability, even for unusual, custom or obsolete interfaces.</p></description> <persons> <person id="7742">Attie Grande</person> <person id="8072">Piotr Esden-Tempski</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/glasgow/attachments/slides/4706/export/events/attachments/glasgow/slides/4706/fosdem21_glasgow_slide_deck.pdf">Slide Deck</attachment> </attachments> <links> <link href="https://github.com/GlasgowEmbedded/glasgow">GitHub</link> <link href="https://www.crowdsupply.com/1bitsquared/glasgow">Crowd Supply</link> <link href="https://video.fosdem.org/2021/D.cad/glasgow.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/glasgow.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11159.php">Submit feedback</link> </links> </event> <event id="11186"> <start>16:00</start> <duration>00:45</duration> <room>D.cad</room> <slug>freecad</slug> <title>FreeCAD on steroids. A possible future. Featuring Zheng, Lei aka RealThunder.</title> <subtitle>Outcome of brilliant developers meeting user feedback. </subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>A discussion about the positive user developer interaction in an open source development environment. <br/> -presentation of the LinkStage3 dev. branch of freecad<br/> -short summary of differences between LinkStage3 and master<br/> -short presentation of the most exciting new features introduced in this branch<br/> -how the future might look for FreeCad and how to make that future a reality as far as merging those features in master</p></abstract> <description></description> <persons> <person id="7752">Florin Curelariu</person> <person id="8074">realthunder</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cad/freecad.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/freecad.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11186.php">Submit feedback</link> </links> </event> <event id="11184"> <start>16:50</start> <duration>00:25</duration> <room>D.cad</room> <slug>cadquery</slug> <title>CadQuery Assembly System</title> <subtitle/> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>CadQuery (CQ) [1] is a Python library for building of parametric 3D models. The overarching design goal is to provide a fluent API that enables the user to express the design in a natural way. CQ is based on the open source CAD kernel from OpenCascade [2] and therefore offers industry standard B-Rep modeling capabilities and allows exporting to STEP and many other formats.</p> <p>With the upcoming 2.1 release [3] there many improvements coming to CQ. I will briefly summarize them but will focus on the new assembly system. The new CQ version allows the user to combine individual CQ objects into an assembly with the possibility of nesting. The individual object positions can be specified manually in terms of constraints that are solved using a numerical solver. Once an assembly is defined and all the positions specified it can be exported to STEP preserving the assembly structure or an internal OpenCascade XML format. In the I will discuss the current assembly system design, capabilities, limitations and possible future development directions.</p> <h3>References</h3> <p>[1] https://github.com/CadQuery/cadquery</p> <p>[2] https://dev.opencascade.org/</p> <p>[3] https://github.com/CadQuery/cadquery/releases/tag/2.1RC1</p></abstract> <description></description> <persons> <person id="6930">Adam Urbanczyk</person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/cadquery/attachments/other/4226/export/events/attachments/cadquery/other/4226/FOSDEM2021_ABSTRACT.pdf">Abstract + screenshot</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/cadquery/attachments/slides/4437/export/events/attachments/cadquery/slides/4437/FOSDEM2021_SLIDES.pdf">Slides</attachment> </attachments> <links> <link href="https://github.com/cadquery/cadquery">Project location</link> <link href="https://cadquery.readthedocs.io/en/latest/assy.html">Assembly tutorial</link> <link href="https://video.fosdem.org/2021/D.cad/cadquery.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/cadquery.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11184.php">Submit feedback</link> </links> </event> <event id="11143"> <start>17:15</start> <duration>00:25</duration> <room>D.cad</room> <slug>alliance</slug> <title>Alliance / Coriolis2</title> <subtitle>parametric programmatic ASIC Place and Route using python</subtitle> <track>Open Source Computer Aided Modeling and Design</track> <type>devroom</type> <language/> <abstract><p>Coriolis is a suite of software for taking chip designs and turning them into ASICs (aka VLSI design). It is silicon-proven, having been used with Alliance auto-scaleable nsxlib Cell Libraries to produce ("tape out") NDA-free GDS-II files that resulted in successful working 180nm ASICs, and has been used in ASICs up to 800k gates. The input is HDL (verilog, VHDL, and yosys RTLIL) and the output is 100% complete GDS-II, with IO pads, cells, SRAMs all fully "Placed and Routed", ready for ASIC manufacture.</p> <p>However unlike traditional P&amp;R software (which may or may not have had, at some point in its development, a scripting language added as an afterthought), coriolis2 is written in a hybrid of c++ and python modules. Layout is done not by a file format that must be loaded by a GUI: layout for each ASIC is actually a python program that, through the coriolis2 python modules imported by that program, reads the HDL, reads the Cell Libraries, and, fully under parametric programmatic control, creates the layout.</p> <p>This talk provides a demo walkthrough of coriolis2 in action, to produce an actual GDS-II layout including the IO Ring and IO Pads.</p></abstract> <description></description> <persons> <person id="3743">Luke Kenneth Casson Leighton</person> </persons> <attachments> </attachments> <links> <link href="http://coriolis.lip6.fr/">Coriolis2 Home page</link> <link href="https://video.fosdem.org/2021/D.cad/alliance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cad/alliance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11143.php">Submit feedback</link> </links> </event> </room> <room name="D.openchain"> </room> <room name="D.cicd"> <event id="11671"> <start>10:00</start> <duration>00:10</duration> <room>D.cicd</room> <slug>introduction_of_the_cicd_devroom</slug> <title>Introduction of the CI/CD devroom</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Introduction of the CI/CD devroom</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/introduction_of_the_cicd_devroom.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/introduction_of_the_cicd_devroom.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11671.php">Submit feedback</link> </links> </event> <event id="10961"> <start>10:10</start> <duration>00:20</duration> <room>D.cicd</room> <slug>the_road_to_interoperability_in_cicd</slug> <title>The Road to Interoperability in CI/CD</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>The emergence of virtualization, containers, and cloud native has resulted in tremendous advances in enabling organizations to develop new services and make them available to end users. In addition, new paradigms such as Continuous Integration (CI) and Continuous Delivery (CD) allow organisations to do this much faster than before, empowering them to go to market ahead of the competition.</p> <p>Despite its many advantages, the CI/CD ecosystem has its challenges. This session will discuss issues arising from the lack of interoperability across proliferating CI/CD technologies. We will look at end user case studies, including existing integration initiatives such as that between Tekton and Jenkins X. However, these initiatives are localised to the projects involved and do not address the challenges holistically. We will highlight the necessity, and greater sustainability, of a holistic approach to interoperability in the CI/CD ecosystem and invite attendees to join community efforts.</p></abstract> <description></description> <persons> <person id="3914">Fatih Degirmenci</person> <person id="8027">Kara de la Marck</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/the_road_to_interoperability_in_cicd/attachments/slides/4385/export/events/attachments/the_road_to_interoperability_in_cicd/slides/4385/FOSDEM201_The_Road_to_Interoperability_in_CICD.pdf">The Road to Interoperability in CI/CD</attachment> </attachments> <links> <link href="https://jenkins-x.io/">Jenkins X website</link> <link href="https://tekton.dev/">Tekton website</link> <link href="https://cd.foundation/">CD Foundation website</link> <link href="https://github.com/cdfoundation/sig-interoperability">Repository of CDF SIG Interoperability</link> <link href="https://video.fosdem.org/2021/D.cicd/the_road_to_interoperability_in_cicd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/the_road_to_interoperability_in_cicd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10961.php">Submit feedback</link> </links> </event> <event id="11279"> <start>10:30</start> <duration>00:45</duration> <room>D.cicd</room> <slug>combining_progressive_delivery_with_gitops_and_continuous_delivery</slug> <title>Combining Progressive Delivery With GitOps And Continuous Delivery</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Three phrases keep popping up when talking about modern workflows and development and deployment techniques; CD, GitOps, and progressive delivery.</p></abstract> <description><p>Three phrases keep popping up when talking about modern workflows and development and deployment techniques. We have continuous delivery to automate the complete lifecycle of applications from a commit to a Git repository, all the way until a release is deployable to production. Then we have GitOps to define the desired states of our environments and let the machines handle the converge the actual into the desired state. Finally, there is a lot of focus on different deployment strategies grouped under progressive delivery. They are all focused on the iterative release of features to make the process safe, prevent downtime, and reduce the blast radius of potential issues.</p> <p>While those three practices and the tooling behind those are focusing on specific areas, the "real" benefits are obtained when they are combined. Nevertheless, many did not yet reach that stage. Each of those practices alone can be daunting and, frankly, scary. Yet, we should go a step further and explore how to combine them together and see the benefits such a solution might provide.</p> <p>Through a hands-on demo, we will combine Argo CD as a tool of choice for applying GitOps, Argo Rollouts for progressive delivery, and Argo Workflows for continuous delivery pipelines that will tie those two together with the rest of the steps needed in the lifecycle of our applications. If we are successful, we might remove humans from all the actions coming after pushing changes to Git repositories.</p></description> <persons> <person id="6552">Viktor Farcic</person> <person id="8056">Alexander Matyushentsev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/combining_progressive_delivery_with_gitops_and_continuous_delivery.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/combining_progressive_delivery_with_gitops_and_continuous_delivery.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11279.php">Submit feedback</link> </links> </event> <event id="11364"> <start>11:15</start> <duration>00:20</duration> <room>D.cicd</room> <slug>events_in_cicd</slug> <title>Events in CI/CD</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Continuous integration and deployment (CI/CD) system are hardly ever ceaseless as the name would suggest; they do aim though to follow changes in code, configurations and versions. They often achieve that by both handling and generating events. For instance, a CD system receives an event that describes a new version of an application, and it runs a workflow in response. When the workflow starts or when it reaches completion, the CD system generates events for the benefit of other processes that may want to trigger tests against the newly deployed application version. In this short presentation, we introduce the "Events in CI/CD" interest group, part of the Continuous Delivery Foundation, and its mission of standardization and interoperability between CI/CD systems via events.</p></abstract> <description></description> <persons> <person id="5852">Andrea Frittoli</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/events_in_cicd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/events_in_cicd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11364.php">Submit feedback</link> </links> </event> <event id="11531"> <start>11:35</start> <duration>00:20</duration> <room>D.cicd</room> <slug>mariadb_buildbot_the_journey_of_a_reinvention</slug> <title>MariaDB Buildbot, the journey of a reinvention</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Recently, the MariaDB Foundation has been developing a new continuous integration framework for the MariaDB Server. The goal of buildbot.mariadb.org is to ensure that each change is properly tested on all supported platforms and operating systems. Our new CI uses almost exclusively latent workers, more exactly Docker latent workers. In this talk, I will present a main overview of the CI infrastructure, the advantages of using latent workers and talk about the challenges that we encountered along the way. This includes a broad range of aspects, ranging from misconfigurations to Buildbot code changes to ensure that everything runs smoothly.</p></abstract> <description><p>In order to ensure that MariaDB runs smoothly, it needs to be tested on multiple platforms and configurations. In order to obtain a gain both in terms of speed and flexibility, we have decided to use Docker latent workers. In this way, each different environment is defined in a separate dockerfile. Besides having a clean and concise environment definition, using latent workers has the advantage of requiring minimal configurations on the worker machines. This makes the process of adding new hardware very easy, mainly involving installing Docker and configuring Docker remote access.</p> <p>Now that we have the build environments defined, we can start testing. The process starts by cloning the MariaDB server repo and creating a source tarball. Then, all other configurations are triggered, all using the same source tarball.</p> <p>While it seemed quite straightforward, the whole process turned out to be more challenging than we expected. This includes a quite long list of issues ranging from files mixups, weird sporadic failures where the main testing process was killed, grid view customizations to multi-master configuration and master-worker file transfer problems. In this talk, I will talk in more detail about these issues and tell you more about our experience and how we managed to overcome them.</p></description> <persons> <person id="6945">Vlad Bogolin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/mariadb_buildbot_the_journey_of_a_reinvention.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/mariadb_buildbot_the_journey_of_a_reinvention.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11531.php">Submit feedback</link> </links> </event> <event id="11288"> <start>11:55</start> <duration>00:45</duration> <room>D.cicd</room> <slug>look_ma_no_hands_jenkins_testability_and_monitoring</slug> <title>Who watches the watchers - a Jenkins journey</title> <subtitle>Look Ma, No Hands! Jenkins testability and monitoring</subtitle> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>When Everything as Code converges to automate/test your processes, in this talk we would like to discuss further our journey and our vision to handle our automation programmatically.</p></abstract> <description><p>When we started to use Jenkins at Elastic, there was already a team providing the service, similar to the SaaS you could see nowadays, so teams were encouraged to handle their automation using the Configuration as Code paradigm with the Jenkins Job Builder tool, but at a certain moment of time this particular approach didn’t scale much, and that’s when we started to think about a more robust, testable and automated CI/CD ecosystem.</p> <p>Then our journey started by applying the below principles and practices:</p> <ul> <li>Everything as Code</li> <li>Everything is Tested</li> <li>Documentation as Code</li> <li>Functional testing</li> <li>Continuous Improvement</li> <li>Continuous Deployment</li> </ul> <p>All the above concepts are the ones that helped us in this journey and that’s the reason for this talk to share our experience and vision. Besides gathering from you your opinions and feedback.</p></description> <persons> <person id="7231">Victor Martinez</person> <person id="7232">Ivan Fernandez Calvo</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/look_ma_no_hands_jenkins_testability_and_monitoring/attachments/slides/4615/export/events/attachments/look_ma_no_hands_jenkins_testability_and_monitoring/slides/4615/Who_Watches_the_Watchers_A_Jenkins_Journey.pdf">Who watches the watchers - a Jenkins journey (PDF)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/look_ma_no_hands_jenkins_testability_and_monitoring/attachments/slides/4616/export/events/attachments/look_ma_no_hands_jenkins_testability_and_monitoring/slides/4616/Who_Watches_the_Watchers_A_Jenkins_Journey.odp">Who watches the watchers - a Jenkins journey (ODP)</attachment> </attachments> <links> <link href="https://github.com/elastic/apm-pipeline-library/">Repository</link> <link href="https://video.fosdem.org/2021/D.cicd/look_ma_no_hands_jenkins_testability_and_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/look_ma_no_hands_jenkins_testability_and_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11288.php">Submit feedback</link> </links> </event> <event id="11252"> <start>12:40</start> <duration>00:45</duration> <room>D.cicd</room> <slug>improving_the_developer_experience_of_infrastructure_as_code_and_gitops</slug> <title>Improving the Developer Experience of Infrastructure as Code and GitOps</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Kubernetes, GitOps, and Infrastructure as Code are as powerful as they are popular and seem like the perfect match. Consequently, using Terraform to maintain Kubernetes clusters and resources is a very common use-case. And it requires careful integration of many moving parts, from Terraform providers and modules, to CI/CD pipelines and triggers.</p> <p>However, despite this being such a popular use-case, teams previously had no alternative than writing everything from scratch. On the software development side we use frameworks to avoid reinventing the wheel for similarly common use-cases. But for the less mature infrastructure as code ecosystem use-case specific frameworks are a new concept.</p> <p>This talk will introduce Kubestack. An open-source framework for Terraform, that brings the developer experience of frameworks from application development to infrastructure as code. Get an overview of how you can use the framework as a foundation to build even advanced multi-cloud and multi-cluster Kubernetes automation. And how Kubestack's GitOps workflow allows teams to reliably suggest, review, validate and apply changes to their infrastructure environments.</p></abstract> <description></description> <persons> <person id="7776">Philipp Strube</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/improving_the_developer_experience_of_infrastructure_as_code_and_gitops/attachments/slides/4705/export/events/attachments/improving_the_developer_experience_of_infrastructure_as_code_and_gitops/slides/4705/kubestack_terraform_gitops_framework.pdf">Presentation Slides</attachment> </attachments> <links> <link href="https://www.kubestack.com/">Kubestack - Terraform GitOps Framework</link> <link href="https://github.com/kbst/terraform-kubestack">Repository</link> <link href="https://video.fosdem.org/2021/D.cicd/improving_the_developer_experience_of_infrastructure_as_code_and_gitops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/improving_the_developer_experience_of_infrastructure_as_code_and_gitops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11252.php">Submit feedback</link> </links> </event> <event id="11515"> <start>13:25</start> <duration>00:20</duration> <room>D.cicd</room> <slug>kuberig_kubernetes_without_yaml</slug> <title>Kuberig, Kubernetes without the YAML burn-out!</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>The Kubernetes tooling landscape is littered with template based solutions to deal with all the YAML needed to get things done. Kuberig takes a different approach that developers will love! No need to learn another template language or tool. With Kuberig you define your resources using Kotlin code and deploy them by executing Gradle tasks. Simple.</p></abstract> <description><p>Since this is a lightning talk I will be skipping Kubernetes, Custom Resource Definition, Gradle and Gradle plugin writing basics.</p></description> <persons> <person id="7909">Tom Eyckmans</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/kuberig_kubernetes_without_yaml/attachments/slides/4336/export/events/attachments/kuberig_kubernetes_without_yaml/slides/4336/Kuberig_Kubernetes_without_the_YAML_burn_out.pdf"/> </attachments> <links> <link href="https://github.com/kuberig-io">kuberig on github</link> <link href="https://kuberig.io/">kuberig site</link> <link href="https://video.fosdem.org/2021/D.cicd/kuberig_kubernetes_without_yaml.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/kuberig_kubernetes_without_yaml.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11515.php">Submit feedback</link> </links> </event> <event id="11407"> <start>13:45</start> <duration>00:45</duration> <room>D.cicd</room> <slug>collecting_and_visualizing_continuous_delivery_indicators</slug> <title>Collecting and visualizing Continuous Delivery Indicators</title> <subtitle>In a Kubernetes-based CI/CD platform, using Jenkins X, Lighthouse, Tekton, PostgreSQL and Grafana</subtitle> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>CD platforms are a critical part of the development process, and without it, nothing would go to production. How can we really know what is happening inside, and measure indicators that we can track and improve to ensure a smooth continuous delivery experience?</p></abstract> <description><p>Based on our experience at Dailymotion, we'll see why Continuous Delivery Indicators are important, how to define them, and then how to collect and visualize them. We'll share which stability and throughput indicators we are tracking, and why. We'll see how we implemented the collection and visualization of these indicators using open-source tools such as Golang, PostgreSQL, and Grafana. We'll highlight the importance of Kubernetes-based CD components, such as Jenkins X, Lighthouse, and Tekton, which heavily rely on Kubernetes CRD and thus provide events for everything happening. We'll also highlight the importance of Gitops-based workflows, where every operation goes through a VCS such as Git, and thus produce more events. This in turn makes it easy to get notifications for all actions, making our indicators collection process a simple one.</p></description> <persons> <person id="6553">Vincent Behar</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/collecting_and_visualizing_continuous_delivery_indicators/attachments/slides/4689/export/events/attachments/collecting_and_visualizing_continuous_delivery_indicators/slides/4689/prez_fosdem.pdf">slides</attachment> </attachments> <links> <link href="https://jenkins-x.io/">Jenkins X</link> <link href="https://github.com/jenkins-x/lighthouse">Lighthouse</link> <link href="https://tekton.dev/">Tekton</link> <link href="https://video.fosdem.org/2021/D.cicd/collecting_and_visualizing_continuous_delivery_indicators.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/collecting_and_visualizing_continuous_delivery_indicators.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11407.php">Submit feedback</link> </links> </event> <event id="11079"> <start>14:30</start> <duration>00:20</duration> <room>D.cicd</room> <slug>stairstep_your_kubernetes_deployment_workflow_with_gimlet_and_gitops</slug> <title>Stairstep your Kubernetes deployment workflow with Gimlet and GitOps</title> <subtitle>From naive but functional setups, to GitOps at scale</subtitle> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>GitOps looks straightforward from the outset, but early implementations showed that piecing together your GitOps workflow involves many decisions - big and small - adding up to a lot of work.</p> <p>In this talk you get to know multiple GitOps strategies through OpsGit, a hypothetical company that embarks on the GitOps journey. They start naive, but functional, then stairstep their workflow to support multiple teams and environments.</p></abstract> <description><p>This talk will also be the first show of Gimlet, an open-source project that provides the tools and workflows whether you are just getting started with GitOps, or want to use GitOps at scale.</p> <p>At the end of the talk you will know how to implement GitOps at your company, and will have access to example git repositories to replicate the approaches presented in the talk.</p></description> <persons> <person id="7702">Laszlo Fogas</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/stairstep_your_kubernetes_deployment_workflow_with_gimlet_and_gitops/attachments/slides/4722/export/events/attachments/stairstep_your_kubernetes_deployment_workflow_with_gimlet_and_gitops/slides/4722/Stairstep_your_Kubernetes_deployment_workflow_with_Gimlet_and_GitOps.pdf">Stairstep your Kubernetes deployment workflow with Gimlet and GitOps</attachment> </attachments> <links> <link href="https://gimlet.io/gimlet-cli/getting-started/">Gimlet.io Getting Started</link> <link href="https://twitter.com/laszlocph">twitter.com</link> <link href="https://video.fosdem.org/2021/D.cicd/stairstep_your_kubernetes_deployment_workflow_with_gimlet_and_gitops.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/stairstep_your_kubernetes_deployment_workflow_with_gimlet_and_gitops.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11079.php">Submit feedback</link> </links> </event> <event id="11409"> <start>14:50</start> <duration>00:45</duration> <room>D.cicd</room> <slug>putting_chaos_into_continuous_delivery</slug> <title>Putting Chaos into Continuous Delivery</title> <subtitle>How to increase the resilience of your applications</subtitle> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Continuous Delivery practices have evolved significantly with the cloud-native paradigm. GitOps &amp; Chaos Engineering are at the forefront of this new CD approach, with an ever-increasing pattern involving Git-backed pipeline definitions that implement “chaos stages” in pre-prod environments to gauge service-level objective (SLO) compliance. In this talk, Juergen Etzlstorfer (maintainer of Keptn CNCF project) will discuss how you can construct pipelines that include chaos experimentation (using LitmusChaos) while simulating real-world load, and implement quality gates (based on SLOs) to ensure only resilient applications are deployed into production. He will also demonstrate how you can include chaos tests to your existing CD pipelines without the need of rewriting them.</p></abstract> <description></description> <persons> <person id="7853">Jürgen Etzlstorfer</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/putting_chaos_into_continuous_delivery.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/putting_chaos_into_continuous_delivery.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11409.php">Submit feedback</link> </links> </event> <event id="11461"> <start>15:35</start> <duration>00:20</duration> <room>D.cicd</room> <slug>arm_your_continuous_integration_system_with_fruits</slug> <title>ARM your continuous integration system with fruits!</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>What if you could add a Gitlab runner to your herd for just a few bucks to alleviate your existing runners and to improve your jobs wasted time in the queue? Wouldn't it be even better if that improvement could cost nothing, because you already have everything on hand?</p></abstract> <description><p>Being able to build/test/deploy on a remote machine each time we commit has been a major progress for us, developers. 🚀</p> <p>Furthermore, by using Docker, things have been so much easier! No more dependency hell when you have to build and test two incompatible products.</p> <p>This solution looks almost perfect… until you reach a threshold.</p> <p>As your Gitlab-ci will become more and more popular within your organization, you may experience longer waiting queues until the next batch of Runners is released.</p> <p>So you may go from praising the CI to cursing the CI.</p> <p>You maybe have a Raspberry Pi taking dust on your desk or in your drawer. What’s the point? What’s the connection with the CI?</p> <p>Well… What if I told you you could transform this momentarily useless piece of hardware into a brand new Gitlab-ci Runner? This way, you could shorten the time your jobs spend in the queue.</p> <p>But wait, there is more. What if there was a cheaper solution that could allow you to create a Gitlab-ci Runner for a 15€ investment? You may have heard about Banana Pi, Orange Pi, and other variations of fruit Pi(e). The competition is harsh between these manufacturers, and you can find pretty nifty machines for darn cheap. These machine can run Docker, and even Gitlab-Runner on top of it.</p> <p>What if you could even build Docker images through CI on these machines?</p> <p>Is this even possible?</p> <p>It is. You shall leave this talk by knowing the basics to start your own Gitlab Runner for 15€.</p></description> <persons> <person id="5506">Bruno Verachten</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/arm_your_continuous_integration_system_with_fruits.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/arm_your_continuous_integration_system_with_fruits.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11461.php">Submit feedback</link> </links> </event> <event id="11544"> <start>15:55</start> <duration>00:45</duration> <room>D.cicd</room> <slug>ci_on_gitlab_ringing_gitlab_tekton_and_prow_together</slug> <title>CI on Gitlab. Bringing Gitlab, Tekton and Prow together (with some magic)</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Many organizations are using Gitlab as a code repository and wondering too late how to establish CI pipelines. ChatOps, automatic merging, cloud-native, webhook event triggers, serverless, job reusability, scalability, bot-users, simplicity are often on the wishlist.</p> <p>In this showcase we will fulfill the above wishlist with open source tools, speak about the issues that we overcame and demonstrate how to use Gitlab as a pure code repository.</p></abstract> <description></description> <persons> <person id="7846">Rafał Manhart</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ci_on_gitlab_ringing_gitlab_tekton_and_prow_together/attachments/slides/4474/export/events/attachments/ci_on_gitlab_ringing_gitlab_tekton_and_prow_together/slides/4474/presentation"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/ci_on_gitlab_ringing_gitlab_tekton_and_prow_together.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/ci_on_gitlab_ringing_gitlab_tekton_and_prow_together.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11544.php">Submit feedback</link> </links> </event> <event id="11575"> <start>16:40</start> <duration>00:45</duration> <room>D.cicd</room> <slug>configure_once_run_everywhere</slug> <title>Configure Once, Run Everywhere</title> <subtitle>How and Why to Use a Common Configuration for Dev, Testing, and CI Environments</subtitle> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Many of the challenges developers encounter with CI pipelines stem from the fact that CI is siloed from the rest of the development process:</p> <p>• Because development environments are configured separately from CI (and are often pared down and simplified), devs run into hard-to-predict CI errors caused by discrepancies in environments.</p> <p>• Integration and end-to-end tests are commonly available only in CI, meaning that troubleshooting these test failures requires long and inefficient feedback loops—every fix requires a developer to push and wait for another CI run.</p> <p>In this talk, we will describe and demonstrate how to use the open source project Garden to ensure that environments are consistent and predictable at every step of the pre-production pipeline—from development, to testing, to CI. We’ll also show how to give developers the ability to run integration and end-to-end tests during the development process, making it easier to catch and fix issues when it’s most efficient.</p></abstract> <description></description> <persons> <person id="7862">Jon Edvald</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/configure_once_run_everywhere/attachments/slides/4733/export/events/attachments/configure_once_run_everywhere/slides/4733/FOSDEM_2021_Configure_Once_Run_Anywhere.pdf">Configure Once, Run Anywhere</attachment> </attachments> <links> <link href="https://github.com/garden-io/garden/">Open source project we'll discuss in our talk</link> <link href="https://garden.io/blog">The Garden blog, where we talk more about the project and the problem it solves</link> <link href="https://video.fosdem.org/2021/D.cicd/configure_once_run_everywhere.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/configure_once_run_everywhere.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11575.php">Submit feedback</link> </links> </event> <event id="11219"> <start>17:25</start> <duration>00:20</duration> <room>D.cicd</room> <slug>identifying_performance_changes_using_peass</slug> <title>Identifying Performance Changes Using Peass</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>Performance is a crucial property of software for both closed and open source software. Assuring that performance requirements are met in the CI process using benchmarks or load tests requires heavy manual effort for benchmark and load test specification. Unit tests often cover a big share of the use cases of a software and are maintained anyway. While they have some downsides for measuring the performance, e.g. since they test corner cases or use functional utilities like mocks, they still are a way of measuring realistic use cases with nearly no manual effort.</p> <p>Therefore, we develop the tool Peass (https://github.com/DaGeRe/peass), which transforms unit tests into performance unit tests and measures their performance. The stand-alone tool Peass can be integrated into the CI-process using Peass-CI, which makes it possible to run performance tests with every build in Jenkins.</p></abstract> <description><p>The talk starts by introducing the basic idea of Peass.</p> <p>Then, the steps of the current prototype of Peass are presented: - a regression test selection, which prunes all unit tests that can not have a performance change by comparison of the execution traces of the same unit tests in two software versions and the source code of the called methods, - a measurement method, which repeats VM starts and measurement iterations inside the VM until the performance change can be statistically reliably detected and - a root cause analysis, which identified the node of the call tree which causes a performance change by measurement of individual nodes.</p> <p>Finally, the talk demonstrates the usage of Peass in a running Jenkins instance.</p></description> <persons> <person id="4876">David Georg Reichelt</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/identifying_performance_changes_using_peass/attachments/slides/4681/export/events/attachments/identifying_performance_changes_using_peass/slides/4681/Peass_slides_fosdem.pdf">Slides of talk</attachment> </attachments> <links> <link href="https://github.com/DaGeRe/peass-ci">Repository of peass-ci (Jenkins Plugin)</link> <link href="https://github.com/DaGeRe/peass">Repository of peass (Main Code of Measurement Tool)</link> <link href="https://video.fosdem.org/2021/D.cicd/identifying_performance_changes_using_peass.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/identifying_performance_changes_using_peass.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11219.php">Submit feedback</link> </links> </event> <event id="11683"> <start>17:45</start> <duration>00:20</duration> <room>D.cicd</room> <slug>gitops_working_group</slug> <title>GitOps Working Group - Overview and Invitation</title> <subtitle/> <track>Continuous Integration and Continuous Deployment</track> <type>devroom</type> <language/> <abstract><p>In late 2020 the GitOps Working Group was formed under the App Delivery SIG of the CNCF. The goal for the WG is to “provide companies and individuals with the skills, knowledge and competency to implement GitOps tooling and methodologies which simplify the operation and management of infrastructure and cloud native applications.” Within days of the announcement more than 60 individuals from more the 30 companies expressed an interest in participating and the working group was launched. The group is meeting these goals through content creation and evangelism – white papers, blog posts, sample applications, demonstrations and more.</p> <p>In this session we will present work done to date with a primary focus on the foundational principles of GitOps and the benefits that practitioners are already realizing. The aim of the session is both to help the interested understand the fundamentals of GitOps and know where to go to engage.</p></abstract> <description></description> <persons> <person id="7977">Cornelia Davis</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/gitops_working_group/attachments/video/4587/export/events/attachments/gitops_working_group/video/4587/cdavis_GitOpsWorkingGroup.mp4">GitOps Working Group Overview and Invitation</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.cicd/gitops_working_group.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.cicd/gitops_working_group.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11683.php">Submit feedback</link> </links> </event> </room> <room name="D.collab"> </room> <room name="D.community"> <event id="10909"> <start>10:00</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_abracadabra_everyones_remote</slug> <title>Abracadabra, now everyone's a remotee!</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Management is difficult even under the best of circumstances and managing globally-distributed teams is even more so. With the global COVID-19 pandemic and the restrictions it forced on all of us, management is nothing like the best of circumstances. With the pandemic, suddenly everyone is a remotee – even people who have no experience in working remotely, and no desire to work in such an environment. In this talk, I’ll explore how the lessons learned from navigating a globally-distributed open source community can come in to play when managing a suddenly disturbed team. I’ll examine how taking a cue from open source communities can help managers handle this new landscape with flexibility, clemency, and above all, empathy.</p></abstract> <description></description> <persons> <person id="1828">Allon Mureinik</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_abracadabra_everyones_remote/attachments/slides/4546/export/events/attachments/community_devroom_abracadabra_everyones_remote/slides/4546/Abracadbra.pdf">Slides from the talk</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_abracadabra_everyones_remote.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_abracadabra_everyones_remote.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10909.php">Submit feedback</link> </links> </event> <event id="11328"> <start>10:30</start> <duration>00:40</duration> <room>D.community</room> <slug>community_devroom_communication_hacks</slug> <title>Communication Hacks </title> <subtitle>Strategies for fostering collaboration and dealing with conflict in open source communities </subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>During this talk, you'll learn about topics like cross-cultural collaboration, giving and receiving feedback, and active listening -- all things that are vital to the health of our open source communities.</p></abstract> <description><p>During this talk, you'll learn about topics like cross-cultural collaboration, giving and receiving feedback, and active listening -- all things that are vital to the health of our open source communities.</p> <p>After reading many self-help books, watching various TED Talks, and listening to a ton of podcasts, I've condensed my learnings to help you improve your communications skills, deal with conflict, and collaborate better than ever not only in FOSS, but also everywhere else.</p></description> <persons> <person id="7813">Nuritzi Sanchez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_communication_hacks/attachments/slides/4675/export/events/attachments/community_devroom_communication_hacks/slides/4675/FOSDEM_2021_Communication_Hacks.pdf">Communication Hacks</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_communication_hacks.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_communication_hacks.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11328.php">Submit feedback</link> </links> </event> <event id="11270"> <start>11:10</start> <duration>00:25</duration> <room>D.community</room> <slug>community_devroom_contributing_with_civil_servants</slug> <title>Contributing (with) civil servants</title> <subtitle>How government and public sector open source projects and contributors are different from individual and corporate ones.</subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>The open source is getting mature and there are a lot of established ways of behavior, expectations even, that both contributors and maintainers of a codebase have. Some of these expectations are explicit in contributing files, whereas others are implicit and more of a cultural behaviour we as a group have taken on over the years. Governments and civil servants come from a very different background and when they start developing publishing software in the open under a free licenses, these cultures may meet, and sometimes even clash. We know that individual volunteer contributors differ from corporate contributors, how do public workers as contributors fit into this.</p> <p>How public workers contribute has to do with how they operate, and how the society expect them operate in other fields of their operation. If not understood properly, this can lead to frustration of a FOSS contributor who want to make a useful contribution to a codebase developed by a public organization. In this talk we will try to give you the tools and the mindset that will help you succeed when submitting those merge requests.</p> <p>"As a volunteer I am making contributions to a codebase managed by a public organization and it's behaving differently than the FOSS I am used to and here is why and how to adapt."</p></abstract> <description></description> <persons> <person id="7778">Boris van Hoytema</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_contributing_with_civil_servants.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_contributing_with_civil_servants.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11270.php">Submit feedback</link> </links> </event> <event id="11080"> <start>11:35</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_does_oss_priority_constituencies</slug> <title>Does open source need its own Priority of Constituencies?</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>What do you do when the interest of your different constituencies are in conflict? Who do you favor and why?</p> <p>The 4 Freedoms and the OSD were designed for a small community of hobbyists. They offer little help when it comes to addressing the challenges open source faces today.</p> <p>Does open source need a W3C-inspired "priority of constituencies?"</p> <p>In this talk we’ll dig into the priority of constituencies, see how it could apply to open source, and get some interesting insights out of doing so.</p></abstract> <description><p>From its inception, open source—and free software before it—was built around ethical notions: give people agency and power over their software so they could use, modify, and share it as they pleased to accomplish whatever it is that they wanted to do with it.</p> <p>In a world where running software required programming skills, there was a lot of overlap between users and developers of open source, and so this rather simple framework was sufficient to deal with open source’s different constituencies.</p> <p>Since then, open source has become ubiquitous. As a result, the number of constituencies has ballooned: there are indie and corporate contributors and maintainers, open source software vendors, developers building proprietary code on top of open source, end-users who don’t know anything about software, people impacted by open source software who are not even using it, cloud providers, etc., etc.</p> <p>When the interests of these different actors are in conflict, which one of them do we favor and why? Neither the Four Freedoms nor the Open Source Definition (OSD) really helps us answer that question.</p> <p>Faced with similar issues, other communities have designed really effective frameworks to guide their decision making processes. W3C’s “priority of constituencies” is such a framework.</p> <p>In this talk we’ll dig into what W3C’s priority of constituencies is, outline its benefits, but also its limits.</p> <p>We’ll then see how we could apply the priority of constituencies to open source, what that reveals about the complexity of the open source ecosystem, and in particular how the parts that are difficult to fit in such a framework are precisely those that have made the news in the past few years.</p></description> <persons> <person id="5632">Tobie Langel</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_does_oss_priority_constituencies.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_does_oss_priority_constituencies.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11080.php">Submit feedback</link> </links> </event> <event id="11386"> <start>12:05</start> <duration>00:25</duration> <room>D.community</room> <slug>community_devroom_focus_oss_dev_mariadb</slug> <title>Ensuring user focus of open source development: Case MariaDB Server</title> <subtitle>Encouraging and conducting external evaluation of activities</subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Even a large Open Source project is at risk to have a too internal focus. Listening to users does not come by itself. This presentation describes the logic behind the user engagement of the MariaDB Foundation, which has been complemented during 2020 by "MariaDB Server Fests", virtual events reaching nearly 20.000 users.</p></abstract> <description></description> <persons> <person id="7837">Kaj Arnö</person> </persons> <attachments> </attachments> <links> <link href="https://mariadb.org/fest2020/">Main MariaDB Server Fest event</link> <link href="https://mariadb.org/minifest2020/">Deep dive Server Fest into Release Policy</link> <link href="https://mariadb.org/fest-conclusions/">Conclusions from main events</link> <link href="https://mariadb.org/fest-content/">Sample videos</link> <link href="https://mariadb.org/release-policy-minifest-over/">Conclusions from smaller event</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_focus_oss_dev_mariadb.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_focus_oss_dev_mariadb.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11386.php">Submit feedback</link> </links> </event> <event id="11396"> <start>12:30</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_stop_worrying_do_less</slug> <title>How I Learned to Stop Worrying and Love Doing Less</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>It is impossible to bring every idea, every innovation, and every improvement you can think of to fruition. Doing a little less allows you to honor the finite amount of time each person can give to your cause or project or workplace. But how do you start cutting those todo's down to a manageable level?</p></abstract> <description><p>Groups of passionate people are fantastic at generating more ideas and tasks then they can possibly collectively execute on and open source communities are no exception. It is impossible to bring every idea, every innovation, and every improvement you can think of to fruition. It may sound counter-intuitive, but skipping things, scaling down and doing less can help you be more effective. A project that consistently over-commits itself will eventually alienate people, so it makes sense to cut those todo's down to a manageable level, but how do you start? This talk will cover:</p> <ul> <li>How to figure out what to trim and what not to trim</li> <li>When to pull back and how to do it gracefully</li> <li>How to preemptively choose to do less</li> </ul> <p>Doing a little less allows you to honor the finite amount of time each person can give to your cause or project or workplace. Tasks that are done with ample time can be done with more care and are less prone to error. People who aren't constantly feeling like they're up against impossible deadlines will be happier, well-rested people that are more likely to stay involved for longer. Let's do less!</p></description> <persons> <person id="698">Deb Nicholson</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/community_devroom_stop_worrying_do_less/attachments/video/4404/export/events/attachments/community_devroom_stop_worrying_do_less/video/4404/Talk">How I Learned to Stop Worrying and Love Doing Less</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_stop_worrying_do_less.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_stop_worrying_do_less.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11396.php">Submit feedback</link> </links> </event> <event id="10966"> <start>13:00</start> <duration>00:20</duration> <room>D.community</room> <slug>community_devroom_improving_onboarding_foss</slug> <title>Improving Onboarding in FOSS</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Open-source software is code that is designed to be publicly accessible. Open source has core principles that make it rely on collaboration between contributors and companies in order to achieve a common goal. To attain more collaborations, onboarding in most open source communities should be considered a priority. Oftentimes, beginners who are new to open source projects develop cold feet a short while after joining a community because they are not properly onboarded into the community. Onboarding plays a major role in the performance of and productivity of contributors. In this session, I would like to talk on: - What is quality onboarding? - Effects of poor Onboarding in a community -The need for improved onboarding - How onboarding can be improved? - Impact of quality onboarding</p></abstract> <description></description> <persons> <person id="7614">Anita Ihuman</person> </persons> <attachments> </attachments> <links> <link href="https://m.youtube.com/watch?feature=youtu.be&v=TP7NfGQ2xCE">Session at github virtual meetup 2020</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_improving_onboarding_foss.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_improving_onboarding_foss.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10966.php">Submit feedback</link> </links> </event> <event id="10920"> <start>13:20</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_documentation_first_class_citizen</slug> <title>Making Documentation a First-class Citizen in Open Source Projects</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>We often see many open source projects struggle with maintaining quality documentation and finding contributors who are interested in helping with project documentation. There are several reasons for this, such as many viewing documentation as a separate product from code or a belief that people will be able to make sense of what the code is doing by reading the code.</p> <p>For these and other reasons, documentation work is often done at the last minute and done by people with low motivation and minimum effort. So the quality of the output will naturally suffer. These issues can be addressed by ensuring that documentation is everyone’s responsibility and that documentation is a core part of the product created using the same development and community processes. Besides, documentation is often an entry point for new community members and is a great place for early contributions. When everyone in the community is actively engaged in documentation--e.g., reviewing documentation fixes--it can help provide a valuable onboarding experience for new community members.</p> <p>In this session, the speakers will share their experience in documentation from both foundation-based open source projects and open source software companies. There will be a discussion on how community contributions for documentation can be encouraged and how community members can apply their learnings from documentation to other areas of open source communities. </p></abstract> <description></description> <persons> <person id="5699">Ray Paik</person> <person id="7573">Sofia Wallin</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_documentation_first_class_citizen/attachments/slides/4280/export/events/attachments/community_devroom_documentation_first_class_citizen/slides/4280/FOSDEM_documentation_as_a_1st_class_citizen.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_documentation_first_class_citizen.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_documentation_first_class_citizen.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10920.php">Submit feedback</link> </links> </event> <event id="10860"> <start>13:50</start> <duration>00:40</duration> <room>D.community</room> <slug>community_devroom_mental_health_free_software</slug> <title>Mental health and free software</title> <subtitle>What I wish I’d been told before I got into free software, and more</subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Mental health is becoming a bigger and bigger focus, and this rise in awareness picked up even more speed with the current health crisis. People are now more aware of the importance of their own mental health and self-care. By its nature and the kind of interaction that comes with it, free software is prone to emphasizing and worsening issues related to mental health, specifically with anxiety and burnout. In this talk, I'll share with you my experience dealing with my own mental health issues in the context of working on free software, and try to give you leads to take better care of yourself and of the people around you.</p></abstract> <description></description> <persons> <person id="7518">Brendan Abolivier</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_mental_health_free_software/attachments/slides/4715/export/events/attachments/community_devroom_mental_health_free_software/slides/4715/Mental_health_and_FOSS.pdf">Mental health and FOSS</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_mental_health_free_software.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_mental_health_free_software.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10860.php">Submit feedback</link> </links> </event> <event id="11392"> <start>14:30</start> <duration>00:20</duration> <room>D.community</room> <slug>community_devroom_online_converences_newnormal</slug> <title>Online Conferences and the "new normal".</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>In the MariaDB Foundation we have been trying to respond to the challenges of the "new normal" by organising a series of online events that we called MariaDB ServerFest. Taking a step from holding Unconferences for 50+ participants to an online event for thousands of viewers is a challenging and exciting learning process. In this lightning talk I would like to share some war stories, ideas and experiences from this journey.</p></abstract> <description></description> <persons> <person id="7790">Anna Widenius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_online_converences_newnormal.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_online_converences_newnormal.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11392.php">Submit feedback</link> </links> </event> <event id="11262"> <start>14:50</start> <duration>00:45</duration> <room>D.community</room> <slug>community_devroom_oss_more_than_licence</slug> <title>Open Source is More Than Just a License</title> <subtitle>Why an exclusive focus on licensing is an impoverished view of what open source truly is</subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>The Open Source Initiative's definition of "open source" focuses exclusively on a list of approved licenses: Only software using one of the approved licenses counts as open source. This narrow definition is concerned only with the shape of business contracts designed to de-risk corporate involvement in FLOSS. But we all know that what makes open source amazing is not the licensing, but the community. Open source is defined in practice by its community-driven, collaborative mode of software development. So it should be no surprise that the best open source projects have a laser focus on building thriving communities. Nor should it surprise us that many projects using OSI-approved licenses appear open source in name only. Ethics is the study of how to get along with others. This makes it the perfect tool for understanding how to build thriving, successful communities. In this talk, I argue that the Ethical Source Definition actually provides a more compelling definition of "open source" than the OSD. It better accords with community usage of the term, capturing what makes open source unique and successful.</p></abstract> <description></description> <persons> <person id="6984">Don Goodman-Wilson</person> </persons> <attachments> </attachments> <links> <link href="https://www.youtube.com/watch?v=6I6Sl5i8h1I">Earlier version of the talk given at DevRel/Asia 2020 </link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_oss_more_than_licence.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_oss_more_than_licence.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11262.php">Submit feedback</link> </links> </event> <event id="10934"> <start>15:35</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_ospo_oss_ecosystems</slug> <title>Open Source Program Offices (OSPO) and their role in OSS ecosystems</title> <subtitle>How having an OSPO might help to open source software ecosystem sustaintability</subtitle> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Open source is becoming the main ingredient for companies to success. To achieve it, companies need to manage efficiently their relationship with open source projects. And that’s the main goal for companies’ Open Source Program Office (OSPO). So, they are key for companies success. But, additionally, they could be very important for open source projects sustainability.</p> <p>During this talk, you will learn about the responsibilities and benefits of having an OSPO in your organization, why should companies adapt to open source and adopt an OSPO, how it makes a difference to have a team responsible for viewing, managing, making critical decisions, contributions back to open source projects, and providing oversight for open source initiatives on their company and where they should start. Also, we will give real examples of how companies are doing this today and their impact for the community.</p></abstract> <description><p>Additionally, you will learn about communities and initiatives to help you having a successful OSPO, like OpenChain Project, TODO Group and CHAOSS, the importance of CHAOSS to give actual data and insights about open source projects and a bigger perspective with analytics and how data and metrics from the OSPO can help companies tackle their corporate strategy.</p></description> <persons> <person id="3086">Manrique Lopez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_ospo_oss_ecosystems/attachments/slides/4764/export/events/attachments/community_devroom_ospo_oss_ecosystems/slides/4764/Slides">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_ospo_oss_ecosystems.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_ospo_oss_ecosystems.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10934.php">Submit feedback</link> </links> </event> <event id="11362"> <start>16:05</start> <duration>00:45</duration> <room>D.community</room> <slug>community_devroom_strengthening_communities_pandemic</slug> <title>Strengthening Developer Communities in mid of pandemic</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>While the coronavirus pandemic continues to send shockwaves throughout almost all industries, it’s important for developers to nurture their communities in a well-efficient way and prepare them for the future. The overwhelmed communication systems, improving remote culture, and fostering community coordination are the three main areas on which we need to focus on. It is important to recognize that community development is an organic process, the listed steps (not in order) are to be considered on how we empower people, communities, and the industries around us:</p> <ul> <li>Learn about the community</li> <li>Listen to community members</li> <li>Bring people together to develop a shared vision</li> <li>Assess community assets and resources, needs and issues</li> <li>Help community members to recognize and articulate areas of concern and their causes</li> <li>Establish a 'vehicle for change’</li> <li>Develop an action plan</li> <li>Implement an action plan</li> <li>Evaluate the results of actions</li> <li>Reflect and regroup</li> </ul> <p>People want to live in resilient and healthy communities. Well-being and positive mental health start here. Further mental health services need to consider how they harness the assets and strengths of communities in developing approaches that empower people in their recovery journeys.</p></abstract> <description></description> <persons> <person id="7831">Sonia Singla</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_strengthening_communities_pandemic/attachments/slides/4741/export/events/attachments/community_devroom_strengthening_communities_pandemic/slides/4741/FOSDEM_TALK_2021.pdf"/> </attachments> <links> <link href="https://soniasingla.com/">Personal Website</link> <link href="https://twitter.com/soniasinglas">Twitter</link> <link href="https://www.linkedin.com/in/soniasinglas/">LinkedIn</link> <link href="https://github.com/soniasingla/">GitHub</link> <link href="https://www.instagram.com/soniasinglas/">Instagram</link> <link href="https://dev.to/soniasingla">Dev</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_strengthening_communities_pandemic.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_strengthening_communities_pandemic.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11362.php">Submit feedback</link> </links> </event> <event id="11319"> <start>16:50</start> <duration>00:40</duration> <room>D.community</room> <slug>community_devroom_switching_oscommunites</slug> <title>Switching Open Source Communities: How to Stay Authentic to Yourself and Find Hidden Benefit In Your New Role</title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>The new reality requires extreme flexibility. Many people might be switching open source communities these days stepping in their new roles. The pandemic might bring you to where you would never expected to be. What if you need to start working for a competing vendor and become an advocate of a totally different technology ecosystem?</p> <p>“Just do it” would answer many of your questions, but not all of them. Ethical issues related to integrity, practical failures related to lack of knowledge, the inability to use background info accumulated previously would become factors preventing you from success.</p> <p>In our talk, we will combine practical advice from a community manager who moved from MySQL to PostgreSQL environment, with recent findings from academic research in community management. We’ll talk about practical techniques to transform a good community professional into a person of high trust. We will discuss ways to build your community not only around vendors, projects or technologies, but also around yourself, as an inspiring community professional. Finally, we’ll speak about scientifically based ways of building trust in a new community, and leveraging the old ties in the ethical and constructive way.</p></abstract> <description></description> <persons> <person id="7146">Anastasia 'Stacy' Raspopina</person> <person id="7782">Martina Pocchiari</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_switching_oscommunites/attachments/slides/4739/export/events/attachments/community_devroom_switching_oscommunites/slides/4739/Switching_Open_Source_Communities.pdf">Switching Open Source Communities: How to Stay Authentic to Yourself and Find Hidden Benefit In Your New Role</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.community/community_devroom_switching_oscommunites.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_switching_oscommunites.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11319.php">Submit feedback</link> </links> </event> <event id="11118"> <start>17:30</start> <duration>00:30</duration> <room>D.community</room> <slug>community_devroom_zoomout_zoomin</slug> <title>Zoom out to zoom in on the community </title> <subtitle/> <track>Community devroom</track> <type>devroom</type> <language/> <abstract><p>Open Source is all about the community being able to engage with each other efficiently. This is why events such as FOSDEM are so essential to enable us to meet members of our communities face to face to create these essential connections. In 2020 the annual OSS physical event circuit was broken due to the pandemic, and was replaced with online versions. It has meant we spent the year on weekly zoom project team/ steering committees &amp; more meetings online. Then we have yet more zoom webinar or some other online tool for our flagship OSS events. This can be sufficient when you know the people on a mature community, as you may have met them before, but what for new OSS communities just starting out?. How can we get that personal connection that is needed to help avoid unnecessary conflicts due to simple misunderstandings. What people see in print, say in a gerrit review comment, can seem a lot more severe if you do not really know the person who had typed it. That is why I'd like to give my experience from 2020. Lessons I have learned and adapted in my meeting. To take the time to step back/zoom out in our OSS commnity meetings, and take just a little time so we can zoom in on the people.</p></abstract> <description></description> <persons> <person id="7682">Adrian OSullivan</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_devroom_zoomout_zoomin/attachments/slides/4749/export/events/attachments/community_devroom_zoomout_zoomin/slides/4749/ZoomOuttoZoomIn">ZoomOuttoZoomIn</attachment> </attachments> <links> <link href="https://www.youtube.com/watch?v=Mptyl7zocEY">Speaker EclipseCon 2020 </link> <link href="https://onseu19.sched.com/speaker/adrian.osullivan ">Linux Foundation Open Networking Summit </link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_zoomout_zoomin.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.community/community_devroom_zoomout_zoomin.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11118.php">Submit feedback</link> </links> </event> </room> <room name="D.composition"> <event id="11617"> <start>14:00</start> <duration>00:05</duration> <room>D.composition</room> <slug>sca_weclome</slug> <title>Software Composition Analysis Devroom Welcome</title> <subtitle>What is SCA?</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>Welcome to the Software Composition Analysis Devroom</p></abstract> <description><p>This presentation introduces the devroom on software composition - an emerging topic on understanding what softare is being made of.</p></description> <persons> <person id="3237">Kate Stewart</person> <person id="4271">Philippe Ombredanne</person> <person id="5401">Maximilian Huber</person> <person id="7583">Michael C. Jaeger</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_weclome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_weclome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11617.php">Submit feedback</link> </links> </event> <event id="11567"> <start>14:05</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_ort</slug> <title>OSS Review Toolkit - project update</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>In this session we will provide an update on OSS Review Toolkit (ORT) - which features have been recently added and what they ORT team is currently working on.</p></abstract> <description></description> <persons> <person id="5563">Thomas Steenbergen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_update_ort/attachments/slides/4650/export/events/attachments/sca_update_ort/slides/4650/fosdem_2021_oss_review_toolkit_project_update.pdf"/> </attachments> <links> <link href="https://github.com/oss-review-toolkit/ort">Main project website</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_ort.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_ort.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11567.php">Submit feedback</link> </links> </event> <event id="11655"> <start>14:20</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_scancode</slug> <title>ScanCode projects update</title> <subtitle>Open source scanning</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>This is a presentation of the latest features and updates in ScanCode toolkit and its companion projects.</p></abstract> <description><p>ScanCode toolkit is an open source scanner that thrives to provide best-in-class license, copyright and package manifest detection and data collection.</p> <p>This session presents the current, latest and upcoming features and developments, as well as new projects, data and tools to enable FOSS SCA.</p></description> <persons> <person id="4271">Philippe Ombredanne</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_update_scancode/attachments/slides/4586/export/events/attachments/sca_update_scancode/slides/4586/2021_02_05_fosdem_scancode_update.pdf">ScanCode: FOSS software composition analysis tools </attachment> </attachments> <links> <link href="https://www.aboutcode.org">Main home for all ScanCode and AboutCode projects</link> <link href="https://github.com/nexB/scancode-toolkit">ScanCode toolkit source repo</link> <link href="https://github.com/nexB/scancode.io">New Scancode.io server for SCA pipelines automation </link> <link href="https://scancode-licensedb.aboutcode.org/">New Scancode LicenseDB</link> <link href="https://github.com/nexB/">ScanCode and AboutCode projects on Github</link> <link href="https://github.com/package-url">Package URL org</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_scancode.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_scancode.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11655.php">Submit feedback</link> </links> </event> <event id="11631"> <start>14:35</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_fossology</slug> <title>FOSSology SCA integration</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>FOSSology focusses on license compliance analyses. Recently, a number of new features have been published by the community to integrate better with software composition analysis. The presentation shows an introduction of the main and relevant development here.</p></abstract> <description><p>FOSSology is considered as one of the leading Open Source tools when it comes to license compliance. There are various ways with which someone can analyze a package in FOSSology. One can either do it manually or can do it programmatically. As the industry is heading towards automation, programmatic approach based on software composition analysis is more preferred and becomes more advantageous. Currently, FOSSology provides 3 different ways to integration with software composition approaches: utilizing FOSSology CLI tools, use one of the client libraries and from the REST API.</p> <p>The presentation will help by providing different strategies which can be used to automate analysis of software components in an automated environment. We will see how one can use the CLI tools of FOSSology or other FOSS projects built on FOSSology's REST API to push packages for analysis. We will also see how the enhanced API can provide much more information about a package and how analysis can be triggered on-demand. Finally, we will touch upon how one can gather the package information in a neat report for auditing.</p></description> <persons> <person id="6023">Anupam Ghosh</person> <person id="7950">Gaurav Mishra</person> <person id="7951">shaheemazmalmmd</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_update_fossology/attachments/slides/4704/export/events/attachments/sca_update_fossology/slides/4704/FOSSologySCAIntegration.pdf"/> </attachments> <links> <link href="https://www.fossology.org/">FOSSology project</link> <link href="https://github.com/fossology/fossology">GitHub repo</link> <link href="https://www.youtube.com/channel/UCZGPJnQZVnEPQWxOuNamLpw">YouTube</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_fossology.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_fossology.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11631.php">Submit feedback</link> </links> </event> <event id="11669"> <start>14:50</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_scanoss</slug> <title>SCANOSS: Democratising Open Source Risk Management</title> <subtitle>Open Source Inventorying designed for modern development (DevOps) environments</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>Software Composition Analysis (SCA) tools perform source-code analysis, comparison and identification of Open Source components. Sadly, none of the SCA vendors have embraced Open Source themselves, most of their tooling consists of proprietary code and their OSS Knowledge Bases are also closed.</p></abstract> <description><p>Software Composition Analysis (SCA) tools perform source-code analysis, comparison and identification of Open Source components. Sadly, none of the SCA vendors have embraced Open Source themselves, most of their tooling consists of proprietary code and their OSS Knowledge Bases are also closed.</p> <p>Most SCA vendors target large organizations, are expensive, and generally not economically viable for smaller companies who might be a critical part of larger software distribution chains. Smaller companies for these reasons can’t get access to proper SCA tooling, and large organizations will have to carry the expense of auditing their suppliers.</p> <p>Leading to a higher cost of OSS governance, no ability to compare results, exclusion of the OSS community behind a license-fee and a reliance on external auditing. With this proposal we aim to contribute a free, standardized and 100% open alternative.</p></description> <persons> <person id="7959">Alan Facey</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/sca_update_scanoss/attachments/paper/4395/export/events/attachments/sca_update_scanoss/paper/4395/ScanOSS_Whitepaper_OpenSourceKnowledgeBase.pdf">Paper: The First Open Source OSS Knowledge Base</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/sca_update_scanoss/attachments/paper/4396/export/events/attachments/sca_update_scanoss/paper/4396/ScanOSS_Whitepaper_StandardizingOpenSourceInventorying_2020_Vcom.pdf">Paper: Standardizing Open Source Inventorying</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_update_scanoss/attachments/slides/4726/export/events/attachments/sca_update_scanoss/slides/4726/FOSDEM21.pdf">FOSDEM: Presentation Slides</attachment> </attachments> <links> <link href="https://www.scanoss.com">SCANOSS website</link> <link href="https://osskb.org">Open OSS Knowledge Base</link> <link href="https://www.scanoss.com/product/quickscan-app/">Quickscan demo app</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_scanoss.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_scanoss.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11669.php">Submit feedback</link> </links> </event> <event id="11656"> <start>15:05</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_docker</slug> <title>Tern and the State of Cloud Native Compliance</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>Container and VM images contain many packages and are quite a challenge for composition analysis.</p></abstract> <description><p>The current industry standard for container compliance is to scan container images after they have been created in order to create a Software Bill of Materials (SBoM). Tern is an open source inspection tool that creates an SBoM for this very purpose. As the complexity of Cloud Native applications and the containers they are shipped with increases, however, the need for a better compliance strategy presents itself. This talk will discuss the current state of Cloud Native compliance practices and the efforts by the Open Source Technology Center at VMware to tackle these issues. This includes the work on the SPDX 3.0 linkage profile, building containers with intrinsic SBoMs, and feature implementations in Tern to support intrinsic compliance for container images.</p></description> <persons> <person id="8312">Rose Judge</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/sca_docker/attachments/video/4524/export/events/attachments/sca_docker/video/4524/Tern_FOSDEM_presentation">Tern and the State of Cloud Native Compliance</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_docker/attachments/slides/4525/export/events/attachments/sca_docker/slides/4525/Tern_FOSDEM_slides">Tern and the State of Cloud Native Compliance</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_docker.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_docker.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11656.php">Submit feedback</link> </links> </event> <event id="11736"> <start>15:20</start> <duration>00:10</duration> <room>D.composition</room> <slug>sca_update_qna</slug> <title>OSS Projects Update - Concluding Q&A</title> <subtitle>This slot is for Q&A covering the preceding presentations</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>The very short time is some placeholder between presentation groups to have questions being asked and answered or just simple to have a break.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_update_qna.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_qna.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11736.php">Submit feedback</link> </links> </event> <event id="11661"> <start>15:30</start> <duration>00:05</duration> <room>D.composition</room> <slug>sca_overview</slug> <title>Overview Software Bill of Materials (SBOM)</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>What is a software bill of materials, and why is there all the interest about it? In this session, a quick overview of the minimum viable fields to represent an SBOM, and efforts to help with automation of them.</p></abstract> <description></description> <persons> <person id="3237">Kate Stewart</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_overview/attachments/slides/4522/export/events/attachments/sca_overview/slides/4522/2021_FOSDEM_SBOM.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_overview.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_overview.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11661.php">Submit feedback</link> </links> </event> <event id="11521"> <start>15:35</start> <duration>00:15</duration> <room>D.composition</room> <slug>automating_creation_of_spdx_sbom</slug> <title>Automating creation of Software Bills of Materials</title> <subtitle>Generating SPDX documents for CMake and Zephyr</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>A Software Bill of Materials (SBoM) can communicate details about a software package's contents, as well as the inputs and sources that were used to build it. However, SBoMs created by manual processes can often be incomplete, incorrect or out-of-date as a software package evolves. Effective use of SBoMs will typically require creating them during the build process itself using automated tooling. In this talk, I will present a proof-of-concept for generating an SPDX SBoM for CMake-based projects.</p></abstract> <description><p>I will discuss <a href="https://github.com/swinslow/cmake-spdx">an experiment</a> with leveraging the <a href="https://cmake.org/cmake/help/latest/manual/cmake-file-api.7.html">CMake file-based APIs</a> to automatically create <a href="https://spdx.dev">SPDX 2.2</a> SBoMs. The generated SBoM includes relationships to denote which source files were used as inputs for the corresponding build artifacts. I will present this in the context of the <a href="https://zephyrproject.org/">Zephyr project</a>, an open source RTOS for embedded systems that leverages CMake. I will briefly discuss this proof-of-concept, some early results from it and thoughts for next steps.</p></description> <persons> <person id="7600">Steve Winslow</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/automating_creation_of_spdx_sbom/attachments/slides/4575/export/events/attachments/automating_creation_of_spdx_sbom/slides/4575/FOSDEM_2021_SBOM_SPDX_CMake.pdf">FOSDEM 2021 - Automating creation of Software Bills of Materials</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/automating_creation_of_spdx_sbom.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/automating_creation_of_spdx_sbom.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11521.php">Submit feedback</link> </links> </event> <event id="11509"> <start>15:50</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_cyclone_sbom</slug> <title>CycloneDX Software Bill of Materials</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>This presentation will give a quick introduction to CycloneDX. CycloneDX is an open source software bill of materials specification. A software bill of materials provides unique benefits which complement those provided by traditional software composition analysis. This will be discussed along with some of the tooling available to make production and consumption of SBOMs manageable at scale.</p></abstract> <description></description> <persons> <person id="7905">Patrick Dwyer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_cyclone_sbom/attachments/slides/4720/export/events/attachments/sca_cyclone_sbom/slides/4720/CycloneDX_FOSDEM_21.pdf">CycloneDX FOSDEM 21</attachment> </attachments> <links> <link href="https://cyclonedx.org/">Project homepage</link> <link href="https://github.com/CycloneDX">GitHub page</link> <link href="https://video.fosdem.org/2021/D.composition/sca_cyclone_sbom.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_cyclone_sbom.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11509.php">Submit feedback</link> </links> </event> <event id="11353"> <start>16:05</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_double_open</slug> <title>Double Open: An automated open source compliance pipeline for Yocto built on SPDX</title> <subtitle>Automating embedded Linux open source compliance with open tools</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>The Double Open project is developing an open solution for automating open source compliance in the Yocto build system, and embedded Linux systems as the wider target. The developed tooling utilizes the SPDX file format as its data storage throughout the pipeline to enable strong modularity and interoperability with other tooling.</p> <p>In this talk we are going to present a general overview of the pipeline.</p></abstract> <description></description> <persons> <person id="7788">Mikko Murto</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_double_open/attachments/slides/4725/export/events/attachments/sca_double_open/slides/4725/Double_Open_slides">Double Open slides</attachment> </attachments> <links> <link href="https://www.doubleopen.org/">Project home page</link> <link href="https://github.com/doubleopen-project/">Project GitHub</link> <link href="https://video.fosdem.org/2021/D.composition/sca_double_open.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_double_open.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11353.php">Submit feedback</link> </links> </event> <event id="11456"> <start>16:20</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_sw360</slug> <title>Eclipse SW360</title> <subtitle>Web application for managing software Bill-Of-Material</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>SW360 is a Web application for managing the software bill-of-material ("SBOM") of software projects and products. It is an Eclipse project licensed under the EPL-2.0 and thus available for everybody as Open Source Software. The application has a Web UI and REST endpoints for entering or importing the SBOM from dependency or package management systems. In addition, the import of SBOM files using the SPDX spec is supported. Based on the imported SBOM or a software project, a number of functionality is possible, ref to management of vulnerabilities, license and trade compliance or statistics about component usage. The submitted talk introduces and presents SW360.</p></abstract> <description><p>SW360 is an open source software project licensed under the EPL-2.0 that provides both a web application and a REST API to collect, organize and make available information about software components. It establishes a central hub for software components in an organization. SW360 allows for</p> <ul> <li>tracking components used by a project/product,</li> <li>assessing security vulnerabilities,</li> <li>maintaining license obligations,</li> <li>enforcing policies, and</li> <li>maintain statistics. For example, SW360 can trigger a license scan process in the open source compliance tool FOSSology and import the resulting clearing reporting. Data is either stored in SW360’s database or on the fly imported from external sources. In future we plan to have federations of SW360 instances that share selected information. Besides its web-based UI, all functionality of SW360 is available through an API that allows an integration into existing devops tools.</li> </ul> </description> <persons> <person id="7883">Smruti Prakash Sahoo</person> <person id="7884">Jaideep Palit</person> <person id="7885">Abdul Kapti</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_update_sw360/attachments/slides/4757/export/events/attachments/sca_update_sw360/slides/4757/Eclipse_SW360">Eclipse SW360</attachment> </attachments> <links> <link href="https://www.eclipse.org/sw360/about/">About SW360</link> <link href="https://github.com/eclipse/sw360">Github</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_sw360.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_sw360.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11456.php">Submit feedback</link> </links> </event> <event id="11737"> <start>16:35</start> <duration>00:10</duration> <room>D.composition</room> <slug>sca_managing_qna</slug> <title>Software Composition and SBOM - Concluding Q&A</title> <subtitle>This slot is for Q&A covering the preceding presentations</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>The very short time is some placeholder between presentation groups to have questions being asked and answered or just simple to have a break.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11737.php">Submit feedback</link> </links> </event> <event id="11482"> <start>16:45</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_vulnerable_code</slug> <title>Building the world’s first free open source database of FOSS and their vulnerabilities.</title> <subtitle>Learn why and how we are building VulnerableCode, a free and open source database of FOSS components and their vulnerabilities. </subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>VulnerableCode is a free and open source database of vulnerabilities and the FOSS packages they impact. It is made by the FOSS community to improve the security of the open source software ecosystem. It’s design solves various pre-existing problems like licensing, data complexity and usability.</p></abstract> <description><h1>Introduction</h1> <p>Using software with known vulnerabilities is one of OWASP’s Top 10 security vulnerabilities . This is increasingly becoming more important as more and more software is built on top of existing free and open source software. From the perspective of software composition analysis, it then becomes increasingly important to know about vulnerable components being used. Naturally a database of mappings of packages and their vulnerabilities is required. Below are some of the problems with existing solutions and how VulnerableCode solves these.</p> <h1>The CPE problem :-</h1> <p>The National Vulnerability Database by the US government uses CPE data format to map vulnerabilities to affected components. CPEs were invented before the mass the adoption of FOSS software, and has a vendor centric design. CPEs hence are ineffective in mapping vulnerabilities to FOSS packages, because of it’s distributed nature and distribution in form of different packaging systems.</p> <p>VulnerableCode instead of CPEs uses package urls to map vulnerabilities and packages. Package URLs is a data format undergoing rapid adoption, it was designed at ScanCode for representing packages from different ecosystems.</p> <h1>The License problem:-</h1> <p>Majority of remaining solutions are commercial vulnerability databases. This is a problem because Data about vulnerabilities affecting FOSS must also be free and open source. Having such data behind paywall limits usage of FOSS . Commercial vulnerability databases have an incentive to bloat the data, to outshine their competition. Since the data is not open, auditing for fake vulnerabilities is also not possible.</p> <p>VulnerableCode has a libre license and the data is fully open sourced, this prevents (1). Bloating the data is not an option since due to the open source nature of the project, the data is always available for public scrutiny.</p> <h1>The Data problem:-</h1> <p>Almost every major FOSS distributor provides some sort of public disclosure of vulnerabilities. They use different data formats to do so, some use variants of machine readable formats with diverse schemas, others rely on only providing human readable vulnerability disclosures. This reduces the usability of such data in SCA tools.</p> <p>VulnerableCode instead parses and converts data from such sources into one single package url based data format. This allows other SCA tools to easily leverage it. The open source nature of project also allows community curation thus the data can be further enriched and purified by the community</p></description> <persons> <person id="7719">Shivam Sandbhor</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/nexB/vulnerablecode">Project home</link> <link href="https://github.com/package-url/purl-spec">Package url specification</link> <link href="https://csrc.nist.gov/projects/security-content-automation-protocol/specifications/cpe">CPE specification</link> <link href="https://whimsical.com/building-a-foss-vulnerability-database-WobMtDqgpEpmZGKpjZ3tCZ">Presentation Mind Map</link> <link href="https://video.fosdem.org/2021/D.composition/sca_vulnerable_code.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_vulnerable_code.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11482.php">Submit feedback</link> </links> </event> <event id="11540"> <start>17:00</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_cyclone_vulnerabilities</slug> <title>Evolving vulnerabilities in CycloneDX</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>CycloneDX is a software bill of materials (SBOM) standard designed for use in application security contexts and supply chain component analysis. It's developed in the open and widely implemented in open source tooling. As well as quick introduction to CycloneDX, this talk will look in particular at the vulnerability extension.</p> <p>Modelling vulnerabilities in software is surprisingly complex. In this talk we'll look at some of the current issues in the CycloneDX vulnerability extension, summarise some of the ongoing discussions in this area, and get people's input on proposals for improvements.</p></abstract> <description><p>No prior knowledge of CycloneDX will be required for this session. The basics of the specification are simple enough for folks interested in Software Composition Analysis to grok quickly. The main aim of the session is to raise awareness of the open specification and the process around it, and get more eyes on future improvements. The audience should come away with some insight into why CycloneDX is useful, why open standards are important and how to get involved in the project.</p></description> <persons> <person id="2459">Gareth Rushgrove</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_cyclone_vulnerabilities/attachments/slides/4682/export/events/attachments/sca_cyclone_vulnerabilities/slides/4682/cyclonedxvulnerabilities.pdf">evolving vulnerabilities in CycloneDX</attachment> </attachments> <links> <link href="https://cyclonedx.org">Home page</link> <link href="https://github.com/CycloneDX/specification">Specification</link> <link href="https://video.fosdem.org/2021/D.composition/sca_cyclone_vulnerabilities.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_cyclone_vulnerabilities.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11540.php">Submit feedback</link> </links> </event> <event id="11261"> <start>17:15</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_update_deep_scan</slug> <title>DeepScan - assessing your code for effective licenses</title> <subtitle>Gaining insights and profit from sharing</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>In this talk I want to present the recently open sourced deepscan tooling, which allows the comfortable analysis of repositories for effective licenses, copyrights and known files. I will show how the tool is structured and how it works. How the similarity analysis is used and what the current results are. Also I will demonstrate how the free analysis service can be used and how it may be used to review and re-assess findings.</p></abstract> <description></description> <persons> <person id="7783">Jan Thielscher</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_update_deep_scan.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_update_deep_scan.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11261.php">Submit feedback</link> </links> </event> <event id="11564"> <start>17:30</start> <duration>00:15</duration> <room>D.composition</room> <slug>sca_automating_license_compliance_with_ort</slug> <title>Automating your license compliance policy with OSS Review Toolkit</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>In this session we will demonstrate how to write a license policy in OSS Review Toolkit to automatically check the licenses found in a project and its dependencies.</p> <p>One of the reasons OSS Review Toolkit was started by its creators was a need to go beyond the usual allow/deny license policy in most SCA tools. For instance we wanted to be able to write checks with multiple levels of compliance depending on what was being reviewed or based on package meta data. In this session we will demonstrate how one can write license policy with checks/rules that take into account package metadata date or the code, license and product context.</p></abstract> <description></description> <persons> <person id="5563">Thomas Steenbergen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sca_automating_license_compliance_with_ort/attachments/slides/4649/export/events/attachments/sca_automating_license_compliance_with_ort/slides/4649/fosdem_2021_automating_your_license_compliance_policy_with_oss_review_toolkit.pdf"/> </attachments> <links> <link href="https://github.com/oss-review-toolkit/ort">Main project website</link> <link href="https://video.fosdem.org/2021/D.composition/sca_automating_license_compliance_with_ort.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_automating_license_compliance_with_ort.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11564.php">Submit feedback</link> </links> </event> <event id="11738"> <start>17:45</start> <duration>00:10</duration> <room>D.composition</room> <slug>sca_usages_qna</slug> <title>Usages of Software Composition - Concluding Q&A</title> <subtitle>This slot is for Q&A covering the preceding presentations</subtitle> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>The very short time is some placeholder between presentation groups to have questions being asked and answered or just simple to have a break.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_usages_qna.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_usages_qna.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11738.php">Submit feedback</link> </links> </event> <event id="11658"> <start>17:55</start> <duration>00:05</duration> <room>D.composition</room> <slug>sca_conclusion</slug> <title>Devroom Software Composition: Concluding Remarks</title> <subtitle/> <track>Software Composition</track> <type>devroom</type> <language/> <abstract><p>If we come to this presentation: A big thank you for all persons who have submitted their presentation and many thanks for all attending.</p></abstract> <description></description> <persons> <person id="3237">Kate Stewart</person> <person id="4271">Philippe Ombredanne</person> <person id="5401">Maximilian Huber</person> <person id="7583">Michael C. Jaeger</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.composition/sca_conclusion.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.composition/sca_conclusion.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11658.php">Submit feedback</link> </links> </event> </room> <room name="D.containers"> <event id="11309"> <start>11:20</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_ebpf_kernel</slug> <title>Advanced BPF kernel features for the container age</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>BPF is becoming ubiquitous in today's modern container environments and thanks to the fast pace of innovations from Linux kernel developers in the BPF subsystem, cloud native networking software such as Cilium is able to bring these extensions to a mainstream user base for improving throughput, latency and reliability of workloads and services. This talk provides a deep dive on recently added BPF kernel as well as Cilium extensions for Kubernetes environments which significantly reduce application tail latencies with the help of the earliest departure time (EDT) model for egress bandwidth management. Furthermore, recently added BPF redirection helpers are discussed which offer a low-latency switch into Pod network namespaces. Last but not least the talk also covers how Cilium's BPF kube-proxy replacement improves reliability for its high-performance XDP-based north-south service load-balancing through a BPF-based Maglev consistent hashing implementation. We'll discuss our path towards implementing these features, our lessons learned as well as future follow-up work.</p></abstract> <description></description> <persons> <person id="3753">Daniel Borkmann</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_ebpf_kernel/attachments/slides/4358/export/events/attachments/containers_ebpf_kernel/slides/4358/Advanced_BPF_Kernel_Features_for_the_Container_Age_FOSDEM.pdf">Advanced BPF Kernel Features for the Container Age</attachment> </attachments> <links> <link href="https://cilium.io/">Cilium.io</link> <link href="https://ebpf.io/">eBPF.io</link> <link href="https://github.com/cilium/cilium">github.com/cilium/cilium</link> <link href="https://video.fosdem.org/2021/D.containers/containers_ebpf_kernel.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_ebpf_kernel.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11309.php">Submit feedback</link> </links> </event> <event id="10867"> <start>11:55</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_k8s_operator_kubevirt</slug> <title>Operator SDK use case: virtual machine import to KubeVirt</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Operator SDK is a solid foundation for building robust applications for Kubernetes; one of such applications is the VM import operator (https://github.com/kubevirt/vm-import-operator) allowing Kubernetes administrators to easily import their oVirt-managed virtual machines to KubeVirt. In this talk, the speaker will show how his team used Operator SDK to build the VM import operator and how that operator can be used.</p></abstract> <description><p>The Kubernetes is on a rise and thanks to its capabilities many developers and administrators want to migrate their workloads there, which not always is possible right away or easy to do.</p> <p>VM import operator can help in decomposing any applications previously running in oVirt. If the current deployment doesn’t allow for that, Operator SDK can ease the burden of either migrating existing applications to a new stack or building tools that can allow existing software to run in a completely new environment.</p> <p>The attendees will: - learn basic principles guiding development with OperatorSDK; - learn how VM import operator works; - know how to import their oVirt workloads to Kubernetes, hassle-free.</p></description> <persons> <person id="7501">Jakub Dżon</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_k8s_operator_kubevirt/attachments/slides/4683/export/events/attachments/containers_k8s_operator_kubevirt/slides/4683/Slides"/> </attachments> <links> <link href="https://github.com/kubevirt/vm-import-operator">VM Import Operator</link> <link href="https://github.com/operator-framework/operator-sdk">Operator SDK</link> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_operator_kubevirt.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_operator_kubevirt.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10867.php">Submit feedback</link> </links> </event> <event id="11278"> <start>12:30</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_k8s_docker</slug> <title>Docker Is No More! What Now?</title> <subtitle>How Are We Going To Live Without Docker?</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>What are we going to do without Docker inside Kubernetes clusters?</p></abstract> <description><p>Dockershim has been deprecated in Kubernetes 1.20 and is scheduled to be removed in 1.22. That begs some questions.</p> <p>What are we going to do without Docker inside Kubernetes clusters? Which container engine should we choose? How are we going to build container images? Is that change for the better, or should we start panicking?</p> <p>Let's see what are out options among container enginers as well as for building container images. This might just as well be an impetus for making changes that we should have made a while ago.</p></description> <persons> <person id="6552">Viktor Farcic</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_docker.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_docker.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11278.php">Submit feedback</link> </links> </event> <event id="11317"> <start>13:05</start> <duration>00:15</duration> <room>D.containers</room> <slug>containers_mariadb_buildbot</slug> <title>MariaDB Buildbot Container environments</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Containers are a central point for the MariaDB buildbot (buildbot.mariadb.org). In fact, almost all our builds run in Docker containers. In this short presentation, I will talk about the container environment used in order to build MariaDB from source both on Linux and Windows. Then, I will present some of the challenges associated with running Windows in a Docker container and finally I will focus on some of the advantages of having a container based continuous integration infrastructure.</p></abstract> <description><p>Due to their obvious advantages in terms of speed and flexibility, when developing our new continuous integration framework, we aimed to have an almost container only environment. Because of this, buildbot.mariadb.org uses almost exclusively Docker containers for all the workers.</p> <p>In this way, using a single dockerfile, we can define in an easy and concise manner all the required environments. The process begins with choosing the operating system. Here, we have quite a large pool of 15+ operating systems varying from different Linux distributions to Windows, each running in a Docker container. The process continues by installing the MariaDB build dependencies. In the end, the buildbot components are installed. Finally, we need to make sure that the buildbot worker process starts on container startup. In this way, we obtain a clean environment that can easily be deployed to different platforms.</p> <p>One of the most challenging things was to run Windows in a Docker container. While the main steps remain the same as described above, I will talk about the main differences between the Windows dockerfile in comparison to a Linux one to emphasise the similarities and differences between the two.</p></description> <persons> <person id="6945">Vlad Bogolin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_mariadb_buildbot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_mariadb_buildbot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11317.php">Submit feedback</link> </links> </event> <event id="11483"> <start>13:20</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_idmap</slug> <title>Idmapped Mounts</title> <subtitle>Flexible file ownership</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>On most POSIX systems including Linux file ownership can only be changed globally, i.e. for all users through the chown*() syscall family. In this talk we will introduce idmapped mounts. Idmapped mounts allow to change the ownership of files under the mounts they appear in.</p></abstract> <description><p>File ownership is a global property on most systems that have a uid and gid concept. On POSIXy systems the chown*() syscall family allows to change the owner of a file or directory. If the ownership of a file is changed it will be changed for each user on the systems equally. But various use-cases exist where this can be problematic: - Portable home directories that are used on different computers where the user is assigned a different uid and gid. - Filesystems that allow to merge or unionize multiple filesystems are often shared between different users. - On Linux user namespaces used in containers also affect file ownership. - Chowning files on really large filesystems is costly. Idmapped mounts solve these problems and others by allow bind-mounts to specify idmappings allowing to change file ownership on a per-mount point basis. In this talk we will take a close look technical at the idmapped mount patchset, the use-cases it is intended to solve, and we will demo it's capabilities.</p></description> <persons> <person id="5245">Christian Brauner</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_idmap/attachments/slides/4680/export/events/attachments/containers_idmap/slides/4680/2021_FOSDEM_Idmapped_Mounts.pdf">Idmapped Mounts</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_idmap.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_idmap.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11483.php">Submit feedback</link> </links> </event> <event id="11196"> <start>13:55</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_k8s_dbaas</slug> <title>Hybrid Cloud Open Source DBaaS with Kubernetes</title> <subtitle>The path to OpenSource DBaaS with Kubernetes</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>DBaaS is the fastest growing way to deploy databases. It is fast and convenient and it helps to reduce toil a lot, yet it is typically done using proprietary software and tightly coupled to the cloud vendor. We believe Kubernetes finally allows us to build fully OpenSource DBaaS Solution capable to be deployed anywhere Kubernetes runs - on the Public Cloud or in your private data center.</p> <p>In this presentation, we will describe the most important user requirements and typical problems you would encounter building DBaaS Solution and explain how you can solve them using Kubernetes Operator framework.</p></abstract> <description></description> <persons> <person id="7756">Peter Zaitsev</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_k8s_dbaas/attachments/slides/4717/export/events/attachments/containers_k8s_dbaas/slides/4717/FOSDEM_Feb2021_Hybrid_Cloud_Open_Source_DBaaS_with_Kubernetes.pptx"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_dbaas.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_dbaas.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11196.php">Submit feedback</link> </links> </event> <event id="11257"> <start>14:20</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_opennebula_k8s</slug> <title>The OpenNebula alternative to Kubernetes for Containers-as-a-Service</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Although Kubernetes is the leading container orchestration solution, it does not necessarily solve all container management-related challenges that one might face. Leaving fashions aside, some other technologies may actually be a better solution for some use cases and projects. Kubernetes is actually a very complex technology, with limited support for multi-tenancy and lacking secure isolation between tenants. Kubernetes does not offer cloud-like self-service provision features for users either. Cloud providers and cloud management tools try to bridge these gaps by offering managed Kubernetes-as-a-Service platforms, adding an extra control layer that ends up increasing management complexity, resource consumption and associated costs.</p> <p>OpenNebula brings exciting new features to the container orchestration ecosystem. OpenNebula’s recent integration with Docker Hub provides users with immediate access to official Docker images. Now they can be easily imported into an OpenNebula cloud and orchestrated as a KVM-based virtual machine, as a LXD system container or even as a Firecracker micro-VM. With its native support for multi-tenancy, self-service provision and secure isolation between tenants, OpenNebula has become a simpler alternative to Kubernetes to easily set up multi-tenant Containers-as-a-Service on private, hybrid and edge cloud environments.</p> <p>In this talk we will show a live demo on how to automatically deploy a Containers-as-a-Service on the edge to orchestrate multi-container applications using OpenNebula’s recent integration with the Docker Hub marketplace.</p></abstract> <description></description> <persons> <person id="7781">Marco Mancini</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_opennebula_k8s/attachments/slides/4723/export/events/attachments/containers_opennebula_k8s/slides/4723/FOSDEM_The_OpenNebula_alternative_to_Kubernetes_for_Containers_as_a_Service.pdf">Presentation</attachment> </attachments> <links> <link href="https://opennebula.io/mastering-containers/">https://opennebula.io/mastering-containers/</link> <link href="https://video.fosdem.org/2021/D.containers/containers_opennebula_k8s.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_opennebula_k8s.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11257.php">Submit feedback</link> </links> </event> <event id="11127"> <start>14:45</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_k8s_seccomp_notify</slug> <title>Seccomp Notify on Kubernetes</title> <subtitle>The new Linux superpower coming to a Kubernetes cluster near you!</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Until now, you could define seccomp policies in Kubernetes to allow or deny system calls but not much more. The new Seccomp Notify feature in Linux 5.9 will enable more complex policies and the ability to write your own agents to handle new use cases in Kubernetes. Attend to find out why and how!</p></abstract> <description><p>Seccomp is a feature of the Linux kernel that allows to filter the system calls that a process is allowed to execute. This is commonly used by containers as a way to improve the isolation between the container and the host. Both container runtime runc and Kubernetes allow users to define a Seccomp policy via the OCI Runtime Specification and the PodSpec respectively.</p> <p>Seccomp recently grew a new feature called the Seccomp Notify in Linux 5.0 and improved in Linux 5.9. This allows a seccomp policy not only to take an immediate decision on whether to allow or deny a system call, but also to defer the control to an external process that I called the Seccomp Agent. The Seccomp agent can decide to block the system call, let it continue, or, up to some extent, execute the system call on behalf of the container. This allows new use cases like running privileged workloads in a safer way and some unprivileged container builds setups.</p> <p>In this talk, I will present the Seccomp Notify feature and the architecture in runc that makes use of it. I will describe the current status of this feature in Kubernetes. I will demonstrate a couple of use cases in Kubernetes and show how easy it is to build your own seccomp agent in Golang to support new use cases. The audience can expect mentions of pidfd_getfd, the addfd ioctl, and more.</p></description> <persons> <person id="3478">Alban Crequy</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_seccomp_notify.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_k8s_seccomp_notify.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11127.php">Submit feedback</link> </links> </event> <event id="11380"> <start>15:10</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_toolbox</slug> <title>By The Power of toolbox!</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Immutable OSes are great, but not being able to --for instance-- install new distribution packages (or having to reboot every time you do so) may be really tedious, especially for developers. Except, you can install whatever you want without having to reboot, and without breaking the consistency and "the immutability" of the OS itself either. How? Well, in one word, with toolbox. In some more words: come to the talk.</p></abstract> <description><p>So, let's say that your driver is an immutable OS, like Fedora Silverblue, openSUSE MicroOS, EndlessOS, etc. And let's say you are a power user and/or a developer. So, how do you perform your daily tasks, and how do you do your development on such a system, where you cannot install the compiler for the language you're writing the code in?</p> <p>Why, you ask? Well, because immutable OSes are often cleaner, more consistent, more reliable, and a lot harder to break than traditional ones. But that comes at the price of (for instance, on Silverblue and MicroOS) having to reboot several times a day, which is often a showstopper. Unless we leverage containers in order to provide users with a read-write environment that can be easily spawned, and inside which they can "live" and do most of their work (especially if they're doing any development!). This is usually done with something called "toolbox". In fact, Fedora Silverblue has a toolbox. openSUSE MicroOS has a toolbox, which is similar but also different from Silverblue's one. But that's not all of it, e.g., someone came up with podbox and someone else with coretoolbox.</p> <p>This talk will show the reasons why having some kind of toolbox is absolutely necessary inside an immutable OS. We will also try to explain the differences between some of the existing approaches and their implementations. And, last but not least, we will showcase --through real-life examples-- how, by taking advantage of a toolbox, you can elect an immutable OS to be the daily driver of your main development workstation, and not have to reboot it (unless you actually want to!)</p></description> <persons> <person id="3513">Dario Faggioli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_toolbox/attachments/slides/4564/export/events/attachments/containers_toolbox/slides/4564/By_the_Power_of_Toolbox_Faggioli_FOSDEM21.pdf">By The Power of Toolbox</attachment> </attachments> <links> <link href="https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/">Fedora Silverblue Toolbox</link> <link href="https://github.com/kubic-project/microos-toolbox">MicroOS/Kubic Toolbox</link> <link href="https://github.com/DimaZirix/podbox">PodBox</link> <link href="https://github.com/cgwalters/coretoolbox">coretoolbox</link> <link href="https://video.fosdem.org/2021/D.containers/containers_toolbox.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_toolbox.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11380.php">Submit feedback</link> </links> </event> <event id="11474"> <start>15:35</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_lxd_cluster</slug> <title>Fully redundant LXD cluster</title> <subtitle>Bullet proof storage, networking and compute on the cheap</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Want the smallest setup with fully redundant storage, networking and compute that's capable of running both containers and virtual machines? Well, this is it. This talk will go over the journey of building a 3 nodes redundant cluster meant to host public web services.</p> <p>The setup boils down to Ceph for storage, OVN for networking, LXD for compute/management and some fancy BGP networking for external network redundancy. All of that running on 3 identical machines bought on eBay and some reasonable SSD/HDD bought new.</p></abstract> <description><p>Finding cloud computing a bit too expensive for your taste? Whether it's because of storage, network or compute costs, the convenience of having instances running within seconds can easily be outweighed by the bill at the end of the month.</p> <p>In this case, cloud hosting already wasn't an option and instead renting dedicated servers from the likes of Hetzner and OVH was done. This is already a lot more affordable but gets problematic when you'd like a cluster of them as fast interconnect between rental servers is uncommon and/or gets expensive quite quickly.</p> <p>So wanting to move from standalone servers to a small redundant cluster, the only option that made financial sense ended up going with buying servers and finding a local co-location facility to host them. Not wanting to have to pay on-site staff or go onsite whenever something fails, the setup is quite focused on resiliency, allowing for the loss of an entire server or the loss of components from many servers without significant impact on the cluster.</p> <p>The end result is effectively a tiny personal cloud, capable of running most common workloads, running on used server hardware in a colo facility with an estimated price per month, assuming a 5 years lifespan on the hardware roughly equivalent to renting just two reasonably sized machines from a dedicated server provider.</p></description> <persons> <person id="3310">Stéphane Graber</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_lxd_cluster/attachments/slides/4747/export/events/attachments/containers_lxd_cluster/slides/4747/FOSDEM_Fully_redundant_LXD_cluster.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_lxd_cluster.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_lxd_cluster.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11474.php">Submit feedback</link> </links> </event> <event id="11251"> <start>16:10</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_lazy_pull</slug> <title>Build and Run Containers With Lazy Pulling</title> <subtitle>Adoption status of containerd Stargz Snapshotter and eStargz</subtitle> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Pull is one of the time-consuming steps in the container lifecycle. One of the root causes is the current OCI Image Spec that cannot run containers before the entire image contents being locally available.</p> <p>Stargz Snapshotter is a subproject of containerd that tries to solve this problem by "lazy pulling" - starting up containers without waiting for the entire image contents are downloaded but necessary chunks are fetched on-demand. This project proposes OCI-alternative but OCI-compatible lazy-pullable image format eStargz. In this session, Kohei, one of the initial maintainers of Stargz Snapshotter project, will show an introduction to this project and the recent integration activities with tools in the community.</p></abstract> <description><p>In this session, Kohei will show the overview of Stargz Snapshotter including eStargz structure and its optimization and content verification, the lazy pulling technique done by this snapshotter and the relationship between this snapshotter and containerd's remote snapshotter feature. He will also talk about recent integration activities with tools, including fast image build by lazy pulling of "base" images on BuildKit, quick containers startup on Kubernetes. Recent standardization activity of eStargz to OCI Image Spec will also be covered.</p></description> <persons> <person id="7624">Kohei Tokunaga</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_lazy_pull/attachments/slides/4687/export/events/attachments/containers_lazy_pull/slides/4687/stargz_snapshotter.pdf">Build and Run Containers With Lazy Pulling</attachment> </attachments> <links> <link href="https://github.com/containerd/stargz-snapshotter">Stargz Snapshotter</link> <link href="https://video.fosdem.org/2021/D.containers/containers_lazy_pull.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_lazy_pull.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11251.php">Submit feedback</link> </links> </event> <event id="10876"> <start>16:35</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_darwin_containerd</slug> <title>containerd port to darwin: Toward Running Linux containers on macOS</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>Running Linux containers (e.g., Docker) on macOS is currently implemented with using Hypervisor.framework (or similar VMM) by hosting a (thin) Linux guest, and users operate it from the host macOS via same command-line interface. We go beyond this complete framework by exploiting library-OS/unikernel idea in a container runtime. We ported containerd to macOS first (*1), which is currently under review, and run Linux applications with Linux Kernel Library (LKL), a library version of Linux kernel, which have no compatibility concerns as LKL is derived from Linux kernel. As a bonus, we benefit from the extensibility of the kernel components of Linux containers (as Kata containers does), while keeping low resource footprint of containers (as Nabla or other unikernels implementations can).</p> <p>Because the containerd port is still undergoing, we aim this talk at giving a broader view the pull request, with why we've been worked on for this direction, how it internally works, what benefit we can obtain, and where we are moving forward. We will also give a simple demonstration of running Linux containers on macOS (on Intel but hopefully on arm64 if it's getting ready).</p> <p>*1 https://github.com/containerd/containerd/pull/4526</p></abstract> <description></description> <persons> <person id="6465">Hajime Tazaki</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/containerd/containerd/pull/4526">pull request (containerd)</link> <link href="https://speakerdeck.com/thehajime/fosdem21-darwin-containerd-ctr-devroom">slides</link> <link href="https://video.fosdem.org/2021/D.containers/containers_darwin_containerd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_darwin_containerd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10876.php">Submit feedback</link> </links> </event> <event id="11387"> <start>17:00</start> <duration>00:35</duration> <room>D.containers</room> <slug>containers_ml_kata</slug> <title>ML inference acceleration on K8s using kata containers & AWS Firecracker</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>The Serverless computing paradigm facilitates the use of cloud computing resources by developers without the burden of administering and maintaining infrastructure. This simplification of cloud programming appears ideal (in theory) but the catch is that when someone needs to perform a more complex task, things could get a bit more complicated.</p> <p>Hardware acceleration, for instance, has been a pain point, even for traditional cloud computing programming models: IaaS providers chose dedicated solutions to avoid interference and preserve tenant isolation (device passthrough), while losing one of the most important benefits of virtualization, flexibility in workload placement through live migration. Various solutions have been proposed to overcome this limitation (API remoting, hardware slicing etc.). In the Serverless world though, do we need users to interface with a hardware device directly?</p> <p>Most serverless deployments are backed by containers, however, the most popular (and used) one, AWS Lambda, uses a ligthweight VMM (AWS Firecracker) integrated in the container ecosystem, in order to ensure strict isolation, while maintaining scalability. To this end, enabling hardware acceleration on this kind of deployment incurs the same pain points with traditional cloud infrastructure.</p> <p>Kata containers evolved from clear containers and offer hypervisor support for popular orchestrators container deployments such as docker, Kubernetes etc. Through kata containers, AWS Firecracker VMs can be easily provisioned as Pods on a kubernetes system, serving workloads prepared as container images. We build on the kata container runtime and port the necessary components to support vAccel, a lightweight framework for hardware acceleration on VMs, on Firecracker.</p> <p>In this talk, we briefly go through vAccel, its design principles and implementation, while focusing on the integration with kata-containers and the end-to-end system applicability on ML inference workloads. We present a short patch for kata-containers to support AWS Firecracker v0.23.1, and go through the necessary patching to add the vAccel framework on k8s. Finally, we present a short demo that scales image classification purpose-built microVMs across a working K8s cluster with GPUs.</p> <p>Hardware acceleration for serverless deployments has never been more secure!</p></abstract> <description></description> <persons> <person id="8063">Orestis Lagkas Nikolos</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/containers_ml_kata/attachments/slides/4735/export/events/attachments/containers_ml_kata/slides/4735/Containers_NBFC_FOSDEM21.pdf">Presentation vAccel - Kata containers</attachment> </attachments> <links> <link href="https://docs.vaccel.org/k8s/kata/">How to run vAccel on k8s</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/D.containers/containers_ml_kata.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_ml_kata.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11387.php">Submit feedback</link> </links> </event> <event id="11404"> <start>17:35</start> <duration>00:25</duration> <room>D.containers</room> <slug>containers_datacenter_class</slug> <title>Datacenter class containers for the masses</title> <subtitle/> <track>Containers</track> <type>devroom</type> <language/> <abstract><p>What if we told you that there is a way to build a powerful kubernetes cluster that can perform data-center-class workloads in a form factor that you can run at your home, under your lab bench, or at a conference. What if we further told you that this hardware comes from a sustainable supply chain that will lower the carbon footprint of computing. This talk will detail an open hardware design, built for a "home" form factor, with a chassis that can hold from 4 to 12 nodes; that contains almost 100 compute cores; 2TB of memory; and over 30 TB of storage. Join us for an overview through photos, video demonstration, and chats with the designers.</p></abstract> <description><p>Perhaps you work with scalable computing technology every day in far-off data centers or hosted in public clouds. What if you could have similar computing capability in your home, in your home lab, or in the premises of your small organization or business? What if you could run 1000s of containers in under 2000 watts? There are many reasons, from latency limitations, to cost constraints, to concerns over data sovereignty that might require the deployment of on-premise computing. We will overview and demonstrate a new computing form factor that brings a data center class cluster using hyperscale technology that you can plug into your home's power outlet. We also integrate these clusters using materials from the circular economy, building on a sustainable supply chain that decomposes servers from top tier data centers and builds new products based on open designs. The power of open hardware and open software creates the possibilities of executing many compute intensive workloads in diverse locations without the need of a data center. This talk will demonstrate on open hardware design for a powerful deskside chassis that can hold from 4 to 12 nodes of scalable computing running from a single 110V/220V outlet and hosting a range of elastic k8s container workloads. Our short talk will include video demonstration, photos, and Q&amp;A with the system designers.</p></description> <persons> <person id="2560">Sri Ramkrishna</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.containers/containers_datacenter_class.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.containers/containers_datacenter_class.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11404.php">Submit feedback</link> </links> </event> </room> <room name="D.declarative.minimalistic"> <event id="10935"> <start>10:00</start> <duration>00:30</duration> <room>D.declarative.minimalistic</room> <slug>rakupatterns</slug> <title>A few patterns (and one antipattern) you might see only in Raku</title> <subtitle>A few constructs that might make Raku interesting for programmers of big & small languages alike</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Raku is a multi-paradigm language, that is able to do meta-programming, declarative, object-oriented programing as well as many other specific features. At 5 years, it's still a young language, but some patterns are emerging that make it quite suitable for practicing your programming chops, or embark in some side project. In this talk we will introduce some interesting programming patterns that are seen, possibly, nowhere else, from "grammaroles" through "piggybacking objects". On the other hand, for a language where TIMTOWDI, there is more than one way to do it, talking about antipatterns might look paradoxical. So let's see how we get out of this catch-22 situation.</p></abstract> <description><p>Raku was created as a language for the next 100 years by its creator, Larry Wall, and as such it incorporates most of the paradigms tha modern language use, from a very extensive Unicode foundation, to a more classic, but still new at heart, approach to functional programming. It's this mix and match of programming paradigms that make it unique, and it's also what has provoked the emergence of certain programming patterns that solve unique problems in an interesting way. This arises as much from its design, as from its implementation, which uses Raku itself for most of it. Anyway, this talk will be about a short introduction to some Raku features, followed by a few programming patterns exemplified in Raku and in the closest you can get in other, modern languages. The main objective of the talk is to pique the curiosity about this language, which is still new, and its interesting, diverse and enthusiastic community.</p></description> <persons> <person id="1263">Juan Julián Merelo</person> </persons> <attachments> </attachments> <links> <link href="https://raku.org">Language</link> <link href="https://docs.raku.org">Language documentation</link> <link href="https://jj.github.io/raku-patterns/#/">Slides</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/rakupatterns.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/rakupatterns.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10935.php">Submit feedback</link> </links> </event> <event id="11027"> <start>10:30</start> <duration>00:20</duration> <room>D.declarative.minimalistic</room> <slug>fuzionlang</slug> <title>The Fuzion Language</title> <subtitle>Combining safety and analysability with high performance - while distracted by a 🐶</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Fuzion is a modern general purpose programming language that unifies concepts found in structured, functional and object-oriented programming languages into the concept of a Fuzion feature. It combines a powerful syntax and safety features based on the design-by-contract principle with a simple intermediate representation that enables powerful optimizing compilers and static analysis tools to verify correctness aspects.</p> <p>Fuzion was influenced by many other languages including Java, Python, Eiffel, Rust, Go, Lua, Kotlin, C#, F#, Nim, Julia, Clojure, C/C++, and many more. The goal of Fuzion is to define a language that has the expressive power present in these languages and allow high-performance implementation and powerful analysis tools. Furthermore, Fuzion addresses requirements for safety-critical applications by adding support for contracts that enable formal specification and enable detailed control over runtime checks.</p> <p>The talk will explain Fuzion's motivation and present its main concepts, feature declarations and feature calls. It will not go into details of the syntax, but present Fuzion's approach to immutability, memory management and type inference.</p></abstract> <description><h1>Introduction</h1> <p>Many current programming language are getting more and more overloaded with new concepts and syntax to solve particular development or performance issues. Languages like Java/C# provide classes, interfaces, methods, packages, anonymous inner classes, local variables, fields, closures, etc. And these languages are currently further extended by the introductions of records/structs, value types, etc. The possibility for nesting of these different concepts results in complexity for the developer and the tools (compilers, VMs) that process and execute the code.</p> <p>For example, the possibility to access a local variable as part of the closure of a lambda expression may result in the compiler allocating heap space to hold the contents of that local variable. Hence, the developer has lost control over the allocation decisions made by the compiler.</p> <p>In Fuzion, the concepts of classes, interfaces, methods, packages, fields and local variables are unified in the concept of a Fuzion feature. The decision where to allocate the memory associated with a feature (on the heap, the stack or in a register) is left to the compiler just as well as the decision if dynamic type information is needed. The developer is left with the single concept of a feature, the language implementation takes care for all the rest.</p> <h1>Fuzion Feature Declarations</h1> <p>A Fuzion feature is has a name, similar to the name of a class or a function. The main operation that can be performed on a feature is a feature call. The constituents of a feature declaration are as follows:</p> <h2>Formal Arguments</h2> <p>Features may have a list of formal arguments, which are themselves features implemented as fields. On a call to a feature with formal arguments, actual arguments have to be provided to the call, unless the list of formal arguments is empty.</p> <h2>Feature Result</h2> <p>The result of a feature call is an instance of the feature. Alternatively, a feature may declare a different result type, then it must return a value of that type on a call.</p> <h2>Closures</h2> <p>Features are nested, i.e., every feature is declared within the context of an outer feature. The only exception is the universe, which is the outermost feature in any Fuzion system. A feature can access features declared in its outer feature or, recursively, any outer feature of these outer features. This means, a feature declaration also declares a closure of the feature and its context.</p> <p>When calling a feature <em>f1</em> declared as an inner feature of <em>f2</em>, the call must include a target value which is the result of a call to <em>f2</em>, e.g., <em>f2.f1</em>.</p> <h2>Generics</h2> <p>Features may have generic type parameters. E.g. a feature declaration may leave the actual type used within that feature open and to be defined by the user of the feature.</p> <p>The list of generic type parameters may be open, i.e., the number of actual generic type parameters is not fixed at feature declaration. This turns out to be useful in he declaration of choice types or functions explained below.</p> <h2>Inheritance</h2> <p>Fuzion features can inherit from one or several other features. When inheriting from an existing features, all inner features of the parent automatically become inner features of the heir feature. It is possible to redefine inherited features. In particular, when inheriting from a feature with abstract inner features, one can implement the inherited abstract features.</p> <p>A redefinition of an inherited feature may implement an inherited feature as a routine or as a field. An inherited feature that is implemented as a field, however, cannot be redefined.</p> <p>Inheritance may result in conflicts, e.g. if two features with the same name are inherited from two different parents. In this case, the heir must resolve the conflict either by redefining the inherited features and providing a new implementation or by renaming the inherited features resulting in two inner features in the heir feature.</p> <p>Inheritance and redefinition in Fuzion does not require dynamic binding. By default, the types defined by features are value types and no run-time overhead for dynamic binding is imposed by inheritance.</p> <h2>Contract</h2> <p>A feature may declare a contract that specifies what the features does and under which conditions the feature may be called. This will be handled in more detail below in the section <em>Design by Contract</em>.</p> <h2>An implementaton</h2> <p>Features must have one of the following implementations</p> <ul> <li><p>a routine is a feature implementation with code that is executed on a call</p></li> <li><p>a field is a memory slot that stores a value and whose contents are returned on a call</p></li> <li><p>an abstract feature has no implementation and cannot be called directly, but can be implemented by heir features</p></li> <li><p>an intrinsic feature is a low-level feature implemented by the compiler or run-time system, e.g., the infix + operator to add two 32-bit integer values may be an intrinsic operation.</p></li> </ul> <p>A feature implemented as a routine can contain inner feature declarations.</p> <h1>Feature examples</h1> <p>Here is an example that declares a feature <em>point</em> that functions similar to s struct or record in other languages:</p> <pre><code>point(x, y i32) is # empty p1 := point(3, 4) stdout.println("p1.x is " + p1.x) # will print "p1.x is 3" stdout.println("p1.y is " + p1.y) # will print "p1.y is 4" </code></pre> <p>The next example show a feature <em>base</em> that provides an innver feature <em>plus</em> that adds its argument to the value passed to the enclosing base:</p> <pre><code>base(v i32) is plus(w i32) =&gt; v + w b1 := base(30) b2 := base(100) stdout.println(b1.plus(23)) # will print "53" stdout.println(b2.plus(23)) # will print "123" </code></pre> <h1>Features and Types</h1> <p>A feature declaration implicitly declares a type of its instances. In the example above, the feature declaration</p> <pre><code>point(x, y i32) is </code></pre> <p>declares the type <em>point</em> that can be used to declare a feature of field type, so we could, e.g., declare a new feature that takes an argument of type <em>point</em>:</p> <pre><code>draw(p point) is drawPixel(p.x, p.y) </code></pre> <h1>Syntactic Sugar</h1> <p>Fuzion's grammar adds syntactic sugar that simplifies the developers work by making code more readable and easier to write. However, internally, this syntactic sugar is converted into feature declarations and feature calls. Consequently, only the front-end of the language implementation is affected, the later phases that optimize, analyse, compiler, interpret, etc. the code are not affected by this.</p> <h2>Loops</h2> <p>Fuzion has a very powerful syntax for loops, an overview is given at <a href="https://flang.dev/tutorial/loops">flang.dev</a>. However, loops are purely syntactic sugar and get translated into feature declarations and calls. This has important impact for the immutability of variables as will be explained below. Since the compiler performs optimizations for tail recursive calls, the resulting performance will be equal to inline loops.</p> <h2>Choice Types</h2> <p>Fuzion provides choice types (also called union types, sum types, tagged types, co-product types in other languages). A choice type is a feature declared in the standard library that has an open list of generic parameters for a number of actual types a field of this choice type may hold.</p> <p>The simplest example of a choice type is the type <em>bool</em>, which is a choice between types <em>TRUE</em> and <em>FALSE</em>. <em>TRUE</em> and <em>FALSE</em> are themselves declared as features with no state, i.e., no fields containing any data.</p> <p>Another example for a choice type from the standard library is <em>Option&lt;T></em>, which is a generic choice type that either holds a value of type <em>T</em> or <em>nil</em>, while <em>nil</em> is a feature with no state declared in the standard library.</p> <p>A match statement can be used to distinguish the different options in a choice type, e.g.,</p> <pre><code>mayBeString Option&lt;string&gt; = someCall() match mayBeString s String =&gt; stdout.println(s) _ nil =&gt; stdout.println("no string") </code></pre> <p>The ? operator allows for more compact syntax, the following code is equivalent</p> <pre><code>stdout.println(mayBeString ? s | "no string") </code></pre> <p>while a single ? may be used to return immediately from the current feature in case of an error</p> <pre><code>stdout.println(mayBeString?) # return nil immediately if mayBeString is nil </code></pre> <p>which works only within a feature that may return the unhandled types as a result.</p> <h2>First-class Function</h2> <p>Another open generic type in the standard library is Function. This is a feature that declares an abstract inner feature <em>call</em>. Syntactic sugar in the Fuzion front-end enables inline declaration of functions as shown in this example:</p> <pre><code>fun_example is eval(msg string, f fun (i32) i32) is for x in 0..3 m := msg, ", " do y := f(x) stdout.print("" + m + "f(" + x + ") = " + y) stdout.println eval("f(x) = 2*x: ", fun (x i32) =&gt; 2*x) eval("f(x) = x*x: ", fun (x i32) =&gt; x*x) eval("f(x) = x*x*x: ", fun (x i32) =&gt; x*x*x) </code></pre> <p>which results in</p> <pre><code>f(x) = 2*x: f(0) = 0, f(1) = 2, f(2) = 4, f(3) = 6 f(x) = x*x: f(0) = 0, f(1) = 1, f(2) = 4, f(3) = 9 f(x) = x*x*x: f(0) = 0, f(1) = 1, f(2) = 8, f(3) = 27 </code></pre> <p>Internally, function declarations are implemented as inner features. Since a feature declaration defines a closure, a function declarations also defines the function closure.</p> <h2>Tuples</h2> <p>Tuples in Fuzion are provided by a generic standard library feature <em>Tuple</em>. The open list of generic parameters specifies the types of each element and their number.</p> <p>Here is an examples of a feature that splits a 32-bit unsigned integer <em>v</em> into four bytes returned as a tuple:</p> <pre><code>bytes(v u32) =&gt; ((v &gt;&gt; 24) , (v &gt;&gt; 16) &amp; 255, (v &gt;&gt; 8) &amp; 255, (v ) &amp; 255) </code></pre> <p>A caller might directly decompose this tuple when calling <em>bytes</em>:</p> <pre><code>(b0, b1, b2, b3) := bytes(1234567890) stdout.println("Bytes: " + b0 + " " + b1 + " " + b2 + " " + b3 + " ") </code></pre> <h1>References</h1> <p>By default, Fusion types have value semantics. This means that a value cannot be assigned to a field whose type is a parent type of the value's type. However, a value can be marked as a reference by adding the keyword <em>ref</em>. Then, any value of a heir type can be assigned to this field.</p> <p>An example is the argument of the <em>println</em> feature, which is a ref to an <em>Object</em>. Its implementation is shown here:</p> <pre><code>public println(s ref Object) void is for c in s.asString.asBytes do write(c) println </code></pre> <p><em>Object</em> is the implicit parent feature of all features that do not explicitly declare a parent. Consequently, any value can be assigned to the argument <em>s</em> of println.</p> <p>Object declares some basic features such as <em>asString</em>, which creates a <em>string</em> representation of the <em>Object</em>. Redefinitions of these functions in heir features such as <em>integer</em> provide useful string representations of the objects.</p> <p>Note that the <em>ref</em> keyword does not require that the implementation would allocate the value passed as a ref on the heap and it also does not imply that we will have dynamic type information and dynamic binding at run-time. Instead, these overheads can be avoided by stack allocation and specialization.</p> <h1>Design by Contract</h1> <p>Fuzion features can be equipped with pre- and post-conditions to formally document the requirements that must be met when a feature is called and the guarantees given by a feature. An example is a feature that implements a square root function:</p> <pre><code>sqrt(a i32) i32 pre a &gt;= 0 post result * result &lt;= a, (result + 1) &gt; a / (result + 1), result &gt;= 0 is if a == 0 0 else for last := 0, r r := 1, (last +^ a / last) / 2 until r == last </code></pre> <p>In this case, the function defines the pre-condition that its argument <em>a</em> is non-negative. A call of this function with a negative value will result in a run-time error. On the other hand, its post-conditions make a clear statement about the result: The result will be the largest value that, when squared, is &lt;= a.</p> <h2>Checking Pre- and Post-conditions</h2> <p>Pre- and post-conditions can be classified for different purposes. Default qualifiers provided in the standard library are</p> <ul> <li><p><em>safety</em></p> <p>This qualifier protects pre-conditions that are required for the safety of an operation.</p> <p>An example is the index check pre-condition of the intrinsic operation to access an element of an array: Not performing the index check would allow arbitrary memory accesses and typically would break the applications safety.</p> <p>This qualifier should therefore never be disabled unless you are running code in an environment where performance is essential and safety is irrelevant.</p></li> <li><p><em>debug</em></p> <p>This qualifier is generally for debugging, it is set iff debugging is enabled.</p></li> <li><p><em>debug(n)</em></p> <p>this qualifier is specific for enabling checks at a given debug level, where higher levels include more and more expensive checks.</p></li> <li><p><em>pedantic</em></p> <p>This qualifier is for conditions that a pedantic purist would require, that otherwise a more relaxed hacker would prefer to do without.</p></li> <li><p><em>analysis</em></p> <p>This is a qualifier for conditions that are generally not reasonable as run-time checks, either because they are prohibitively expensive or even not at all computable in this finite universe. These conditions may, however, be very useful for formal analysis tools that do not execute the code but perform techniques such as abstract interpretation or formal deduction to reason about the code.</p></li> </ul> <p>Run-time checks for pre- and post-conditions can be enabled or disabled for each of these qualifiers. This gives a fine-grain control over the kind of checks that are desired at run-time. Usually, one would always want to keep safety checks enabled in a system that processed data provided from the outside to avoid vulnerabilities such as buffer overflows. However, in a closed system like a rocket controller, it might make sense to disable checks since a run-time error would mean definite loss of the mission, while an unexpected intermediate value may still result in a useful final result of a calculation.</p> <h1>Immutability in Fuzion</h1> <p>Fuzion encourages the use of immutable data by simple syntax for the declaration of immutable fields. Also, the use of tail recursion for loops automatically converts index variables used in that loop into immutable variables with a life span of a single loop iteration.</p> <p>Since immutability is essential to ensure correctness of parallel execution within threads that do not rely on locks or similar synchronization mechanisms, Fuzion's analyser will require data that is shared between threads to be immutable.</p> <h1>Memory Management in Fuzion</h1> <p>Fuzion to a large extend relies on static analysis to reduce memory management overhead. Instances are by default value instances that do not require heap allocation. Furthermore, immutability in many cases avoids the need to keep a shared copy on the heap.</p> <p>For dynamic calls, heap allocation and dynamic binding overhead is avoided by specialization of calls.</p> <p>Only for those instances for which all of these optimizations would fail, in particular instances shared between threads or long-lived instances with mutable fields, heap allocation will be required.</p> <p>Memory allocated on the heap will be reclaimed by a real-time garbage collector, an example means to provide this is the real-time GC presented at <a href="https://dl.acm.org/doi/10.1145/1806651.1806654">ISMM'10: Concurrent, parallel, real-time garbage-collection</a>.</p> <h1>Type Inference</h1> <p>Fuzion is a statically types language. However, type inference is used to avoid the need to explicitly provide types for fields, for function results and for actual generic parameters. Furthermore, the type of constant numeric expression is propagated from target the expression's value is assigned to.</p> <p>For the type inference for fields and function results, a dedicated phase in Fuzion's front-end lazily determines the types of expressions. This phase also detects possible cycles in the type inferencing and flags these as errors if encountered.</p> <p>For interference of actual generic parameters, the types of actual arguments passed the the generic feature are used. This, however, works only for generic features that use the generic types within their formal argument lists.</p> <h1>Fuzion Implementation</h1> <p>The Fuzion implementation consists of several, independent parts from a front-end performing parsing and syntax-related tasks and creates the intermediate representation (IR), via a middle-end that collects the part of a Fuzion application, to the optimizer and several back-ends.</p> <h2>Fuzion IR</h2> <p>Fuzion has very simple intermediate representation. The dominant instruction is a feature call. The only control structure is a conditional (if) operation. Loops are replaced by tail recursive feature calls, so there is no need in the compiler or analysis tools to handle loops as long as (tail-) recursion is provided.</p> <p>The largest part of a compiler back-end consists of providing target-platform specific implementations for all intrinsic features declared in the Fuzion standard library.</p> <h2>Fuzion Optimizer</h2> <p>The Fuzion Optimizer modifies the intermediate representation of a Fuzion application. In particular, it determines the life spans of values to decide if they can be stack allocated or need to be heap allocated and it specializes feature implementations for the actual argument types and the actual generic arguments provided at each call.</p> <p>This means that run-time overhead for heap allocation and garbage collection will be avoided as much as possible, most values can be allocated on the run-time stack. Additionally, run-time type information such as vtables will be required only in very few cases where dynamic binding cannot be avoided. An example is a data structure like a list of some reference type with elements of different actual types that are stored in this list.</p> <h2>Fuzion Back-Ends</h2> <p>Fuzion currently has two back-ends: An interpreter written in Java running on OpenJDK and a back-end creating C source code processed by gcc or clang. It is planned to add further back-ends, in particular for LLVM and Java bytecode.</p> <h1>Next Steps</h1> <p>The Fuzion language definition and implementation is still in an early stage. It is planned to publish a first version of the language and its implementation at FOSDEM 2021. But a lot of work remains to be done, in particular, for Fuzion to be successful, it will need</p> <ul> <li>a powerful standard library</li> <li>additional library modules for all sorts of application needs</li> <li>powerful interfaces to other languages such as Java, C, Python, etc.</li> <li>highly optimizing back-ends</li> <li>IDE integration</li> <li>documentation, tutorials</li> <li>much more</li> </ul> <p>Also, professional services around Fuzion will be required for acceptance outside the open-source community. The Tokiwa SW GmbH currently leads the development of Fuzion and plans to provide professional services as well.</p></description> <persons> <person id="7627">Fridtjof Siebert</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fuzionlang/attachments/slides/4334/export/events/attachments/fuzionlang/slides/4334/fosdem_2021_fuzion_slides_1_50.pdf">The Fuzion Language</attachment> </attachments> <links> <link href="https://flang.dev">The Fuzion website</link> <link href="https://github.com/fridis/fuzion">Fuzion sources on GitHub</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/fuzionlang.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/fuzionlang.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11027.php">Submit feedback</link> </links> </event> <event id="11323"> <start>10:50</start> <duration>00:30</duration> <room>D.declarative.minimalistic</room> <slug>teallua</slug> <title>What's next for Teal, the typed dialect of Lua</title> <subtitle/> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>This talk is the third part in a trilogy of talks hosted at this devroom that chronicles the birth of Teal, a new programming language that is a typed dialect of Lua. In this talk I will present an update on Teal: we'll talk about the current status of the language and its nascent community, and look forward at what lies ahead for its future. We will discuss a bit about the recent evolution of the project, and where it can go from here while adding more power to the type checking while keeping the language simple.</p></abstract> <description><p>In Part 1, <a href="https://www.youtube.com/watch?v=OPyBQRndLUk">"Minimalism versus types"</a>, presented at FOSDEM 2019, we talked about the previous projects that aimed at producing typed variants of Lua, the challenges they faced, and the idea of trying again with a focus on minimalism and pragmatism.</p> <p>In Part 2, <a href="https://www.youtube.com/watch?v=HfnjUCRzRKU">"Minimalistic typed Lua is here"</a>, presented at FOSDEM 2020, I presented the progress of the project, with a compiler that is able to type check itself and compile itself into Lua code. At that point, the language was still called tl.</p> <p>Now in Part 3, the language has a name (<a href="http://teal-language.org">Teal</a>!), and a growing community. In "What's next for Teal", I will report on the advances we've made in the last year, and also address the elephant in the room: people keep asking for features, the language keeps growing, the type system has already made it more complicated than Lua, what about the minimalism? For that, we need to go full circle, revisit what minimalism means in the context of types, and how to approach it in a Lua-like way.</p></description> <persons> <person id="2352">Hisham Muhammad</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/teallua/attachments/slides/4326/export/events/attachments/teallua/slides/4326/Whats_Next_for_Teal.pdf"/> </attachments> <links> <link href="http://teal-language.org">Teal language</link> <link href="https://gitter.im/teal-language/community">Teal language community Gitter chat</link> <link href="https://archive.fosdem.org/2019/schedule/event/minimalismversustypes/">"Minimalism versus types" (FOSDEM 2019)</link> <link href="https://fosdem.org/2020/schedule/event/minimalistictypedlua/">"Minimalistic typed Lua is here" (FOSDEM 2020)</link> <link href="https://github.com/teal-language/tl">Teal compiler Github repository</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/teallua.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/teallua.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11323.php">Submit feedback</link> </links> </event> <event id="10962"> <start>11:20</start> <duration>00:30</duration> <room>D.declarative.minimalistic</room> <slug>lisprepl</slug> <title>A Lisp REPL as my main shell</title> <subtitle>The shell is dead, long live the REPL!</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>The popular but aging shells (Bash and the like) suffer from many design flaws: lack of structured data, pipes are hard-to-debug blackboxes, lack of interactivity, while the user interfaces are mostly poor and limiting. High time we moved on away from this cruft, starting with a top-notch interactive language boasting full-fledged introspection and debugging.</p></abstract> <description><p>For this experiment I've used Common Lisp and SLY, a Common Lisp REPL and development environment for Emacs.</p></description> <persons> <person id="7370">Pierre Neidhardt</person> </persons> <attachments> </attachments> <links> <link href="http://howardism.org/Technical/Emacs/piper-presentation-transcript.html">Death to the Shell</link> <link href="https://github.com/joaotavora/sly/">Sylvester the Cat's Common Lisp IDE</link> <link href="https://ambrevar.xyz/lisp-repl-shell/index.html">A Lisp REPL as my main shell (full article)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/lisprepl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/lisprepl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10962.php">Submit feedback</link> </links> </event> <event id="11029"> <start>11:50</start> <duration>00:15</duration> <room>D.declarative.minimalistic</room> <slug>gnumes</slug> <title>GNU Mes - the Full Source Bootstrap</title> <subtitle>Reproducibility is not enough: The missing link between stage0/M2-Planet and Mes</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Last year (FOSDEM'20) GNU Mes helped create a second reduction by 50% of the Guix bootstrap binaries, to about ~60MiB; 25% of its original size. This year we have removed the binary seeds for MesCC-Tool and GNU Mes and replace them with Stage0 and M2-Planet: the Full Source Bootstrap!</p></abstract> <description><p>Freedom of computing is what the free software movement is about, and it is becoming more important every day. Although "Open Source" has become quite popular, the underlying ideas of freedom and their importance are often overlooked or avoided. When we think about it, we know that we cannot expect to have free and democratic societies when the softwares we use are non-free and controlled by powerful "others".</p> <p>Freedom of computing does not end with free software, that is where it starts. Whilst anyone may inspect the source code for malicious flaws, most software is distributed pre-compiled with no method to confirm whether they correspond. The Reproducible Builds project aims to fix this by asserting that users should be given a way to recreate a close enough build environment, perform the build process, and validate that the output matches the original build. GNU Guix is a distribution that is being developed with such verification in mind and has it built-in.</p> <p>However, Reproducible Builds are also, not enough. We are thrilled that NlNet has acknowledged this by funding our work through the NGI0 PET fund. To get freedom of computing, we need bootstrappable builds, starting from a minimal binary seed; preferrably a full source bootstrap.</p></description> <persons> <person id="4111">Jan Nieuwenhuizen (janneke)</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gnumes/attachments/slides/4531/export/events/attachments/gnumes/slides/4531/gnu_mes_fosdem21.pdf">GNU Mes - the Full Source Bootstrap</attachment> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/gnumes/attachments/audio/4532/export/events/attachments/gnumes/audio/4532/gnu_mes_fosdem21.ogg">GNU Mes - the Full Source Bootstrap</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/gnumes/attachments/other/4533/export/events/attachments/gnumes/other/4533/transcript.text">GNU Mes - the Full Source Bootstrap</attachment> <attachment type="video" href="https://fosdem.org/2021/schedule/event/gnumes/attachments/video/4690/export/events/attachments/gnumes/video/4690/gnu_mes_fosdem21.mp4">GNU Mes - the Full Source Bootstrap</attachment> </attachments> <links> <link href="https://gnu.org/s/mes">GNU Mes</link> <link href="https://guix.gnu.org">GNU Guix</link> <link href="https://bootstrappable.org">Bootstrappable builds</link> <link href="https://reproducible-builds.org">Reproducible builds</link> <link href="https://live.fosdem.org/watch/ddeclarativeminimalistic">Live video stream from the room (during event)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/gnumes.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/gnumes.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11029.php">Submit feedback</link> </links> </event> <event id="11231"> <start>12:05</start> <duration>00:20</duration> <room>D.declarative.minimalistic</room> <slug>declarativeminimalistic</slug> <title>Declarative and Minimalistic Computing</title> <subtitle>The Why</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives. Declarative programming is the basis for functional programming, logic programming and dataflow.</p></abstract> <description><p>Declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives. Declarative programming is the basis for functional programming, logic programming and dataflow.</p></description> <persons> <person id="3219">Pjotr Prins</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/declarativeminimalistic.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/declarativeminimalistic.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11231.php">Submit feedback</link> </links> </event> <event id="11018"> <start>12:25</start> <duration>00:40</duration> <room>D.declarative.minimalistic</room> <slug>webassembly</slug> <title>Compiling to WebAssembly</title> <subtitle>Notes from the trenches</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>An introduction to compiling to WebAssembly, from a low-level perspective. Learn more about the nuts and bolts of targetting basic WebAssembly 1.0, as well as a look forward towards extensions that are still in development.</p></abstract> <description><p>Let Andy guide you through the general shape and the low-level details of WebAssembly as a compiler target. As a significant contributor to Firefox's WebAssembly implementation, Andy is in a good position to know what you can ship in practice, as well as what you might expect to be able to ship in a year or in two years. He has also written compilers that exercise more experimental features, such as integration with host garbage collectors, tail calls, and more. His experience working on the WebAssembly backend of LLVM has also been illuminating in ways not limited to compiling C and C++ programs.</p></description> <persons> <person id="446">Andy Wingo</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/webassembly/attachments/slides/4287/export/events/attachments/webassembly/slides/4287/fosdem_2021_compiling_to_webassembly_slides.pdf">Slides</attachment> </attachments> <links> <link href="https://github.com/wingo/compiling-to-webassembly">Supporting code</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/webassembly.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/webassembly.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11018.php">Submit feedback</link> </links> </event> <event id="11026"> <start>13:05</start> <duration>00:20</duration> <room>D.declarative.minimalistic</room> <slug>sexpressiondiff</slug> <title>Semantically meaningful S-expression diff</title> <subtitle>Tree-diff for lisp source code</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Lisp has a wonderful minimal syntax that almost directly expresses the abstract syntax tree. Yet, diff and other tooling operate on the unix newline ending model. When lisp prides itself for its minimal syntax---code is data---that is easy to parse, why can't we do better?</p> <p>Traditional diff implementations, such as GNU Diff, treat files as a flat list of lines. A tree-diff algorithm that can produce minimal and semantically meaningful output is a surprisingly more difficult and complex problem. In fact, for unordered trees, the problem is NP-hard.</p> <p>In this talk, I will demonstrate a very early working prototype of an S-expression diff program. The program can operate on two versions of some lisp source code and extract a meaningful tree-diff. The program aims to replace 'git diff' and related tools for lisp projects.</p></abstract> <description></description> <persons> <person id="7664">Arun Isaac</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sexpressiondiff/attachments/slides/4307/export/events/attachments/sexpressiondiff/slides/4307/sdiff_fosdem2021.pdf">Slides</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sexpressiondiff/attachments/slides/4308/export/events/attachments/sexpressiondiff/slides/4308/sdiff_fosdem2021.tex">Slides LaTeX source</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/sexpressiondiff/attachments/other/4309/export/events/attachments/sexpressiondiff/other/4309/sdiff_fosdem2021.tar.gz">sdiff source code</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/sexpressiondiff.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/sexpressiondiff.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11026.php">Submit feedback</link> </links> </event> <event id="11000"> <start>13:25</start> <duration>00:30</duration> <room>D.declarative.minimalistic</room> <slug>xllang</slug> <title>Making a simple language is complicated</title> <subtitle>Humans are so illogical</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>XL is a minimalistic, yet powerful programming language presented last year at FOSDEM. Keeping the language both simple and powerful is an extremely interesting challenge. In this talk, I will show problems that XL exposed over time, and contrast the solutions being proposed with what is common in mainstream programming languages.</p></abstract> <description><p>XL is a programming language with an homoiconic representation of programs using 8 node types. There is only one fundamental operator describing parse tree rewrites. This design allows this very minimalist language to read like a relatively normal programming language, while offering very powerful Lisp-like meta-programming capabilities.</p> <p>Unlike Lisp, however, the design of XL is guided by an approach called "concept programming", which focuses on the process of turning ideas into code. This means that it is a core objective to make the code "look like" and "behave like" the ideas it represents. But keeping things simple for us humans turns out to be extremely complicated for a computer.</p> <p>The purpose of this talk is to share some of the insights gained with XL, in the area of syntax, semantics and code generation, with the hope that it will be useful to people working on other languages as well. The discussion will be based on five simple examples:</p> <ol> <li>numbers, expressions, statements and other program structures</li> <li>minimum, maximum and other non-objects</li> <li>lists, arrays and other containers</li> <li>text formatting and other I/Os</li> <li>complex numbers and other data types</li> </ol> <p>In each case, we will deep-dive, starting with the limitations of mainstream languages and give examples of subtle bugs caused by these limitations. We will then explore the approach XL takes to solve some of these issues, which is often, comparatively, extremely simple and minimalist.</p></description> <persons> <person id="5672">Christophe de Dinechin</person> </persons> <attachments> </attachments> <links> <link href="https://c3d.github.io/xl">Current language reference document</link> <link href="https://tao3d.sourceforge.net">An interesting dialect of XL</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/xllang.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/xllang.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11000.php">Submit feedback</link> </links> </event> <event id="11034"> <start>13:55</start> <duration>00:55</duration> <room>D.declarative.minimalistic</room> <slug>gnuguix</slug> <title>Declaratively yours</title> <subtitle>Composing system abstractions with GNU Guix</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>GNU Guix is a software deployment tool that gives you what you declare. It provides abstractions to declare software packages, profiles containing several packages, operating systems and software services, and even fleets of machines.</p> <p>Guix saw its 1.2.0 release in November 2020. In this talk I will present some of the latest features added to Guix or still cooking, showing how they all follow the same declarative pattern and how that eases the assembly of complex software pieces.</p></abstract> <description></description> <persons> <person id="2003">Ludovic Courtès</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gnuguix/attachments/slides/4716/export/events/attachments/gnuguix/slides/4716/talk.pdf">Slides of the talk</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/gnuguix.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/gnuguix.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11034.php">Submit feedback</link> </links> </event> <event id="10993"> <start>14:50</start> <duration>00:25</duration> <room>D.declarative.minimalistic</room> <slug>minimalismguix</slug> <title>Is GNU Guix a minimal distribution, and what might that even mean?</title> <subtitle/> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Minimalism is a useful perspective in software projects, and this talk will explore how minimalism and the related concepts of scope, convergence and efficiency seem to apply to distributions. My current focus is GNU Guix, but in this talk I'll compare and contrast with other distributions as well.</p></abstract> <description></description> <persons> <person id="4783">Christopher Baines</person> </persons> <attachments> </attachments> <links> <link href="https://www.cbaines.net/projects/guix/fosdem-2021/presentation/">Slides</link> <link href="https://git.cbaines.net/guix/fosdem-2021-minimalism-presentation/">Git repository for slides</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/minimalismguix.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/minimalismguix.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10993.php">Submit feedback</link> </links> </event> <event id="11232"> <start>15:15</start> <duration>00:45</duration> <room>D.declarative.minimalistic</room> <slug>spritelygoblins</slug> <title>Spritely Goblins: a distributed journey</title> <subtitle/> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Spritely is a project to level up the federated social web. In order to do that, we need a distributed programming system! Spritely Goblins is just that. Currently written in Racket, and maybe soon ported to Guile, it's an actor model library which incorporates greats idea from the E programming language and object capability security communities.</p></abstract> <description><p>Spritely is a project to level up the federated social web. In order to do that, we need a distributed programming system! Spritely Goblins is just that. Currently written in Racket, and maybe soon ported to Guile, it's an actor model library which incorporates greats idea from the E programming language and object capability security communities.</p></description> <persons> <person id="1062">Christopher Webber</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/spritelygoblins.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/spritelygoblins.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11232.php">Submit feedback</link> </links> </event> <event id="11332"> <start>16:00</start> <duration>00:45</duration> <room>D.declarative.minimalistic</room> <slug>minimalkanren</slug> <title>miniKanren: a minimal declarative language for relational programming</title> <subtitle/> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>In this talk I will give an introduction to <em>miniKanren</em>, a minimal embedded domain-specific language for constraint logic programming. miniKanren is designed to support <em>relational programming</em>, in which all code is written as mathematical relations, with no distinction between inputs and outputs. miniKanren uses a complete interleaving search, combined with unification and other constraints, to solve for variables representing unknown values. In effect, every miniKanren query is a program synthesis problem.</p></abstract> <description><p>In this talk I will give an introduction to <em>miniKanren</em>, a minimal embedded domain-specific language for constraint logic programming. miniKanren is designed to support <em>relational programming</em>, in which all code is written as mathematical relations, with no distinction between inputs and outputs. miniKanren uses a complete interleaving search, combined with unification and other constraints, to solve for variables representing unknown values. In effect, every miniKanren query is a program synthesis problem.</p></description> <persons> <person id="7829">William Byrd</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/minimalkanren.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/minimalkanren.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11332.php">Submit feedback</link> </links> </event> <event id="10980"> <start>16:45</start> <duration>00:25</duration> <room>D.declarative.minimalistic</room> <slug>nyxtbrowser</slug> <title>Nyxt browser</title> <subtitle>configurable computing</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Nyxt is the configurable web browser. It transforms the relationship between software and user by granting the user the same power as the developers. The user is able to manipulate and modify Nyxt with all of the same tools. This shift necessitates a number of changes in how source code is developed. If all source code is modifiable, what is public API? How do we expose functionality to the end-user in such a way that they can easily make it their own?</p></abstract> <description></description> <persons> <person id="7638">John Mecouris</person> </persons> <attachments> </attachments> <links> <link href="https://nyxt.atlas.engineer">Nyxt browser website</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/nyxtbrowser.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/nyxtbrowser.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10980.php">Submit feedback</link> </links> </event> <event id="11299"> <start>17:10</start> <duration>00:20</duration> <room>D.declarative.minimalistic</room> <slug>minimalistdb</slug> <title>Ordered Key-Value Stores</title> <subtitle>A minimalist's database</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>One of the great strength of Scheme is how flexible it is to the extent where you feel at home whatever the Scheme, the system will adapt itself to your needs, making it possible to re-use your knowledge. The situation in the database space is more complicated. There is the SQL family of databases, but in so far the SQL standard is too limited. To be ready for every situation possible you need to re-invent yourself all the time, for each database system its idiosyncrasies. What about a database paradigm that builds upon existing knowledge, that you can re-use in many situations and program with your favorite Scheme?</p> <p>After brief note on database history, we will dive into what is a database, and how to choose one. Then we will look into the particular case of Ordered Key-Value Stores (OKVS), explain and demonstrate how with a single interface they cover a large palette of use-cases, and a glimpse of it: so called relational, text and geometric with the help of a new representation. At last, we will see what are the downsides, and try to answer the question: will Ordered Key-Value remain a tool of the experts?</p></abstract> <description></description> <persons> <person id="7807">Amirouche BOUBEKKI</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11299.php">Submit feedback</link> </links> </event> <event id="11334"> <start>17:30</start> <duration>00:30</duration> <room>D.declarative.minimalistic</room> <slug>nimdsl</slug> <title>Optimising for humans</title> <subtitle>Nim meta-programming for 0-cost abstraction on microcontrollers</subtitle> <track>Declarative and Minimalistic Computing</track> <type>devroom</type> <language/> <abstract><p>Nim is a statically typed language with a comprehensive meta-programming system. This makes it a really nice fit for micro-controllers, or otherwise hardware constrained environments (or to just use less resources in general). Based on my experiences with Nim and micro-controllers I'll dive into how meta-programming, DSLs, and Nims rich type system can be used to make nice readable code for micro-controllers without any added overhead compared to C. Both in terms of code-size, but also in terms of speed, in fact the code executed on the controller is pretty much the exact same thing, but with vastly improved ergonomics.</p></abstract> <description></description> <persons> <person id="5879">Peter Munch-Ellingsen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/nimdsl/attachments/slides/4269/export/events/attachments/nimdsl/slides/4269/presentation.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/nimdsl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.declarative.minimalistic/nimdsl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11334.php">Submit feedback</link> </links> </event> </room> <room name="D.dependency"> <event id="11725"> <start>10:00</start> <duration>00:45</duration> <room>D.dependency</room> <slug>software_ecosystems_as_networks</slug> <title>Software Ecosystems as Networks</title> <subtitle>Advances on the FASTEN project</subtitle> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>The goal of the EU project FASTEN is being able to perform a more sophisticated analysis of security-vulnerability propagation, licensing compliance, and dependency risk profiles (among others) by relying on the call-level dependency network of the whole software ecosystem. We outline the purpose and structure of the project, and present some preliminary results.</p></abstract> <description></description> <persons> <person id="8028">Paolo Boldi</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/software_ecosystems_as_networks/attachments/slides/4380/export/events/attachments/software_ecosystems_as_networks/slides/4380/slides.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.dependency/software_ecosystems_as_networks.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/software_ecosystems_as_networks.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11725.php">Submit feedback</link> </links> </event> <event id="11341"> <start>10:45</start> <duration>00:45</duration> <room>D.dependency</room> <slug>dep_depclean</slug> <title>DepClean: Automatically revealing bloated software dependencies in Maven projects</title> <subtitle/> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>The talk introduces DepClean, an open-source tool that we developed to automatically determine the presence of bloated dependencies in Maven artifacts. DepClean performs a deep static analysis of the dependency network and suggests direct and transitive dependencies to be removed or excluded. Given an application and its build file, DepClean collects the complete dependency tree (the list of dependencies declared in the pom.xml, as well as the transitive dependencies) and analyzes the bytecode of the artifact and all its dependencies to determine the presence of bloated dependencies. DepClean also generates a clean variant of the build file in which bloated dependencies are removed.</p></abstract> <description><p>This talk focuses on one specific type of software dependency: bloated dependencies. They are libraries that are packaged with the application's compiled code but that are actually not necessary to build and execute the application. In other words, they are libraries declared as dependencies in a build file, which can be removed from the file and the build still successfully passes. As a consequence of bloated dependencies, the binary file includes more code than necessary. An artificially large binary is an issue when the application is sent over the network (e.g., web applications) or it is deployed on small devices (e.g., embedded systems). In addition, bloated dependencies embed vulnerable code that can be exploited while being actually useless for the application. Overall, bloated dependencies needlessly increase the difficulty of managing and evolving software applications.</p> <p>We present our analysis of 9639 Java artifacts hosted on Maven Central, including 723444 dependency relationships. Our key result is as follows: 2,7% of the dependencies directly declared are bloated, 15,4% of the inherited dependencies are bloated, and 57% of the transitive dependencies of the studied artifacts are bloated. Based on these results, we distill and discuss two possible causes: the cascade of unwanted transitive dependencies induced by direct dependencies and the multi-module Maven projects' dependency heritage mechanism.</p> <p>Our qualitative assessment of DepClean involves 30 notable open-source projects. For each project, we used DepClean to generate a pom.xml file without bloated dependencies and submitted the changes as a pull request to the project. Notably, our work yielded 21 merged pull requests by open-source developers, and 140 bloated dependencies were removed. In summary, our results indicate that developers pay attention to their dependencies when they are notified of the problem, which stresses the need to engineer, i.e., analyze, maintain, and test POM files.</p></description> <persons> <person id="7823">César Soto Valero</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/castor-software/depclean">GitHub repo of DepClean</link> <link href="https://arxiv.org/abs/2001.07808">Companion paper</link> <link href="https://medium.com/@almyre/how-much-third-party-java-dependencies-do-you-really-need-45650180367a">Related blog post</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_depclean.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_depclean.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11341.php">Submit feedback</link> </links> </event> <event id="10967"> <start>11:30</start> <duration>00:45</duration> <room>D.dependency</room> <slug>dep_depending_packages_major_version_zero</slug> <title>Lost in Zero Space</title> <subtitle>Can we trust depending on packages with major version zero? </subtitle> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>When developing open source software end-user applications or reusable software packages, developers depend on software packages distributed through package managers such as npm, Packagist, Cargo, RubyGems. In addition to this, empirical evidence has shown that these package managers adhere to a large extent to semantic versioning principles. Packages that are still in major version zero are considered unstable according to semantic versioning, as some developers consider such packages as immature, still being under initial development.</p> <p>This presentation reports on large-scale empirical evidence on the use of dependencies towards 0.y.z versions in four different software package distributions: Cargo, npm, Packagist and RubyGems. We study to which extent packages get stuck in the zero version space, never crossing the psychological barrier of major version zero. We compare the effect of the policies and practices of package managers on this phenomenon. We do not reveal the results of our findings in this abstract yet, as it would spoil the fun of the presentation.</p></abstract> <description><p>This empirical study builds further on our earlier work, in which we have studied different kinds of dependency management issues in software package distributions.</p> <p>The current empirical evolutionary study is based on recent package management metadata of 1.5 million packages, totaling 12 million package releases and 56 million package dependencies. We analyse dependency version constraints to determine: * to which extent packages depend on 0.y.z releases of other packages; * whether packages with major version zero ever cross the psychological barrier of 1.0.0; * whether there is any reluctance to depend on 0.y.z packages; * whether dependency constraints are more permissive than what semantic versioning dictates for packages in major version zero.</p></description> <persons> <person id="6889">Tom Mens</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.dependency/dep_depending_packages_major_version_zero.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_depending_packages_major_version_zero.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10967.php">Submit feedback</link> </links> </event> <event id="11006"> <start>12:15</start> <duration>00:30</duration> <room>D.dependency</room> <slug>dep_early_warning_signs_for_open_source_breakages</slug> <title>Early warning signs for open source breakages</title> <subtitle>Using crowd feedback from dependency automation as an early warning indicator</subtitle> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>Despite best intentions, Open Source releases with regression errors are published every day. In the best case scenario, a downstream user detects it early thanks to good tests, files an issue, and the maintainer can fix it before too many people have upgraded. Other scenarios involve various degrees of brokenness and games of "is it broken for everyone or just me?".</p> <p>Renovate Bot is an open source dependency automation tool but which also is run as a free app on github.com, where it is installed into almost 200,000 repositories. A feature called "Merge Confidence" helps downstream users know if a release is likely good or not based on automatically sourced crowd data (tests, deployments, rollbacks). Now we are planning to turn the focus upstream to help open source maintainers get an early indication of accidentally breaking releases and even provide a mechanism for downstream users to opt into silent pre-release testing so that major features can be smoke tested downstream before release.</p></abstract> <description></description> <persons> <person id="7639">Rhys Arkins</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.dependency/dep_early_warning_signs_for_open_source_breakages.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_early_warning_signs_for_open_source_breakages.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11006.php">Submit feedback</link> </links> </event> <event id="11146"> <start>12:45</start> <duration>00:40</duration> <room>D.dependency</room> <slug>dep_as_strong_as_the_weakest_link</slug> <title>As Strong as the Weakest Link</title> <subtitle>Securing the Software Supply Chain</subtitle> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>The Solarwinds breach at the end of 2020 is an event that we won't truly understand the breadth and depth of for some time - if ever. But already, several discussions we've been having in the abstract for years have become very concrete. Firstly, the systems we use to develop, code, build and deploy our code are all essential production systems - and should be treated as such. And second, securing the software supply chain is one of the most underrated aspects of security and is often overlooked.</p></abstract> <description><p>All software today is built with dependencies. The vast availability of incredible open source tooling has allowed all of us to stand on the shoulders of giants and build software better and faster than we could have ever dreamed, even 5 or 10 years ago. However, a discussion of these dependencies - both explicit and transient - as links in the software supply "chain" couldn't be more accurate. And the truth is, a chain is only as strong as its weakest link.</p> <p>In this talk, we'll examine what is known of the complexities and sophisticated tradecraft from the Solarwinds / Sunburst attack. But perhaps more importantly, we'll delve into the simple, practical security measures that were missed, allowing the attack to get a foothold in the first place.</p></description> <persons> <person id="7714">Brendan O'Leary</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.dependency/dep_as_strong_as_the_weakest_link.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_as_strong_as_the_weakest_link.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11146.php">Submit feedback</link> </links> </event> <event id="11249"> <start>13:25</start> <duration>00:50</duration> <room>D.dependency</room> <slug>dep_reusing_dependencies_across_ecosystems</slug> <title>Reusing dependencies across ecosystems: what stands in the way?</title> <subtitle/> <track>Dependency Management</track> <type>devroom</type> <language/> <abstract><p>Every software ecosystem seems to have a package manager these days, but reusing software <em>across</em> these ecosystems is still a challenge. Major Linux distributions package software from a wide range of languages, but they restrict the versions you can install, and they make deep assumptions about compilers and runtime libraries to keep everything compatible. If you need a newer libc or a newer Python than the OS offers, you're often on your own. Python packaging supports native libraries, but it imposes strict rules on package builders to ensure that the binaries work in many places. Some packagers break the rules, e.g., TensorFlow binary packages (wheels) will only work on Ubuntu, frustrating users of other distributions. Containers provide some hope, but only if you stay inside their sandbox. If you your container to talk to a fast network or a GPU, you'll need to ensure binary compatibility between the container and the host OS. Is every ecosystem a walled garden or can we make it easier to bridge the gap?</p> <p>This talk takes a deeper look at the Application Binary Interface (ABI) and its place at the heart of nearly every software ecosystem. We'll look at the assumptions made by modern dependency management systems about toolchains and ABI. Most tools assume that toolchains and ABI are fixed, making it hard to take a package from one ecosystem and transplant it in another. We'll talk about how we can build dependency managers that can <em>reason</em> better about ABI compatibility, making decisions not just about which software versions to install but also about how those software versions should be built. We'll look at the types of metadata that need to be managed to enable a more flexible software environment, and how it affects the complexity of dependency resolution. Finally, we'll look at how some of these issues are being addressed in Spack, an open source package manager for high performance computing applications, which can span multiple languages, compilers, platforms, and software stacks.</p></abstract> <description></description> <persons> <person id="4884">Todd Gamblin</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/dep_reusing_dependencies_across_ecosystems/attachments/slides/4406/export/events/attachments/dep_reusing_dependencies_across_ecosystems/slides/4406/fosdem_reusing_dependencies.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.dependency/dep_reusing_dependencies_across_ecosystems.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.dependency/dep_reusing_dependencies_across_ecosystems.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11249.php">Submit feedback</link> </links> </event> </room> <room name="D.design"> <event id="11470"> <start>13:00</start> <duration>00:20</duration> <room>D.design</room> <slug>ways_to_contribute_to_os_projects_without_writing_lines_of_code</slug> <title>Ways to Contribute to OS Projects Without Writing Line(s) of Code</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>A common misconception about contributing to open source is that you need to write code. In fact, it’s often the other parts of a project that are in urgent need of assistance. There are other ways of helping an open source project which include</p> <p>1.Writing documentation, 2.Identifying bugs, 3.Testing code, 4.Answering queries from users, 5.Moderate/organize events, 6.User Interface &amp; User Experience Design 7.Making a monetary donation, 8.Advocacy.</p></abstract> <description></description> <persons> <person id="7858">Sixtus Chizaram Isaac</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ways_to_contribute_to_os_projects_without_writing_lines_of_code/attachments/slides/4238/export/events/attachments/ways_to_contribute_to_os_projects_without_writing_lines_of_code/slides/4238/Ways_to_Contribute_to_OS_Projects_Without_Writing_Line_s_of_Code_by_Isaac_Sixtus_Chizaram">Ways to Contribute to OS Projects Without Writing Line(s) of Code.</attachment> </attachments> <links> <link href="https://app.pitch.com/app/presentation/c3fd78de-460d-4d13-a221-e0566de7816b/6a7748aa-7fb1-4e9e-8823-7ce9c93bf672">Talk Slide</link> <link href="https://video.fosdem.org/2021/D.design/ways_to_contribute_to_os_projects_without_writing_lines_of_code.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/ways_to_contribute_to_os_projects_without_writing_lines_of_code.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11470.php">Submit feedback</link> </links> </event> <event id="11443"> <start>13:30</start> <duration>00:20</duration> <room>D.design</room> <slug>community_accessible_eeg_monitoring_of_the_users_mental_state_in_the_ux_ui_research</slug> <title>Community-accessible EEG monitoring of the user's mental state in the UX/UI research</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Estimating the user's mental state with a set of special measuring devices can be helpful in detecting bottlenecks of the human-computer interaction. Until recent years, electroencephalography devices were too expensive and too complicated for most UX researchers, but now there are affordable consumer-grade EEG devices.</p> <p>The talk covers EEG headsets produced by NeuroSky and Emotiv, as well as the open hardware OpenBCI project. Each headset has its advantages and disadvantages for UI/UX research. Specifics of data that can be acquired from each headset is reviewed, and existing open-source tools and libraries to get these data are discussed. The talk explains how we can use EEG headsets to evaluate mind concentration and relaxation, as well as rejection and arousal factors, which can be used to detect positive and negative emotions. EEG usage scenarios are discussed with examples of the FLOSS projects exposed to such UI testing.</p></abstract> <description><p>Estimating the user's mental state with a set of special measuring devices can be helpful in detecting bottlenecks of the human-computer interaction. Until recent years, electroencephalography devices were too expensive and too complicated for most UX researchers, but now there are affordable consumer-grade EEG devices.</p> <p>The talk covers EEG headsets produced by NeuroSky and Emotiv, as well as the open hardware OpenBCI project. Each headset has its advantages and disadvantages for UI/UX research. Commercial devices have different primary goals complicating their usage for research with cyphering, special licenses and limitations in the vendor-provided proprietary SDKs - but open-source tools developed by the community improve the situation. OpenBCI is quite the opposite: it is fully open, but much harder to obtain/build.</p> <p>Specifics of data that can be acquired from each headset is reviewed, and existing open-source tools and libraries to get these data are discussed. The talk explains how we can use each headset to get information about the user's mental state. Mind concentration or relaxation is a highly informative parameter for UX; it can be easily evaluated and it can be obtained with any of the EEG headsets. Besides that, most of the reviewed devices provide enough data to measure rejection and arousal factors, which can be used to detect positive and negative emotions. Finally, EEG usage scenarios with examples of the FLOSS projects exposed to such UI testing are discussed.</p></description> <persons> <person id="6726">Dmitriy Kostiuk</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/community_accessible_eeg_monitoring_of_the_users_mental_state_in_the_ux_ui_research/attachments/slides/4563/export/events/attachments/community_accessible_eeg_monitoring_of_the_users_mental_state_in_the_ux_ui_research/slides/4563/kda_eeg_fosdem_2021_bis1.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/community_accessible_eeg_monitoring_of_the_users_mental_state_in_the_ux_ui_research.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/community_accessible_eeg_monitoring_of_the_users_mental_state_in_the_ux_ui_research.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11443.php">Submit feedback</link> </links> </event> <event id="11266"> <start>14:00</start> <duration>00:20</duration> <room>D.design</room> <slug>latest_tech_great_accessibility_not_so_much</slug> <title>Latest tech, great! Accessibility, not so much.</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>All over the FOSS world, we see that out of thousands of issues and pull requests, very few of them tackle accessibility issues. And this is mostly due to a lack of knowledge on the subject, and a fear that it’s too hard to implement these changes. When we say “accessibility,” we immediately think of vision impairment, but being able to use a product with just your keyboard is also an accessibility feature.</p></abstract> <description><p>It’s 2021 and we talk about providing equal opportunities everywhere in tech, but so often we disregard our own users or community. We have this idea that accessibility issues can be postponed and fixed later, as they don’t affect the vast majority of our users.</p> <p>But is that true?</p> <p>One billion people experience some sort of disability. At least 10% of the adult population has a vision impairment. And those are just numbers for people who have been tested and suffer from a long-term disability.</p> <p>By creating accessible products you can... * Improve the experience for all your users * Increase your user or community base * Cater to clients whose businesses have a mandatory accessibility requirement for the software that they use * Potentially expose areas in UI or user flow that need improvement</p> <p>In this talk, following a real-life example, you’ll learn how to check where your project stands today and what steps you can take to make it more accessible, even with the help of your community.</p></description> <persons> <person id="7540">Oana Mangiurea</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/latest_tech_great_accessibility_not_so_much/attachments/slides/4302/export/events/attachments/latest_tech_great_accessibility_not_so_much/slides/4302/Accessibility_Fosdem_2021.pdf">Accessibility presentation slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/latest_tech_great_accessibility_not_so_much.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/latest_tech_great_accessibility_not_so_much.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11266.php">Submit feedback</link> </links> </event> <event id="11445"> <start>14:30</start> <duration>00:20</duration> <room>D.design</room> <slug>osh_communication_kit</slug> <title>OSH Communication Kit</title> <subtitle>Conversation starters for the Deaf and the Hearing </subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Deaf Culture and Hearing Culture, both have established ways of communicating among each other. When you want to mix and mingle, members of both groups need to find new shared channels. We present design considerations leading to our playful prototypes, serving as icebreakers and dialog starters. We rely on open source software to create open source hardware.</p></abstract> <description></description> <persons> <person id="7874">Daniel Wessolek</person> </persons> <attachments> </attachments> <links> <link href="http://dialogstarter.de/">dialogstarter</link> <link href="https://www.careables.org/">Careables</link> <link href="https://video.fosdem.org/2021/D.design/osh_communication_kit.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/osh_communication_kit.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11445.php">Submit feedback</link> </links> </event> <event id="10916"> <start>15:00</start> <duration>00:20</duration> <room>D.design</room> <slug>own_your_healthcare_experience_an_open_source_path</slug> <title>Own Your Healthcare Experience: An Open Source Path</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>We demand that patients own their data. We demand that healthcare services are open source. Because healthcare is too important to be closed.</p></abstract> <description><p>We are getting screwed.</p> <p>We’re dying younger,</p> <p>maternal mortality is ticking up,</p> <p>and big money is running healthcare,</p> <p>at our expense.</p> <p>The data that drive our care,</p> <p>the algorithms that dictates our parents care, our neighborhood’s care, our nation’s care,</p> <p>and the everyday services we rely on,</p> <p>feed on our experiences,</p> <p>are governed by black boxes and crooked biases,</p> <p>and are owned by others.</p> <p>It’s our health.</p> <p>Our very lives are at stake.</p> <p>We demand that patients own their data.</p> <p>We demand that healthcare services are open source.</p> <p>Because healthcare is too important to be closed.</p> <p>See how we, the atomic units of the health system,</p> <p>can bend it back to the light.</p></description> <persons> <person id="6368">Juhan Sonin</person> </persons> <attachments> </attachments> <links> <link href="https://www.dropbox.com/s/d56dsjm05wq6mkz/OS_Healthcare_25min_9Dec20_FOSDEM21_Sonin.pdf?dl=0">Draft Slides</link> <link href="https://video.fosdem.org/2021/D.design/own_your_healthcare_experience_an_open_source_path.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/own_your_healthcare_experience_an_open_source_path.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10916.php">Submit feedback</link> </links> </event> <event id="10918"> <start>15:30</start> <duration>00:20</duration> <room>D.design</room> <slug>penpot_design_freedom_for_teams</slug> <title>Penpot, design freedom for teams</title> <subtitle>One FOSDEM and one pandemic after we're excited to announce that Penpot Alpha release will be launched February 2nd!</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Penpot (formerly UXBOX) is an Open Source online design &amp; prototyping platform with the aim of bringing the whole team to the design process. Penpot is multiplatform (web based) and based on open standards (SVG). The platform provides a set of tools meant not only for designers but also for developers and stakeholders. Design, prototype, feedback system, handoff specifications and low-code among them.</p> <p>We will share our vision, Penpot’s current state and our next challenges about the project. We will also perform a demo and hope to contribute to the already open channel between FOSS and Design.</p></abstract> <description></description> <persons> <person id="7009">Pablo Ruiz-Múzquiz</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/penpot_design_freedom_for_teams.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/penpot_design_freedom_for_teams.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10918.php">Submit feedback</link> </links> </event> <event id="11437"> <start>16:00</start> <duration>00:20</duration> <room>D.design</room> <slug>the_open_source_designers_toolbox</slug> <title>The Open Source Designer's ToolBox</title> <subtitle>Recommended Techniques and Tools for Open Source Designers</subtitle> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>As designers get introduced to FOSS, what should they know? What techniques and tools would they need, and why? This talk will explore a recommended guide to developing a productive open source design workflow.</p></abstract> <description></description> <persons> <person id="7869">Abigail Makolo</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/the_open_source_designers_toolbox/attachments/slides/4730/export/events/attachments/the_open_source_designers_toolbox/slides/4730/The_Open_Source_Designers_ToolBox_Abigail_Makolo_OS_Design_Devroom_FOSDEM2021">Talk Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/the_open_source_designers_toolbox.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/the_open_source_designers_toolbox.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11437.php">Submit feedback</link> </links> </event> <event id="11397"> <start>16:30</start> <duration>00:20</duration> <room>D.design</room> <slug>the_user_in_the_cultures_of_ux_design_and_open_source</slug> <title>The user in the cultures of UX design and open source</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>Collaborations between open source projects and designers are difficult. Instead of focussing on a lack of tools or skills, I want to show that the difficulties are also rooted in different views on what makes a "good" user and a desireable mode of collaboration. Open Source projects, prototypically, focus on the developer/user who scratches an own itch and coordinates in an stigmergic, bazaar-like way, while design usually focusses on expertise in designing for others and a plan/execution model instead. While no easy fix can resolve these differences, I want to suggest some ways to ease communication for developers and designers.</p></abstract> <description></description> <persons> <person id="7845">Jan Dittrich</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/the_user_in_the_cultures_of_ux_design_and_open_source/attachments/slides/4421/export/events/attachments/the_user_in_the_cultures_of_ux_design_and_open_source/slides/4421/The_user_in_the_cultures_of_UX_design_and_open_source">The user in the cultures of UX design and open source</attachment> </attachments> <links> <link href="https://www.fordes.de/posts/CulturesUXOpenSource.html">summary of the argument</link> <link href="https://video.fosdem.org/2021/D.design/the_user_in_the_cultures_of_ux_design_and_open_source.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/the_user_in_the_cultures_of_ux_design_and_open_source.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11397.php">Submit feedback</link> </links> </event> <event id="11626"> <start>17:00</start> <duration>00:20</duration> <room>D.design</room> <slug>pitch_your_project</slug> <title>Pitch your project</title> <subtitle/> <track>Open Source Design</track> <type>devroom</type> <language/> <abstract><p>In this session, FOSS projects as given time to present and ask for contributions to the designers in the room. Each project is given 2 minutes to present. In those 2 minutes, they should briefly introduce the project, explain what design help they need, and provide contact details so designers can reach them after FOSDEM.</p> <p>The Open Source Design collective will use the information to submit a "job" for each project to the Open Source Design "jobs board" (https://opensourcedesign.net/jobs/), so that the request for design help reaches not just the designers in the room, but also the wider design community.</p></abstract> <description></description> <persons> <person id="2363">Bernard Tyers</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.design/pitch_your_project.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.design/pitch_your_project.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11626.php">Submit feedback</link> </links> </event> </room> <room name="D.distributions"> </room> <room name="D.docs"> <event id="11877"> <start>12:30</start> <duration>01:00</duration> <room>D.docs</room> <slug>ttd_brunch</slug> <title>Tool the Docs Brunch</title> <subtitle>Let's meet for brunch before the track starts</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>We can't have our normal brunch this year, so let's all meet before the talks start and enjoy… Well, whatever we want too :)</p></abstract> <description><p>We can't have our normal brunch this year, so let's all meet before the talks start and enjoy… Well, whatever we want too :)</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11877.php">Submit feedback</link> </links> </event> <event id="11627"> <start>13:30</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdgitfreedocs</slug> <title>Make Git-free contributions a reality</title> <subtitle>(for your Docs as Code project)</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>Learn about the missing ingredient from your Docs-as-Code recipe, a headless CMS (Content Management System). Let's understand the problems writers face and how adding a CMS to your Docs toolchain helps solve (some of) them. We'll look at a sample docs-as-code repository and then add a CMS to the mix. We'll then go through authoring new topics and editing existing docs with our CMS (Look ma, no Git).</p></abstract> <description><p>There's no doubt that the docs-as-code approach for documentation provides a robust workflow, offers immediate product evaluation, and allows you to easily track and revert changes along with many other benefits. However, it also involves other meta tasks such as dealing with Git workflow and managing repositories. There might be times when you need inputs from folks from different departments who don't know Git or don't have access to the platform on which you're hosting your docs repository. For such cases, extending your docs-as-code project by adding a Content Management System (CMS) is surprisingly helpful.</p> <p>Having a CMS allows you to create and edit your documentation right from the browser. It's like WordPress for your documentation project. There are many open-source CMS's available, but this talk focuses on a particular CMS that fits best for managing documentation projects. You begin by installing the CMS in your documentation project (or using the pre-baked starter template). Afterward, you configure the CMS and creates forms that map to your content structure. People can then create new content from the browser, which automatically gets converted to a new pull request in your docs repository.</p></description> <persons> <person id="7812">Gaurav Nelson</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.docs/ttdgitfreedocs.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdgitfreedocs.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11627.php">Submit feedback</link> </links> </event> <event id="10963"> <start>14:00</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttddocusaurus</slug> <title>Taming the 'Saurus</title> <subtitle>My experiments with the Docusaurus</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>Originally having been developed for the open source projects at Facebook, Docusaurus now serves as an easy-to-use tool across many open-source projects. Having worked with it on the Google Season of Docs for transforming Rucio's documentation (http://rucio.cern.ch/documentation/) &amp; as the SIG DOCS lead for LitmusChaos, this talk is an exposition of my experiences with the static site generator. I hope to benefit others looking at migrating to/using this tool with the contents.</p></abstract> <description></description> <persons> <person id="7611">Divya Mohan</person> </persons> <attachments> </attachments> <links> <link href="http://rucio.cern.ch/documentation/">Website worked on as part of Google Season of Docs</link> <link href="https://docs.litmuschaos.io/docs/getstarted/">Website for LitmusChaos</link> <link href="https://drive.google.com/file/d/14UUR6lOZ38t2uNMSABXd9lucRr5OPqV7/view?usp=sharing">Links to the slide in PDF format</link> <link href="https://video.fosdem.org/2021/D.docs/ttddocusaurus.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttddocusaurus.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10963.php">Submit feedback</link> </links> </event> <event id="11265"> <start>14:30</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttddoctoolchain</slug> <title>Docs-as-Code with AsciiDoc & docToolchain</title> <subtitle>A journey to the limits</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>The combination of AsciiDoc and Gradle should be well known by now. But what if you want to go beyond? Have you ever tried to include UML diagrams the easy way, convert Excel to AsciiDoc or export your results to Confluence? This talk shows you what you can really do if you treat your docs as code and apply some tricks you only did to your code before. Forget about copy &amp; paste your images to your documentation – let the build do it! Create different docs for different stakeholders and even run automated tests on your docs!</p></abstract> <description><p>In this talk, Ralf will give an short overview of the open source documentation tool chain "docToolchain". He will open up the Docs-as-Code solution space with some new and fresh ideas and show where the Docs-as-Code approach is heading to.</p> <p>As the maintainer of the open source tool called "docToolchain", Ralf tries to push the Docs-as-Code approach further to its limits. Every new idea finds its place in the docToolchain. It is by now a collection of quite helpful tasks of your every day documentation needs.</p> <p>This talk assumes that you already know about the <a href="https://www.writethedocs.org/guide/docs-as-code/">docs-as-code</a> approach and <a href="https://asciidoctor.org/">AsciiDoc</a>.</p> <p>docToolchain itself uses jBake to create a webpage but it will also play nicely together with Antora which is shown in the talk "<a href="https://fosdem.org/2021/schedule/event/ttdasciidocantora/">Creating a documentation site for users with AsciiDoc and Antora</a>" by Alexander Schwartz at 15:00.</p> <p>AsciiDoc can be converted out of the box to docBook. So I assume that most tools shown can be combined with approaches shown in the talk "<a href="https://fosdem.org/2021/schedule/event/ttdpostgresdocbook/">20 years with DocBook</a>" at 16:00.</p></description> <persons> <person id="7787">Ralf Müller</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ttddoctoolchain/attachments/slides/4580/export/events/attachments/ttddoctoolchain/slides/4580/docToolchain_Slides_FOSDEM.pdf">Slides</attachment> </attachments> <links> <link href="https://doctoolchain.github.io/docToolchain/">docToolchain</link> <link href="https://twitter.com/RalfDMueller">Ralf D. Müller on Twitter</link> <link href="https://twitter.com/docToolchain">docToolchain on Twitter</link> <link href="https://video.fosdem.org/2021/D.docs/ttddoctoolchain.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttddoctoolchain.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11265.php">Submit feedback</link> </links> </event> <event id="11155"> <start>15:00</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdasciidocantora</slug> <title>Creating a documentation site for users with AsciiDoc and Antora</title> <subtitle/> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>The tool Antora creates documentation websites from AsciiDoc sources stored in Git repositories. Users can browse the generated website and select the version matching the software they use. Navigation outlines, search and cross-references between pages allow users to find answers to their questions. Several open-source software projects like Camel, Debezium and Couchbase use this solution.</p></abstract> <description><p>For developers it is normal to develop software in collaboration using their IDE and a version control system like Git. The same type of collaboration is possible when all documentation is versioned in a markup-format like AsciiDoc.</p> <p>This talk presents the basics of an Antora setup and walks through all the steps from editing content in the IDE to updating the documentation site using continuous integration and delivery.</p> <p>Links:</p> <ul> <li><a href="https://antora.org/">https://antora.org/</a></li> </ul> <p>Sample Documentation created with Antora:</p> <ul> <li><a href="https://docs.antora.org/">https://docs.antora.org/</a></li> <li><a href="https://debezium.io/documentation/reference/index.html">https://debezium.io/documentation/reference/index.html</a></li> <li><a href="https://intellij-asciidoc-plugin.ahus1.de/docs/users-guide/index.html">https://intellij-asciidoc-plugin.ahus1.de/docs/users-guide/index.html</a></li> </ul> </description> <persons> <person id="3040">Alexander Schwartz</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ttdasciidocantora/attachments/slides/4568/export/events/attachments/ttdasciidocantora/slides/4568/2021_02_07_documentation_site_for_users_asciidoc_antora_fosdem.pdf">Creating a documentation site for users with AsciiDoc and Antora</attachment> </attachments> <links> <link href="https://antora.org/">Antora</link> <link href="https://www.ahus1.de/post/documentation-site-antora">Recording and Slides</link> <link href="https://video.fosdem.org/2021/D.docs/ttdasciidocantora.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdasciidocantora.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11155.php">Submit feedback</link> </links> </event> <event id="10927"> <start>15:30</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdstation</slug> <title>On The Fast Track to Station</title> <subtitle>The Transformation of a Docs Portal Into a Docs Platform Tool</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>In 2017 Nexmo (now Vonage) launched their first documentation portal as a Ruby on Rails site. Fast forward more than 3 years and the Vonage API Developer is now running on a custom-built open-source tool we call Station. Station powers multiple documentation portals, and allows us to achieve numerous organizational goals.</p> <p>How did we arrive at Station and not get derailed in the process?</p> <p>In this talk, we will take a deep dive into the technical journey behind Station. What does the tech stack look like? How did we solve some serious technical challenges converting a Ruby on Rails website into an executable tool, and what did we learn along the way?</p> <p>We haven't reached the end of the line in the evolution of Station yet, and we will discuss what stops are next in the journey. In the dialectic between being feature-rich and being overly complex and complicated, Station presents a model forward. Let's explore that model together.</p></abstract> <description></description> <persons> <person id="6707">Ben Greenberg</person> </persons> <attachments> </attachments> <links> <link href="https://noti.st/benhayehudi/7EZkTD/on-the-fast-track-to-station">Slide Deck PDF</link> <link href="https://video.fosdem.org/2021/D.docs/ttdstation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdstation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10927.php">Submit feedback</link> </links> </event> <event id="11295"> <start>16:00</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdpostgresdocbook</slug> <title>20 years with DocBook</title> <subtitle>Experiences from the PostgreSQL project</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>PostgreSQL has been maintaining its documentation in DocBook for over twenty years. It's been successful but not without challenges. PostgreSQL is often praised for its excellent documentation, and PostgreSQL is also often criticized for its hard-to-approach documentation.</p></abstract> <description><p>Maintaining documentation for a project such as PostgreSQL comes with a number of challenges. There are many challenges writing good documentation, but in this talk we'll focus on the tooling. First, the documentation is quite big: In a printable format it is over 2000 pages. This pushes many build tools beyond their limits. And of course we also want documentation builds to finish in a reasonable time. Second, we need tooling longevity and portability. Database server software is long-running software. We still need to be able to patch and rebuild everything many years from now. In the world of writing and publishing tools, there is often a new idea every few years with many dependencies and no long-term track record, which makes it difficult for us to adopt things like that. It took us many years to get just a few graphics into the documentation because the tooling issues were too overwhelming.</p> <p>DocBook has been good to us, but there have been plenty of struggles along the way, and there are some concerns about the future.</p></description> <persons> <person id="7734">Peter Eisentraut</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ttdpostgresdocbook/attachments/slides/4526/export/events/attachments/ttdpostgresdocbook/slides/4526/20_years_with_DocBook.pdf">slides</attachment> </attachments> <links> <link href="https://www.postgresql.org/docs/current/index.html">PostgreSQL documentation</link> <link href="https://www.postgresql.org/docs/current/docguide.html">PostgreSQL documentation about the documentation</link> <link href="https://github.com/postgres/postgres/tree/master/doc/src/sgml">PostgreSQL documentation source code</link> <link href="https://docbook.org/">DocBook</link> <link href="https://docbook.org/tools/">DocBook Stylesheets</link> <link href="https://video.fosdem.org/2021/D.docs/ttdpostgresdocbook.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdpostgresdocbook.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11295.php">Submit feedback</link> </links> </event> <event id="10906"> <start>16:30</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdlinkcheck</slug> <title>Check your links with the Link Check suite</title> <subtitle>Benefits of using Markdown Link Check and related tools</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p><a href="https://github.com/tcort/markdown-link-check">Thomas Cort link checking suite</a> is Node.js software to make the checking of links in documentation sites (and not only doc) easy and efficient. It can be used as a standalone or in a CI process. It's configurable and of course as an open source project, you can customise and participate by pushing Pull Requests. As one of the maintainers of this tool suite, I will provide an overview of the link checking process as well as a tour of the reasons why you should care about your links and a demo of how this specific tool works.</p></abstract> <description><p>The specific following points will be discussed:</p> <ul> <li>Why you should check your doc links and why it matters from a freedom point of view.</li> <li>How to use Markdown Link Check (demo)</li> <li>What are your options to test with Markdown Link Check: run it locally on Node.js (demo), Docker, CI jobs (demo), Github Action...</li> <li>How to get involved in Markdown Link Check project.</li> </ul> </description> <persons> <person id="5866">Nicolas Massart</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ttdlinkcheck/attachments/slides/4538/export/events/attachments/ttdlinkcheck/slides/4538/FOSDEM2021_check_links.pdf">Check your links talk slides</attachment> </attachments> <links> <link href="https://github.com/tcort/markdown-link-check">markdown-link-check</link> <link href="https://github.com/tcort/link-check">link-check</link> <link href="https://github.com/tcort/markdown-link-extractor">markdown-link-extractor</link> <link href="https://circleci.com/">Circle CI</link> <link href="https://github.com/gaurav-nelson/github-action-markdown-link-check">markdown-link-check Github action</link> <link href="https://github.com/nvuillam/mega-linter/">Mega Linter</link> <link href="https://github.com/ConsenSys/doc.tessera">Tessera doc project used for the demo</link> <link href="https://video.fosdem.org/2021/D.docs/ttdlinkcheck.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdlinkcheck.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10906.php">Submit feedback</link> </links> </event> <event id="11271"> <start>17:00</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttdterraform</slug> <title>Automate IaC documentations with terraform-docs</title> <subtitle>Introduction to terraform-docs and a showcase of a real world example</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>Let's face it: our documentations are more often than not at least one step behind our implementations. This becomes a problem when it prevents our users from effectively using what we produce as developers. In this talk, you will learn from its maintainers an in depth introduction of terraform-docs, how users apply the tool to automate the documentation of Terraform modules to always keep implementation and documentation consistent whenever a part of their code changes. You will also get to know about more possibilities, such as the automated rendering of Jenkins pipelines to execute Terraform code using the same tool.</p></abstract> <description></description> <persons> <person id="7792">Martin Etmajer</person> <person id="7797">Khosrow Moossavi</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/ttdterraform/attachments/slides/4567/export/events/attachments/ttdterraform/slides/4567/terraform_docs_FOSDEM21_pdfterraform_docs_FOSDEM21.pdf">IaC documentation automation with terraform-docs</attachment> </attachments> <links> <link href="https://github.com/terraform-docs/terraform-docs">home of terraform-docs</link> <link href="https://">Slides</link> <link href="https://video.fosdem.org/2021/D.docs/ttdterraform.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttdterraform.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11271.php">Submit feedback</link> </links> </event> <event id="10887"> <start>17:30</start> <duration>00:30</duration> <room>D.docs</room> <slug>ttddatascience</slug> <title>An documentation workflow loved by both Data Scientists and Engineers</title> <subtitle>Using Pandoc with VCS and CI/CD</subtitle> <track>Tool The Docs</track> <type>devroom</type> <language/> <abstract><p>I observed a white paper authoring collaboration workflow problem at my Forbes 50 employer wherein a tedious workflow around legacy tooling caused undue stress, headaches, rework, and, ultimately, a cosmetically poor-looking document with inconsistent content and styles. Knowing that a good document requires both good content and presentation, I proposed and led the creation of a simple workflow amenable to our team's software engineers and data scientists: treating the white paper text as code with technologies including Markdown, GitHub Enterprise, Pandoc, LaTeX, and a review process that gets the tooling out of the way in order to enable content authors to focus less on logistics and more on writing and reviewing. The result was that a team of seven engineers and data scientists created a 50-page document containing text, diagrams, equations, graphics, and more in just two weeks. The result greatly pleased our directors and executives. They praised our team not only for the incredibly valuable content but also for the professional appearance of the document. When they learned about the peer review process we used to create it, they wanted more teams to use it.</p> <p>This talk focuses on the problems of passing around files by email or shared drives, the problems of collaborative editing of online documentation, and the problems we're still addressing in our solution that we've now used to author several significant internal documents.</p></abstract> <description></description> <persons> <person id="7546">Colin Dean</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/colindean/talks/tree/master/document_workflow">Slides repository</link> <link href="https://speakerdeck.com/colindean/building-a-content-focused-scientific-document-authoring-workflow-for-data-scientists-and-engineers-alike">August 2020 compiled slides</link> <link href="https://www.youtube.com/watch?v=m1Lhy3fheuY">Write the Docs 2020 recording</link> <link href="https://video.fosdem.org/2021/D.docs/ttddatascience.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.docs/ttddatascience.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10887.php">Submit feedback</link> </links> </event> </room> <room name="D.embedded"> <event id="11331"> <start>13:00</start> <duration>01:00</duration> <room>D.embedded</room> <slug>network_performance_in_kernel</slug> <title>Networking Performances in the Linux Kernel, Getting the most out of the Hardware</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>The networking stack is one of the most complex and optimized subsystem in the Linux kernel, and for a good reason. Between the wild range of applications, the complexity and variety of the networking hardware, getting good performances while keeping the stack easily usable from userspace has been a long-standing challenge.</p> <p>Nowadays, complex Network Interface Controllers (NICs) can be found even on small embedded systems, bringing powerful features that were previously found only in the server world closest to day to day users.</p> <p>This is a good occasion to dive into the Linux Networking stack, to discover what is used to make networking as fast as possible, by both using all the features of the hardware, but also implementing some clever software tricks.</p> <p>In this talk, we'll cover these various techniques, ranging from simple batch processing with NAPI, queue management with RSS, RPS, XPS and so on, flow steering and filtering with ethool and TC, to finish with the newest big change that is XDP.</p> <p>We'll dive into these various techniques and see how to configure them to squeeze the most out of your hardware, and discover that what was previously in the realm of datacenters and huge computers can now also be appliable to embedded linux development.</p></abstract> <description></description> <persons> <person id="7815">Maxime Chevallier</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/network_performance_in_kernel/attachments/slides/4433/export/events/attachments/network_performance_in_kernel/slides/4433/chevallier_network_performance_in_the_linux_kernel.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/network_performance_in_kernel.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/network_performance_in_kernel.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11331.php">Submit feedback</link> </links> </event> <event id="11226"> <start>14:00</start> <duration>00:30</duration> <room>D.embedded</room> <slug>embedded_linux_license_compliance</slug> <title>Embedded Linux License Compliance for Hackers & Makers</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>This presentation will cover the practices and tools you can use to improve compliance with open source licenses as a hobbyist or small business using OpenEmbedded/Yocto Project, Buildroot or other Embedded Linux build systems. The focus will be on practical steps that don't require excessive time, effort or consultation with expensive lawyers. This presentation will also discuss license compliance pitfalls to avoid. No legal advice will be given in this talk.</p></abstract> <description><p>Many presentations and articles about open source license compliance focus on the needs of large corporate users of open source and aren't well suited to individual hackers/makers or small businesses. However, even if you don't have the public profile and deep pockets of a large organisation you should be thinking about how you can empower users of your software or physical product to take advantage of their rights around open source software. Rather that trying to develop a comprehensive enterprise-grade open source policy what you need is some steps to get started, some rules of thumb and some tools which are relatively straightforward to use. License compliance is a process and even if you don't feel you have the resources to achieve perfect compliance it's important to take the steps that are within your reach.</p></description> <persons> <person id="7764">Paul Barker</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/embedded_linux_license_compliance/attachments/slides/4320/export/events/attachments/embedded_linux_license_compliance/slides/4320/Embedded_Linux_License_Compliance_for_Hackers_Makers.pptx">Slides (pptx)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/embedded_linux_license_compliance/attachments/slides/4321/export/events/attachments/embedded_linux_license_compliance/slides/4321/Embedded_Linux_License_Compliance_for_Hackers_Makers.pdf">Slides (pdf)</attachment> </attachments> <links> <link href="https://www.youtube.com/watch?v=9wRn-9KhiEI">License Compliance in Embedded Linux with the Yocto Project (ELC Europe 2019)</link> <link href="https://www.youtube.com/watch?v=HILbAIeCTR8">Open Source License Compliance with Yocto Project (Linaro Virtual Connect 2020)</link> <link href="https://video.fosdem.org/2021/D.embedded/embedded_linux_license_compliance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/embedded_linux_license_compliance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11226.php">Submit feedback</link> </links> </event> <event id="11426"> <start>14:30</start> <duration>00:30</duration> <room>D.embedded</room> <slug>safety_and_open_source</slug> <title>Safety and open source, oh my?</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>At FOSDEM 2020 we introduced Eclipse iceoryx, a true zero-copy middleware for safety-critical applications like automated driving. At FOSDEM 2021 we will give an overview of what needs to be considered when writing safety software in the open, share our experience regarding the development workflow and present the progress of the Eclipse iceoryx certification.</p></abstract> <description><p>Developing software in the automotive industry can be tedious. Old compilers, out-dated toolchains, resource constraint hardware. “Only use something which has been proven in-use” most safety engineers would argue. Well, hardly anyone would object, no one wants to jeopardise peoples lives when bringing a car on the road. The question we asked ourselves quite often in the last year: How can one combine the momentum and the freedom of an open source project while not compromising on the quality and safety? Apex.AI has extensive knowledge on the design and implementation of safety-critical applications written in modern C++ and is focused on certifying the robot operating system (ROS 2) according to the international standard for functional safety ISO26262. We will present an overview over the typical automotive software development process and discuss our modifications in the development workflow that we created for Eclipse iceoryx. Furthermore, we will share the key architectural design decisions, give examples of safe vs. unsafe code and conclude with a brief insight into the lessons learned.</p></description> <persons> <person id="6620">Simon Hoinkis</person> <person id="7426">Christian Eltzschig</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/safety_and_open_source/attachments/slides/4545/export/events/attachments/safety_and_open_source/slides/4545/20210207_FOSDEM_Safety_and_open_source_oh_my.pdf">Safety and open source, oh my?</attachment> </attachments> <links> <link href="https://github.com/eclipse/iceoryx">Eclipse iceoryx repository</link> <link href="https://github.com/mossmaurice">GitHub profile from Simon</link> <link href="https://github.com/elfenpiff">GitHub profile from Christian</link> <link href="https://www.apex.ai/">Apex.AI website</link> <link href="https://video.fosdem.org/2021/D.embedded/safety_and_open_source.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/safety_and_open_source.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11426.php">Submit feedback</link> </links> </event> <event id="11402"> <start>15:00</start> <duration>00:30</duration> <room>D.embedded</room> <slug>indie_mnf</slug> <title>Adding Open Hardware to Open Software for a More Equitable IoT</title> <subtitle>How I Became an Indie Manufacturer and How You Can Too</subtitle> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>We all know the benefits of open software, but not as many of us take the step into designing and building the hardware to run it on.</p> <p>Consumers are left with a choice of mass-market devices - hoping the company doesn't turn off its servers, and doesn't sell their data - or going DIY and soldering up things themselves.</p> <p>We need a wealth of Indie Manufacturers, building open hardware devices to provide more options and freedom to end users. This talk shows MCQN Ltd's path on that journey and how you could follow it too.</p></abstract> <description><p>We'll look at the whole process of making an open hardware product, from the design through to batch manufacturing and shipping. Sharing the open-source tools used plus the services and kit you'd need.</p></description> <persons> <person id="7835">Adrian McEwen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/indie_mnf/attachments/slides/4700/export/events/attachments/indie_mnf/slides/4700/AdrianMcEwen_AddingOpenHardwareToOpenSoftware.pdf">Adrian McEwen - Adding Open Hardware To Open Software</attachment> </attachments> <links> <link href="https://mcqn.com/ibal223">The My Baby's Got LED controller, an open hardware board for easy Internet-connected Christmas lights</link> <link href="https://github.com/mcqn/my-babys-got-led/">The source files for the My Baby's Got LED hardware</link> <link href="https://www.youtube.com/watch?v=IChyl-XfUVE">An example of one of my talks, at OSHCamp in 2016</link> <link href="https://video.fosdem.org/2021/D.embedded/indie_mnf.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/indie_mnf.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11402.php">Submit feedback</link> </links> </event> <event id="11074"> <start>15:30</start> <duration>00:30</duration> <room>D.embedded</room> <slug>networked_audio_in_android</slug> <title>Networked Audio in Android Automotive</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>The modern vehicle audio system is built with a number of networked components that are needed for many complex and integrated functionalities such as active noise cancellation, warning sounds, diagnostics, etc. And thus, complex and flexible audio setups are a fundamental design need for modern vehicles. GENIVI AASIG analyzes various scenarios of integrating Android in this complex setup and analyzes the maturity and gaps of Android Automotive solution in this context. This talk aims to highlight some of the findings of the group and discuss further investigation topics in this area</p></abstract> <description><p>The talk will give a short overview of the audio system design choices with Android. As part of the analysis towards integrating Android in the complex setup that exists today, the first step group took was to extract raw PCM stream out of Android context. The talk will discuss the implementation of this and the various design tradeoffs and decisions that was taken. The next step would be to connect Android to audio network. Currently A2B and AVB are being investigated. Further investigations includes topics like: ECNR handling, calibration mechanisms, how to utilize DSPs in various system configuration (virtualization, containerization, multi HW).</p></description> <persons> <person id="7707">Suhasini Raghuram</person> <person id="8339">Piotr Krawczyk</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/networked_audio_in_android.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/networked_audio_in_android.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11074.php">Submit feedback</link> </links> </event> <event id="11100"> <start>16:00</start> <duration>00:30</duration> <room>D.embedded</room> <slug>open_communication_fw</slug> <title>Designing an open communication framework for the connected car</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>The connected car has been around some time but we are still waiting for a large breakthrough when it comes to third party services powered by vehicle data. The fragmentation of different technical solutions makes it difficult for 3rd parties or developers to work with easily accessible vehicle APIs.</p> <p>To tackle this, the GENIVI Cloud &amp; Connected Services project is designing an end-to-end communication framework starting from the data transfer from embedded systems in the vehicles and spanning to cloud based APIs. The framework is built on open protocols and is demonstrated with open-source reference code with the aim of simplifying implementation work for both car manufacturers and 3rd party developers. This presentation will detail the work results to date and will be co-presented by Kevin Valdek from HIGH MOBILITY and Ulf Bjorkengren from Geotab.</p></abstract> <description><p>We’ll have a look at the key technical challenges and considerations that are necessary to make in order to create a successful framework. Designing a useful API for developers starts in the vehicle where topics like the data model is already considered. Further on, we’ll show a Proof-of-Concept implementation that anyone can try out.</p> <p>The Proof-of-Concept implements a data server in the vehicle that exposes an API to data clients, such as backend servers. The data transfer interface follows the W3C Vehicle API protocol and the Proof-of-Concept brings in additional considerations in the cloud to make APIs available to 3rd party developers.</p> <p>The GENIVI Alliance is a non-profit automotive industry alliance that develops standard approaches for integrating operating systems and middleware present in the centralized and connected vehicle cockpit. The Cloud &amp; Connected Services project is performed by a work group that is open for anyone to join and to contribute to.</p> <p>Kevin Valdek is the CTO at HIGH MOBILITY Ulf Bjorkengren is a Senior Connectivity Strategist at Geotab</p></description> <persons> <person id="7660">Kevin Valdek</person> <person id="8051">Ulf Bjorkengren</person> </persons> <attachments> </attachments> <links> <link href="https://at.projects.genivi.org/wiki/pages/viewpage.action?pageId=34963516">Project home</link> <link href="https://at.projects.genivi.org/wiki/display/DIRO/CCS+Proof-Of-Concept+-+Work+Breakdown+Structure">Communication framework overview</link> <link href="https://github.com/GENIVI/CCS-arch-demo">Proof-of-Concept demonstration repo</link> <link href="https://video.fosdem.org/2021/D.embedded/open_communication_fw.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/open_communication_fw.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11100.php">Submit feedback</link> </links> </event> <event id="11435"> <start>16:30</start> <duration>01:00</duration> <room>D.embedded</room> <slug>features_for_iot_sbc</slug> <title>Feedback Wanted: What features and design choices are needed for an Industrial IoT SBC?</title> <subtitle/> <track>Embedded, Mobile and Automotive</track> <type>devroom</type> <language/> <abstract><p>A few years ago at balena, we designed and built a robust carrier board for the Raspberry Pi 3 Compute Module, specifically targeting IoT use cases, called the balena Fin. We are now starting the design process for a successor, and are asking for input, ideas, and advice on what should be included, excluded, or optional.</p> <p>Let's talk about form-factor and size, SoC and SoM choices (pros and cons), memory and storage, connectivity, ports and port placement, expansion, and intended use-cases.</p> <p>Designing a board with community input and dialogue results in a better product in the end, and meets more people's needs. As experts, we'd love to hear your thoughts!</p></abstract> <description><p>balena leverages, and produces, a lot of open source software. Etcher (flashing utility), balenaOS (Yocto-based operating system), and balenaEngine (Moby-based container runtime) are OSS and available on GitHub, and OpenBalena is an open source IoT Fleet Management platform. On the hardware side of the organization, we want to replicate as much of that openness as possible, and so our design process is all done in the open as well. Thus, let's have a chat about what you think is important and should be included in an industrial strength IoT single board computer.</p></description> <persons> <person id="7848">David Tischler</person> <person id="8362">Alex Bucknall</person> <person id="8363">Nicolas Tzovanis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/features_for_iot_sbc/attachments/slides/4731/export/events/attachments/features_for_iot_sbc/slides/4731/balenaFin.pdf">balenaFin Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.embedded/features_for_iot_sbc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.embedded/features_for_iot_sbc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11435.php">Submit feedback</link> </links> </event> </room> <room name="D.emulator"> <event id="10898"> <start>12:00</start> <duration>01:05</duration> <room>D.emulator</room> <slug>bleem_part1</slug> <title>Best Little Emulator Ever Made! - part 1/3</title> <subtitle/> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>In this interview/conversation, acclaimed emulator programmer Randal Linden takes us on a journey down the depths of reverse engineering and emulator development.</p> <p>Rather than editing this conversation to fit a smaller time-slot, it is split across 3 parts, with a Live Q&amp;A at the end of part 3.</p> <p>Part 1 highlights:</p> <ul> <li>Doom FX for the SNES</li> <li>Bleem!</li> <li>Reverse engineering the MIPS R3000</li> <li>The Sega Dreamcast</li> </ul> </abstract> <description></description> <persons> <person id="7486">Mahmoud Abdelghany</person> <person id="8290">Randal Linden</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/bleem_part1.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/bleem_part1.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10898.php">Submit feedback</link> </links> </event> <event id="11849"> <start>13:30</start> <duration>01:05</duration> <room>D.emulator</room> <slug>bleemcast_part2</slug> <title>Best Little Emulator Ever Made! - part 2/3</title> <subtitle/> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>In this interview/conversation, acclaimed emulator programmer Randal Linden takes us on a journey down the depths of reverse engineering and emulator development.</p> <p>Rather than editing this conversation to fit a smaller time-slot, it is split across 3 parts, with a Live Q&amp;A at the end of part 3.</p> <p>Part 2 highlights:</p> <ul> <li>Getting the first game running on Bleem!</li> <li>BUGS!</li> <li>Dynarec</li> </ul> </abstract> <description></description> <persons> <person id="7486">Mahmoud Abdelghany</person> <person id="8290">Randal Linden</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/bleemcast_part2.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/bleemcast_part2.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11849.php">Submit feedback</link> </links> </event> <event id="11859"> <start>15:00</start> <duration>01:30</duration> <room>D.emulator</room> <slug>bleemcaster_part3</slug> <title>Best Little Emulator Ever Made! - part 3/3 + Live Q&A</title> <subtitle/> <track>Emulator Development</track> <type>devroom</type> <language/> <abstract><p>In this interview/conversation, acclaimed emulator programmer Randal Linden takes us on a journey down the depths of reverse engineering and emulator development.</p> <p>Rather than editing this conversation to fit a smaller time-slot, it is split across 3 parts, with a Live Q&amp;A at the end of part 3.</p> <p>Part 3 highlights:</p> <ul> <li>Windows 95</li> <li>Bleemcast!</li> <li>Learning reverse &amp; emulator engineering</li> </ul> </abstract> <description></description> <persons> <person id="7486">Mahmoud Abdelghany</person> <person id="8290">Randal Linden</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.emulator/bleemcaster_part3.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.emulator/bleemcaster_part3.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11859.php">Submit feedback</link> </links> </event> </room> <room name="D.firmware"> <event id="11488"> <start>13:00</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_oiapg</slug> <title>OpenBMC introduction and porting guide</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p> OpenBMC is an Open Source Software project started in an effort to create a secure, scalable, open source firmware code for BMC. Apart from the usual benefits arising from Open Source nature, OpenBMC brings in additional advantages like a.) state-of-the-art build system based on Yocto - an embedded linux distribution - which simplifies the process of building customized Linux, b.) Robust Managebility framework based on (4 pillars - REST, JSON, HTTPS, ODATAv4) RedFish, c.) Superior Modularity with D-bus IPC mechanism which is known for its well defined interfaces, d.) Ability to customize the code, e.) Support for IPMI, etc.</p> <p>In this video, I will show you:</p> <pre><code> 1. OpenBMC introduction 2. Yocto &amp; Systemd concepts 3. Demo of building your first OpenBMC image in toaster environment and running it in QEMU, 4. Short-demo of OpenBMC porting to new platform using JSON files. Porting OpenBMC to new platforms becomes easy with easily customizable JSON files representing the platforms entities like baseboard, PSU, chassis, etc. i.e.) Platform entities are abstracted as JSON files, and sensors properties of each entity is represented as JSON key-value pairs. This can help any one having little or no experience in OpenBMC to easily port it to new platforms in quick time. </code></pre></abstract> <description></description> <persons> <person id="7891">Saravanan Palanisamy</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_oiapg/attachments/slides/4633/export/events/attachments/firmware_oiapg/slides/4633/OpenBMC_Intro_Porting_Guide_FOSDEM_2021_SaravananPalanisamy.pdf">OpenBMC introduction and porting guide</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.firmware/firmware_oiapg.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_oiapg.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11488.php">Submit feedback</link> </links> </event> <event id="11853"> <start>13:30</start> <duration>00:25</duration> <room>D.firmware</room> <slug>firmware_osfsoaap</slug> <title>Open Source Firmware Status on Ampere ARM64 Platforms</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>Ampere Computing is a relatively new entrant into the server space, recently launching its 80-core ARM64 Altra processor on the Mt. Jade platform. In this talk, I'll cover the status of various open-source projects such as EDK2, LinuxBoot, OpenBMC and OpenOCD on Ampere's processors and platforms. For those interested in learning more about Ampere and our engagement in open-source firmware, this is the talk for you.</p></abstract> <description></description> <persons> <person id="5202">Daniel Kiper</person> <person id="8295">Arjun Khare</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_osfsoaap/attachments/slides/4676/export/events/attachments/firmware_osfsoaap/slides/4676/Open_Source_Firmware_Status_on_Ampere_Platforms.pdf">Open Source Firmware Status on Ampere Platforms</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.firmware/firmware_osfsoaap.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_osfsoaap.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11853.php">Submit feedback</link> </links> </event> <event id="11646"> <start>14:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_sbwubvop</slug> <title>Secure boot without UEFI: booting VMs on Power(PC)</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>Much of the Secure and Trusted Boot ecosystem is built around UEFI. However, not all platforms implement UEFI, including IBM's Power machines.</p> <p>In this talk, I will talk about my team's ongoing work on secure boot of virtual machines on Power. This is an important use case, as many Power machines ship with a firmware hypervisor, and all user workloads run as virtual machines or "Logical Partitions" (LPARs).</p> <p>Linux Virtual Machines on Power boot via an OpenFirmware (IEEE1275) implementation which is loaded by the hypervisor. The OpenFirmware implementation then loads grub from disk, and grub then loads Linux. To secure this, we propose to:</p> <ul> <li><p>Teach grub how to verify Linux-module-style "appended signatures". Distro kernels for Power are already signed with these signatures for use with the OpenPower 'host' secure boot scheme.</p></li> <li><p>Sign grub itself with an appended signature, allowing firmware to verify grub.</p></li> </ul> </abstract> <description></description> <persons> <person id="7958">Daniel Axtens</person> <person id="8048">Cezary Sobczak</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_sbwubvop/attachments/slides/4645/export/events/attachments/firmware_sbwubvop/slides/4645/Secure_boot_without_UEFI_slides">Secure boot without UEFI - slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.firmware/firmware_sbwubvop.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_sbwubvop.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11646.php">Submit feedback</link> </links> </event> <event id="11237"> <start>15:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_gpsu</slug> <title>GRUB - Project Status Update</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>The presentation will discuss current state of GRUB upstream development and cooperation with distributions.</p></abstract> <description><p>The first part of presentation will be focusing on last year, current and future GRUB development efforts. The second part will discuss cooperation between GRUB upstream and distros. In general it will show current progress in the project and main pain points. One of the goals of the presentation is to solicit some help from the community. Maintainers are quite busy and they are not able to solve all issues themselves. So, help from others is greatly appreciated. At the end of presentation Q&amp;A session is planned.</p></description> <persons> <person id="5202">Daniel Kiper</person> <person id="7798">Norbert Kamiński</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_gpsu/attachments/slides/4552/export/events/attachments/firmware_gpsu/slides/4552/grub_project_status_update_20210129_dk.pdf">grub_project_status_update_20210129.dk.pdf</attachment> </attachments> <links> <link href="https://www.gnu.org/software/grub/">GNU GRUB - GNU Project - Free Software Foundation (FSF)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_gpsu.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_gpsu.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11237.php">Submit feedback</link> </links> </event> <event id="11510"> <start>16:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_ospsifam</slug> <title>Open source PMCI stack implementation for add-in-card manageability.</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>Disaggregated computing today relies more on add-in-cards like FPGAs/Smart NICs/xPUs. Traditionally add-in-cards have relied on IPMI based manageability solutions. However, the newer standards from DMTF (PMCI protocol stack) provide more robust and scalable solutions for add-in card manageability. SPDM provides the attestation and secure communication channel between the BMC and the add-in cards. MCTP/PLDM stack provides mechanisms for the BMC to auto discover card’s capabilities and carry out manageability functions like sensor monitoring, event logging, firmware updates etc. This provides significant advantage over IPMI which lacked secure communications and had limitations on supporting advanced high speed interfaces like PCIe and had limitations on number of sensors it could support.</p> <p>We plan to present on how add-in-cards can be managed through PMCI protocols and how do we model the add-in-cards’ manageability functions in a way a DataCentre orchestration software can consume it (i.e. Redfish modelling of add-in-cards). The implementation is planned for OpenBMC and a variety of Add-In-Cards can be supported through a standard manageability model.</p></abstract> <description></description> <persons> <person id="7881">Sumanth Bhat</person> <person id="8048">Cezary Sobczak</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_ospsifam/attachments/slides/4714/export/events/attachments/firmware_ospsifam/slides/4714/Add_in_card_manageability.pptx">Add In Card Manageability</attachment> </attachments> <links> <link href="https://www.youtube.com/watch?v=Q7ygqGPyRSc">Add-In card modeling</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_ospsifam.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_ospsifam.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11510.php">Submit feedback</link> </links> </event> <event id="11094"> <start>17:00</start> <duration>00:45</duration> <room>D.firmware</room> <slug>firmware_uoifaaffsdc</slug> <title>Using OpenSPDM in Firmware as a Foundation for Secure Device Communication</title> <subtitle/> <track>Open Source Firmware, BMC and Bootloader</track> <type>devroom</type> <language/> <abstract><p>Security Protocol and Data Model (SPDM) is a standard published by the Distributed Management Task Force (DMTF) organization Platform Management Components Intercommunication (PMCI) working group. SPDM’s vision is to resolve the long-lasting problem of compatible secure communication solution between two endpoints of embedded systems. Protocols defined by SPDM can be used for a wide range of security functionalities including authentication of hardware/firmware identities, delivering measurements, performing attestation, and establishing session keys for secure communication channels.</p> <p>This presentation introduces OpenSPDM, an open-source sample implementation which implements an SPDM requester utility to validate a vendor’s responder implementation. The talk covers SPDM 1.0 device authentication and firmware measurement collection, and SPDM 1.1 session creation for data communication protection.</p> <p>The audience will learn the main components of the SPDM protocol. A firmware solution builder will learn how to implement a SPDM requester to perform device authentication/attestation and create a secured session with a target device. A device builder will learn how to implement a SPDM responder for authentication/measurement requests and create a secured session to protect communications.</p></abstract> <description></description> <persons> <person id="7668">Jiewen Yao</person> <person id="7798">Norbert Kamiński</person> <person id="8314">xiaoyuruan</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/firmware_uoifaaffsdc/attachments/slides/4463/export/events/attachments/firmware_uoifaaffsdc/slides/4463/An_open_source_SPDM_implementation_for_secure_device_communication_FOSDEM2021.pptx"/> </attachments> <links> <link href="https://github.com/jyao1/openspdm">openspdm url</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_uoifaaffsdc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.firmware/firmware_uoifaaffsdc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11094.php">Submit feedback</link> </links> </event> </room> <room name="D.geospatial"> <event id="11639"> <start>10:00</start> <duration>00:30</duration> <room>D.geospatial</room> <slug>osgeo_intro</slug> <title>Introduction to OSGeo</title> <subtitle/> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>The Open Source Geospatial Foundation (OSGeo) is a not-for-profit organization whose mission is to foster global adoption of open geospatial technology by being an inclusive software foundation devoted to an open philosophy and participatory community driven development.</p></abstract> <description></description> <persons> <person id="7956">Angelos Tzotsos</person> <person id="8317">Till Adams</person> </persons> <attachments> </attachments> <links> <link href="https://osgeo.org">https://osgeo.org</link> <link href="https://video.fosdem.org/2021/D.geospatial/osgeo_intro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/osgeo_intro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11639.php">Submit feedback</link> </links> </event> <event id="11632"> <start>10:30</start> <duration>00:30</duration> <room>D.geospatial</room> <slug>osgeolive</slug> <title>OSGeoLive your geospatial toolkit</title> <subtitle>Get to know OSGeoLive and discover a whole world of geospatial tools and data</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>OSGeoLive is a self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything. It is composed entirely of free software, allowing it to be freely distributed, duplicated and passed around. It provides pre-configured applications for a range of geospatial use cases, including storage, publishing, viewing, analysis and manipulation of data. It also contains sample datasets and documentation. You will get to know the project and what you can learn and have a look behind the scenes.</p></abstract> <description></description> <persons> <person id="3559">Astrid Emde</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/osgeolive/attachments/slides/4560/export/events/attachments/osgeolive/slides/4560/fosdem_2021_osgeolive_astrid_emde.pdf">OSGeoLive</attachment> </attachments> <links> <link href="https://live.osgeo.org">OSGeoLive Website</link> <link href="https://osgeo.org">OSGeo open Source Geospatial Foundation</link> <link href="https://foss4g.org/">FOSS4G - annual global conference of OSGeo</link> <link href="https://video.fosdem.org/2021/D.geospatial/osgeolive.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/osgeolive.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11632.php">Submit feedback</link> </links> </event> <event id="11455"> <start>11:00</start> <duration>00:45</duration> <room>D.geospatial</room> <slug>movetk</slug> <title>MoveTK: the movement toolkit</title> <subtitle>A library for understanding movement</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>MoveTK is a reusable, well tested, high performant, feature-rich library that incorporates state of the art algorithms for computational movement analysis. The library is designed to be extensible such that it can be adapted for various movement analysis tasks. The library has been developed as part of a collaboration between HERE Technologies, Eindhoven University of Technology and Utrecht University under the Commit2Data program.</p> <p>This talk is intended to showcase the scalability of MoveTK to large geo-spatial data sets. Moreover, through visualisations, we will demonstrate the various movement analysis algorithms that are available in MoveTK. Any scalable movement analysis task can be based on three fundamental building blocks: (a) the representation of (geo-)spatial movement data (b) the shape and specifically geometric aspect of movement and (c) algorithms that have theoretical bounds on their time and space complexity. Therefore, we will present the design decisions adopted in MoveTK, that allows seamless interoperability between these fundamental building blocks.</p></abstract> <description></description> <persons> <person id="6676">Aniket Mitra</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/heremaps/movetk">MoveTK Repository</link> <link href="https://movetk.win.tue.nl">MoveTK Website</link> <link href="https://video.fosdem.org/2021/D.geospatial/movetk.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/movetk.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11455.php">Submit feedback</link> </links> </event> <event id="11493"> <start>11:45</start> <duration>00:45</duration> <room>D.geospatial</room> <slug>iaso</slug> <title>Iaso: Geo-aware Data Collection, Curation and Analysis.</title> <subtitle>A new web + Android platform geared toward enhancing geographical data by benefitting from the routine health data collection activity. </subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>Iaso is a platform created to support geo-rich data collection efforts, mainly in public health in emerging countries. The key feature that it supports is that any survey is linked to an organizational unit that is part of a canonical hierarchy. Each one of these org. units can have a location and a territory. The mobile data collection tool can be used to enrich this hierarchy with additional GPS coordinates, names corrections, etc ... which can then be validated by officials of the organizations in question through the web dashboard. This leads to continuous improvements of the geographic references available through the routine activities already planned (e.g. locating and registering health facilities while investigating malaria cases).</p> <p>The tool has been used in multiple data collection efforts, notably in the domain of Performance Based Financing of health services in D.R. Congo, Niger, Cameroon and Nigeria and is more and more used to compare multiple versions of official organisational hierarchies when a canonical one needs to be rebuilt. We are for example working on such efforts to rebuild a school map for DRC with the NGO Cordaid. To help for this type of project, we provide location selection interfaces, multiple levels of audits and an API open to data scientists for analysis and mass edits.</p> <p>This presentation will demo the main features of the platform, and give some context about its creation.</p></abstract> <description><p>Iaso has been created by the company Bluesquare (https://bluesquarehub.com/, based in Belgium), specialised in software and services for public health, and has become open source under the MIT License in November 2020.</p> <p>It is still under heavy development, but is already the basis of at least a dozen projects. On the roadmap, we have features for a patient registry, monitoring tools for data collectors, and microplanning activities (producing routes for monitoring teams). It is also extensively used in connection with DHIS2, the open source Data For Health Information System.</p> <p>Iaso is made of a white labeled Android application using Java/Kotlin and reusing large parts of the ODK projects and a web platform programmed using Python/GeoDjango on top of PostGIS. Frontend is mainly React/Leaflet. One of the aims is the ease of integration with other platforms. We already have csv and geopackage imports and exports and target easy integration with OSM.</p> <p>Martin De Wulf, the presenter, is one of the initial creators of the platform. He holds a PhD in Computer Sciences from the University of Brussels.</p></description> <persons> <person id="7901">Martin De Wulf </person> </persons> <attachments> <attachment type="other" href="https://fosdem.org/2021/schedule/event/iaso/attachments/other/4241/export/events/attachments/iaso/other/4241/org_unit_map">Screenshot: The org unit map </attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/iaso/attachments/other/4242/export/events/attachments/iaso/other/4242/form_map">Screenshot: Form map</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/iaso/attachments/other/4243/export/events/attachments/iaso/other/4243/form_screen">Screenshot: Detail of a form</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/iaso/attachments/slides/4466/export/events/attachments/iaso/slides/4466/Iaso">Iaso-Fosdem</attachment> </attachments> <links> <link href="https://github.com/BLSQ/iaso/">Github repository</link> <link href="https://www.cordaid.org/en/news/better-data-better-schools-better-education/">Cordaid Blog post about a school map built using Iaso</link> <link href="https://www.cartesanitaireniger.org/">The Health Map of Niger, for which data has been triaged using Iaso</link> <link href="https://bluesquarehub.com/2020/11/27/6146/">A blog post about our work about health facility maps</link> <link href="https://video.fosdem.org/2021/D.geospatial/iaso.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/iaso.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11493.php">Submit feedback</link> </links> </event> <event id="11525"> <start>12:35</start> <duration>00:30</duration> <room>D.geospatial</room> <slug>telebot</slug> <title>Telegram Bot For Navigation</title> <subtitle>A perfect map app for a neighbourhood doesn't need a map</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>After moving to Minsk, I pondered on making a local map for my neighbourhood, with all the shops and amenities. People would visit it on the web and see where are things. Two years passed, I didn't make it. And only in December I've got an idea that would work. A community does not need no maps. What it needs is conversation. So I made a map app 2.0: one that doesn't rely on 1) web, 2) maps. Of course inside it's all about geo.</p></abstract> <description></description> <persons> <person id="3485">Ilya Zverev</person> </persons> <attachments> </attachments> <links> <link href="https://zverik.github.io/point_ed/">GeoJSON Point Editor</link> <link href="https://github.com/Zverik/bot_na_rayone">Bot Source Code</link> <link href="https://zverik.github.io/latlon/">LatLon Coordinate Tool</link> <link href="https://video.fosdem.org/2021/D.geospatial/telebot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/telebot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11525.php">Submit feedback</link> </links> </event> <event id="11516"> <start>13:05</start> <duration>00:40</duration> <room>D.geospatial</room> <slug>osmafrica</slug> <title>OpenStreetMap in Africa</title> <subtitle>The Rise of participatory mapping in Africa</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>This presentation provides a brief overview on the rise of OpenStreetMap communities and activities on the Africa continent.</p></abstract> <description></description> <persons> <person id="7911">Enock Seth Nyamador</person> </persons> <attachments> </attachments> <links> <link href="https://2021.stateofthemap.africa/">State of the Map Africa 2021</link> <link href="https://media.ccc.de/v/sotm2020-4274-the-state-of-openstreetmap-in-africa">The State of OpenStreetMap in Africa</link> <link href="https://video.fosdem.org/2021/D.geospatial/osmafrica.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/osmafrica.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11516.php">Submit feedback</link> </links> </event> <event id="11534"> <start>13:50</start> <duration>00:45</duration> <room>D.geospatial</room> <slug>bolivia</slug> <title>Live Panel</title> <subtitle>join us for discussion</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>panel discussion or live demo tbd. A talk was cancelled so we have a free slot.</p></abstract> <description></description> <persons> <person id="3559">Astrid Emde</person> <person id="7521">Luca Delucchi</person> <person id="7911">Enock Seth Nyamador</person> <person id="7956">Angelos Tzotsos</person> <person id="8382">Veronica Andreo</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.geospatial/bolivia.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/bolivia.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11534.php">Submit feedback</link> </links> </event> <event id="11441"> <start>14:40</start> <duration>00:40</duration> <room>D.geospatial</room> <slug>raccumulate</slug> <title>r.accumulate: Efficient computation of hydrologic parameters in GRASS</title> <subtitle>Improving the performance of geospatial computation for web-based hydrologic modeling</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>The longest flow path is one of the most important geospatial parameters that is used for hydrologic analysis and modeling. However, there are not many available GIS tools that can compute this watershed parameter. At the same time, there have been almost little to no efforts in improving its computational efficiency since its first, to the presenter's best knowledge, introduction by Smith (1995) when the geospatial data resolution was relatively coarser. In this talk, the presenter introduces a new algorithm that applies Hack's law to the discovery of the longest flow path and its efficient implementation as a GRASS module called r.accumulate. He compares its performance to that of commercial ArcHydro's Longest Flow Path tool. Lastly, he introduces a proof-of-concept version of the Web-based Hydrologic Modeling System (WHydroMod) built using GRASS, PyWPS, MapServer, and OpenLayers, and discusses how r.accumulate can be used to improve the efficiency of geospatial computation for WHydroMod.</p></abstract> <description></description> <persons> <person id="7868">Huidae Cho</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/raccumulate/attachments/slides/4661/export/events/attachments/raccumulate/slides/4661/r_accumulate_efficient_computation_of_hydrologic_parameters_in_grass.pdf">r.accumulate: Efficient computation of hydrologic parameters in GRASS</attachment> </attachments> <links> <link href="https://grass.osgeo.org/grass78/manuals/addons/r.accumulate.html">r.accumulate manual</link> <link href="http://txmod.isnew.info/">WHydroMod v0.1 for Texas</link> <link href="https://video.fosdem.org/2021/D.geospatial/raccumulate.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/raccumulate.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11441.php">Submit feedback</link> </links> </event> <event id="11719"> <start>15:30</start> <duration>00:35</duration> <room>D.geospatial</room> <slug>geopandasholoviews</slug> <title>Spatial data exploration in Jupyter notebooks</title> <subtitle>The power of interactive vizualizations with GeoPandas and HoloViews</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>Recent developments in Python data visualization libraries (particularly HoloViews &amp; GeoViews) enable data analysts and scientists to quickly and intuitively create interactive data visualizations. In this talk, we dive into examples of visualizing open government data from public web services (https://github.com/anitagraser/ogd-at-lab) as well as large movement datasets (https://github.com/anitagraser/movingpandas-examples).</p></abstract> <description></description> <persons> <person id="8021">Anita Graser</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.geospatial/geopandasholoviews.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/geopandasholoviews.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11719.php">Submit feedback</link> </links> </event> <event id="11721"> <start>16:05</start> <duration>00:35</duration> <room>D.geospatial</room> <slug>youthmappers</slug> <title>YouthMappers</title> <subtitle>Building a global community of young changemakers using open maps</subtitle> <track>Geospatial</track> <type>devroom</type> <language/> <abstract><p>YouthMappers is a global mapping community of university students creating, using, and advocating for open geospatial data and technology. Since the creation of the network in 2015, this has grown to more than 200 chapters, with impactful projects being led and conducted by young people. We’ll share about who we are, how chapters are leveraging open geospatial data and FOSS4G, and any more during this presentation.</p></abstract> <description></description> <persons> <person id="8024">Laura Mugeha</person> </persons> <attachments> </attachments> <links> <link href="https://www.youthmappers.org">https://www.youthmappers.org</link> <link href="https://video.fosdem.org/2021/D.geospatial/youthmappers.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.geospatial/youthmappers.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11721.php">Submit feedback</link> </links> </event> </room> <room name="D.go"> </room> <room name="D.graph"> </room> <room name="D.hardware.trusted"> </room> <room name="D.hpc"> <event id="10977"> <start>10:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>containerized_hpc</slug> <title>Deploying Containerized Applications on Secure Large Scale HPC Production Systems.</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>The ever increasing need for the ability to easily customize, reproduce and migrate applications and workflows are steadily increasing amongst the High Performance Computing (HPC)community,as non-traditional HPC software environments and applications are starting to require HPC resources to tackle “real world” scientific problems. In addition,traditional HPC software are becoming more complex and are often deployed on multiple different architectures.In this talk, we discuss the issues associated with the deployment of containerized environments on secure HPC systems and how we successfully deployed traditional and non-traditional HPC applications on a secure large scale HPC production system with HPC specific containers.</p></abstract> <description></description> <persons> <person id="7628">David Brayford</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/openhpc/cloudwg/tree/gh-pages/tutorials/sc20">OpenHPC SC20 tutorial</link> <link href="https://github.com/DavidBrayford/HPAI/">Containerized High Performance AI</link> <link href="https://github.com/openhpc/ohpc/tree/2.x/containers">OpenHPC container images</link> <link href="https://hpc.github.io/charliecloud/">Charliecloud container</link> <link href="https://openhpc.community/">OpenHPC</link> <link href="https://video.fosdem.org/2021/D.hpc/containerized_hpc.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/containerized_hpc.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10977.php">Submit feedback</link> </links> </event> <event id="11095"> <start>10:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>ml_model_monitoring</slug> <title>Scalable, Automated ML Model Monitoring with KFServing and Hopsworks</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>In this session, we will present an open-source stream processing architecture, based on Spark Structured Streaming, for automating model monitoring with some experiment results. We use Kafka to log model predictions, KFServing for model serving and a Kubernetes operator for the deployment and configuration of the different components. As for the analysis of inference data, we implemented an extendable monitoring framework on top of Spark Structured Streaming to detect outliers and data drift.</p></abstract> <description><p>In recent years, MLOps has emerged to bring DevOps processes to the machine learning (ML) development process, aiming at more automation in the execution of repetitive tasks and at smoother interoperability between tools. Among the different stages in the ML lifecycle, model monitoring involves the continuous supervision of the model performance over time, involving the combination of techniques in four categories: outlier detection, data drift detection, explainability and adversarial attacks.</p> <p>Nowadays, most of the available model monitoring tools follow a scheduled batch processing approach or analyse model performance using isolated subsets of the inference data. However, for the continuous monitoring of models, stream processing platforms show several advantages, including support for continuous data analytics, scalable processing of large amounts of data and first-class support for window-based aggregations useful for concept drift detection.</p></description> <persons> <person id="7667">Javier de la Rúa Martínez</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/logicalclocks/hopsworks">Hopsworks</link> <link href="https://github.com/javierdlrm/model-monitoring">Model monitoring framework</link> <link href="https://video.fosdem.org/2021/D.hpc/ml_model_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/ml_model_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11095.php">Submit feedback</link> </links> </event> <event id="10940"> <start>11:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>big_data_arm</slug> <title>Make life easier for big data users on Arm platform</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Currently, there are more and more ARM based datacenter hardware options on the market, and their performance has been continuously improving. Thus more and more users and customers are starting to consider using these datacenter hardware options for their business. Big Data is one of the most important areas.</p> <p>On the contrary, the open source ecosystem for Big Data on ARM is not that perfect: most of the software in the Big Data ecosystem does not care too much about running on ARM in advance, or developers have not officially tested their codes on ARM, and there are a lot of unsolved problems. In order to make those software solutions able to run on ARM, one has to search and read tons of articles and to do a lot of patches and build a numbers of dependencies on their own. And once the upstream changes or upgrades, there might be new problems since it is not tested on ARM in upstream. All these challenges made users concerned to use ARM for their business.</p> <p>In order to change this situation and make the Big Data open source ecosystem more friendly to ARM platform and its users, our team started by proposing adding ARM CI to those open source projects. By doing this, the projects will be fully tested on ARM and also all future changes will as well be tested on ARM. In the process, we fixed a lot of problems directly in upstream, which benefits all users. And then, we started to perform performance comparison tests between ARM and x86, to give users an overview of the status. And there are also large numbers of TODO items, for the future.</p> <p>In this session, you can learn the current status of ARM CI for Big Data ecosystem projects like Hadoop, Spark, Hbase, Flink, Storm, Kudu, Impala etc. and our efforts on fixing ARM related problems. We will also introduce our future plans.</p></abstract> <description></description> <persons> <person id="7590">Zhenyu Zheng</person> </persons> <attachments> </attachments> <links> <link href="https://connect.linaro.org/resources/ltd20/ltd20-104/">previous talk</link> <link href="https://kunpengcompute.github.io/arm-landscape/">Arm CI Landscape</link> <link href="https://video.fosdem.org/2021/D.hpc/big_data_arm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/big_data_arm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10940.php">Submit feedback</link> </links> </event> <event id="10991"> <start>11:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>amd_gpus</slug> <title>Getting ready for the AMD GPUs</title> <subtitle>Introduction to AMD ecosystem</subtitle> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>LUMI is a new upcoming EuroHPC pre-exascale supercomputer with peak performance a bit over 550 petaflop/s. Many countries of LUMI consortium will have access on this system among other users. It is known that this system will be based on the next generation of AMD GPUs and this is a new environment for all of us. In this talk we discuss the AMD ecosystem, ROCm, which is open source and available on github. We present with examples the procedure to convert CUDA codes to HIP, among also how to port Fortran codes with hipfort. We discuss the utilization of other HIP libraries and we demonstrate performance comparison between CUDA and HIP on NVIDIA GPUs. We explore the challenges that scientists will have to handle during their application porting and also we provide step by step guidance.</p></abstract> <description></description> <persons> <person id="7650">Georgios Markomanolis</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/amd_gpus/attachments/slides/4710/export/events/attachments/amd_gpus/slides/4710/getting_started_with_amd_gpus.pdf">Getting Started with AMD GPUs</attachment> </attachments> <links> <link href="https://github.com/RadeonOpenCompute/ROCm">Rocm main repo that downloads dependencies from other repos</link> <link href="https://github.com/ROCmSoftwarePlatform/hipBLAS">AMD HIP BLAS</link> <link href="https://github.com/RadeonOpenCompute/ROCm">AMD HIPFORT for Fortran</link> <link href="https://video.fosdem.org/2021/D.hpc/amd_gpus.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/amd_gpus.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10991.php">Submit feedback</link> </links> </event> <event id="10884"> <start>12:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>gpu_vulkan</slug> <title>GPU Computing Made Simple with the C++ Vulkan SDK & the C++ Kompute Framework (AMD, Qualcomm, NVIDIA & Friends)</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Many advanced data processing paradigms fit incredibly well to the parallel-architecture that GPU computing offers, which has resulted in the continuously growing adoption of graphics card for general purpose computing. Exciting advancements in the open source Vulkan Project are enabling developers to take advantage of general purpose GPU computing capabilities in cross-vendor mobile and desktop GPUs including AMD, Qualcomm, NVIDIA &amp; friends.</p> <p>In this talk we will learn to write GPU accelerated algorithms which will be able to run on virtually any GPU hardware, including non-NVIDIA GPUs. We'll introduce an intuition and key concepts around GPU computing, as well as show how you can get started with the Vulkan Kompute framework with only a handful of lines of C++ or Python code.</p> <p>Throughout the talk we will also dive into the GPU computing terminology around asynchronous &amp; parallel workflow processing, cover the core principles of machine learning data parallelism, explain the hardware concepts of GPU queues &amp; queueFamilies, and talk about how advancements in new and upcoming graphics cards will enable for even bigger speedups (such as the NVIDIA Ampere GA10x architecture which will support up to 3 parallel queue processing workloads).</p> <p>In more detail these are the topics of the talk:</p> <p>• GPU computing intuition, hardware and foundations</p> <p>• Deeper dive into the OSS Vulkan C++ SDK enabling cross-vendor GPU computing</p> <p>• The C++ Kompute Framework and its architecture which augments Vulkan</p> <p>• Simple C++ Example with Kompute</p> <p>• Deeper Optimizations (Batch Commands, Asynchronous and Parallel Workloads)</p> <p>• FamilyQueues for Hardware-Parallel Workloads</p> <p>• C++ Example for FamilyQueue Hardware-Parallel Workload</p> <p>A more in-depth version of this talk can be found in this blog post:</p> <p>• https://towardsdatascience.com/parallelizing-heavy-gpu-workloads-via-multi-queue-operations-50a38b15a1dc</p> <p>If you are interested in the higher level use-cases, as well as machine learning examples, you can join the talk at the Python Room:</p> <p>• https://fosdem.org/2021/schedule/event/python_cuda/</p> <p>Other useful links:</p> <p>• Vulkan Kompute Repo: https://github.com/EthicalML/vulkan-kompute • Vulkan Kompute Docs: https://kompute.cc/</p></abstract> <description></description> <persons> <person id="4188">Alejandro Saucedo</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/gpu_vulkan/attachments/slides/4692/export/events/attachments/gpu_vulkan/slides/4692/GPU_Computing_Made_Simple_with_the_C_Vulkan_SDK_the_C_Kompute_Framework_AMD_Qualcomm_NVIDIA_Friends_PDF.pdf">GPU Computing Made Simple with the C++ Vulkan SDK & the C++ Kompute Framework (AMD, Qualcomm, NVIDIA & Friends) PDF</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/gpu_vulkan.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/gpu_vulkan.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10884.php">Submit feedback</link> </links> </event> <event id="10981"> <start>15:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>interactive_openmp_mpi</slug> <title>An Environment for Interactive Parallel Programming with MPI and OpenMP</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>In high-performance computing (HPC), interactive access to HPC systems and the ability to perform experiments in rapid-prototyping environments are getting more important. Jupyter notebooks have become a popular tool to create and share documents that contain narrative text, visualizations and live code, and the xeus-cling kernel provides support for native C/C++ code via the Cling interpreter. In this talk, we will present how we extended these technologies to support parallel programming with MPI and OpenMP, the de-facto standards in HPC.</p> <p>In the context of parallel programming, the resulting environment supports rapid prototyping and e-learning equally well. We will present an overview about its capabilities, demonstrate selected use cases and resources that we developed. In addition, we incorporated support for runtime correctness checking of MPI and OpenMP parallel programs. We will explain how we added support to write out binary programs from Jupyter notebooks and how to run code under the control of existing open source correctness tools.</p></abstract> <description><p>In the technical part of this talk, we will focus on two contributions to xeus-cling that are most important for our use cases: support for printf and the ability to launch MPI programs. The implementation of the printf family relies on wrapper functions that are injected into LLVM's just-in-time (JIT) compilation. To launch MPI programs, we extended xeus-cling to write out binary programs based on the incremental abstract syntax tree (AST) that Cling builds internally. We will also discuss why we chose this path over teaching the interpreter to start multiple processes.</p></description> <persons> <person id="7559">Christian Terboven</person> <person id="7572">Jonas Hahnfeld</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/interactive_openmp_mpi/attachments/slides/4470/export/events/attachments/interactive_openmp_mpi/slides/4470/presentation_terboven_hahnfeld.pdf">An Environment for Interactive Parallel Programming with MPI and OpenMP</attachment> </attachments> <links> <link href="https://www.stifterverband.org/digital-lehrfellows-nrw/2019/oden_terboven">IkapP project (German only): Project to support the development of e-learning environment and material</link> <link href="https://video.fosdem.org/2021/D.hpc/interactive_openmp_mpi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/interactive_openmp_mpi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10981.php">Submit feedback</link> </links> </event> <event id="11121"> <start>15:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>hatchet</slug> <title>Analyzing Performance Profiles using Hatchet</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Performance analysis is critical for identifying and eliminating bottlenecks in both serial and parallel programs. There are many profiling tools that can instrument serial and parallel codes, and gather performance data. However, analytics and visualization tools that are general, easy to use, and programmable are limited. Hatchet is an open-source Python library that can read profiling output of several tools, and enables the user to perform a variety of programmatic analyses on hierarchical performance profiles. Hatchet brings the power of modern data science tools such as pandas to bear on performance analysis. In this talk, we present a set of techniques and operations that build on the pandas data analysis library to enable analysis of performance profiles. These techniques, implemented in Hatchet, enable the filtering, aggregation, and pruning of structured data. In addition, Hatchet facilitates comparing performance profiles from multiple executions to understand the differences between them.</p></abstract> <description></description> <persons> <person id="7727">Abhinav Bhatele</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/hatchet/attachments/slides/4362/export/events/attachments/hatchet/slides/4362/202102_hatchet_fosdem.pdf"/> </attachments> <links> <link href="https://github.com/hatchet/hatchet">Source code</link> <link href="https://hatchet.readthedocs.io">Documentation</link> <link href="https://video.fosdem.org/2021/D.hpc/hatchet.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/hatchet.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11121.php">Submit feedback</link> </links> </event> <event id="11083"> <start>16:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>buildtest</slug> <title>buildtest: HPC Testing Framework for Acceptance Testing</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Buildtest (https://buildtest.readthedocs.io/) is an HPC testing framework to aid HPC facilities to perform acceptance testing for their system. HPC systems are growing in complexity, with a tightly coupled software and system stack that requires a degree of automation and continuous testing. In the past decade, two build frameworks (Spack, EasyBuild) have emerged and widely used in HPC community for automating build &amp; installation process for scientific software. On the contrary, testing frameworks for HPC systems are limited to a few handful (ReFrame, Pavilion2, buildtest) that are in active development.</p> <p>In buildtest, users will write test recipes in YAML called buildspecs that buildtest process to generate a shell script. buildtest utilizes versioned-based JSON Schema for validating buildspecs and currently, we support two main schemas (compiler, script). The script schema and compiler schema are used for writing traditional shell-scripts (bash, sh, csh), python-scripts and single source compilation test. In this talk we will present an overview of buildtest and how one can write buildspecs. Furthermore, we will discuss Cori Testsuite (https://github.com/buildtesters/buildtest-cori) in buildtest with several real examples on testing various components for Cori system at NERSC.</p></abstract> <description></description> <persons> <person id="5040">Shahzeb Siddiqui</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/buildtest/attachments/slides/4399/export/events/attachments/buildtest/slides/4399/buildtest_fosdem21.pdf">buildtest: HPC Testing Framework for Acceptance Testing</attachment> </attachments> <links> <link href="https://github.com/buildtesters/buildtest">GitHub Project</link> <link href="https://buildtest.readthedocs.io/en/devel/">Documentation</link> <link href="https://buildtesters.github.io/buildtest/">Schema Docs</link> <link href="https://video.fosdem.org/2021/D.hpc/buildtest.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/buildtest.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11083.php">Submit feedback</link> </links> </event> <event id="11004"> <start>16:30</start> <duration>00:30</duration> <room>D.hpc</room> <slug>hpc_research_tools</slug> <title>Open Source HPC Research Tools at the Institute for Scientific Computing</title> <subtitle/> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>This talk gives an overview of the various open source HPC-related research projects at the Institute for Scientific Computing at TU Darmstadt. For each of the projects, we present an overview of the tool and its application from a user perspective. In addition, we cover more technical details, e.g., main programming language, build system or the general development stack. We have consolidated our efforts into a single GitHub space at https://github.com/tudasc.</p></abstract> <description><p>MACH MACH (MPI Assertion Checking) is a Clang/LLVM-based static analysis tool to detect if one of the recently proposed MPI-assertions can be applied to an MPI communicator. A programmer may specify these assertions, such that the MPI Library can use more optimized operations, as some of the standard's constraints are relaxed in that case, e.g., strict message ordering. MACH statically checks whether the relaxation of some of the MPI standard's guarantees will cause errors in an application. The current version supports C and C++ applications, with the scope of the analysis being limited to one translation unit. The project is available under the Apache-2.0 License.</p> <p>PIRA The Performance Instrumentation Refinement Automation framework is a profiler built on top of Clang/LLVM and Score-P. It performs automatic instrumentation refinement for performance measurements of sequential and MPI-parallel applications. To reduce runtime overhead it constructs, fully automatically, filter lists for Score-P based on static source-code features and profile information. The project is available under BSD 3-clause license.</p> <p>SimAnMo The Simulated Annealing Modeler is a software tool to model the runtime behavior of programs depending on the size of one input parameter x. Its modeling procedure is based on runtime measurements for small values of x which result in acceptable runtimes and are so-called training points. SimAnMo supports modeling for programs with polynomial behavior, i.e., the program's runtime t(x) only grows in polynomial terms with the size of the input x. In addition, SimAnMo recognizes and models and exponential growth in the runtime. SimAnMo is highly configurable and parameterizable and automatically produces PDF reports of runtime behavior. The project is available under the MIT License.</p> <p>TypeART TypeART is a memory type sanitizer based on the LLVM compiler framework. In particular, TypeART ist used for type correctness checks of MPI communication buffers and checkpointing libraries. In both cases, data is passed as a type-less void buffer, and the user is required to specify its type manually. This is error prone. To avoid a mismatch of types during runtime, TypeART instruments memory allocations (heap, stack, global) and extracts their type information to enable runtime comparisons. Detected mismatches are reported at runtime. The project is available under BSD 3-clause license.</p></description> <persons> <person id="7509">Jan-Patrick Lehr</person> <person id="7943">Tim Jammer</person> <person id="7973">Michael Burger</person> <person id="7974">Alexander Hück</person> </persons> <attachments> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/hpc_research_tools/attachments/paper/4218/export/events/attachments/hpc_research_tools/paper/4218/full_abstract.pdf">Full-Abstract</attachment> <attachment type="audio" href="https://fosdem.org/2021/schedule/event/hpc_research_tools/attachments/audio/4736/export/events/attachments/hpc_research_tools/audio/4736/2021_FOSDEM_full.pdf">Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.hpc/hpc_research_tools.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/hpc_research_tools.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11004.php">Submit feedback</link> </links> </event> <event id="11037"> <start>17:00</start> <duration>00:30</duration> <room>D.hpc</room> <slug>flux</slug> <title>Flux: Solving Exascale Workflow and Resource Challenges</title> <subtitle>Plus - How Open-Source Drives Our Project Design</subtitle> <track>HPC, Big Data and Data Science</track> <type>devroom</type> <language/> <abstract><p>Many emerging scientific workflows that target high-end HPC systems require a complex interplay with resource and job management software (RJMS). However, portable, efficient and easy-to-use scheduling of these workflows is still an unsolved problem. In this talk, we present Flux, a next-generation RJMS designed specifically to address the key scheduling challenges of modern workflows in a scalable, easy-to-use, and portable manner. At the heart of Flux lies its ability to be seamlessly nested within batch allocations created by itself as well as other system schedulers (e.g., SLURM, MOAB, LSF, etc), serving the target workflows as their “personal RJMS instances”. In particular, Flux’s consistent and rich set of well-defined APIs portably and efficiently support those workflows that can feature non-traditional patterns such as complex co-scheduling, massive ensembles of small jobs and coordination among jobs in an ensemble.</p> <p>We will also cover how the Flux-Framework project is structured around open-source development, including our use of the Collective Code Construction Contract (C4), RFCs, LGPL, and various online open-source platforms. We discuss how these choices of open-source processes have influenced the repo structure, the code, our collaborations, and even the sub-teams within the project.</p></abstract> <description><p>Expected prior knowledge / intended audience: Audience should have basic knowledge of batch job systems; knowledge of or experience with running scientific workflows is a plus. There will be some background on common workflows in the talk. This will be interesting to HPC users, workflow developers, and admins.</p> <p>Speaker bio: Stephen Herbein is a computer scientist in Livermore Computing at Lawrence Livermore National Laboratory. His research interests include batch job scheduling, parallel IO, and data analytics. He is a part of the Flux team, developing next-generation IO-aware and multi-level schedulers for HPC.</p> <p>Links to previous talks by the speaker: - http://flux-framework.org/papers/Flux-DevDay-2018-Slides.pdf - https://github.com/flux-framework/tutorials</p> <p>See https://herbein.net/Herbein_CV.pdf for more (including papers on Flux)</p></description> <persons> <person id="7679">Stephen Herbein</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/flux/attachments/slides/4416/export/events/attachments/flux/slides/4416/2021_FOSDEM.pdf"/> </attachments> <links> <link href="https://github.com/flux-framework/">Github</link> <link href="https://github.com/flux-framework/Tutorials">Previous Talks</link> <link href="https://video.fosdem.org/2021/D.hpc/flux.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.hpc/flux.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11037.php">Submit feedback</link> </links> </event> </room> <room name="D.infra"> </room> <room name="D.javascript"> </room> <room name="D.openjdk"> <event id="11675"> <start>10:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>openjfx</slug> <title>Cross-Platform User Interface Development in Java with OpenJFX</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>The JavaFX API's allow Java developers to create Java applications with a user interface.</p></abstract> <description><p>The JavaFX code (API's and implementations) is developed in the OpenJFX project, under the OpenJDK umbrella.</p> <p>JavaFX brings the cross-platform paradigm of Java to user interfaces (UI). A UI created with JavaFX can be rendered on different desktop or laptop systems, but also on mobile devices (iOS/Android) and embedded devices.</p> <p>In this session, we will give an overview of the structure and the capabilities of JavaFX. We will also explain how the development process is organised.</p> <p>We will show demos explaining how the code is integrated with IDE's, and we will discuss features that are currently on the roadmap.</p></description> <persons> <person id="6274">Johan Vos</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/openjfx.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/openjfx.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11675.php">Submit feedback</link> </links> </event> <event id="11091"> <start>10:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>javaraspberrypi</slug> <title>The Future of Java on Raspberry Pi: Java, JavaFX, Raspberry Pi and Electronics</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Java on the Raspberry Pi is still a controversial topic, but recent evolutions of both the JDK and OpenJFX have proven they are a perfect match! In this talk we will look into some examples and discuss what could be the next steps.</p></abstract> <description><p>We will take a look at the current state of Java, JavaFX, and Pi4J on the Raspberry Pi. Still, most Java developers didn't consider the Raspberry Pi yet to be the perfect board to run their applications, but with its low price but high specifications, the Raspberry Pi is opening whole new worlds.</p></description> <persons> <person id="7598">Frank Delporte</person> </persons> <attachments> </attachments> <links> <link href="https://foojay.io/today/category/java/embedded/raspberry-pi/">Articles on Foojay on this topic</link> <link href="https://webtechie.be/books/">Book "Getting Started with Java on the Raspberry Pi"</link> <link href="https://video.fosdem.org/2021/D.openjdk/javaraspberrypi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/javaraspberrypi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11091.php">Submit feedback</link> </links> </event> <event id="11629"> <start>11:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>fxgl</slug> <title>Practical Introduction to FXGL Game Engine</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Modern JavaFX provides hardware acceleration support on a range of platforms, including desktop, mobile and embedded, allowing the development of high-performance cross-platform applications.</p> <p>However, to develop games with JavaFX effectively, numerous domain-specific concepts are needed.</p> <p>To address this need, the FXGL game engine extends JavaFX and brings support for real-world game development techniques. These include the entity-component model, A* pathfinding, particle systems, sprite sheet animations, and many other features.</p> <p>As a result, JavaFX (including Java and Kotlin) developers can produce games more quickly and more effectively with FXGL.</p></abstract> <description></description> <persons> <person id="7949">Almas Baimagambetov</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/AlmasB/FXGL">FXGL game engine source</link> <link href="https://github.com/AlmasB/FXGLGames">FXGL games source</link> <link href="https://video.fosdem.org/2021/D.openjdk/fxgl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/fxgl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11629.php">Submit feedback</link> </links> </event> <event id="11596"> <start>12:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>javafxclock</slug> <title>Creating a JavaFX World Clock App from Scratch</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>This is a quick tour of advanced topics on how I created a sci-fi looking World Clock application using zero (NO) 3rd party Java library dependencies (Just pure Java).</p> <p>The advance topics you'll get to explore are the following:</p> <ul> <li>Animation</li> <li>WebView</li> <li>Custom UI styling</li> <li>Scene Builder tool</li> <li>Jlink</li> <li>Integration of external Weather &amp; Map Service APIs</li> </ul> </abstract> <description></description> <persons> <person id="7941">Carl Dea</person> </persons> <attachments> </attachments> <links> <link href="https://foojay.io/today/creating-a-javafx-world-clock-from-scratch-part-1/">Create a JavaFX world clock Part 1</link> <link href="https://foojay.io/today/creating-a-javafx-world-clock-from-scratch-part-2/">Create a JavaFX world clock Part 2</link> <link href="https://github.com/carldea/worldclock">Project site</link> <link href="https://video.fosdem.org/2021/D.openjdk/javafxclock.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/javafxclock.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11596.php">Submit feedback</link> </links> </event> <event id="11440"> <start>12:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>jfr</slug> <title>Real World JFR: Experiences Using JFR Outside the Ivory Tower</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Lessons learnt when using JFR at scale.</p></abstract> <description><p>The JDK Flight Recorder (JFR) was open sourced with JDK 11, and was subsequently back-ported to JDK 8u262. JFR allows for always-on production time profiling, with little overhead and with a rich set of data. This talk will discuss things to consider when using JFR to profile hundreds of thousands of JVMs in mission critical systems all over the world. We will discuss trade-offs, limits, work-arounds and insights we’ve learnt as we’ve developed the Java profiling capabilities at Datadog.</p></description> <persons> <person id="7640">Marcus Hirt</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/jfr.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/jfr.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11440.php">Submit feedback</link> </links> </event> <event id="11554"> <start>13:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>hitchhikercontainer</slug> <title>A Hitchhiker's Tour to Containerizing a Java application</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>While a plain Dockerfile gets the job done, there are actually many more ways to containerize your Java app. They come with a couple of pros, and some cons.</p></abstract> <description><p>As “the Cloud” becomes more and more widespread, now is a good time to assess how you can containerize your Java application. I assume you’re able to write a a Dockerfile around the generated JAR. However, each time the application’s code will change, the whole image will need to be rebuilt. If you’re deploying to a local Kubernetes cluster environment, this increases that much the length of the feedback loop.</p> <p>In this demo-based talk, I’ll present different ways to get your Java app in a container: Dockerfile, Jib, and Cloud Native Buildpacks. We will also have a look at what kind of Docker image they generate, how they layer the images, whether those images are compatible with skaffold, etc.</p></description> <persons> <person id="5584">Nicolas Frankel</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/hitchhikercontainer.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/hitchhikercontainer.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11554.php">Submit feedback</link> </links> </event> <event id="11582"> <start>14:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>5tipssecurecontainers</slug> <title>5 Tips to Create Secure Docker Containers for Java Developers</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Docker is the most widely used way to containerize your application.</p></abstract> <description><p>With Docker Hub, it is easy to create and pull pre-created images. This is very convenient as you can use these images from Docker Hub to quickly build an image for your Java application.</p> <p>However, the naive way of creating custom Docker images for your Java applications comes with many security concerns. So, how do we make security an essential part of Docker images for Java?</p></description> <persons> <person id="7937">Brian Vermeer</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/5tipssecurecontainers.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/5tipssecurecontainers.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11582.php">Submit feedback</link> </links> </event> <event id="11649"> <start>14:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>jib</slug> <title>Containerizing Spring Boot Applications with Jib</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Jib is a Java containerizer from Google that lets Java developers build containers using build tools like Maven and Gradle.</p></abstract> <description><p>Containerizing Java applications is not a trivial task and also there is a learning curve involved as you have to get yourself familiar with tool-specific commands etc.</p> <p>I can say from personal experience that not all Java developers are container experts.</p> <p>For example, first, you should have docker installed and then you have to maintain a Dockerfile. Then over a period of time, the image size grows and you start trying things like multi-stage builds to reduce your image size and have only required dependency for your application.</p> <p>A developer ideally should not be worrying about these things. With Jib, you don't deal with such complexities and you just have to add a plugin to your build tool Maven or Gradle and you are good to go. It takes care of your image building and pushing to the container registry.</p></description> <persons> <person id="7952">Ashish Choudhary</person> </persons> <attachments> </attachments> <links> <link href="https://foojay.io/today/containerizing-spring-boot-applications-with-jib/">https://foojay.io/today/containerizing-spring-boot-applications-with-jib/</link> <link href="https://video.fosdem.org/2021/D.openjdk/jib.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/jib.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11649.php">Submit feedback</link> </links> </event> <event id="11167"> <start>15:20</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>dynamicproxies</slug> <title>Dynamic Proxies in Java</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Java frameworks often need to dynamically create classes.</p> <p>One approach to do that easily in Java is dynamic proxies.</p> <p>In this talk, we will show how they compare to hand-written classes.</p> <p>We will then examine how we can use dynamic proxies to reduce the amount of code that we have to write.</p></abstract> <description></description> <persons> <person id="8020">Heinz Kabutz</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/dynamicproxies.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/dynamicproxies.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11167.php">Submit feedback</link> </links> </event> <event id="11550"> <start>16:00</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>concurrencydebugging</slug> <title>JCStress: Eliminating the Nightmare of Debugging Concurrency Problems</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>Are you sure your concurrency code will not fail?</p> <p>Writing concurrent programs is hard. Testing the concurrent program is harder. Debugging the concurrent program is a nightmare.</p> <p>The incorrect concurrent program can run for years, tricking us to believe it is stable code. And then fail spectacularly when we least expect.</p> <p>Why run this risk when OpenJDK provides an amazing tool to test the correctness of your concurrent programs?</p> <p>Meet JCStress. A concurrency stress test tool used by JVM developers to test the correctness of the JVM itself!</p> <p>In this session, you will understand how to use JCStress and how to test your concurrent programs. You will write tests and learn how to deal with different scenarios.</p> <p>Start using JCSTress on your projects today. Eliminate the risk of catastrophic concurrency failures in your Java applications. Test now so you don't have to debug it later.</p></abstract> <description></description> <persons> <person id="7917">Vipin Sharma</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/concurrencydebugging.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/concurrencydebugging.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11550.php">Submit feedback</link> </links> </event> <event id="11033"> <start>16:40</start> <duration>00:40</duration> <room>D.openjdk</room> <slug>endtoendtests</slug> <title>JUnit Jupiter Extensions: Writing End to End Tests</title> <subtitle/> <track>Friends of OpenJDK</track> <type>devroom</type> <language/> <abstract><p>You can write unit- and integration tests in different ways, though sometimes you need to write higher level tests, such as <em>end-to-end</em> tests, which are often hard to write.</p> <p>This talk will show you examples of how to write end-to-end tests by using <a href="https://junit.org/junit5/">JUnit Jupiter Extension mechanism</a> with the support of <a href="https://testcontainers.org">Testcontainers</a> and, as a foundation, <a href="https://spring.io/projects/spring-boot">Spring Boot</a>, in a convenient way.</p></abstract> <description><p>By using frameworks like Spring Boot, there is already very good support within the framework to write tests and integration tests but if you have to deploy not on the Cloud (like DC/OS, K8S etc.), you might have issues to create an appropriate test environment. In particular, if you have several participants needed to get your application correctly running.</p> <p>So, based on JUnit Jupiter, Testcontainers, and some Java code, you can write real end-to-end Tests which are very helpful in several ways.</p> <p>It makes it more or less easy to create end-to-end Tests which can be run via your IDE also.</p> <p>There are several aspect which need to be taken care of, like how to synchronise the application and your test code, and so on.</p></description> <persons> <person id="3026">Karl Heinz Marbaise</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.openjdk/endtoendtests.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.openjdk/endtoendtests.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11033.php">Submit feedback</link> </links> </event> </room> <room name="D.kotlin"> <event id="11682"> <start>10:00</start> <duration>00:10</duration> <room>D.kotlin</room> <slug>kotlin_devroom_welcome</slug> <title>Kotlin DevRoom Welcoming Remarks</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Welcoming participants to the virtual edition of the Kotlin DevRoom @ FOSDEM</p></abstract> <description></description> <persons> <person id="6477">Nicola Corti</person> <person id="7079">Martin Bonnin</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/kotlin_devroom_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/kotlin_devroom_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11682.php">Submit feedback</link> </links> </event> <event id="11730"> <start>10:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>kotlin_roadmap_upcoming_features</slug> <title>Kotlin Roadmap: Upcoming Features</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>In this talk, we’ll discuss what the Kotlin team is working on, the priorities we have, and the additions you can expect in the language.</p> <p>The JVM platform is evolving, and Kotlin is keeping up with the new features as they become available. This includes the features introduced by the upcoming Project Valhalla and JVM support for sealed classes and records. In this talk, we’ll discuss how these changes affect Kotlin as a language, and how the Kotlin team finds a balance between drawing on the power of the new JVM versions, supporting the same functionality in older versions, and providing a smooth transition. We'll also talk about how you, the community, can influence the design and evolution of the language!</p></abstract> <description></description> <persons> <person id="8038">Svetlana Isakova</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/kotlin_roadmap_upcoming_features.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/kotlin_roadmap_upcoming_features.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11730.php">Submit feedback</link> </links> </event> <event id="11664"> <start>10:40</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>the_future_of_dependency_management</slug> <title>The future of dependency management, seen from 2021</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Dependency management in the Kotlin and in the JVM ecosystems is great, especially for Gradle users, but there's room for improvement.</p> <p>Some tasks, like upgrading dependencies to the right versions, are still tedious and time consuming. There's also compatibility gotchas because of the lack of metadata.</p> <p>This talk will start with a mention of the different problems that come with dependency management in real-world projects. Then it'll show how the developer tool <a href="https://github.com/jmfayard/refreshVersions">refreshVersions</a> (MIT licensed) tackles some of these issues in Gradle projects, saving a lot of time when upgrading dependencies.</p> <p>Finally, I'll talk about what the future can be for dependency management, be it from new features in future Gradle versions, or tools or conventions that the community can create to improve the status quo.</p></abstract> <description></description> <persons> <person id="7930">LouisCAD</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/jmfayard/refreshVersions">refreshVersions GitHub page</link> <link href="https://video.fosdem.org/2021/D.kotlin/the_future_of_dependency_management.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/the_future_of_dependency_management.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11664.php">Submit feedback</link> </links> </event> <event id="10875"> <start>11:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>live_coding_with_http4k</slug> <title>Live coding server as a function with http4k</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Http4k is a lightweight HTTP library written in Kotlin that enables serving and consuming of HTTP services in a functional and testable way. Unlike many other libraries and frameworks which have complicated abstractions and workflows, http4k captures the essence of communication over HTTP with few simple concepts. In this session I will explain and demo the core concepts in http4k by live coding from scratch http server for noughts and crosses game.</p></abstract> <description><p>Target audience: Software developers with couple years of experience using a programming language like Java, Kotlin or Scala.</p> <p>Dmitry has been programming since DOS times. He spent the last 15 years or so in Java lands most recently working with server-side Kotlin.</p></description> <persons> <person id="7537">Dmitry Kandalov</person> </persons> <attachments> </attachments> <links> <link href="https://www.youtube.com/user/dkandalov">previous talks</link> <link href="https://video.fosdem.org/2021/D.kotlin/live_coding_with_http4k.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/live_coding_with_http4k.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10875.php">Submit feedback</link> </links> </event> <event id="11636"> <start>11:40</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>come_to_the_backend_side</slug> <title>Come to the backend side we have Kotlin!</title> <subtitle>Ktor for backend development</subtitle> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>With this session, you will learn how to setup a Kotlin Ktor project with some routes using the framework tools and features (Routing, DataConversion, ContentNegotiation...) and communicate with a sample Android app.</p> <p>Let see how we can easily setup a Postgres database connection with Exposed, an ORM library for Kotlin and see how clean architecture can be a good choice for developping your brand new API.</p> <p>We can even go further and see that we can actully share code from your backend application and your Android application (say hi to Swagger!).</p></abstract> <description></description> <persons> <person id="7953">Julien Salvi</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/come_to_the_backend_side/attachments/slides/4491/export/events/attachments/come_to_the_backend_side/slides/4491/Slides_Ktor">Come to the backend side we have Kotlin!</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/come_to_the_backend_side.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/come_to_the_backend_side.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11636.php">Submit feedback</link> </links> </event> <event id="11662"> <start>12:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>compose_for_desktop</slug> <title>Step it up: Compose for Desktop</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Developing for multi-platform is picking up speed as the Kotlin Multi-Platform gets better with every release. That mostly means that shared logic is being written in Kotlin which can then be targeted to many target platforms. Up until recently it wasn't easy to develop UI for multiple platforms on the Desktop side. That is changing with the introduction of Compose for Desktop, which will allow building application UI for Linux, macOS and Windows.</p> <p>In this session you will get to understand what is Compose for Desktop, how does it work and how can you jump right into building for multiple platforms opening up the vast domains other than the mobile.</p></abstract> <description></description> <persons> <person id="7033">Nishant Srivastava</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/compose_for_desktop/attachments/slides/4688/export/events/attachments/compose_for_desktop/slides/4688/Step_it_up_Compose_for_Desktop.pdf">Step it up: Compose for Desktop</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/compose_for_desktop.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/compose_for_desktop.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11662.php">Submit feedback</link> </links> </event> <event id="11651"> <start>12:40</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>goodbye_kotlin_extensions</slug> <title>Goodbye Kotlin Extensions, Welcome View Binding</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>In this session, I will be talking about the paradigm shift from Kotlin synthetics to View Binding and will be covering the following, 1- Demerits of Kotlin synthetics 2- The road forward 3- What’s the View binding and what are its benefits? 3- Migrating from Kotlin synthetics to View Binding with a code walkthrough</p></abstract> <description></description> <persons> <person id="7914">Monika Kumar Jethani</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/goodbye_kotlin_extensions.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/goodbye_kotlin_extensions.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11651.php">Submit feedback</link> </links> </event> <event id="11551"> <start>13:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>how_to_write_your_mvi_library</slug> <title>How to write your own MVI library and why you shouldn't</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Model-View-Intent is a simple architectural pattern in principle, but questions come up when you try to implement it yourself. We draw on our 2+ years of experience with orbit-mvi, our MVI library, to show best practices for using an MVI system in your application.</p> <p>How do you integrate with Android? What happens when you rotate your device? What about navigation or one-off events? How do you make the system type-safe? What about developer experience? If you’ve ever had similar questions come to our talk!</p></abstract> <description></description> <persons> <person id="7927">Mikolaj Leszczynski</person> <person id="7955">Matthew Dolan</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/orbit-mvi/orbit-mvi">Presented library</link> <link href="https://www.droidcon.com/media-detail?video=470147343">Prior presentation at Droidcon EMEA</link> <link href="https://slides.com/mikolajleszczynski/how-to-write-your-own-mvi-system-and-why-you-shouldn-tt">slides</link> <link href="https://video.fosdem.org/2021/D.kotlin/how_to_write_your_mvi_library.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/how_to_write_your_mvi_library.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11551.php">Submit feedback</link> </links> </event> <event id="11541"> <start>13:40</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>and_that_folks_is_how_we_shared_code</slug> <title>And that, folks, is how we shared code between Android, iOS and the Backend</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Kotlin Multiplatform is an alpha feature that you can use to share code between different platforms. Even if it is in alpha stage, it is already possible to start using it in production applications.</p> <p>In this talk, I will share the discussion that led us to Kotlin Multiplatform, and the following processes we put in place to start using it in production for an Android, iOS, and backend project. I will show you what parts of the code you can (gradually) start to share and how to integrate with existing standalone projects.</p></abstract> <description></description> <persons> <person id="7925">Marco Gomiero</person> </persons> <attachments> </attachments> <links> <link href="https://speakerdeck.com/prof18/and-that-folks-is-how-we-shared-code-between-android-ios-and-the-backend-fosdem">Slides</link> <link href="https://github.com/prof18/shared-hn-android-ios-backend">Sample Code</link> <link href="https://video.fosdem.org/2021/D.kotlin/and_that_folks_is_how_we_shared_code.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/and_that_folks_is_how_we_shared_code.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11541.php">Submit feedback</link> </links> </event> <event id="11561"> <start>14:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>lessons_learned_in_kmm_library_dev</slug> <title>Lessons I’ve learned in Multiplatform Library Development</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Software development is hard. It’s even harder when you’re building libraries that other developers will depend on. I’ll talk about my experience with library development in Kotlin Multiplatform, trying to highlight challenges I’ve faced and mistakes I’ve made. We’ll look at this through the lens of recent updates I’ve made to the library I maintain, as well as the current state of the wider Kotlin library ecosystem.</p></abstract> <description></description> <persons> <person id="7275">Russell Wolf</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/lessons_learned_in_kmm_library_dev.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/lessons_learned_in_kmm_library_dev.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11561.php">Submit feedback</link> </links> </event> <event id="10923"> <start>14:40</start> <duration>00:45</duration> <room>D.kotlin</room> <slug>from_imperative_to_reactive_then_coroutines</slug> <title>Migrating from Imperative to Reactive then Coroutines a Spring Boot application</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>In this talk, I’ll demo how you can migrate a traditional sample Spring Boot application written in Kotlin to coroutines one step at a time via a hands-on demo.</p></abstract> <description><p>From Wikipedia, Reactive Programming is 'a declarative programming paradigm concerned with data streams and the propagation of change.'</p> <p>The programming model is complex to master. It requires a lot of experience to feel comfortable with it. However, there’s no denying that it fits the cloud ecosystem perfectly. Since on-premises infrastructure is oversized, running a program that executes a couple of additional CPU cycles won’t change anything. On the other hand, you will pay for them if you host the same program on third-party infrastructure. Depending on the number of those cycles, and the number of nodes the program runs on, it can make a huge difference in your monthly bill.</p> <p>In this talk, I’ll demo how you can migrate a traditional sample Spring Boot application written in Kotlin to coroutines one step at a time via a hands-on demo.</p></description> <persons> <person id="5584">Nicolas Frankel</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.kotlin/from_imperative_to_reactive_then_coroutines.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/from_imperative_to_reactive_then_coroutines.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10923.php">Submit feedback</link> </links> </event> <event id="11603"> <start>15:25</start> <duration>00:45</duration> <room>D.kotlin</room> <slug>this_spring_shall_be_challenged</slug> <title>This Spring Shall Be Challenged</title> <subtitle>It doesn't need to be Spring, or does it?</subtitle> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Spring Framework helped us through dark times and is still a very active and helpful project. But is it the only option for doing any kind of web projects? There are many new frameworks around and they have interesting approaches. Especially when we use Kotlin, we might get better Developer Experiences and much better performance results.</p> <p>This talk is about showing you some interesting alternatives and hopefully helps you with finding a good fit for your next project</p></abstract> <description><p>Let's have a look at a real life borrowed REST endpoint, written in Kotlin (dahhh) using Spring, <a href="https://ktor.io">Ktor</a>, <a href="https://micronaut.io">Micronaut</a> and <a href="https://jooby.io">Jooby</a>. We'll compare the efforts, timings and developer experience and collect pros and cons for that next project planning.</p></description> <persons> <person id="7934">Holger Steinhauer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/this_spring_shall_be_challenged/attachments/slides/4367/export/events/attachments/this_spring_shall_be_challenged/slides/4367/Slide_Deck_Keynote">This Spring Shall Be Challenged - Slides</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/this_spring_shall_be_challenged/attachments/slides/4368/export/events/attachments/this_spring_shall_be_challenged/slides/4368/Slide_Deck_PDF.pdf">This Spring Shall Be Challenged - Slides (PDF)</attachment> </attachments> <links> <link href="https://ebean.io">Ebean ORM</link> <link href="https://insert-koin.io">KoIn DI</link> <link href="https://gatling.io">Gatling Performance Testing</link> <link href="https://caddyserver.com">Caddy Server</link> <link href="https://spring.io">Spring Project</link> <link href="https://ktor.io">Ktor Project</link> <link href="https://micronaut.io/">Micronaut Project</link> <link href="https://jooby.io/">Jooby Project</link> <link href="https://www.yourkit.com/">YourKit Profiler</link> <link href="https://github.com/daincredibleholg/this-spring-shall-be-challenged">Code examples</link> <link href="https://steinhauer.software">My Company</link> <link href="https://www.meetup.com/Virtual-Kotlin-User-Group/">Virtual Kotlin User Group</link> <link href="https://www.meetup.com/kotlin-berlin/">Kotlin User Group Berlin</link> <link href="https://anchor.fm/coding-with-holger">Podcast Coding With Holger</link> <link href="https://www.javaadvent.com">Java Advent Calendar</link> <link href="https://video.fosdem.org/2021/D.kotlin/this_spring_shall_be_challenged.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/this_spring_shall_be_challenged.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11603.php">Submit feedback</link> </links> </event> <event id="11542"> <start>16:10</start> <duration>00:30</duration> <room>D.kotlin</room> <slug>start_with_the_kotlin_flow</slug> <title>Start with the Kotlin flow</title> <subtitle/> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Kotlin flow is a new stream processing API introduced in kotlin. In this talk we'll learn about flow API's, internal details &amp; how flow can be used to handle asynchronous streams of data.</p></abstract> <description><p>In this talk we'll cover</p> <p>-- Overview of flow</p> <p>-- Why we need flow</p> <p>-- Internals and deep dive in flow API's</p> <p>-- How a flow can be created</p> <p>-- Using flow in android apps</p> <p>-- Exception handling in flow processing</p> <p>-- Testing flows</p></description> <persons> <person id="7916">Abhishesh Srivastava</person> </persons> <attachments> </attachments> <links> <link href="https://speakerdeck.com/abhisheshsrivastava/start-with-the-kotlin-flow">Slides</link> <link href="https://video.fosdem.org/2021/D.kotlin/start_with_the_kotlin_flow.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/start_with_the_kotlin_flow.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11542.php">Submit feedback</link> </links> </event> <event id="11538"> <start>16:40</start> <duration>00:45</duration> <room>D.kotlin</room> <slug>declarative_ready_unidirectionaldataflow_with_coroutines</slug> <title>Getting ready for Declarative UIs with Unidirectional Data Flow using Kotlin Coroutines</title> <subtitle>Unidirectional Data Flow in action: suspend functions, Flow & StateFlow to make our Reactive apps prepared for Declarative UIs.</subtitle> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>Unidirectional Data Flow (UDF) is a powerful technique that enhances our Reactive apps to work deterministically. Synchronising our views with fresh data was never an easy task to accomplish. For this same reason, there are mechanisms that support us to make that possible. Surely callbacks were a thing in the past, however, they were an antipattern themselves due to the lack of readability. Now we don't need to deal with them any more thanks to Kotlin Coroutines. Getting ready for Declarative UIs with Kotlin Coroutines and friends is indeed feasible, now we could use suspend functions, Flow and in the end StateFlow would make our Reactive apps ready for Declarative UIs. Let’s define a single entry point, receive data, transform it into a state, and render each state. Let’s get our apps ready for a Declarative UI world on Android.</p></abstract> <description><p>You'll learn how to use Kotlin Coroutines and friends from the Kotlin Coroutines library to take advantage of really efficient and easy to read code. How to handle its lifecycle without being compromised to a specific external Android framework, which would enable your code to be prepared for more purposes than Android only apps.</p></description> <persons> <person id="7924">Raul Hernandez Lopez</person> </persons> <attachments> </attachments> <links> <link href="https://twitter.com/raulhernandezl">Raul Twitter handle</link> <link href="https://proandroiddev.com/getting-ready-for-declarative-uis-8eedb5f8ed0d">Getting ready for Declarative UIs - Part 1 - Unidirectional Data Flow (blog post)</link> <link href="https://speakerdeck.com/raulh82vlc/getting-ready-for-declarative-uis-with-unidirectional-data-flow-using-kotlin-coroutines">Getting ready for Declarative UIs with Unidirectional Data Flow using Kotlin Coroutines (presentation slides)</link> <link href="https://video.fosdem.org/2021/D.kotlin/declarative_ready_unidirectionaldataflow_with_coroutines.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/declarative_ready_unidirectionaldataflow_with_coroutines.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11538.php">Submit feedback</link> </links> </event> <event id="11709"> <start>17:25</start> <duration>00:35</duration> <room>D.kotlin</room> <slug>realtime_3d_graphics_with_kotlin</slug> <title>Realtime 3D graphics and VR with Kotlin and Vulkan</title> <subtitle>Let's enjoy the scenery</subtitle> <track>Kotlin</track> <type>devroom</type> <language/> <abstract><p>This talk is gonna be about the scenery framework, a framework we have developed for visualising geometry and large volumetric data (TB+) using Kotlin and Vulkan or OpenGL. Coroutines, Kotlin's conciseness and syntactic sugar enabled the efficient codebase of scenery to integrate with popular image processing tools, and support Virtual Reality rendering, both on headsets and on distributed multi-projector systems like CAVEs. We'll show code, demos, lessons learned, and demonstrate how we use the framework in a visualisation software for end users, sciview, that we have also developed.</p></abstract> <description></description> <persons> <person id="8011">Ulrik Guenther</person> <person id="8050">Kyle Harrington</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/scenerygraphics/scenery">scenery github repository</link> <link href="https://github.com/scenerygraphics/sciview">sciview github repository</link> <link href="https://video.fosdem.org/2021/D.kotlin/realtime_3d_graphics_with_kotlin.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.kotlin/realtime_3d_graphics_with_kotlin.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11709.php">Submit feedback</link> </links> </event> </room> <room name="D.legal"> <event id="11128"> <start>14:00</start> <duration>00:30</duration> <room>D.legal</room> <slug>digitalmarketsact</slug> <title>Open Source, Interoperability and the Digital Markets Act</title> <subtitle>New European regulation proposals to open up the dominant platforms</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>The Internet originally thrived on interoperable services - until the "walled gardens" came. The European Commission recently proposed new regulations (DSA/DMA/DGA) to protect democracy and restore openness and competition. The talk will introduce them and their economic and political background; it will then focus on a specific point, the requirement for dominant platforms to interoperate with third parties, though only in limited cases, using messaging and social media as example.</p></abstract> <description><p>A few decades ago, the Internet was open, interoperable and based on federated services that allowed everyone to cooperate and deploy new content and services: email is the classic example. Then, consolidation happened: the talk will show a common European perspective of how we ended up with a concentration of money and power of unseen scale in the history of mankind, which perpetuates itself by adopting the "walled garden" service model. The best example of this model is instant messaging, where people have a hard time switching to different service providers as they need to be on a specific app to communicate with all the other users of the same app. This creates dominant positions that are often used to impose unfavourable terms and conditions onto users.</p> <p>In the European political and regulatory scene, this has been increasingly perceived as a problem under many dimensions: tax revenue, privacy, national security, law enforcement, free speech, and even democracy. All these dimensions boiled down into a call for "digital sovereignty", meaning more autonomy and stronger reliance on EU-provided services that keep the wealth they produce local, but also more control and stronger capabilities to set and enforce European rules for the Internet in Europe, without having to negotiate them with the big American platforms.</p> <p>Open source has been identified as a fitting software development model for Europe and increasingly supported. Open source development matches the "cooperation in diversity" that is required by the multinational, multicultural nature of the European Union, and naturally offers remedies to consolidation.</p> <p>After quickly introducing the three regulatory proposals - the Digital Services Act, the Digital Markets Act and the Data Governance Act - the final part of the talk will focus on the DMA and on a specific topic: interoperability provisions. "Walled garden" instant messaging apps could be turned into open, federated email-style services by forcing dominant providers to open up and interoperate with potential competitors, so that users of one app could exchange messages with the users of all the other apps.</p> <p>The current DMA proposal by the European Commission, however, only does this in part. The interoperability clause in Article 6.1(f) only covers ancillary services such as payments, advertising or identification, but not core services like messaging and social media; and only for business users. The "real time" data portability clause in Article 6.1(h) would not allow true interoperability and would still require users to hold an account on each service and accept its unilateral contractual terms.</p> <p>The talk builds on the efforts of a coalition of open source software companies and digital rights NGOs that have been campaigning for full interoperability clauses in the DMA. It also builds on a technical policy paper that discusses the topic and that was submitted to the Commission during last summer's consultation. We hope to open up the debate, validate our ideas and build community discussion around this issue.</p></description> <persons> <person id="4611">Vittorio Bertola</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/digitalmarketsact/attachments/slides/4454/export/events/attachments/digitalmarketsact/slides/4454/Interoperability_and_the_DMA_FOSDEM_2021.pdf">Slides for the talk</attachment> </attachments> <links> <link href="https://www.open-xchange.com/fileadmin/user_upload/Resources_Pages/Analysis_of_Interoperable_Messaging_-_Version_1.pdf">An analysis of technical and policy options for interoperability in messaging</link> <link href="https://www.euractiv.com/wp-content/uploads/sites/2/2020/07/Letter-to-Executive-Vice-President-Margrethe-Vestager.pdf">Letter to Vice-President Vestager by a coalition of open source companies and NGOs</link> <link href="https://www.youtube.com/watch?v=J42v74h4Vt0">Virtual panel on the topic, held on 4 Nov 2020</link> <link href="https://bertola.eu/file/ig/202012%20Interoperability%20letter%20to%20EVP%20Vestager.pdf">Second letter to Vice-President Vestager by a coalition of open source companies and NGOs</link> <link href="https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:52020PC0842&from=en">The proposed text for the Digital Markets Act</link> <link href="https://video.fosdem.org/2021/D.legal/digitalmarketsact.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/digitalmarketsact.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11128.php">Submit feedback</link> </links> </event> <event id="11139"> <start>14:30</start> <duration>01:00</duration> <room>D.legal</room> <slug>qtproprietaryrelicensing</slug> <title>Protecting against proprietary re-licensing with a community contract</title> <subtitle>How the KDE Free Qt Foundation ensures software freedom for twenty-five years and counting</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>When the initial release of Qt was published in 1995, it was one of the first projects to use a dual-licensing model. This model, LGPL and a proprietary commercial license today, has served the project well for more than 25 years. It is less well known that the dual-licensing model is supported by a community contract which guarantees the freedom of Qt beyond what is in the license covered. This contract is maintained by the KDE Free Qt Foundation and has kept Qt free through multiple acquisitions and other turbulences.</p> <p>This presentation will explain the community contract, how it augments the dual-licensing model, and how it has evolved and served its purpose for 25 years and counting. It will also discuss what are the lessons learned and how it can serve as a model for projects today.</p></abstract> <description><p>The KDE Free Qt Foundation was born from a heated dispute about open source licenses in the late nineties. It resulted in a unique mechanism to ensure software freedom for the Qt and KDE ecosystems through a contract between the community and the company owning the project. It has stood the test of time and got the community a seat at the negotiation table going through multiple acqisitions.</p> <p>The contract between the KDE Free Qt Foundation and what is today The Qt Company gives the community a say in any license changes to Qt. It guarantees that there is the base for a sustainable model to provide Qt under an open source license and a corresponding open source based business model. With this it goes beyond what licenses cover. It is the counterpart to CLAs as it's constructed asymmetrically in favor of the community. That it has preserved the freedom of Qt through multiple acquisitions, among them Nokia buying and selling the technology, is a testament for the effectiveness of this setup.</p> <p>The presentation is based on a series of conversations with the people involved and first-hand experience from serving as a representative of the KDE Free Qt Foundation.</p></description> <persons> <person id="5115">Cornelius Schumacher</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/qtproprietaryrelicensing/attachments/slides/4561/export/events/attachments/qtproprietaryrelicensing/slides/4561/fosdem_kde_free_qt_foundation.pdf">Protecting against proprietary re-licensing with a community contract</attachment> </attachments> <links> <link href="https://kde.org/community/whatiskde/kdefreeqtfoundation/">KDE Free Qt Foundation</link> <link href="https://video.fosdem.org/2021/D.legal/qtproprietaryrelicensing.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/qtproprietaryrelicensing.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11139.php">Submit feedback</link> </links> </event> <event id="11071"> <start>15:30</start> <duration>00:30</duration> <room>D.legal</room> <slug>netneutrality</slug> <title>Net Neutrality and Free Software: The Case of Router Freedom in Europe</title> <subtitle/> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Router Freedom is a net neutrality principle that Internet Access Providers (IAPs) must not the limit the users' right to choose their own routers and modems to connect to the Internet protected in Europe since 2015. However, new rules on EU has created challenges router freedom, given that IAPs will be able to limit the right based on "objective technological necessity". The talk will go through the historical aspects and future developments in Europe.</p></abstract> <description><p>Net neutrality is the principle that Internet Access Providers (IAPs) must treat all Internet communications equally, and not discriminate or charge differently based on user, content, website, platform, application and type of access equipment. The FSFE has been involved with net neutrality advocacy in Europe since 2013, achieving positive results in Germany with a law securing end-users the right of free choice of routers and modems.</p> <p>In the context of the reform of European telecommunications law, EU Member States must implement in their national jurisdiction the European Electronic Communications Code (Directive (EU) 2018/1972), which brings new rules on router freedom, allowing IAPs to limit the rights of users if they can determine an "objective technological necessity" for imposing their routers and modems on consumers.</p> <p>The talk will go through the historical developments in the last two years in Europe to present an overview on the positions on the debate in regards to router freedom and the consequences for Free Software.</p> <p>As a take away, the talk will propose the discussion around the main principles of net neutrality and freedom of terminal equipment within the EU legal framework.</p></description> <persons> <person id="7023">Lucas Lasota</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/netneutrality/attachments/slides/4438/export/events/attachments/netneutrality/slides/4438/nn_fs_rf.pdf">Net Neutrality and Free Software: The Case of Router Freedom in Europe</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/netneutrality.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/netneutrality.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11071.php">Submit feedback</link> </links> </event> <event id="11220"> <start>16:00</start> <duration>01:00</duration> <room>D.legal</room> <slug>agplcompliance</slug> <title>The first AGPL compliance case settled in an Italian Court: a tale of compliance, license compatibility and source code availability</title> <subtitle/> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>Globaleaks is an AGPLv3+ SaaS application for anonymous whistleblowing, developed by the Hermes Center. After receiving a prototype, the Italian Anticorruption authority (ANAC) re-published a version under EUPL, modifying attribution &amp; copyright statement, removing reasonable notice from GUI, and failing to fully comply with source code obligations. The controversy was brought to Court and eventually settled, restoring the correct license, and patching the other issues. Several lessons learned.</p></abstract> <description><p>Globaleaks is an AGPLv3+ SaaS application for anonymous whistleblowing, developed by the Hermes center for transparency and digital human rights. After receiving a prototype, the Italian Anticorruption authority (ANAC) re-published a modified version (developed via a public tender) under EUPL, modifying attribution &amp; copyright statement, removing reasonable notice from GUI, and failing to fully comply with the obligation to convey the corresponding source code. After several attempts for an off-court solution, the question was finally settled by the parties, restoring the correct license, and the other issues. There are several lessons to be learned by this controversy. License compatibility and the other free software obligations (including conveying the corresponding source code) are not to be taken lightly, and require a good degree of knowledge and expertise, especially when they are related to an application which has been implemented by several Public administrations</p> <p>Speakers: Carlo Piana - Lawyer with 25+ years experience in IT, former GC for FSFE and member of the Council of its Legal Network, serves as member of IP&amp;OS advisory of UNTIL (United Nations). President of euroITcounsel, editor of Jolts (formerly Ifosslr).</p> <p>Fabio Pietrosanti - Naif (Project leader) - Fabio Pietrosanti has been part of the hacking digital underground with the nickname “naif” since 1995, while he’s been a professional working in digital security since 1998. President and co-founder of the Hermes Center for Transparency and Digital Human Rights, he is active in many projects to create and spread the use of digital tools in support of freedom of expression and transparency. Member of Transparency International Italy, owner of Tor’s anonymity nodes, Tor2web anonymous publishing nodes, he is among the founders of the anonymous whistleblowing GlobaLeaks project, nowadays used by investigative journalists, citizen activists and the public administration for anti-corruption purposes. He is an expert in technological innovation in the field of whistleblowing, transparency, communication encryption and digital anonymity. As a veteran of the hacking and free software environment, he has participated to many community projects such as Sikurezza.org, s0ftpj, Winston Smith Project, Metro Olografix, among others. Professionally, he has worked as network security manager, senior security advisor, entrepreneur and CTO of a startup in mobile voice encryption technologies.</p> <p>Giovanni Battista Gallus - Lawyer, ISO27001 Lead Auditor, freesoftware advocate, Former President of @CircoloGT, Nexa Fellow. ITLaw, privacy, security &amp; drones.</p> <p>Copyright, Criminal, Data Protection/Privacy and IT law are his main areas of expertise. In the last years, he is devoting a significant part of his practice to the legal aspects of UAVs (drones) After a cum laude degree in Law in Italy, he moves to Great Britain for the Master of Laws in Maritime Law e Information Technology Law at the University College London - UCL. Afterwhile, he earns a PhD. In 2009 he obtains the European Certificate on Cybercrime and Electronic Evidence (ECCE). He is ISO 27001:2013 Certified Lead Auditor (Information Security Management System). Member of the Bar of Cagliari since 1996, admitted to the Supreme Court since 2009, Data Protection Officer, he is a fellow of the Department "Informatica Giuridica" at the Università Statale of Milan where he teaches in the Post-Graduate Course in Digital Forensics and cybercrime. He also teaches at the Master for Data Protection Officers, organized by the Politecnico of Milan. Fellow of the Nexa Center on Internet and Society and of the Hermes Center for Transparency and Digital Human Rights. Author of several publications on the above mentioned areas and speaker at the main national and international congresses, he sides his legal profession an intense teaching activity, mainly in the field of copyright, Free/Open Source Software, data protection, IT security, digital forensics and drones.</p> <p>Alberto Pianon - IT Lawyer with 10+ years experience in open source licensing and compliance, LL.M. in Law &amp; Economics, member of the Legal Network of the FSFE.</p></description> <persons> <person id="3467">Giovanni Battista Gallus</person> <person id="5119">Fabio Pietrosanti (naif)</person> <person id="7758">Carlo Piana</person> <person id="8064">Alberto Pianon</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/agplcompliance/attachments/slides/4541/export/events/attachments/agplcompliance/slides/4541/hermes_fosdem2021">Slide deck</attachment> </attachments> <links> <link href="https://www.hermescenter.org/">Hermes Center Website</link> <link href="http://www.anticorruzione.it/portal/rest/jcr/repository/collaboration/Digital%20Assets/anacdocs/Homepage/comunicato%20congiunto%20ANAC-HERMES%20CENTER%20(2).pdf">Anti-Corruption Authority Press release (Italian)</link> <link href="https://www.array.eu">Array Law Website</link> <link href="https://video.fosdem.org/2021/D.legal/agplcompliance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/agplcompliance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11220.php">Submit feedback</link> </links> </event> <event id="11789"> <start>17:00</start> <duration>01:00</duration> <room>D.legal</room> <slug>organizerslegalpolicy</slug> <title>PANEL: Organizers of the Legal & Policy DevRoom</title> <subtitle>Organizers of the Legal & Policy DevRoom discuss the issues of the day</subtitle> <track>Legal and Policy Issues</track> <type>devroom</type> <language/> <abstract><p>The organizers of the Legal and Policy DevRoom for FOSDEM 2021 discuss together the issues they've seen over the last year in FOSS, and consider what we can learn from the presentations on the track this year, and look forward together about the future of FOSS policy.</p></abstract> <description><p>The organizers of the Legal and Policy DevRoom for FOSDEM 2021 discuss together the issues they've seen over the last year in FOSS, and consider what we can learn from the presentations on the track this year, and look forward together about the future of FOSS policy.</p></description> <persons> <person id="441">Bradley M. Kuhn</person> <person id="448">Karen Sandler</person> <person id="583">Richard Fontana</person> <person id="3794">Max Mehl</person> <person id="6422">Alexander Sander</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.legal/organizerslegalpolicy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.legal/organizerslegalpolicy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11789.php">Submit feedback</link> </links> </event> </room> <room name="D.libreoffice"> <event id="11548"> <start>10:00</start> <duration>00:25</duration> <room>D.libreoffice</room> <slug>lo_lotechnology</slug> <title>LibreOffice Technology</title> <subtitle>From a desktop product to a platform for personal productivity</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>LibreOffice was launched as a free office suite for Windows, macOS and Linux in 2010, by a large majority of OpenOffice community members. Over the years, the project has made a significant code cleaning and refactoring effort, and created a robust development infrastructure entirely based on open source software. Today, LibreOffice is available for the cloud and mobile platforms, in different flavours, optimized for community and enterprise users.</p></abstract> <description></description> <persons> <person id="312">Italo Vignoli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_lotechnology/attachments/slides/4313/export/events/attachments/lo_lotechnology/slides/4313/tdf_lotechnologyfosdem.pdf">LibreOffice Technology</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lotechnology.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lotechnology.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11548.php">Submit feedback</link> </links> </event> <event id="11647"> <start>10:25</start> <duration>00:35</duration> <room>D.libreoffice</room> <slug>lo_newdevelopers</slug> <title>Lowering the Barrier for New Developers</title> <subtitle>Developing in the cloud via GitPod</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>Collabora Online (COOL) is a LibreOffice-based online office suite with collaborative editing. Time-to-start-hacking COOL has been lowered from ~a day to ~10 minutes thanks to integration with GitPod, a dev environment in the cloud, on its GitHub repo.</p> <p>We will try to share the story on and discuss these topics: - What was it like in the past - The search for ways to lower the barrier - Cloud dev environments - Setting up the repo for GitPod integration - Adapting the infra/CI for faster builds in the cloud (and its nice side effects) - Quick start on hacking COOL in the cloud - Some numbers - Can it be applied also to core (LibreOffice) repo? How?</p></abstract> <description></description> <persons> <person id="5240">Muhammet Kara</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_newdevelopers/attachments/slides/4667/export/events/attachments/lo_newdevelopers/slides/4667/FOSDEM_2021_Lowering_the_Barrier_for_New_Developers.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_newdevelopers.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_newdevelopers.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11647.php">Submit feedback</link> </links> </event> <event id="11559"> <start>11:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_ideforlodevelopment</slug> <title>Using IDEs for LibreOffice development</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>The LibreOffice buildsystem has support to create auxiliary files that allow easy integration with various IDEs. This talk will show you how to use it and how it works and where its limitations are.</p></abstract> <description></description> <persons> <person id="3605">Christian Lohmaier</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_ideforlodevelopment.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_ideforlodevelopment.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11559.php">Submit feedback</link> </links> </event> <event id="11598"> <start>11:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_perfectgerritpatch</slug> <title>The Perfect Gerrit Patch</title> <subtitle>A consumer report</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7942">Stephan Bergmann</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_perfectgerritpatch/attachments/slides/4537/export/events/attachments/lo_perfectgerritpatch/slides/4537/FOSDEM21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_perfectgerritpatch.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_perfectgerritpatch.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11598.php">Submit feedback</link> </links> </event> <event id="11473"> <start>12:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_wasm</slug> <title>LibreOffice WASM - the How and Why</title> <subtitle>A report from the journey to get LibreOffice into the browser, fully</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>Come and join us to hear about the ongoing porting effort, to get LibreOffice to fully run inside a web browser.</p></abstract> <description></description> <persons> <person id="2006">Thorsten Behrens</person> <person id="8066">Jan-Marek Glogowski</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_wasm/attachments/slides/4693/export/events/attachments/lo_wasm/slides/4693/fosdem_2021_wasm_final.pdf">Talk slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_wasm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_wasm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11473.php">Submit feedback</link> </links> </event> <event id="11602"> <start>12:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_writernestedfields</slug> <title>Editable nested fields in Writer</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>Word fields are far more flexible than ODF/Writer fields - to most users, the additional expressiveness doesn't matter, but for some specialized use cases, Writer is limited. Writer had a rudimentary implementation of Word compatible fields for about 10 years, but it never worked well. We have added the ability to round-trip nested Word fields in RTF/DOCX formats, and fixed a bunch of long standing bugs along the way.</p></abstract> <description></description> <persons> <person id="6306">Michael Stahl</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_writernestedfields/attachments/slides/4349/export/events/attachments/lo_writernestedfields/slides/4349/FOSDEM2021_fieldmarks.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_writernestedfields.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_writernestedfields.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11602.php">Submit feedback</link> </links> </event> <event id="11366"> <start>13:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_collaboraonline</slug> <title>How Collabora Online development improves LibreOffice</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>Come and hear about the developments in LibreOffice that were triggered by a need in the Collabora Online.</p> <p>The most notable examples are the Notebookbar improvements, but there are other, like async dialogs in the core, new parameters to various .uno: commands that improve scripting capabilities, and many others.</p></abstract> <description></description> <persons> <person id="317">Jan Holesovsky</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_collaboraonline.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_collaboraonline.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11366.php">Submit feedback</link> </links> </event> <event id="11543"> <start>13:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_xray</slug> <title>Build-in "xray" like UNO object inspector</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>There have been many implementations of different object inspector tools for LibreOffice, most popular being xray and MRI, but they were only available as extensions. This is an invaluable tools to inspect and to better understand the structure of UNO objects, which is particularly useful for writing macros or extensions. The problem is that the existing object inspector tools are not so simple to use, because of their nature as an extension and in addition the user has to search and install it in addition to LibreOffice. For this reasons TDF has offered a tender to implement a build-in tool, that can be more integrated into LibreOffice and is always available to the user. The tender has been awarded to Collabora and we are in the process of implementing it. In this talk we want to present the tool, what has been done so-far and how it will look like when finished.</p></abstract> <description></description> <persons> <person id="7926">Tomaž Vajngerl</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_xray/attachments/slides/4685/export/events/attachments/lo_xray/slides/4685/like_UNO_object_inspector.pdf"/> </attachments> <links> <link href="https://blog.documentfoundation.org/blog/2020/07/27/tender-for-implementing-support-for-a-dedicated-built-in-uno-object-inspection-tool-in-libreoffice-202007-02/">built-in UNO object inspection tool</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_xray.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_xray.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11543.php">Submit feedback</link> </links> </event> <event id="11358"> <start>14:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_pdfsignatures</slug> <title>Handling PDF digital signatures in LibreOffice with PDFium</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract></abstract> <description><p>LibreOffice was capable for handling PDF signatures since 2016 already. There have been recent improvements in the past year, namely creating visible PDF signatures and reworking the underlying PDF signature verification functionality to use PDFium for tokenization. This means that PDF signature verification (which happens implicitly, during opening any PDF files) now uses much more battle-tested code to provide this feature. Come and see how this work is implemented, where are the still rough edges and how you can help.</p></description> <persons> <person id="779">Miklos Vajna</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_pdfsignatures/attachments/slides/4424/export/events/attachments/lo_pdfsignatures/slides/4424/pdfiumsig_fosdem_online_2k21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_pdfsignatures.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_pdfsignatures.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11358.php">Submit feedback</link> </links> </event> <event id="11420"> <start>14:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_nextcloudhub</slug> <title>Making Nextcloud Hub COOL</title> <subtitle>Hear how we implemented out of the box collaboration.</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>Making Collabora Online and it's LibreOffice technology as simple as possible to consume for users with limited time or technical skill is vital. Hear how we bundled COOL as an AppImage, plugged it into PHP, and implemented a websocket proxy-protocol to make that happen.</p></abstract> <description><p>Collabora Online uses websockets to bring the LibreOffice core's rendering to users' browsers and mobiles. This gives us a smooth low latency editing experience. This however requires a persistent server process, something inimical to the PHP processes we integrate with. Hear how we overcame this limitation, to get an AppImage that can bootstrap, and a protocol that re-uses the HTTP keep-alive to rather successfully emulate a polling websocket based on PHP. Hear about some of the pit-falls we fell into, and the 'obvious' ideas to make things better that didn't pan out.</p></description> <persons> <person id="425">Michael Meeks</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_nextcloudhub/attachments/slides/4322/export/events/attachments/lo_nextcloudhub/slides/4322/Making_Nexcloud_Hub_COOL.pdf">Making Nextcloud Hub COOL</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_nextcloudhub/attachments/slides/4323/export/events/attachments/lo_nextcloudhub/slides/4323/Making_Nexcloud_Hub_COOL.pdf">Making Nextcloud Hub COOL</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_nextcloudhub.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_nextcloudhub.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11420.php">Submit feedback</link> </links> </event> <event id="11367"> <start>15:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_portinglotomacos</slug> <title>Porting LibreOffice to macOS on Apple Silicon</title> <subtitle>Easy bits were easy, hard bits were not so hard</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>LibreOffice was ported to run on macOS on Apple Silicon during summer and autumn of 2020. Most of it was very straightforward, just a recompilation. This talk will describe the details that required more effort.</p></abstract> <description></description> <persons> <person id="2013">Tor Lillqvist</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_portinglotomacos.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_portinglotomacos.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11367.php">Submit feedback</link> </links> </event> <event id="11273"> <start>15:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_lowithmariadb</slug> <title>Using LibreOffice with MariaDB [and Docker]</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>This talk will show how to use LibreOffice's graphical user interface (GUI) to interact with your favorite database. It will cover how to connect LibreBase to a MariaDB database (both free and open source software) in order to inspect and play with your data, especially for new users. Through a live demo, all steps will be presented to successfully start LibreBase and MariaDB through Docker, and how to integrate them through the MariaDB ODBC connector. The process will show how to solve problems with a wrong setup and packages. At the end, a Dockerfile will be created to build the image and automate the above process.</p></abstract> <description></description> <persons> <person id="7663">Anel Husakovic</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_lowithmariadb/attachments/slides/4724/export/events/attachments/lo_lowithmariadb/slides/4724/FOSDEM_Using_LibreOffice_with_MariaDB.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lowithmariadb.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lowithmariadb.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11273.php">Submit feedback</link> </links> </event> <event id="11588"> <start>16:00</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>lo_qualityassurance</slug> <title>LibreOffice QA - how to write your first test</title> <subtitle/> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>This talk will walk you through the process of writing your first LibreOffice unittest either with Python or with C++</p></abstract> <description></description> <persons> <person id="4341">Xisco Fauli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/lo_qualityassurance/attachments/slides/4434/export/events/attachments/lo_qualityassurance/slides/4434/FOSDEM2021.pdf">LibreOffice QA - How to write your first test</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_qualityassurance.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_qualityassurance.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11588.php">Submit feedback</link> </links> </event> <event id="11562"> <start>16:30</start> <duration>00:30</duration> <room>D.libreoffice</room> <slug>odf_for_interoperability</slug> <title>ODF for Interoperability</title> <subtitle>Tips and Tricks to Tackle the Most Common Issues</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>ODF, LibreOffice native document format, is the only standard file format which allows full interoperability. ODF is robust, predictable, resilient, well documented, and based on existing standards. It is the perfect answer for digital content sharing.</p></abstract> <description></description> <persons> <person id="312">Italo Vignoli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/odf_for_interoperability/attachments/slides/4314/export/events/attachments/odf_for_interoperability/slides/4314/odf_interoperabilityfosdem.pdf">ODF and Interoperability</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/odf_for_interoperability.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/odf_for_interoperability.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11562.php">Submit feedback</link> </links> </event> <event id="11472"> <start>17:00</start> <duration>01:00</duration> <room>D.libreoffice</room> <slug>lo_lightningtalks</slug> <title>LibreOffice Lightning Talks</title> <subtitle>Interesting Talks from Community Members</subtitle> <track>LibreOffice</track> <type>devroom</type> <language/> <abstract><p>LibreOffice: Interesting Talks from Community Members</p></abstract> <description></description> <persons> <person id="2006">Thorsten Behrens</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lightningtalks.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.libreoffice/lo_lightningtalks.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11472.php">Submit feedback</link> </links> </event> </room> <room name="D.mariadb"> </room> <room name="D.microkernel"> </room> <room name="D.monitoring"> <event id="11860"> <start>10:00</start> <duration>00:15</duration> <room>D.monitoring</room> <slug>monitoring_observability_intro</slug> <title>Monitoring & Observability intro</title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Our customary welcome.</p></abstract> <description></description> <persons> <person id="497">Richard Hartmann</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.monitoring/monitoring_observability_intro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/monitoring_observability_intro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11860.php">Submit feedback</link> </links> </event> <event id="11855"> <start>10:15</start> <duration>00:15</duration> <room>D.monitoring</room> <slug>observability_for_beginners</slug> <title>Observability for beginners</title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Observability is not a new idea, it first originated in control theory. In control theory observability is defined as "A measure of how well internal states of a system can be inferred from knowledge of its external outputs" We software folks borrowed the term and now define it as the property of any system that allows us to understand what is going on with them, monitor what they are doing and get the information we need to operate &amp; troubleshoot. In this talk, I am going to give an introduction to observability and also talk about how someone can contribute in this space.</p></abstract> <description></description> <persons> <person id="8296">Atibhi Agrawal</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/observability_for_beginners/attachments/video/4458/export/events/attachments/observability_for_beginners/video/4458/Observability_for_complete_beginners">Observability for complete beginners</attachment> </attachments> <links> <link href="https://docs.google.com/presentation/d/1Gy25SaLCh8DpwoDP7Px2aT06W3PczdLhZmp0nalRl4M/edit?usp=sharing">presentation</link> <link href="https://drive.google.com/file/d/1UqasjRORwRDfn14RlE4dwlX70erfzATx/view?usp=sharing">video</link> <link href="https://video.fosdem.org/2021/D.monitoring/observability_for_beginners.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/observability_for_beginners.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11855.php">Submit feedback</link> </links> </event> <event id="10970"> <start>10:30</start> <duration>00:30</duration> <room>D.monitoring</room> <slug>monarch_open_source_reimplementation</slug> <title>A Google Monitoring System, Monarch… in Open Source? </title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Recently Google published a paper on their monitoring system Monarch, which happened to have similar design choices to the existing CNCF Incubated project: Thanos! During this talk, two of Thanos maintainers will explain why Thanos could be claimed as an unintentional open source evolution of Google Monitoring Systems like Monarch.</p></abstract> <description><p>Google is known for building massive, global scale solutions. While organizations rarely have a similar scale, we can learn from those solutions while developing in Open Source. We all see the successes of Kubernetes which was inspired by Google Borg, and Prometheus based on Google Borgmon.</p> <p>Recently Google published a paper on their monitoring system Monarch, which happened to have similar design choices to the existing CNCF Incubated project: Thanos!</p> <p>During this talk, two of Thanos maintainers will explain why Thanos could be claimed as an unintentional open source evolution of Google Monitoring Systems like Monarch. By following this comparison, the audience will learn the general pattern of using and scaling the Thanos system. This talk will also reveal the exciting direction of the project including the map-reduce pushdown for PromQL queries for massive cost reduction (don’t tell anyone!)</p> <p>Learn why the community is so passionate about moving Thanos and Prometheus projects forward!</p></description> <persons> <person id="5750">Bartek Plotka</person> <person id="8299">Ben Ye</person> </persons> <attachments> </attachments> <links> <link href="http://thanos.io/">Thanos website</link> <link href="https://www.vldb.org/pvldb/vol13/p3181-adams.pdf">Monarch paper</link> <link href="https://www.youtube.com/watch?v=eTBO0l6JMB0">Video</link> <link href="https://docs.google.com/presentation/d/1Kf71zStmzHKDBcokpCtYkFA_aJrprzoEEMpuuo6-xjw/edit#slide=id.ga37b13d5e2_0_0">Slides</link> <link href="https://video.fosdem.org/2021/D.monitoring/monarch_open_source_reimplementation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/monarch_open_source_reimplementation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10970.php">Submit feedback</link> </links> </event> <event id="10899"> <start>11:00</start> <duration>00:30</duration> <room>D.monitoring</room> <slug>getting_started_tempo</slug> <title>Getting Started with Grafana Tempo</title> <subtitle>High Volume Distributed Tracing Built on Top of Object Storage</subtitle> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Grafana Tempo is a new high volume distributed tracing backend whose only dependency is object storage. Unlike other tracing backends Tempo can hit massive scale without a massive and difficult to manage Elasticsearch or Cassandra cluster. The current trade off for using object storage is that Tempo supports search by trace id only. However, we will see how this trade off can be overcome using the other pillars of observability.</p> <p>In this session we will use an OpenTelemetry instrumented application to demonstrate how to use logs and Prometheus exemplars to find traces effectively in Tempo. Internal Grafana metrics will also be shared as we all discuss how to scale tracing as far as possible with less operational cost and complexity than ever before.</p></abstract> <description></description> <persons> <person id="7557">Joe Elliott</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.monitoring/getting_started_tempo.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/getting_started_tempo.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10899.php">Submit feedback</link> </links> </event> <event id="11502"> <start>11:30</start> <duration>00:35</duration> <room>D.monitoring</room> <slug>postgresql_filter_envoy</slug> <title>PostgreSQL Network Filter for EnvoyProxy</title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>How do you monitor Postgres? What information can you get out of it, and to what degree does this information help to troubleshoot operational issues? What if you want/need to log all the queries? That may bring heavy trafficked databases down.</p> <p>At OnGres we’re obsessed with improving PostgreSQL’s observability. So we worked together with Tetrate folks on an Envoy’s Network Filter extension for PostgreSQL, to provide and extend observability of the traffic inout a cluster infrastructure. This extension is public and open source. You can use it anywhere you use Envoy. It allows you to capture automated metrics and to debug network traffic. This talk will be a technical deep-dive into PostgreSQL’s protocol decoding, Envoy proxy filters and will cover all the capabilities of the tool and its usage and deployment in any environment.</p></abstract> <description><p>Envoy [1] is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures. Built on the learnings of solutions such as NGINX, HAProxy, hardware load balancers, and cloud load balancers, Envoy runs alongside every application and abstracts the network by providing common features in a platform-agnostic manner. When all service traffic in an infrastructure flows via an Envoy mesh, it becomes easy to visualize problem areas via consistent observability, tune overall performance, and add substrate features in a single place.</p> <p>Envoy can be used to proxy connections to PostgreSQL instances and in this talk we’ll see how we improve PostgreSQL observability without impacting the performance of the database and without needing to install and/or configure a bunch of things like logs, pg<em>stat</em>statements, etc, using a Network Filter [2] for PostgreSQL we developed that decodes frontend and backend protocol to get transparently some metrics and metadata about it operation.</p> <p>Roadmap: * [WIP] SSL termination and monitoring [3] [4] * Integrate Postgres parser to improve dynamic metadata and per-query tracking * Individual (per-query) tracking of query performance * Traffic mirroring for Postgres major upgrade testing and validations</p> <p>[1] https://www.envoyproxy.io/ [2] https://www.envoyproxy.io/docs/envoy/latest/intro/arch<em>overview/other</em>protocols/postgres#arch-overview-postgres [3] https://github.com/envoyproxy/envoy/issues/10942 [4] https://github.com/envoyproxy/envoy/issues/9577</p></description> <persons> <person id="7900">Fabrízio Mello</person> <person id="7919">Alvaro Hernandez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_filter_envoy/attachments/slides/4703/export/events/attachments/postgresql_filter_envoy/slides/4703/PostgreSQL_Network_Filter_EnvoyProxy.pdf">Slides</attachment> </attachments> <links> <link href="https://envoycon2020.sched.com/event/ecd1/postgresql-network-filter-for-envoyproxy">Presentation at EnvoyCon 2020</link> <link href="https://video.fosdem.org/2021/D.monitoring/postgresql_filter_envoy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/postgresql_filter_envoy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11502.php">Submit feedback</link> </links> </event> <event id="11727"> <start>12:30</start> <duration>00:10</duration> <room>D.monitoring</room> <slug>dev_practice_monitoring</slug> <title>Proper Monitoring</title> <subtitle>Applying development practices to monitoring</subtitle> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Good monitoring allows us to quickly troubleshoot problems and ensure that they remain minor blips rather than escalate into hours or days of downtime. But what is “good”? Just like good code, good monitoring should include tests and documentation to ensure that it’s always valid and easily used by everyone. In this lightning talk, I’ll share best practices for validating and documenting your monitoring.</p></abstract> <description></description> <persons> <person id="4598">Jason Yee</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.monitoring/dev_practice_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/dev_practice_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11727.php">Submit feedback</link> </links> </event> <event id="11168"> <start>12:40</start> <duration>00:20</duration> <room>D.monitoring</room> <slug>mariadb_bpftrace</slug> <title>Monitoring MariaDB Server with bpftrace on Linux</title> <subtitle>Problems and Solutions</subtitle> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Bpftrace is a relatively new open source tracer for modern Linux (kernels 5.x.y) for analyzing production performance problems and troubleshooting software. Basic usage of the tool, as well as bpftrace-based one liners and small scripts useful for MariaDB DBAs (and even developers) are presented. Problems of MariaDB Server dynamic tracing with bpftrace are discussed.</p></abstract> <description></description> <persons> <person id="2718">Valerii Kravchuk</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mariadb_bpftrace/attachments/slides/4440/export/events/attachments/mariadb_bpftrace/slides/4440/Monitoring_MariaDB_Server_with_bpftrace_on_Linux_FOSDEM_2021.pdf"/> </attachments> <links> <link href="https://github.com/iovisor/bpftrace">bpftrace tool</link> <link href="https://mysqlentomologist.blogspot.com/search?q=bpftrace">my blog posts related to bppftrace</link> <link href="https://mysqlentomologist.blogspot.com/2021/01/playing-with-recent-bpftrace-and_24.html">Useful bpftrace-based tools</link> <link href="https://mysqlentomologist.blogspot.com/2021/01/playing-with-recent-bpftrace-and.html">Adding dynamic probles to MariaDB server and related .so libraries</link> <link href="https://video.fosdem.org/2021/D.monitoring/mariadb_bpftrace.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/mariadb_bpftrace.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11168.php">Submit feedback</link> </links> </event> <event id="11207"> <start>13:00</start> <duration>00:30</duration> <room>D.monitoring</room> <slug>performance_analysis_troubleshooting</slug> <title>Performance Analysis and Troubleshooting Methodologies for Databases</title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>Have you heard about the USE Method (Utilization - Saturation - Errors), RED (Rate - Errors - Duration) or Golden Signals (Latency - Traffic - Errors - Saturations)? In this presentation, we will talk briefly about these different, but similar “focuses” and discuss how we can apply them to the data infrastructure performance analysis troubleshooting and monitoring.</p></abstract> <description><p>Have you heard about the USE Method (Utilization - Saturation - Errors), RED (Rate - Errors - Duration) or Golden Signals (Latency - Traffic - Errors - Saturations)?</p> <p>In this presentation, we will talk briefly about these different, but similar “focuses” and discuss how we can apply them to the data infrastructure performance analysis troubleshooting and monitoring.</p> <p>We will use MySQL as an example but most of the talk will apply to other database technologies as well.</p> <ul> <li>Introduce the Challenge of Troubleshooting by Random Googling</li> <li>Introduce USE Method, how it applies to databases</li> <li>Introduce RED Method, how it applies to databases</li> <li>Introduce Golden Signals</li> <li>Provide High-Level Comparison of Methods as a take away</li> </ul> </description> <persons> <person id="7756">Peter Zaitsev</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/performance_analysis_troubleshooting/attachments/slides/4702/export/events/attachments/performance_analysis_troubleshooting/slides/4702/FOSDEM_Feb2021_Performance_Analyses_and_Troubleshooting_Methodologies_for_Databases.pptx"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.monitoring/performance_analysis_troubleshooting.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/performance_analysis_troubleshooting.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11207.php">Submit feedback</link> </links> </event> <event id="10880"> <start>13:30</start> <duration>00:30</duration> <room>D.monitoring</room> <slug>machine_learning_and_monitoring</slug> <title>Production Machine Learning Monitoring: Outliers, Drift, Explainers & Statistical Performance </title> <subtitle/> <track>Monitoring and Observability</track> <type>devroom</type> <language/> <abstract><p>The lifecycle of a machine learning model only begins once it's in production. In this talk we provide a practical deep dive of the best practices, principles, patterns and techniques around production monitoring of machine learning models. We will cover standard microservice monitoring techniques applied into deployed machine learning models, as well as more advanced paradigms to monitor machine learning models through concept drift, outlier detector and explainability.</p> <p>We'll dive into a hands on example, where we will train an image classification machine learning model from scratch, deploy it as a microservice in Kubernetes, and introduce advanced monitoring components as architectural patterns with hands on examples. These monitoring techniques will include AI Explainers, Outlier Detectors, Concept Drift detectors and Adversarial Detectors. We will also be understanding high level architectural patterns that abstract these complex and advanced monitoring techniques into infrastructural components that will enable for scale, introducing the standardised interfaces required for us to enable monitoring across hundreds or thousands of heterogeneous machine learning models.</p></abstract> <description></description> <persons> <person id="4188">Alejandro Saucedo</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.monitoring/machine_learning_and_monitoring.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.monitoring/machine_learning_and_monitoring.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10880.php">Submit feedback</link> </links> </event> </room> <room name="D.mozilla"> </room> <room name="D.mysql"> <event id="11286"> <start>10:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_retro</slug> <title>25 years of MySQL - A Retrospective</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL has now been arounds for over a quarter of a century. So what has really changed since 3.21 has become available? So how did a little programming project become the ubiquitous database? This session is a look at the many changes in the product, the company, and the people involved in MySQL.</p></abstract> <description></description> <persons> <person id="3258">Dave Stokes</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_retro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_retro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11286.php">Submit feedback</link> </links> </event> <event id="11194"> <start>10:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>vitess</slug> <title>Open Source Database Infrastructure with Vitess</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>This session reveals four experimental Vitess developments that automate away complex database operations. With these developments Vitess is able to run its own database infrastructure, transparently to the user, and take control of risky and elaborate situations and operations.</p> <p>We will briefly explain the Vitess architecture and how it supports said control, and discuss the following developments:</p> <ul> <li>Throttling: pushback for massive writes.</li> <li>Table life cycle: safe and lazy DROP TABLE operations.</li> <li>Online DDL: automating, scheduling and managing online schema migrations.</li> <li>HA, failovers and cluster healing via vitess/orchestrator (aka vtorc).</li> </ul> <p>Vitess is a CNCF open source database clustering system for horizontal scaling of MySQL.</p></abstract> <description></description> <persons> <person id="2443">Shlomi Noach</person> </persons> <attachments> </attachments> <links> <link href="https://vitess.io/">Vitess project page</link> <link href="https://speakerdeck.com/shlominoach/open-source-database-infrastructure-with-vitess-6a17425f-bd04-487d-a71d-9b8b70dec73b">Slides</link> <link href="https://video.fosdem.org/2021/D.mysql/vitess.webm">Video recording</link> <link href="https://submission.fosdem.org/feedback/11194.php">Submit feedback</link> </links> </event> <event id="11304"> <start>11:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_ha</slug> <title>From single MySQL instance to HA</title> <subtitle>The journey to InnoDB Cluster</subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>During this session, I will show how we can start from a single instance to MySQL InnoDB Cluster, the automated HA solution for MySQL, passing by the following architecture:</p> <ol> <li>Single MySQL</li> <li>Source / Asynchronous Replica</li> <li>InnoDB ReplicaSet</li> <li>InnoDB Cluster</li> </ol> <p>I will cover the limitations of each options and how to migrate from one to the next one with minimal downtime.</p></abstract> <description></description> <persons> <person id="580">Frédéric Descamps</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_ha/attachments/slides/4759/export/events/attachments/mysql_ha/slides/4759/FOSDEM_2021_MySQL_Devroom_From_Single_MySQL_Instance_to_HA_The_Journey_To_MySQL_InnoDB_Cluster.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_ha.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_ha.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11304.php">Submit feedback</link> </links> </event> <event id="11378"> <start>11:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_gr_network</slug> <title>Group Replication: Best Practices for Network Deploy</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Group replication is a mature and feature rich solution for data replication and automation of fail-over. To be able to operate without human intervention, it relies on group-based coordination protocols and as such require constant interaction between servers over the network. As such, adjusting the configuration to deal with network instability is something that should be done to get the most of the replication deployment.</p> <p>This session showcases the best practices that allow you to deploy Group Replication, in terms of network isolation - isolate Group Replication traffic from application traffic - either in making it cope better with higher latency networks or network with a non-negligible packet loss rate. Come and learn about the best practices to deploy Group Replication over unreliable networks</p></abstract> <description></description> <persons> <person id="5845">Aníbal Pinto</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_gr_network/attachments/slides/4768/export/events/attachments/mysql_gr_network/slides/4768/GroupReplication_BestPractivesforNetworkDeploy">Group Replication: Best Practives for Network Deploy</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_gr_network.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_gr_network.mp4">Video recording (mp4)</link> <link href="https://penta.fosdem.org/event/attachment/11378/4768">Slides</link> <link href="https://submission.fosdem.org/feedback/11378.php">Submit feedback</link> </links> </event> <event id="10943"> <start>12:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>percona_operator</slug> <title>Review of the Percona Operator from a DBA prospective </title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Containers, kubernetes and virtualizations are, as never before, the shining objects of our times. While we are used to implementing them in case of stateless situations, it becomes more difficult to see them serve properly in case of stateful solutions like RDBMS. But after I have won some personal reluctance, I started to experiment with the Percona Operator for MySQL. With this presentation, I will bring you a short journey as a result of my experience as DBA in the usage of the Percona Operator for MySQL. We will see from one side failures, misunderstanding and some frustration. From the other side a learning process that brings me to have better comprehension of the possible utilization and the best way to achieve it. Finally my personal considerations.</p></abstract> <description></description> <persons> <person id="4696">Marco Tusa (the Grinch)</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/percona_operator.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/percona_operator.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10943.php">Submit feedback</link> </links> </event> <event id="10848"> <start>12:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysqlrouter_rest</slug> <title>MySQL Router REST API</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL Router is part of MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet, but not only.</p> <p>This piece of software is still unknown by many users but improved a lot during the last year.</p> <p>In this session, the audience will learn about MySQL Router's REST API. How to enable it and how to use it. We will also see how this API can be integrated into a monitoring solution and I will share my journey dealing with its authentication: I will share my thoughts and best practices.</p></abstract> <description></description> <persons> <person id="580">Frédéric Descamps</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysqlrouter_rest/attachments/slides/4758/export/events/attachments/mysqlrouter_rest/slides/4758/FOSDEM_MySQL_Router_REST_API.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysqlrouter_rest.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysqlrouter_rest.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10848.php">Submit feedback</link> </links> </event> <event id="11284"> <start>13:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_user</slug> <title>Better User Management under MySQL 8.0</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL has added many new features to make user account management easier. The server can now generate random passwords that follow the rules you manage. If you have too many 'Dave's or 'Fred's in your organization, you can store GCOS like information in the mysql.user.User_attributes column to directly identify who you are referencing. And you can now have dual passwords on an account. These additions can make account management much easier but only if you know about them!</p></abstract> <description></description> <persons> <person id="3258">Dave Stokes</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_user.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_user.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11284.php">Submit feedback</link> </links> </event> <event id="10946"> <start>13:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_arm</slug> <title>Running MySQL on ARM</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL joined the ARM ecosystem with 8.x release. This opened up a completely new vertical and provided a cost-effective alternative to users. With multiple cloud providers providing ARM instances more and more users/developers are getting interested in running MySQL on ARM.</p> <p>Let's explore what it means to run MySQL on ARM through enhancement done, what more could be optimized, patches already in pipelines, features that could benefit from more cores on ARM, state of ecosystem how it could be further improved, any special configurations to tune, performance, stability, notes on migration, do and don't, etc...</p></abstract> <description></description> <persons> <person id="6777">Krunal Bauskar</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_arm.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_arm.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10946.php">Submit feedback</link> </links> </event> <event id="11039"> <start>14:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_xa</slug> <title>Making MySQL-8.0 XA transaction processing crash safe</title> <subtitle>The key to use MySQL as storage nodes for distributed databases</subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL XA transaction processing has a series of pitfalls and issues that make it NOT crash safe nor fault tolerant. In this talk the author would like to share his insights, findings and analysis about such issues and MySQL transaction processing in general, and how he and his team solved all these issues and made MySQL XA transaction processing really crash safe and fault tolerant, which is crucial to use MySQL as storage nodes of a distributed DBMS such as Kunlun.</p></abstract> <description><p>In an era of data explosion, more and more database users will need distributed databases to scale out ever increasing data management needs. From the author's past decade of database kernel development experience in Oracle and Tencent, he knows that although MySQL is an excellent DBMS in itself, its storage capacity has a limit of a couple of terabytes. Beyond that, users would need table sharding to scale to multiple MySQL storage clusters to get good performance. And using MySQL as part of a distributed database will be more and more pervasive in the future, thus it's crucial that the MySQL XA transaction processing issues be well understood and solved.</p> <p>In the author’s former work in Tencent TDSQL development team, he took the initiative to evolve TDSQL from a simple table sharding solution to a full-blown distributed DBMS which handles distributed transaction and query processing, among others, and TDSQL since then has been widely used inside Tencent and in Tencent’s public cloud service. In this work they solved a series of MySQL-5.7 XA transaction processing issues and pitfalls, so that TDSQL is made crash safe and fault tolerant. And they reported such XA crash-safety bugs to MySQL official team and contributed the initial patches too.</p> <p>Since Aug 2019, the author left Tencent and started to develop Kunlun distributed DBMS, which uses MySQL 8.0 as storage nodes. Based on his previous experiences and knowledge of using MySQL-5.7 in TDSQL, he and his team implemented a series of features and functionality to make MySQL 8.0 XA transaction processing crash safe and fault tolerant. Note that community MySQL XA modules lack such guarantees.</p> <p>In this session the author would like to share the insights and findings of some of the XA transaction processing issues&amp;pitfalls, as well as the analysis and solution.</p></description> <persons> <person id="7652">Wei Zhao</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_xa/attachments/slides/4696/export/events/attachments/mysql_xa/slides/4696/FOSDEM21_Making_MySQL_XA_CRASHSAFE.pdf">Making MySQL XA transaction processing crash safe</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_xa.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_xa.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11039.php">Submit feedback</link> </links> </event> <event id="10877"> <start>14:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_protocl</slug> <title>Passing query attributes through the MySQL protocol</title> <subtitle>Extension to the wire format to allow data/metadata</subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>I'll explain the newest addition to the MySQL wire format that allows client applications to pass data in the COM_QUERY command that then can be processed by the server and components in various ways. I'll demonstrate how an audit plugin and the SQL query itself can take advantage of the data passed by the client.</p></abstract> <description><p>COM_QUERY can now take named binary values parameters. And the server can serve the values of these to components and plugins. As well as the SQL query itself. Let's learn how to prepare these values using the C API and how to process them inside the server.</p></description> <persons> <person id="5531">Joro Kodinov</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/mysql_protocl/attachments/video/4272/export/events/attachments/mysql_protocl/video/4272/zoom_0.mp4"/> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_protocl/attachments/slides/4273/export/events/attachments/mysql_protocl/slides/4273/FOSDEM21_MySQL_Protocols_Query_Attributes.pptx"/> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_protocl/attachments/slides/4274/export/events/attachments/mysql_protocl/slides/4274/FOSDEM21_MySQL_Protocols_Query_Attributes.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_protocl.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_protocl.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10877.php">Submit feedback</link> </links> </event> <event id="11165"> <start>15:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>linux_porc_mysql</slug> <title>Linux /proc filesystem for MySQL DBAs</title> <subtitle>Sampling /proc content for troubleshooting</subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Tools and approaches based on /proc samp0ling (like 0x.tools by Tanel Poder or ad hoc scripts) allow to measure individual thread level activity in MySQL server on Linux, like thread sleep states, currently executing system calls and kernel wait locations. If needed you can drill down into CPU usage of any thread or the system as a whole. Historical data can be captured for post factum analysis, without much impact on the system and no need to install or change anything in its configuration. In this presentation I am going to summarize what's possible with /proc and show useful examples for MySQL DBAs.</p></abstract> <description></description> <persons> <person id="2718">Valerii Kravchuk</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/linux_porc_mysql/attachments/slides/4290/export/events/attachments/linux_porc_mysql/slides/4290/Linux_proc_filesystem_for_MySQL_DBAs_FOSDEM_2021.pdf">Slides for my talk</attachment> </attachments> <links> <link href="https://man7.org/linux/man-pages/man5/proc.5.html">man proc</link> <link href="https://0x.tools/">A set of open-source utilities for analyzing application performance on Linux, by Tanel Poder</link> <link href="https://video.fosdem.org/2021/D.mysql/linux_porc_mysql.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/linux_porc_mysql.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11165.php">Submit feedback</link> </links> </event> <event id="11289"> <start>15:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>rewrite_mysql</slug> <title>Rewrite Your Complex MySQL Queries for Better Performance</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Two MySQL queries that will return the same result, may sometimes have totally different queries plans. This happens because the query optimizer does not realize that the queries are equivalent. In this presentation, we will discuss how we can rewrite queries to help the optimizer find a better query plan. We will show several examples of how we can transform subqueries to make them more efficient, and we will also discuss how we can identify queries that can become faster if a subquery is replaced by window functions. Finally, we will discuss how MySQL 8.0 can do some of these transformations automatically.</p></abstract> <description></description> <persons> <person id="3321">Øystein Grøvlen</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/rewrite_mysql/attachments/slides/4695/export/events/attachments/rewrite_mysql/slides/4695/fosdem21_small.pdf">Rewrite Your Complex MySQL Queries for Better Performance</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/rewrite_mysql.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/rewrite_mysql.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11289.php">Submit feedback</link> </links> </event> <event id="11350"> <start>16:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>automatic_mysql_failover</slug> <title>Automatic Asynchronous Replication Connection Failover</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>MySQL Group Replication is a solution that implements a fault-tolerant database system in which redundant components can be removed automatically without compromising the overall system's availability. The Asynchronous Replication Connection Failover feature complements this by further increasing the resilience of replication connections between a replica and a set of sources. It allows asynchronous replicas to switch to a new replication source when the current connection fails. Therefore, an asynchronous replica can automatically switch-over its replication connection to a new member, when it is replicating from a Group Replication group, for instance.</p> <p>In this session we will present how Asynchronous Replication Connection Failover feature automates the process of re-establishing a replication connection to another source, upon failure of the current one. We will also present about how this feature integrates with Group Replication and thus how setting it up can be automated as well.</p> <p>Come and learn more about this new and exciting replication feature in MySQL, directly from the engineers developing the product.</p></abstract> <description></description> <persons> <person id="7822">hemant dangi</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/automatic_mysql_failover.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/automatic_mysql_failover.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11350.php">Submit feedback</link> </links> </event> <event id="11355"> <start>16:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_cluster_kubernetes</slug> <title>Sure you can run your database in kubernetes</title> <subtitle>Successfully run your MySQL NDB Cluster in kubernetes</subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Fortunately MySQL NDB Cluster already has auto-healing, data distribution, instant scaling and many other features built-in - making it a perfect fit for Cloud Native. This session walks through the few steps necessary to deploy a distributed NDB setup in a Kubernetes cluster manually or with an operator.</p> <p>NDB runs in Kubernetes serving mission critical microservices at the heart of Cloud Native production systems. The experience from these adventures mix with knowledge gained from building an NDB operator from scratch. Boiled down to a few tips and tricks are hopefully helpful to guide around the usual traps running NDB or any database in Kubernetes.</p></abstract> <description></description> <persons> <person id="5863">Bernd Ocklin</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/mysql_cluster_kubernetes/attachments/slides/4756/export/events/attachments/mysql_cluster_kubernetes/slides/4756/MySQL_ndb_k8.pdf">MySQL NDB Cluster in Kubernetes</attachment> </attachments> <links> <link href="https://github.com/ocklin/ndb-k8-manually">Demo deploying MySQL Ndb Cluster in k8 manually</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_cluster_kubernetes.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_cluster_kubernetes.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11355.php">Submit feedback</link> </links> </event> <event id="11198"> <start>17:00</start> <duration>00:30</duration> <room>D.mysql</room> <slug>mysql_bottleneck</slug> <title>18 Things To Do When You Have a MySQL Bottleneck</title> <subtitle/> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>The presentation will be focused on dealing with an unexpected high traffic event as it is happening. We will address the impact a traffic spike can have on your database – from poor query response time to replication lag issues – and provide actionable tips and tricks. We will talk about how to bring your database under control, earn performance gains and delight your customers.</p></abstract> <description></description> <persons> <person id="7756">Peter Zaitsev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/mysql_bottleneck.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/mysql_bottleneck.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11198.php">Submit feedback</link> </links> </event> <event id="11726"> <start>17:30</start> <duration>00:30</duration> <room>D.mysql</room> <slug>hitchhikers_guide_mysql</slug> <title>Hitchhiker's Guide to MySQL</title> <subtitle>Don't panic. </subtitle> <track>MySQL</track> <type>devroom</type> <language/> <abstract><p>Did you wake up one day to find a baby database left in a box by your front door? While it was cute and fairly self-sufficient at first, has it now hit database puberty and is it making you wish there were such a thing as DBA school? Did you feed your database after midnight or let it get in contact with water and is it now making your life a living hell? Don't panic, because here's a 20 minute cram session of the most basic database parenting skills as well as general things you should be aware of when starting out with MySQL.</p> <p>A light-hearted, meme-heavy approach to starting your part- or full-time career as a Database Caretaker.</p></abstract> <description></description> <persons> <person id="8026">Liz van Dijk</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.mysql/hitchhikers_guide_mysql.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.mysql/hitchhikers_guide_mysql.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11726.php">Submit feedback</link> </links> </event> </room> <room name="D.network"> </room> <room name="D.perl"> <event id="11398"> <start>14:00</start> <duration>00:45</duration> <room>D.perl</room> <slug>programming_lang_for_free_software</slug> <title>Imagining the Ideal Language for Writing Free Software</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Many programming languages have been explicitly designed to solve the problems of "programming in the large" – that is, to make it easier for large groups of software developers to work together, despite differences in skill, experience, or history with the project. Languages following this pattern are an excellent fit for the sort of large software companies that typically sponsor their development. However, they are not necessarily a good fit for typical free/open-source software projects, which face different challenges and constraints. If a language were designed from the ground up to fit the free-software usecase, what would it look like? What values would it maximize, what tradeoffs would it be willing to make, and what would it be like to program in every day?</p></abstract> <description></description> <persons> <person id="7841">Daniel Sockwell</person> </persons> <attachments> </attachments> <links> <link href="https://codesections.com">codesections homepage</link> <link href="https://codesections.com/presentations/fosdem-2021">presentation slides</link> <link href="https://https://talks.golang.org/2012/splash.article">Rob Pike: Go at Google - Language Design in the Service of Software Engineering </link> <link href="https://www.youtube.com/watch?v=2ajos-0OWts">Stephen Klabnik: How Rust Views Tradeoffs</link> <link href="https://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript">Anders Hejlsberg: Introducing TypeScript</link> <link href="https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals">TypeScript Design Goals and Non-Goals</link> <link href="https://fosstodon.org/@codesections">Mastodon - codesections@fosstodon.org</link> <link href="https://video.fosdem.org/2021/D.perl/programming_lang_for_free_software.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/programming_lang_for_free_software.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11398.php">Submit feedback</link> </links> </event> <event id="11865"> <start>14:45</start> <duration>01:00</duration> <room>D.perl</room> <slug>adventofcode</slug> <title>Advent of Code - Behind the Scenes</title> <subtitle/> <track>Perl and Raku Programming</track> <type>devroom</type> <language/> <abstract><p>Advent of Code - built entirely with Perl! - is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other. In this talk, the creator of Advent of Code will give a behind-the-scenes look at what it takes to run a month-long programming event for over 500,000 people.</p></abstract> <description></description> <persons> <person id="8301">Eric Wastl</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.perl/adventofcode.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.perl/adventofcode.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11865.php">Submit feedback</link> </links> </event> </room> <room name="D.postgresql"> <event id="11479"> <start>10:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_some_sql_tricks_of_an_application_dba</slug> <title>Some SQL Tricks of an Application DBA</title> <subtitle>Non-trivial tips for database development</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Databases are the backbone of most modern systems, and taking some time to understand how they work is a good investment for any developer! In this article I share some non-trivial tips about database development!</p></abstract> <description><p>Rules of thumb has been passed on from DBA to DBA for many years. Some of these rules may seem weird while others makes perfect sense. In this talk I present some of the "rules" I accumulated over the years, such as why you should always load sorted data into tables, how to make indexes invisible, and why you should always schedule long running processes in odd hours...</p></description> <persons> <person id="7898">Haki Benita</person> </persons> <attachments> </attachments> <links> <link href="https://hakibenita.com/sql-tricks-application-dba">Some SQL Tricks of an Application DBA</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_some_sql_tricks_of_an_application_dba.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_some_sql_tricks_of_an_application_dba.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11479.php">Submit feedback</link> </links> </event> <event id="11497"> <start>10:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_speed_up_the_jsonb</slug> <title>Speed up the JSONB.</title> <subtitle>What we can do to improve performance.</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Jsonb is popular data type in postgres and there is demand from users to improve its performance. In particular, we want to optimise a typical pattern of using jsonb as a storage for relatively short metadata and big blobs, which is currently highly inefficient. We will discuss several approaches to improve jsonb and present results of experiments.</p></abstract> <description></description> <persons> <person id="1659">Oleg Bartunov</person> <person id="8070">Nikita Glukhov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_speed_up_the_jsonb/attachments/slides/4455/export/events/attachments/postgresql_speed_up_the_jsonb/slides/4455/jsonb_fosdem_2021.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_speed_up_the_jsonb.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_speed_up_the_jsonb.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11497.php">Submit feedback</link> </links> </event> <event id="11506"> <start>11:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_i_use_enum_vindicating_the_underdog_of_data_types</slug> <title>I use ENUM - Vindicating the Underdog of Data Types</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>The ENUM data type is extremely good to define constraints to column values. It adds descriptiveness to your database schema. In this talk you'll learn the advantages and disadvantages of the ENUM data type, and how to use it in your database schema design.</p></abstract> <description><p>The enumerated data type, ENUM, is rarely considered in the design of database schemas. This is either because ENUM is unknown, or because one or two drawbacks have created a wrong impression of it, hiding is major advantages. I use ENUM, because I consider it extremely good to define constraints to column values, providing a very descriptive design to match the business logic. This presentation attempts to vindicate the value of ENUM, the underdog of the data types.</p> <p>On this talk you'll learn:</p> <ul> <li>Advantages and disadvantages of the ENUM types</li> <li>How to use ENUM in your database schema design</li> <li>Using ordering of ENUM values</li> <li>Casting ENUM data types</li> <li>Manipulating ENUM data types</li> </ul> </description> <persons> <person id="3454">Boriss Mejias</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/attachments/slides/4755/export/events/attachments/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/slides/4755/bmejias_ENUM_fosdem_2021.pdf">Postgres ENUM</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_i_use_enum_vindicating_the_underdog_of_data_types.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_i_use_enum_vindicating_the_underdog_of_data_types.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11506.php">Submit feedback</link> </links> </event> <event id="11486"> <start>11:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_extensibility</slug> <title>Getting on a hook or PostgreSQL extensibility</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>PostgreSQL is well-known for its extensibility. One can create their own types, operators, access methods, etc. or use powerful PL/pgSQL language to write functions, extensions, and so on and so on. Everything is thoroughly documented, supported and ready to use. However, there is also a very intimate extensibility layer, which allows external developers to peek right into the PostgreSQL core — hooks. For some reason this topic is not covered enough by official documentation.</p> <p>First, this talk will focus on which core hooks do exist, which options they provide for potential developers, and which PostgreSQL extensions get use of them to achieve an additional out-of-core functionality.</p> <p>Next part will show an example of how one can consistently distribute some DDL across multiple PostgreSQL instances. This is based on experience got from Postgres Professional's take on sharded Postgres (first alpha version of <code>shardman</code> extension is available <a href="https://github.com/postgrespro/shardman">here</a>).</p> <p>Finally, there will be demonstrated a tricky way to extend CREATE TABLE syntax using PostgreSQL hooks without even touching the core. So one was able to do, e.g.:</p> <pre><code>CREATE TABLE users ( id int not null, name text ) WITH (distributed_by = 'id', num_parts = 12, colocate_with = 'companies'); </code></pre></abstract> <description></description> <persons> <person id="7895">Alexey Kondratov</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_extensibility/attachments/slides/4348/export/events/attachments/postgresql_extensibility/slides/4348/fosdem21_postgres_extensibility.pdf">Talk slides in PDF</attachment> </attachments> <links> <link href="https://drive.google.com/file/d/1Q7hGTqbG0bbt7Fbl9iB4MOI2mxDbUBs4/view">Talk slides @ Google Drive</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_extensibility.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_extensibility.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11486.php">Submit feedback</link> </links> </event> <event id="11052"> <start>12:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_postgres_architectures_in_production</slug> <title>Postgres Architectures in Production</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>When using PostgreSQL in production it is important to implement a strategy for High Availability. With a database service, the HA properties apply to both the service itself and of course to the data set.</p> <p>In this talk we learn how to think about specific HA needs of your production environment and how to achieve your requirements with Open Source tooling when it comes to your database of choice, PostgreSQL. In particular, we dive in many options that could be implemented for Postgres to evolve its offering from being a toolset to being “batteries included”. What does it mean in the context of HA? How to achieve it?</p></abstract> <description></description> <persons> <person id="5640">Dimitri Fontaine</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_postgres_architectures_in_production/attachments/slides/4301/export/events/attachments/postgresql_postgres_architectures_in_production/slides/4301/Postgres_Architectures_in_Production_FOSDEM_2021"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgres_architectures_in_production.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgres_architectures_in_production.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11052.php">Submit feedback</link> </links> </event> <event id="11459"> <start>12:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_logical_decoding</slug> <title>PostgreSQL logical decoding</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>PostgreSQL built-in replication is known to many. But the term PostgreSQL logical decoding or logical replication makes many curious to know what it is. This talk will make the audience aware of the concept and why is it needed, and compare it with physical replication.</p></abstract> <description></description> <persons> <person id="7888">Amit Khandekar</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_logical_decoding/attachments/slides/4674/export/events/attachments/postgresql_logical_decoding/slides/4674/LogicalDecodingFosdem2021.pdf">Presentation Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_logical_decoding.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_logical_decoding.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11459.php">Submit feedback</link> </links> </event> <event id="11532"> <start>13:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_and_the_sql_standard</slug> <title>PostgreSQL and The SQL Standard</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>PostgreSQL follows the SQL Standard. What's that mean? Why do we care?</p></abstract> <description><p>Covers the history of the SQL Standard, the complex and interesting bits and how it is implemented in PostgreSQL, plus current in-progress patches and details for PG14.</p></description> <persons> <person id="3594">Simon Riggs</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_and_the_sql_standard.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_and_the_sql_standard.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11532.php">Submit feedback</link> </links> </event> <event id="11138"> <start>13:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_improve_your_indexes</slug> <title>Improve your indexes</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>In this talk, I would like to share the successful experience how to improve index search performance. All of us uses indexes, it's one of the first features that we learns starting our journey with databases. Index on the right column can significantly improve query. Can we do anything more than just run CREATE INDEX ? This talk will explain how in easy way we can improve exists indexes, we will look into pg_stat and EXPLAIN output.</p></abstract> <description></description> <persons> <person id="7675">Tomasz Gintowt</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_improve_your_indexes.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_improve_your_indexes.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11138.php">Submit feedback</link> </links> </event> <event id="11500"> <start>14:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_postgresql_partitioning_work_in_progress</slug> <title>PostgreSQL partitioning. Work In Progress.</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>Native partitioning was introduced in PostgreSQL 10, and every new release comes with more features and optimizations to this area. Yet, there is still room for improvement.</p> <p>This talk briefly compares the built-in PostgreSQL partitioning with third-party extensions (pg<em>pathman and pg</em>partman), to understand what we still don't have in the core. This talk also includes an overview of partitioning-related features that are currently being developed and aimed for PostgreSQL 14.</p></abstract> <description></description> <persons> <person id="7903">Anastasia Lubennikova</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_postgresql_partitioning_work_in_progress/attachments/slides/4347/export/events/attachments/postgresql_postgresql_partitioning_work_in_progress/slides/4347/FOSDEM_2021_Partitioning.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgresql_partitioning_work_in_progress.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_postgresql_partitioning_work_in_progress.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11500.php">Submit feedback</link> </links> </event> <event id="11032"> <start>14:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_changing_your_huge_tables_data_types_in_production</slug> <title>Changing your huge table's data types in production</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>You have a huge table, and it is necessary to change a column's data type, but your database has to keep running with no downtime. What do you do?<br/> Here's one way to perform this change, in as unobtrusive a manner as possible while your table keeps serving users, by avoiding long DDL table locks and leveraging procedural transaction control.</p></abstract> <description></description> <persons> <person id="4095">Jimmy Angelakos</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_changing_your_huge_tables_data_types_in_production/attachments/slides/4718/export/events/attachments/postgresql_changing_your_huge_tables_data_types_in_production/slides/4718/changing_data_types_in_prod.pdf">Changing your huge table's data types in production</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_changing_your_huge_tables_data_types_in_production.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_changing_your_huge_tables_data_types_in_production.mp4">Video recording (mp4)</link> <link href="https://www.postgresql.org/docs/current/plpgsql.html">Documentation: PL/pgSQL — SQL Procedural Language</link> <link href="https://www.postgresql.org/docs/current/xproc.html">Documentation: User-Defined Procedures</link> <link href="https://submission.fosdem.org/feedback/11032.php">Submit feedback</link> </links> </event> <event id="11422"> <start>15:00</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgres_migrating_from_oracle</slug> <title>Stumbling Stones when migrating from Oracle</title> <subtitle>The problems you can encounter and how to solve them</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>I'll walk you through all the problems and difficulties that can occur when you migrate an Oracle database to PostgreSQL, from the conceptual phase and general architectural differences to the specific problems that you are likely to encounter.</p> <p>I'll suggest solutions or promising ways to tackle these problems and give you a brief overview over some of the existing tools that facilitate Oracle migration.</p></abstract> <description></description> <persons> <person id="7860">Laurenz Albe</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgres_migrating_from_oracle/attachments/slides/4235/export/events/attachments/postgres_migrating_from_oracle/slides/4235/oracle_stumbling_stones.pdf">Stumbling stones when migrating from Oracle</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_migrating_from_oracle.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgres_migrating_from_oracle.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11422.php">Submit feedback</link> </links> </event> <event id="11344"> <start>15:30</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_pg_stat_monitor_the_new_way_to_analyze_query_performance_in_postgresql</slug> <title>Pg_stat_monitor - The new way to analyze query performance in PostgreSQL</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>If you're tasked with optimizing PostgreSQL performance, chances are you're relying on pg<em>stat</em>statements extension to capture information about query performance. While this extension provides a lot of great insights, PostgreSQL allows to go even further! In this presentation we introduce pg<em>stat</em>monitor - Open Source extension, based on pg<em>stat</em>statements which provides such advanced query performance details. We talk about additional design goals we had and why those are important, additional information we capture and how you can use it to get your PostgreSQL running even faster.</p></abstract> <description></description> <persons> <person id="6448">Ibrar Ahmed</person> <person id="7756">Peter Zaitsev</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_pg_stat_monitor_the_new_way_to_analyze_query_performance_in_postgresql.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_pg_stat_monitor_the_new_way_to_analyze_query_performance_in_postgresql.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11344.php">Submit feedback</link> </links> </event> <event id="11447"> <start>16:30</start> <duration>01:00</duration> <room>D.postgresql</room> <slug>postgresql_database_disasters_and_how_to_find_them</slug> <title>Database Disasters and How to Find Them</title> <subtitle/> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>You get the call at three in the morning: "The application is throwing 500 errors. We think the database is down." What do you do?</p> <p>Database problems can come in a nearly-infinite range of types. We don't have infinite time, but we can talk about the most common ones, and go through a step-by-step process in how to diagnose them, repair them, and bring the system back up in record time. A careful and methodical approach is essential to not making a bad situation worse, and getting the database back on all four feet quickly.</p> <p>We'll cover different kinds of service unavailability, data corruption, underlying host failures, and how to react to different scenarios. Use this advice to help build your run-book of how to react to those early-morning texts.</p></abstract> <description></description> <persons> <person id="7876">Christophe Pettus</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_database_disasters_and_how_to_find_them/attachments/slides/4742/export/events/attachments/postgresql_database_disasters_and_how_to_find_them/slides/4742/db_disasters_fosdem.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_disasters_and_how_to_find_them.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_database_disasters_and_how_to_find_them.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11447.php">Submit feedback</link> </links> </event> <event id="11001"> <start>17:30</start> <duration>00:30</duration> <room>D.postgresql</room> <slug>postgresql_the_story_of_the_first_pgday</slug> <title>The story of the first PGDay</title> <subtitle>How we started with the idea of having a barbecue and we ended in organising the first PostgreSQL conference in Europe</subtitle> <track>PostgreSQL</track> <type>devroom</type> <language/> <abstract><p>The talk tells the untold story of how we started with the idea of having a barbecue and we ended in organising the first PostgreSQL conference in Europe.</p></abstract> <description><p>Nowadays there is a PGDay or a PostgreSQL conference almost every month all around the world. But back in 2007 there were only two or three conferences in the Americas and in Japan. The talk will tell the story of the PGDay 2007, how it started and how the initial idea of having a conference between friends to advocate PostgreSQL evolved into the first PostgreSQL in Europe.</p> <p>Federico Campoli, who had the original Idea and was actively involved in organising the conference will walk the audience through the adventure of organising the PGDay 2007 from scratch and how this sparked the birth of PostgreSQL Europe.</p></description> <persons> <person id="5052">Federico Campoli</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/postgresql_the_story_of_the_first_pgday/attachments/slides/4279/export/events/attachments/postgresql_the_story_of_the_first_pgday/slides/4279/pgday_story_handout.pdf">PGDay Story's slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_the_story_of_the_first_pgday.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.postgresql/postgresql_the_story_of_the_first_pgday.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11001.php">Submit feedback</link> </links> </event> </room> <room name="D.power"> </room> <room name="D.python"> <event id="11275"> <start>10:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_teaching_data_science</slug> <title>Different Approches in Pedagogy in Teaching Data Science with Python</title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>We will talk about different approaches in teaching Data Science with the Python programming language. As a case study, we will use our own experience in providing Data Science education with Python across different audiences in the Asia Pacific region and share approaches and principles that worked for us. The lecture will serve as an anchor for more conversations and discussions for adapting pedagogy that is most effective for various contexts and settings.</p></abstract> <description><p>Programming is a fairly new human skill. Unlike natural languages and problem solving that have progressed throughout our evolution, we do not yet have neurological learning pathways dedicated for it. As such, effective pedagogies are still experimental. We will share results of experiments in curriculum and conduct that we did and highlight factors such as project-based learning, purpose-driven education, communal philosophies, applications of Agile principles, relevance to industry, and the unique circumstances of our students.</p></description> <persons> <person id="7791">Albert Yumol</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_teaching_data_science.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_teaching_data_science.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11275.php">Submit feedback</link> </links> </event> <event id="11585"> <start>10:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_pip</slug> <title>Improving pip for all users</title> <subtitle>How we improved pip in 2020</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>In 2020, with funding from Mozilla and CZI, the pip packaging team improved pip for all users. These focused on improving the depedenecy resolution for Python packages, and the user experience for all Python users.</p> <p>We carried out usability testing, user research and improved error and information messages for pip.</p> <p>This talk will be about these improvements - we'll explain how the new dependency resolver works, what it can (and can't do!), how we improved the user experience of pip, the challenges we faced, and why improving user experience is important for open source software.</p> <p>This talk with be given by members of the pip team - Pradyun Gedam, Georgia Bullen, Bernard Tyers, and Nicole Harris</p></abstract> <description></description> <persons> <person id="2363">Bernard Tyers</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://pip.pypa.io/en/stable/ux_research_design/">A summary of the pip UX work</link> <link href="https://www.ei8fdb.org/thoughts/2020/03/pip-ux-study-recruitment/">pip UX Studies</link> <link href="https://video.fosdem.org/2021/D.python/python_pip.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_pip.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11585.php">Submit feedback</link> </links> </event> <event id="11478"> <start>11:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_mypy</slug> <title>Practical advice for using Mypy</title> <subtitle>Hidden gems in the typing system!</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Mypy has been around since 2012, and in recent years its gaining wide spread adoption. As the framework continues to evolve and improve, more and more useful features are being added. In this talk I'm presenting some hidden gems in the type system you can use to make your code better and safer!</p></abstract> <description><p>The Mypy typing system, and the complementary extensions module, includes some powerful but lesser known features such immutable types and exhaustiveness checking. Using these advanced features, developers can declare more accurate types, get better warnings, produce better code and be more productive.</p></description> <persons> <person id="7898">Haki Benita</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://hakibenita.com/python-dependency-injection#using-a-protocol">Structural subtyping with Procotol</link> <link href="https://realpython.com/modeling-polymorphism-django-python/#generic-foreign-key">Structural subtyping with Procotol (in Django)</link> <link href="https://hakibenita.com/python-mypy-exhaustive-checking">Exhaustiveness checking</link> <link href="https://video.fosdem.org/2021/D.python/python_mypy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_mypy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11478.php">Submit feedback</link> </links> </event> <event id="11494"> <start>11:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_cubicweb_opendata</slug> <title>CubicWeb as a Linked Open Data server</title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>We made the Web accessible to human. What about making the web (of data) accessible to computers? Publish open data could be struggling. Deposit a CSV file on a web server is not enough. The data model used should be explicitly defined.</p> <p>The Linked Open Data (https://www.w3.org/standards/semanticweb/data) solves this with: * standardized implementation format (RDF) * standardized data access (Content negociation, SPARQL endpoint) * standardized data indentification (URI, data model as data)</p> <p>For example all the data from the Bibliothèque National de France (national library of France) are widely accessible by using these standards. This allowed the development of data federation initiatives, such as Europeana (https://www.europeana.eu).</p> <p>CubicWeb is a semantic web application framework, licensed under the LGPL, that follows Linked Open Data best practices. During this presentation we will discuss about Linked Open Data benefits, and how CubicWeb could be used as a "on shelve" framework to do so.</p></abstract> <description></description> <persons> <person id="7726">Fabien Amarger</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_cubicweb_opendata.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_cubicweb_opendata.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11494.php">Submit feedback</link> </links> </event> <event id="11475"> <start>12:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_async</slug> <title>Don't be Afraid of Async</title> <subtitle>Automate Mundane Tasks with a bot by using Discord.py</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Everybody hates mundane tasks, they are boring, repetitive and time-consuming. That’s why I love building bots, they can finish my tasks for me by working 24/7. But to build a bot to interact with the users, you have to write in async. If you are afraid of async, don’t worry! Today I am telling you how I learn using async and how I avoid checking in 500+ people in a conference by building a bot with Discord.py.</p></abstract> <description><p>In the first part of the talk, there will be a short introduction to Discord. As more and more conference goes online, it’s become a more and more popular tool among the Python community. I will also introduce Discord.py, a python library that offered an async API to let you build a Discord bot. This will give the audiences a background about the following quick demo and explanation of a simple bot that I built.</p> <p>In the second part of the talk, I will walk through how to build a bot for registering attendees for EuroPython. Following a quick demo, I will also give a walkthrough about some of the async coroutines available in Discord.py: event listener like on_ready and commands. I will also explain how the async code is different from the sync code and the danger of mixing them together.</p> <p>Hopefully, audiences will be inspired to build their own bot and learn a little bit about writing async code in Python and using Discord.py. This talk is suitable for attendees who got basic knowledge in Python but not necessarily know about Discord or async.</p></description> <persons> <person id="7897">Cheuk Ho</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://slides.com/cheukting_ho/dont-be-afraid-of-async">slide deck</link> <link href="https://video.fosdem.org/2021/D.python/python_async.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_async.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11475.php">Submit feedback</link> </links> </event> <event id="11527"> <start>12:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_aleksis</slug> <title>AlekSIS</title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>As part of the schul-frei project of Teckids e.V. we curate free software and offer it to educational institutions. Besides the general equipment of schools with free software, an equal involvement of students in the development is for us important. One of the solutions presented by the project schul-frei is AlekSIS, a web-based school information system that is being developed jointly by Teckids e.V. and students of the Katharineum in Lübeck. The django-based platform provides data structures that can be used by separately developed apps. The special feature of this project compared to other information systems is that apps can be developed that cover specific application areas of a school. AlekSIS is a framework for apps that can be developed together with students in computer science classes, for example, because the development of such apps with python is easy to follow. Since AlekSIS is just a part of the free software curation, it can be excellently combined with other services or network accounts that are used in school. In our talk we will show, how this framework concretely looks like and how people can contribute to this project or use this system, for example at schools.</p></abstract> <description></description> <persons> <person id="2214">Dominik George</person> <person id="7610">Benedict Suska</person> <person id="8046">Xithrius</person> <person id="8349">Tom Teichler</person> <person id="8369">Jonathan Weth</person> </persons> <attachments> </attachments> <links> <link href="https://aleksis.org/">AlekSIS</link> <link href="https://schul-frei.org">schul-frei</link> <link href="https://video.fosdem.org/2021/D.python/python_aleksis.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_aleksis.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11527.php">Submit feedback</link> </links> </event> <event id="11533"> <start>13:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_pinax</slug> <title>Bringing Pinax Back to Life</title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Pinax is an open-source ecosystem of reusable Django starter projects, apps, and themes for building websites. When developers began building Pinax in 2007, they had fun adding to it, but eventually Pinax had grown to become around 80 projects and apps. Without a strategy in place to make Pinax as easy as possible to maintain, the maintainers began to suffer burnout. I was hired to work on Pinax in the fall of 2017. In my talk, I'll outline the critical problems I've discovered and the solutions I'm implementing to make Pinax healthier and easier to maintain today and in the future. Pinax is a work in progress and I'm interested in sharing what I've learned.</p></abstract> <description></description> <persons> <person id="7922">Katherine Michel</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://twitter.com/KatiMichel">Twitter</link> <link href="https://github.com/KatherineMichel">GitHub</link> <link href="https://www.linkedin.com/in/katherinemichel">LinkedIn</link> <link href="https://video.fosdem.org/2021/D.python/python_pinax.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_pinax.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11533.php">Submit feedback</link> </links> </event> <event id="11458"> <start>13:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_weather_pipeline</slug> <title>Is Rainfall Getting Heavier? Building a Weather Forecasting Pipeline with Singapore Weather Station Data</title> <subtitle>Using data-driven approaches for weather forecasting in the tropics</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>How many seasons does a tropical country like Singapore have? Is global warming real, and is rainfall getting heavier? To answer these questions, I will show how we could use Requests and Pandas to build a data pipeline that extracts Singapore weather station data for a user-defined time period and explore the weather trends and seasons over the past few years.</p></abstract> <description><p>Most of the world experience the four seasons, but how many seasons does a tropical country like Singapore have? Is rainfall getting heavier? We can get such insights from publicly-available weather data; however, we need to write scripts to make API requests to retrieve the data.</p> <p>In this talk, I will be sharing about my approach in building a data pipeline that extracts Singapore weather station data from Data.gov.sg APIs for a user-defined time period using pandas. Based on the extracted data, I will also be using a data-driven approach to gain a better understanding on the weather trends and seasons over the past few years, and explore different approaches in forecasting future weather trends based on these insights.</p></description> <persons> <person id="7887">Chin Hwee Ong</person> <person id="8046">Xithrius</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/python_weather_pipeline/attachments/slides/4721/export/events/attachments/python_weather_pipeline/slides/4721/FOSDEM_Python_Devroom_7_February_2021_Is_Rainfall_Getting_Heavier_Building_a_Weather_Forecasting_Pipeline_with_Singapore_Weather_Station_Data.pdf">FOSDEM 2021 Python devroom - Is Rainfall Getting Heavier? Building a Weather Forecasting Pipeline with Singapore Weather Station Data</attachment> </attachments> <links> <link href="https://youtu.be/lrb3f8jtZqg?t=1800">Pyjamas Conf 2020</link> <link href="https://youtu.be/w2eUdxPQQ78">PyCon TW 2020</link> <link href="https://you.tube/PB7_5BQp1SU">EuroPython 2020</link> <link href="https://youtu.be/aB6f5KicM2Y">FOSSASIA Summit 2020</link> <link href="https://youtu.be/x8CtEtn0vsc">Open Up Global Summit 2019</link> <link href="https://youtu.be/RX5rlt3jAt0">Women Who Code Connect Asia 2019</link> <link href="http://bit.ly/fosdem2021-sgrainfall-forecast">Slides for FOSDEM 2021 Python devroom</link> <link href="https://video.fosdem.org/2021/D.python/python_weather_pipeline.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_weather_pipeline.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11458.php">Submit feedback</link> </links> </event> <event id="11489"> <start>14:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_self</slug> <title>How Python inserts 'self' into methods</title> <subtitle>An accessible introduction to descriptors</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>When someone starts learning about classes in Python, one of the first things they'll come across is "self" in the parameter list of a method. To keep it simple, it's usually explained that Python will automatically pass the current instance as the first argument to the method: "self" will refer to the instance the method was called on. This high-level explanation really helps with keeping the focus on learning the basics of classes, but it also side-steps what is really going on: It makes it sound like process of inserting "self" is something <strong>automagical</strong> that the language just does for you. In reality, the mechanism behind inserting self isn't magical at all and it's something you can very much play with yourself.</p> <p>In this intermediate level talk, Sebastiaan Zeeff will take you down into the heart of the Python data model to explain how the mechanism behind inserting "self" works. He will talk about the <a href="https://docs.python.org/3/reference/datamodel.html#descriptors">descriptor protocol</a> and how it allows you to modify how attributes are accessed, assigned, or deleted in Python. He hopes that understanding how descriptors work will demystify "self" in Python.</p></abstract> <description></description> <persons> <person id="7843">Sebastiaan Zeeff</person> <person id="8037">Matteo Bertucci</person> <person id="8046">Xithrius</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_self.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_self.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11489.php">Submit feedback</link> </links> </event> <event id="10881"> <start>14:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_cuda</slug> <title>Beyond CUDA: GPU Accelerated Python on Cross-Vendor Graphics Cards with Vulkan Kompute </title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>This talk will provide practical insights on high performance GPU computing in Python using the Vulkan Kompute framework. We will cover the trends in GPU processing, the architecture of Vulkan Kompute, we will implement a simple parallel multiplication example, and we will then dive into a machine learning example building a logistic regression model from scratch which will run in the GPU.</p> <p>In more detail these are the topics of the talk:</p> <p>• Motivations</p> <p>• High level overview of the OSS Vulkan initative enabling cross-vendor GPU computing</p> <p>• The Python Kompute Framework and its architecture which augments Vulkan</p> <p>• A simple Python Kompute example implementing a parallel array multiplication</p> <p>• An advanced Python Kompute example implementing a parallel array multiplication</p> <p>• Further resources &amp; further reading</p> <p>A more in-depth version of this talk can be found in this blog post:</p> <p>• https://towardsdatascience.com/beyond-cuda-gpu-accelerated-python-for-machine-learning-in-cross-vendor-graphics-cards-made-simple-6cc828a45cc3</p> <p>If you are interested in the C++ internals, as well as further performance optimizations, you can join the deeper dive at the HPC &amp; Data Science Room:</p> <p>• https://fosdem.org/2021/schedule/event/gpu_vulkan/</p> <p>Other useful links:</p> <p>• Vulkan Kompute Repo: https://github.com/EthicalML/vulkan-kompute • Vulkan Kompute Docs: https://kompute.cc/</p></abstract> <description></description> <persons> <person id="4188">Alejandro Saucedo</person> <person id="8037">Matteo Bertucci</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_cuda.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_cuda.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10881.php">Submit feedback</link> </links> </event> <event id="11522"> <start>15:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_reloading</slug> <title>Code reloading techniques in Python</title> <subtitle>Cold and hot code reloading, the different options, how they work and when to use them.</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>While iterating rapidly on Python code, we want to see the result of our changes rapidly. In this talk, we will review the different techniques available to reload Python code. We will see how they work and when each is the best fit.</p></abstract> <description><p>The talk will cover both cold and hot reload techniques:</p> <p><strong>Cold reload</strong> techniques reset the application state between each reload. Examples include Django and Flask's autoreload tools.</p> <p><strong>Hot reload</strong> techniques keep the application state despite the code changing. These include Jupyter kernels and 'reloadr' [1], an open-source module developed by the speaker to allow stateful hot code reloading.</p> <p>[1] <a href="https://github.com/hoh/reloadr">https://github.com/hoh/reloadr</a></p></description> <persons> <person id="7915">Hugo Herter</person> <person id="8037">Matteo Bertucci</person> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/SXl-pZnoaQ0?t=696">Lightning talk at PyCon 2017</link> <link href="https://youtu.be/YwJRS2Xe-Hc?t=3240">Lightning talk at EuroPython 2019</link> <link href="https://www.youtube.com/watch?v=FFW-OK047XI">Full talk on different topic at PyConFr 2017</link> <link href="https://github.com/hoh/reloadr"> Hot code reloading tool for Python </link> <link href="https://video.fosdem.org/2021/D.python/python_reloading.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_reloading.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11522.php">Submit feedback</link> </links> </event> <event id="11519"> <start>15:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_kedro</slug> <title>From Jupyter Notebook to production code</title> <subtitle>a Kedro introduction</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Have you ever had issues to share your Jupyter Notebooks? Ever had troubles with code that "works on my machine" only? Do you consider your Research and Development smooth and straightforward? Is your code scalable? Tough questions, I know. But if you've mentally answered 'no' to any of those you could use a tool to help with some of the pain-points of your workflow. Kedro is an open-source Python library that helps data scientists write data pipelines following software engineering best practices from the start. Known as the Django of ML/DS projects, Kedro is an opinionated framework based on cookiecutter data science that allows for modularity and scalability on data science projects.</p> <p>In this talk, I will explore the workflow of a Kedro project, introduce some of the most outstanding features of the framework, such as the Data Catalog and show how to convert a Jupyter Notebook into a Kedro project, allowing for scalability and team collaboration.</p></abstract> <description><p>Talk structure</p> <pre><code>Intro (5 min) The problem(s) (10 min) The solution (5 min) Demo - convert Notebook to Kedro project (15 min) Q&amp;A (5 min) </code></pre> <p>Audience</p> <p>This talk focus on data engineers, machine learning engineers, and data scientists who wish to learn how to write code beyond the Jupyter Notebook. The audience is expected to know the basics of Python and Jupyter Notebooks. All levels are welcome. Key takeaways</p> <p>By the end of this talk, the attendees are expected to understand the basics setup of a Kedro project, know how to convert a Jupyter Notebook into a Kedro project, and to visualize the created data pipelines using the Kedro Viz extension.</p></description> <persons> <person id="7913">Lais Carvalho</person> <person id="8037">Matteo Bertucci</person> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/FY9aqax1wNs?t=3169">PyData Hamburg meetup (version of the same talk)</link> <link href="https://video.fosdem.org/2021/D.python/python_kedro.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_kedro.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11519.php">Submit feedback</link> </links> </event> <event id="10911"> <start>16:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_inventing_cv</slug> <title>Inventing Curriculum using Python and spaCy</title> <subtitle/> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Are you an educator who wants to design teach an industry-aligned curriculum? Then you have come to the right place. In this talk, we will show how to design a better curriculum using natural language processing libraries in python, i.e., spaCy and Textacy.</p></abstract> <description><p>The curriculum in the general and undergraduate curriculum, in particular, is one of the most important pillars of an education system. The undergraduate curriculum has two main objectives i.e. employability and higher education. The greatest challenge in designing an undergraduate curriculum is achieving a balance between employability skills and laying the foundation for higher education. Generally, the curriculum is a combination of core technical subjects, professional electives, humanities, and skill-oriented subjects. We used natural language processing and machine learning packages in Python to build a curriculum design system.</p> <p>The steps to build a curriculum design system are described below: 1. The dataset was built from the job profiles from different job listing websites like stackoverflow.com, indeed.com, linkedin.com, and monster.com. Also from the syllabus of competitive exams and qualifying exams for higher education. 2. On the dataset, we applied natural language processing techniques to identify the subjects and subject content. For natural language processing, we used spaCy an industrial-strength Natural Language Processing package in Python. 3. To generate syllabus content for a particular subject, a pointer-generator network was used. The pointer generator network is a text summarization technique that combines extractive and abstractive summarization techniques. The extractive summarization technique extracts keywords from the dataset, whereas the abstractive summarization technique generates new text from the existing text. The pointer-generator network was implemented using the scikit-learn machine learning package in Python. 4. The generated curriculum was then compared with the existing curriculum to get insights like, how much percent of the curriculum is industry oriented, how much percent of the curriculum is aimed at higher education and job-oriented skills. At this step, we used the ROGUE (Recall-Oriented Understudy Gisting Evaluation) metric to compare the generated curriculum against the reference/proposed curriculum 5. The above steps can be repeated with modified parameters to get better insights and curriculum.</p> <p>This also gives us an idea of how we can have an evolving curriculum that can help us bridge the gap between industry and academia.</p></description> <persons> <person id="7565">Gajendra Deshpande</person> <person id="8037">Matteo Bertucci</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/python_inventing_cv/attachments/slides/4407/export/events/attachments/python_inventing_cv/slides/4407/FOSDEM21">Inventing Curriculum using spaCy and Python</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_inventing_cv.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_inventing_cv.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10911.php">Submit feedback</link> </links> </event> <event id="11586"> <start>16:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_streamlit</slug> <title>Creating Data Apps using Pure Python</title> <subtitle>Building Custom Apps using Streamlit</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Have you always wanted a flexible &amp; interactive visualization that is easy for others to work with without handling all the Javascript libraries? Or do you want to build a user interface for your Machine Learning Model? This talk has you covered with building data apps in Python using Streamlit with examples of a Travel Visualization App using Google Maps Data &amp; an UI for the ImageNet Model.</p></abstract> <description><p>In this talk, I showcase couple of different use cases where you can build your data focussed applications using Streamlit, an open source library in pure Python.</p> <p>In the first use case, I cover how you can build interactive dashboards using different Streamlit components. These dashboards can be easily deployed &amp; the consumers can easily work with the interactive dashboards without worrying about all the dependencies that need to be installed to run the Jupyter notebooks. In the showcase, I will go over how you can build a dashboard of your historical travels using Google Maps Location History including some memories from them from Flickr.</p> <p>In the second showcase, I will describe how users can create a quick interface for their machine learning model using Streamlit. These interfaces are much faster to develop than building a custom frontend interface for machine learning models with the help of Javascript libraries. In the demo, I showcase how I built an UI for the ImageNet Model.</p> <p>The showcases will showcase how these data based web apps can be built using Python functions &amp; Streamlit components.</p></description> <persons> <person id="7931">Nithish Raghunandanan</person> <person id="8037">Matteo Bertucci</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/python_streamlit/attachments/slides/4732/export/events/attachments/python_streamlit/slides/4732/Creating_Data_Apps_in_Pure_Python.pdf">Creating Data Apps in Pure Python</attachment> </attachments> <links> <link href="https://github.com/nithishr/streamlit-data-viz-demo">Data Visualization Demo</link> <link href="https://github.com/nithishr/streamlit-ml-demo">ML Interface Demo</link> <link href="https://video.fosdem.org/2021/D.python/python_streamlit.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_streamlit.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11586.php">Submit feedback</link> </links> </event> <event id="10995"> <start>17:00</start> <duration>00:30</duration> <room>D.python</room> <slug>python_ci</slug> <title>How to get started with GitLab CI and Python</title> <subtitle>A GitLab CI Introduction</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>If you develop web apps with Python and want to take your project to a cloud platform like Heroku, using a continuous integration tool can help you with this process and optimize time and resources. Running tests and deploying your app are some tasks that this tool can help you with. Through this talk you will know how to use GitLab CI on your Python projects.</p></abstract> <description></description> <persons> <person id="2147">Eric Gazoni</person> <person id="7570">Mario García</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/python_ci/attachments/slides/4738/export/events/attachments/python_ci/slides/4738/How_to_Get_Started_with_Python_and_GitLab_CI.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_ci.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_ci.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10995.php">Submit feedback</link> </links> </event> <event id="10890"> <start>17:30</start> <duration>00:30</duration> <room>D.python</room> <slug>python_escaping_cargo_cult</slug> <title>Escaping the Cargo Cult</title> <subtitle>How to structure your project without losing your mind.</subtitle> <track>Python</track> <type>devroom</type> <language/> <abstract><p>Structuring a Python project is often non-trivial. We pick up pieces of different patterns and techniques, blindly applying them without understanding their implications, in an attempt to ship software. Testing and packaging become significant pain points for many developers, and this need not be so.</p> <p>In this talk, Jason C. McDonald breaks down the best way to structure a Python project for maximum portability and maintainability...and more important, explain WHY these patterns exist.</p></abstract> <description></description> <persons> <person id="2147">Eric Gazoni</person> <person id="7548">Jason McDonald</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.python/python_escaping_cargo_cult.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.python/python_escaping_cargo_cult.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10890.php">Submit feedback</link> </links> </event> </room> <room name="D.radio"> <event id="11149"> <start>10:00</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_gnu_radio_on_embedded_using_buildroot</slug> <title>Never compile on the target ! GNU Radio on embedded systems using Buildroot</title> <subtitle>feedback on a graduate course on developing an embedded network analyzer</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>G. Goavec-Merou &amp; J.-M Friedt</p> <p>Embedded systems are tailored to a specific task aimed at minimizing resource and energy consumption (e.g. ADi PlutoSDR). Cross-compiling benefits from powerful personal computer computational resources and user-friendly interfaces while removing the burden on the embedded board of running the compiler. GNU Radio was ported to Buildroot to provide SDR enthusiasts access to the many boards supported by this cross-compilation framework. We demonstrate its use in a graduate course project aimed at developing an embedded network analyzer.</p></abstract> <description><p>A network analyzer for characterizing a radiofrequency device requires a radiofrequency receiver for collecting the signal that was generated to probe the response of a Device Under Test, and a matching signal source. We consider the RTL-SDR dongle as the receiver, while the Raspberry Pi processor Phase Locked Loop (PLL) has been shown to generate a radiofrequency signal in the FM band. In this demonstration, PiFM is used as a signal source. As students were not allowed to visit university during lockdown, a cost-effective solution had to be found to provide hardware to all students to complete the course at home: the solution of a Raspberry Pi4 and DVB-T dongle was selected to provide the framework of embedded radiofrequency system development. GNU Radio is cross-compiled using Buildroot to the Raspberry Pi 4, iterative tests allow for checking the functionality of each step, until a complete measurement is achieved.</p></description> <persons> <person id="1813">Jean-Michel Friedt</person> </persons> <attachments> </attachments> <links> <link href="http://jmfriedt.free.fr/projetM1_2020_1.pdf">slides of the graduate course (1/3)</link> <link href="http://jmfriedt.free.fr/projetM1_2020_2.pdf">slides of the graduate course (2/3)</link> <link href="http://jmfriedt.free.fr/projetM1_2020_3.pdf">slides of the graduate course (3/2)</link> <link href="http://jmfriedt.free.fr/hackable_buildroot_eng.pdf">proceeding article aimed at a detailed description of porting GNU Radio to Buildroot</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_on_embedded_using_buildroot.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_on_embedded_using_buildroot.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11149.php">Submit feedback</link> </links> </event> <event id="11503"> <start>10:30</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_srslte_project_update</slug> <title>srsLTE project update</title> <subtitle/> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>This talk provides an update on the srsLTE project. We'll look at the two past releases in 2020 and, more importantly, provide an outlook on the two upcoming releases for 2021 which will include 5G NSA support.</p></abstract> <description></description> <persons> <person id="1833">Andre Puschmann</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_srslte_project_update/attachments/slides/4595/export/events/attachments/fsr_srslte_project_update/slides/4595/20210207_srslte_update_fosdem2021.pdf">srsLTE project update 2021</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.radio/fsr_srslte_project_update.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_srslte_project_update.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11503.php">Submit feedback</link> </links> </event> <event id="10844"> <start>11:00</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_openwifi_opensource_wifi_chip</slug> <title>openwifi - opensource WiFi chip</title> <subtitle>Progress 2020 and future idea/plan</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>Openwifi project, the opensource WiFi chip design, was firstly announced in FOSDEM 2020. During the unusual 2020, openwifi project has made many progresses, also encountered some difficulties. In this presentation, openwifi project would share with you:</p> <ol> <li><p>result of user/community growth</p></li> <li><p>main progresses: hardware support; performance; stability; bug fixes; new features</p></li> <li><p>difficulties: community participation (FPGA people &lt;&lt; software people); too expensive hardware</p></li> <li><p>idea of low cost hardware</p></li> <li><p>new features planned</p></li> </ol> </abstract> <description></description> <persons> <person id="6450">Xianjun Jiao</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_openwifi_opensource_wifi_chip/attachments/slides/4701/export/events/attachments/fsr_openwifi_opensource_wifi_chip/slides/4701/openwifi_fosdem21_presentation_upload.pdf">openwifi fosdem21 presentation</attachment> </attachments> <links> <link href="https://github.com/open-sdr/openwifi">github of openwifi</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_openwifi_opensource_wifi_chip.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_openwifi_opensource_wifi_chip.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10844.php">Submit feedback</link> </links> </event> <event id="11123"> <start>11:30</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_gr_satellites_project_update</slug> <title>gr-satellites project update</title> <subtitle/> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>gr-satellites is a GNU Radio OOT module that contains a collection of telemetry decoders for Amateur satellites. At FOSDEM20 we presented an on-going large refactor to improve modularity and usabilty. The new version was finally released in June and includes a command line tool to run the decoders, GNU Radio blocks of both high and low level to allow customized designs, and comprehensive user documentation. Moreover, gr-satellites now has cross-platform support through Conda, has been included in Debian and has an Ubuntu PPA.</p> <p>In this talk we will look at the main features of the new gr-satellites releases and the important things that have happened this year surrounding the development of gr-satellites.</p></abstract> <description></description> <persons> <person id="7088">Daniel Estévez</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_gr_satellites_project_update/attachments/slides/4554/export/events/attachments/fsr_gr_satellites_project_update/slides/4554/gr_satellites_slides.pdf">Slides</attachment> </attachments> <links> <link href="https://github.com/daniestevez/gr-satellites">gr-satellites</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gr_satellites_project_update.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gr_satellites_project_update.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11123.php">Submit feedback</link> </links> </event> <event id="11148"> <start>12:00</start> <duration>00:50</duration> <room>D.radio</room> <slug>frs_talking_to_spaceborne_radar_sentinel1_data_processing</slug> <title>Talking to spaceborne RADAR: Sentinel1 data processing</title> <subtitle> ... and seeing a corner reflector as cooperative target</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>J.-M Friedt &amp; P. Abbé</p> <p>Signal processing of Sentinel1 spaceborne RADAR datasets freely available from the European Space Agency web site, followed by the deployment of a corner reflector which will be visible in the latest datasets.</p></abstract> <description><p>Software Defined Radio users and developers are well aware of the {I, Q} stream and their handling for powerful software processing at baseband. While most developments focus on hardware, acquisition and digital communication signal decoding, a huge dataset of {I, Q} samples is available from the spaceborne Sentinel1 satellites. Indeed, the European Space Agency is providing free access (the anonymous registration with the service will be discussed in the presentation) to the datasets collected by the two Sentinel-1{A, B} satellites. Spaceborne RADAR provide all-weather (RADAR is not affected by cloud), day-night (RADAR is active and does not depend on external illumination sources) monitoring conditions covering the whole surface of the Earth from the low Earth polar orbiting satellites. Most significant over optical measurements, microwave RADAR measurements allow for phase recovery and hence interferometric measurement which is not possible with optical measurements. Furthermore, radiofrequence wave complex interactions with the reflective surfaces (scattering, absorption, polarization rotation) provides a rich context for analysis complementary to optical observations.</p> <p>Thanks to the Single Look Complex, Interferometric Wide datasets collected over land, discovering Interferometric Synthetic Aperture RADAR processing is no longer a matter of being associated with a dedicated laboratory and applying to selective research projects (e.g. Canadian RADAR-Sat datasets or German TanDEM-X) but only of fetching the huge datasets (4-GB/image) and learning the processing sequence.</p> <p>In this talk which will appear as a sequel to the development of Ground Based SDR RADAR discussed during GRCon2020 [1], we will introduce a processing flowchart first relying on the SNAP graphical user interface provided by ESA before switching to an automated command line approach relying on Makefile since each processing step depends on the proper completion of the previous one. We will address some basic conditions whose results are expected, namely German open-pit coal mines and earthquake-induced land motion. Indeed the 5 mx20 m pixel and 5.6 cm wavelength is best suited for large scale, sub-cm natural or human-induced geomorphological transformations, while the short term coherence is best achieved by analyzing the successive data collected from one observation to another with a 12-day repetition rate.</p> <p>After demonstrating a functional flowchart resulting in GeoTIFF phase and coherence maps consistent with optical satellite and aerial imagery, we conclude the presentation by adding a cooperative target corner reflector acting as localized point-like measurement source, assuming the reflector is large enough to be the dominant reflection source over the pixel area.</p> <p>[1] Software defined radio based Synthetic Aperture noise and OFDM (Wi-Fi) RADAR mapping, GRCon 2020, at https://pubs.gnuradio.org/index.php/grcon/article/view/71</p></description> <persons> <person id="1813">Jean-Michel Friedt</person> </persons> <attachments> </attachments> <links> <link href="http://jmfriedt.free.fr/slides_sentinel.pdf">Slides of the presentation</link> <link href="https://">https://</link> <link href="https://video.fosdem.org/2021/D.radio/frs_talking_to_spaceborne_radar_sentinel1_data_processing.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/frs_talking_to_spaceborne_radar_sentinel1_data_processing.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11148.php">Submit feedback</link> </links> </event> <event id="10953"> <start>12:50</start> <duration>01:00</duration> <room>D.radio</room> <slug>fsr_sigdigger_blind_signal_analysis_made_easy</slug> <title>SigDigger: blind signal analysis made easy</title> <subtitle>Introduction, examples, design details and seeking collaboration.</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>SigDigger is a free digital signal analyzer with an intuitive Qt5 interface, originally designed for GNU/Linux but that has been successfully ported to macOS as well. In this talk, I will give a brief introduction to SigDigger, what are its use cases, and why it is a reasonable option with respect to existing alternatives. In order to better illustrate these use cases, I will perform a live demonstration of its features and capabilities and give some real-time performance figures. I will then describe its internals, how the demodulator pipeline is implemented, why it is so fast, and why it could be even faster. I will finish with the mid-term goals of the project, WIP, and a request for collaboration for anyone who could be interested in making this software grow.</p></abstract> <description></description> <persons> <person id="7597">Gonzalo José Carracedo Carballal</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_sigdigger_blind_signal_analysis_made_easy/attachments/slides/4727/export/events/attachments/fsr_sigdigger_blind_signal_analysis_made_easy/slides/4727/SigDigger.pdf">SigDigger Slides</attachment> </attachments> <links> <link href="https://github.com/BatchDrake/SigDigger">Main repository for the project</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_sigdigger_blind_signal_analysis_made_easy.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_sigdigger_blind_signal_analysis_made_easy.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10953.php">Submit feedback</link> </links> </event> <event id="11680"> <start>13:50</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_gnu_radio_organizational_updates_2020</slug> <title>GNU Radio: Organizational Updates 2020</title> <subtitle/> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>The year 2020 had some interesting organizational updates for the GNU Radio project. We summarize the changes, describe the new leadership structure, and show how we intend these changes to propagate into the future.</p></abstract> <description><p>In 2020, the GNU Radio organization went through some major changes. In the past, the leadership of GNU Radio followed a "benevolent dictator" model. This is an efficient leadership structure, but it assumes dictators' benevolence, and is not a scalable model. Starting 2020, we have a new leader ship team (the General Assembly), and a new Board. With the exception of the initial General Assembly, all members are elected, and there's an official process in place to keep the organization going.</p> <p>On top of that, we merged with The SETI Project. We are hopeful that this collaboration is a great win for both parties, and we'll talk about why.</p></description> <persons> <person id="1616">Martin Braun</person> <person id="4766">Derek Kozel</person> <person id="7584">Marc Lichtman</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_gnu_radio_organizational_updates_2020/attachments/slides/4740/export/events/attachments/fsr_gnu_radio_organizational_updates_2020/slides/4740/GNU_Radio_Organization_Updates_GRCon_2020.pdf">GNU Radio Organization Updates GRCon 2020</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_organizational_updates_2020.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_organizational_updates_2020.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11680.php">Submit feedback</link> </links> </event> <event id="11583"> <start>14:20</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_gnu_radio_tech_update</slug> <title>GNU Radio Tech Update</title> <subtitle>Lifting the mystery of what has happened in GNU Radio over the last 12 months</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>Progress is deeply engrained in the structure that makes up the GNU Radio project. A lot of it has been made in 2020 – but unlike crop circles, we do know where it came from, and what we can do with it.</p></abstract> <description></description> <persons> <person id="4473">Marcus Müller</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_gnu_radio_tech_update/attachments/slides/4514/export/events/attachments/fsr_gnu_radio_tech_update/slides/4514/presentation_fosdem21.pdf">Slides GNU Radio Tech Update</attachment> </attachments> <links> <link href="https://shop.spreadshirt.com/gnuradio/">Shirts</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_tech_update.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_gnu_radio_tech_update.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11583.php">Submit feedback</link> </links> </event> <event id="11608"> <start>14:50</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_a_modular_future_for_gnu_radio</slug> <title>A modular future for GNU Radio</title> <subtitle/> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>The vision for a new GNU Radio runtime is to have a straightforward implementation of distributed SDR systems that make efficient use of the platform and its accelerators. Though there have been many projects over the years to address some of these goals, many aspects are challenging to do in the current GNU Radio runtime.</p> <p>One year ago, several of us got together at the pre-FOSDEM hackfest and started planning how to "write a GNU Radio runtime that works for humans". Since that time the project has taken several different directions, all aiming to make the core aspects of GNU Radio modular and easier to use by laying a fresh foundation. In this talk, we will overview the current state of the "newsched" project, and where we plan to take it.</p></abstract> <description></description> <persons> <person id="1776">Bastian Bloessl</person> <person id="7100">Josh Morman</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_a_modular_future_for_gnu_radio/attachments/slides/4729/export/events/attachments/fsr_a_modular_future_for_gnu_radio/slides/4729/bloessl_morman_fosdem2021.pdf">A Modular Future For GR</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.radio/fsr_a_modular_future_for_gnu_radio.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_a_modular_future_for_gnu_radio.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11608.php">Submit feedback</link> </links> </event> <event id="11090"> <start>15:20</start> <duration>00:20</duration> <room>D.radio</room> <slug>fsr_pysdr_guide_to_sdr_and_dsp_using_python</slug> <title>PySDR: A Guide to SDR and DSP using Python</title> <subtitle>and lessons learned from teaching CS students DSP + SDR</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>I discuss the challenges of teaching Digital Signal Processing (DSP) and Software-Defined Radio (SDR) concepts to those without any background in the area. At the University of Maryland I created an elective for undergraduates in the CS dept. that introduced DSP and SDR in a hands-on manner, and have since taught the course twice. During this course, students learn basic wireless communications and DSP concepts, and how to implement the techniques onto SDRs. Additional course learning objectives include digital signals, filtering, frequency domain, digital modulation, noisey channels, cellular, and IoT. The course utilizes open-source SDR toolkit software including GNU Radio and Python libraries, allowing students more interesting and engaging assignments/exercises and more advanced concepts to be explored. Every student had a PlutoSDR to use during the semester. What is unique about this course is that this material is typically taught at the graduate level within ECE, spread across numerous individual courses. CS students, at least at our university, do not get exposed to any DSP or signals background which is normally required to learn about SDR using traditional methods/textbooks, so they must start from scratch, which is why this course has heavy use of graphics, animations, and examples. As such, this course does not dive as deep into the mathematics behind the theory as a normal graduate level ECE course would. There is much more emphasis on "learning by doing", and actually creating SDR applications.</p> <p>In addition to the course I have created a free online textbook called PySDR, that is based on the material I taught in my course, which anyone can use to learn DSP and SDR using Python. My textbook does not use any custom libraries or code, it's essentially showing how to use straight Python (e.g. mostly numpy, scipy, and matplotlib) to actually do DSP and create SDR applications. Through feedback I've gotten from people using this online textbook, I have learned about what it takes to teach DSP and SDR to folks in a non-university setting. The source code used to generate the textbook (using Sphinx) is hosted on GitHub, so that readers can submit issues or even PRs, to date there has been several contributors. I'm hoping this presentation can show that you don't need to be a EE with a masters degree to dive into DSP and SDR.</p></abstract> <description><p>Shameless plug: https://pysdr.org</p></description> <persons> <person id="7584">Marc Lichtman</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.radio/fsr_pysdr_guide_to_sdr_and_dsp_using_python.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_pysdr_guide_to_sdr_and_dsp_using_python.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11090.php">Submit feedback</link> </links> </event> <event id="11454"> <start>15:40</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_optimization_of_sdr_apps_on_heterogeneous_socs</slug> <title>Optimization of SDR Applications on Heterogeneous Systems-on-Chip (SoCs)</title> <subtitle>A High-Level Simulation Framework for Evaluating SDR on Heterogeneous SoCs</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>Recently proposed domain-specific systems-on-chip (DSSoCs) optimize the architecture, computing resources, and run-time management by exploiting the application characteristics for a given domain. As such, DSSoCs can boost the performance and energy-efficiency of software-defined radio (SDR) applications without degrading their flexibility. Harvesting the full potential of DSSoCs depends critically on integrating an optimal combination of computing resources and their effective runtime utilization. For this reason, the design space exploration process requires evaluation frameworks to guide the design process. Full-system simulators, such as gem5, can perform instruction-level cycle-accurate simulation. However, this level of detail leads to long execution times and is beyond high-level design space exploration requirements. In contrast, hardware emulation using Field-Programmable Gate Array (FPGA) prototypes are substantially faster. However, they involve significantly higher development effort to implement the target SoC and applications. Given the design complexity, there is a strong need for a simulation environment that enables rapid, high-level, simultaneous exploration of scheduling algorithms and power-thermal management techniques. To this end, we present DS3, an open-source system-level domain-specific system-on-chip simulation framework that targets SDR applications. DS3 framework enables (1) run-time scheduling algorithm development, (2) dynamic thermal-power management (DTPM) policy design, and (3) rapid design space exploration. DS3 facilitates plug-and-play simulation of scheduling algorithms; it also incorporates built-in heuristics and a constraint programming-based scheduler to provide an upper bound of performance (i.e., optimal schedule for a set of applications and an SoC configuration) for users. Hence, it can be used to develop and evaluate new schedulers that can be integrated into GNU Radio. DS3 also includes power dissipation and thermal models that enable users to design and evaluate new DTPM policies. Furthermore, it features built-in dynamic voltage and frequency scaling (DVFS) governors deployed on commercial SoCs. In this talk as we discuss the DS3 capabilities, we will present a benchmark application suite with applications from wireless communications and radar processing domains including WiFi TX/RX, low-power single-carrier TX/RX, range detection, and pulse Doppler. We will conclude the talk with design-space exploration studies using these applications.</p></abstract> <description></description> <persons> <person id="7696">Samet E Arda</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_optimization_of_sdr_apps_on_heterogeneous_socs/attachments/slides/4391/export/events/attachments/fsr_optimization_of_sdr_apps_on_heterogeneous_socs/slides/4391/FOSDEM2021_DS3_Talk_v2.pptx"/> </attachments> <links> <link href="https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9072509">Article</link> <link href="https://github.com/segemena/DS3">GitHub Repo</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_optimization_of_sdr_apps_on_heterogeneous_socs.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_optimization_of_sdr_apps_on_heterogeneous_socs.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11454.php">Submit feedback</link> </links> </event> <event id="11689"> <start>16:10</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_vector_optimized_library_of_kernels</slug> <title>Vector Optimized Library of Kernels</title> <subtitle>A year in review</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>During the last year, we saw quite a significant amount of changes to VOLK. Here, we want to present a summary of these changes and how users may benefit from them. Further, we want to give an outlook on future directions of the project.</p></abstract> <description><p>2020 started with a new VOLK maintainer team. Michael Dickens and Johannes Demel took over to lead the effort to improve VOLK. VOLK started as a subproject of GNU Radio and evolved quite significantly since then. Since 2020 VOLK is a bit more independent from GNU Radio because it is not considered a submodule anymore. Nonetheless, we continue to work under the GNU Radio organization umbrella and intend to do so in the future.</p> <p>We start this talk with a quick recap on "What is VOLK?" and how we define the scope of the project. Then we want to have a quick review on what happened in 2020 with statistics but also some significant changes that we want to point out. Finally, we want to look at future directions. Some topics that are coming up.</p></description> <persons> <person id="5303">Johannes Demel</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_vector_optimized_library_of_kernels/attachments/slides/4711/export/events/attachments/fsr_vector_optimized_library_of_kernels/slides/4711/VOLK_presentation_slides">VOLK presentation</attachment> </attachments> <links> <link href="https://www.libvolk.org/">VOLK website</link> <link href="https://github.com/gnuradio/volk">VOLK repository</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_vector_optimized_library_of_kernels.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_vector_optimized_library_of_kernels.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11689.php">Submit feedback</link> </links> </event> <event id="11290"> <start>16:40</start> <duration>00:30</duration> <room>D.radio</room> <slug>fsr_runtime_strategies_and_scheduling_of_sdr_on_heterogeneous_hw</slug> <title>Runtime Strategies and Task Scheduling of Software-Defined Radio on Heterogeneous Hardware</title> <subtitle>Is an accelerator always the best option?</subtitle> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>Heterogeneous architectures, composed of a pool of general-purpose processors and accelerators, on one hand offers the ability to balance the application performance, programming flexibility, and energy consumption. On the other hand, they give rise to a number of challenges on a) designing and implementing a suitable architecture for the needs of the target applications, b) deploying dynamic and low-overhead resource management strategies, and c) effectively enabling execution of pipelined workflows for streaming applications. Furthermore, application developers need productive tools to port their software-defined radio applications to increasingly heterogeneous SoCs. We think that application developers should not waste their time reading datasheets or APIs for SoC-specific kernel extensions just to take full advantage of their hardware. With these in mind, this talk will discuss strategies we are using to address the aforementioned inter-related challenges through our vertically integrated compile-time and run-time environment CEDR: a Compiler-integrated, Extensible, DSSoC Runtime.</p> <p>CEDR is an open-source ecosystem that runs in Linux user-space and enables compilation and development of user applications, resource management strategies, and accelerator integration in one unified framework. CEDR supports highly recurring, stream-based application graphs through pipelined execution and processing element based work queues. CEDR is built on a thread-per-PE scheduling methodology, enables integration of complex resource management heuristics that rely on work queues and require reservation-based policies. CEDR supports contemporary scheduling algorithms built on imitation learning (IL) that uses complex schedulers offline to construct an Oracle and effortlessly replicates those decisions online using machine learning models such as regression trees and neural networks. We will demonstrate CEDR deployed on the Zynq UltraScale MPSoC by conducting execution time, throughput, resource utilization analysis through dynamically arriving workload scenarios composed of Radar and WiFi applications. We will demonstrate the distinct plug-and-play integration points offered by CEDR for application engineers and hardware architects through case studies that illustrate our ability to rapidly evaluate various configurations of applications, schedulers, and accelerator IPs.</p></abstract> <description></description> <persons> <person id="7026">Joshua Mack</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_runtime_strategies_and_scheduling_of_sdr_on_heterogeneous_hw/attachments/slides/4754/export/events/attachments/fsr_runtime_strategies_and_scheduling_of_sdr_on_heterogeneous_hw/slides/4754/2021_01_FOSDEM21_Presentation.pptx">Presentation Slides</attachment> </attachments> <links> <link href="https://ua-rcl.github.io/CEDR">CEDR homepage</link> <link href="https://github.com/UA-RCL/CEDR">CEDR source - new public release will be cut by FOSDEM</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_runtime_strategies_and_scheduling_of_sdr_on_heterogeneous_hw.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_runtime_strategies_and_scheduling_of_sdr_on_heterogeneous_hw.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11290.php">Submit feedback</link> </links> </event> <event id="11059"> <start>17:10</start> <duration>00:20</duration> <room>D.radio</room> <slug>fsr_improving_gnu_radio_accelerator_device_dataflow</slug> <title>Improving GNU Radio Accelerator Device Dataflow</title> <subtitle/> <track>Free Software Radio</track> <type>devroom</type> <language/> <abstract><p>Accelerator devices such as GPUs, FPGAs, or DSPs can be very useful for offloading computationally intensive digital signal processing tasks. Unfortunately, the GNU Radio SDR framework does not directly support such devices. Many workarounds have been developed to allow accelerator devices to be used within GNU Radio, but each comes with performance and/or flexibility tradeoffs. To solve these problems work is currently underway to develop generic support for accelerator devices within GNU Radio itself. The focus of this work is to modify GNU Radio to allow support for custom buffers. Custom buffer support will allow GNU Radio to directly utilize device specific buffers (e.g. DMA buffers) and therefore eliminate the need to double copy in order to move data into and out of an accelerator device. Furthermore, the custom buffer concept can be extended to allow “zero copy” data access between two kernels on the same accelerator device. This presentation will cover the design and current status of custom buffer support for GNU Radio.</p></abstract> <description></description> <persons> <person id="7691">David Sorber</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/fsr_improving_gnu_radio_accelerator_device_dataflow/attachments/slides/4745/export/events/attachments/fsr_improving_gnu_radio_accelerator_device_dataflow/slides/4745/Improving_GNU_Radio_Accelerator_Device_Dataflow.pdf">Improving GNU Radio Accelerator Device Dataflow</attachment> </attachments> <links> <link href="https://github.com/gnuradio/gnuradio-ngsched">Development repository</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_improving_gnu_radio_accelerator_device_dataflow.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.radio/fsr_improving_gnu_radio_accelerator_device_dataflow.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11059.php">Submit feedback</link> </links> </event> </room> <room name="D.research"> </room> <room name="D.retro"> <event id="11452"> <start>10:00</start> <duration>00:05</duration> <room>D.retro</room> <slug>retro_welcome</slug> <title>Welcome to RetroComputing Devroom</title> <subtitle>Oldschool is beautiful</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Introduction to the devroom, the topics we cover…</p></abstract> <description></description> <persons> <person id="666">Pau Garcia Quiles (pgquiles)</person> <person id="3587">François Revol (mmu_man)</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_welcome/attachments/slides/4602/export/events/attachments/retro_welcome/slides/4602/FOSDEM2021_Retro_intro.pdf">Slides (PDF)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_welcome/attachments/slides/4603/export/events/attachments/retro_welcome/slides/4603/FOSDEM2021_Retro_intro.odp">Slides (ODP)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.retro/retro_welcome.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_welcome.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11452.php">Submit feedback</link> </links> </event> <event id="11597"> <start>10:05</start> <duration>00:25</duration> <room>D.retro</room> <slug>retro_emulation</slug> <title>An emulator for my old system today and tomorrow ?</title> <subtitle>Thoughts and guidelines about digital preservation by/of emulators</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Software emulators are wonderful tools to study old computer systems for different purpose from running legacy application to retrogaming. This talk explores the context of digital preservation triggered by on-going work in a Belgian computer museum where emulators help in rediscovering old systems, maintaining/recovering knowledge on their design and sharing the experience with the audience without stressing fragile old machines. This talk aims at exploring and somehow engaging the audience about some simple questions from that perspective: where to look for emulators (MAME/MESS, specific development, javascript ports...) ? How to select one for some usage context ? And last but not least as emulators are themselves part of history: How to make sure/contribute to the sustainability of those nice piece of software on the long run ?</p></abstract> <description><p>The talk will not provide definitive answers to the above questions but document some guidelines gathered so far from different perspectives: usage, architecture, exchange between emulated/physical word, open/closed approaches, community aspects... based on the speaker experience as user of emulators personally and at the NAM-IP computer museum but also as software engineer experienced in evaluting software maintainability, especially open source projects. It will be illustated on a practical case from the museum: the DAI "Imagination Machine" microcomputer. The ultimate long term goal could be to build a knowledge base shared across the community developping and using emulators.</p></description> <persons> <person id="3079">Christophe Ponsard</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_emulation/attachments/slides/4671/export/events/attachments/retro_emulation/slides/4671/FOSDEM21_Preservation_V4.pdf">Emulator and Preservation Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.retro/retro_emulation.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_emulation.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11597.php">Submit feedback</link> </links> </event> <event id="11591"> <start>10:30</start> <duration>00:30</duration> <room>D.retro</room> <slug>retro_mouse</slug> <title>Mouse integration for virtualized legacy operating systems</title> <subtitle/> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Running old-time OS in a virtual machine often comes with a problem of non-coinciding cursors. A relative positioning device (mouse and trackball) provides the operating system with a vector of the cursor movement instead of its coordinates. As a result, different cursor acceleration formulas are breaking the coincidence of host and guest systems cursor. Fortunately, modern guest operating systems support absolute positioning devices (tablets), which provide real cursor coordinates. Desktop virtualization systems emulate such devices (USB Wacom tablet in case of QEMU), allowing the host cursor to control guest systems in so-called "mouse integration mode".</p> <p>Until recent times mouse integration was available only if guest OS either has a driver from the virtual machine vendor or supports USB tablet. In all other situations, desktop virtual machines use "mouse lock mode". The host cursor is hidden, and the user can only interact with the guest system until some dedicated keypress.</p> <p>Starting from version 1.9, QEMU had accepted our GSOC-developed patch intended for the osimeline project (HTML-based live demo of historical operating systems) and can emulate the RS-232 Wacom tablet as a "wctablet" character device backend. Currently, QEMU is the only virtualization system with such capabilities.</p></abstract> <description><p>Guest OS still needs such tablet drivers, which exist at least for DOS, OS/2, Windows 3.x and Windows 95, BeOS, Mac OS 9.x, Mac OS X, and pre-USB Linux (some drivers are even FLOSS). Drivers for Windows 3.x Windows 95 and Linux are the most compatible ones and are easiest to configure. The talk will show how to activate mouse integration with the legacy OS. The situation with wctablet-compatible drivers and the possibility to improve it will be discussed as well.</p></description> <persons> <person id="6726">Dmitriy Kostiuk</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_mouse/attachments/slides/4565/export/events/attachments/retro_mouse/slides/4565/kda_retro_fosdem_2021_bis.pdf"/> </attachments> <links> <link href="http://ostimeline.org/wctablet">the part of the ostimeline project dedicated to wctablet</link> <link href="https://video.fosdem.org/2021/D.retro/retro_mouse.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_mouse.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11591.php">Submit feedback</link> </links> </event> <event id="11565"> <start>11:00</start> <duration>00:30</duration> <room>D.retro</room> <slug>retro_scan2run</slug> <title>Scan2Run - Reviving old listings in MAME emulator</title> <subtitle>Open source toolchain for digital preservation</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Scan2Run focuses on the digital preservation of computer heritage distributed in paper form (e.g. old magasines with BASIC programs). It may be the only available format Transforming such a listing in a running computer programs and sharing the experience requires quite a few steps: retyping the program, loading it into a vintage computer or emulator, and capturing some results either in textual, image or even video format. Our talk will illustrate our current approach and progress with a toolchain developed for the NAM-IP Computer Museum to help automating the scan of old listing (including learning and reusing profiles), then injecting the result into an emulator with MAME as primary target. Our talk will be illustrated with examples from the widespread Amstrad CPC and rare DAI In-DATA Imagination Machine. It will also be the opportunity to revive and illustrate some capabilities of those nice machines !</p></abstract> <description><p>More technically, the scan2run project (available from github) supports * OCR with interactive learning phase, forked from JavaOCR, a ligthweight OCR engine * Lua scripts for MAME injection either on a by line or character per frame basis (depending on what the machine can accept as input) * complementary use of screen/video capture and post-processing Open Source tools for documentation and dissemination purposes (Gimp, OBS, OpenShot...)</p></description> <persons> <person id="3079">Christophe Ponsard</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_scan2run/attachments/slides/4670/export/events/attachments/retro_scan2run/slides/4670/FOSDEM21_SCAN2RUN_V4.pdf">SCAN2RUN Talk slides</attachment> </attachments> <links> <link href="https://github.com/NAMIP-Computer-Museum/scan2run/">Scan2Run on github</link> <link href="https://www.youtube.com/watch?v=L2JlUjgxQHo">CPC listing injecton on YouTube</link> <link href="https://video.fosdem.org/2021/D.retro/retro_scan2run.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_scan2run.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11565.php">Submit feedback</link> </links> </event> <event id="10857"> <start>11:30</start> <duration>00:30</duration> <room>D.retro</room> <slug>retro_zx_adv</slug> <title>ZX Adventure</title> <subtitle>Writing a new game, for a 40 year old machine</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Back in May 2015, I spent an evening watching retro game documentaries and was inspired to develop a game for the ZX Spectrum... a computer released back in 1982. After all, with everyone talking about making retro games (but actually making modern games with retro visuals) I decided to make a real retro game. In machine code. This talk covers the methods by which a modern computer is able to help developers write, debug, and test new software that runs on old systems. It uses the game "ZX Adventure" as a real-world example.</p></abstract> <description><p>Old machines had so little power you were forced into writing highly-optimised assembler if you wanted anything to fit into that tiny memory, or execute reasonably fast on those slow processors. Luckily, modern machines make the process of writing software so easy you can spend all your development time on the fun parts - and it's this part we'll focus upon. Starting with the game design, we begin by creating "Hello world" on the obsolete machine, understand the truly minimal requirements, and building up the game piece by piece.</p> <p>We also touch on the issues of emulation, licenses, and publishing, given that the original Spectrum game has now been ported to the ZX81 for a commercial (and yet still open) release.</p></description> <persons> <person id="392">Steven Goodwin</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/MarquisdeGeek/zxadventure">Z80 source code</link> <link href="https://em.ulat.es/">EMF emulation framework</link> <link href="https://cronosoft.fwscart.com/">Publisher of the game</link> <link href="https://cronosoft.fwscart.com/ZX_ADVENTURE_-_Sinclair_ZX81_16K_RAM_on_cassette/p5357732_20954618.aspx">Cassette version of the game</link> <link href="https://video.fosdem.org/2021/D.retro/retro_zx_adv.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_zx_adv.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10857.php">Submit feedback</link> </links> </event> <event id="11595"> <start>13:00</start> <duration>00:30</duration> <room>D.retro</room> <slug>retro_usb_kbd</slug> <title>USB for a 1977 Keyboard</title> <subtitle/> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>The talk will be about how I bought a retro keyboard for a VISTA80 from the Canada Science and Technology museum and reversed engineered it to convert it passively to USB. The VISTA80 was a machine built in Canada and was used to "Create pages of text for cable TV systems or to create running lines of text or titles for television displays."¹ The VISTA80 was manufactured around 1995-1997 and was "One of the first character generators to use a computer chip (Intel 8080A) as a controller"¹.</p> <p>1: https://ingeniumcanada.org/ingenium/collection-research/collection-item.php?id=1992.0451.009</p></abstract> <description><ul> <li>The history of the Vista80</li> <li>A look inside of the keyboard</li> <li>The Original circuitry</li> <li>Prototype</li> <li>Mapping the matrix</li> <li>Making the circuit board</li> <li>Highlights and Lessons learned</li> </ul> <p>I would potentially like to collaborate with the museum to get more information on the device.</p></description> <persons> <person id="7939">Jeremy Ouellet (Angel)</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_usb_kbd/attachments/slides/4752/export/events/attachments/retro_usb_kbd/slides/4752/USB_keyboard_Slides.odp">Slides(ODP)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_usb_kbd/attachments/slides/4753/export/events/attachments/retro_usb_kbd/slides/4753/USB_keyboard_Slides.pdf">Slides(PDF)</attachment> </attachments> <links> <link href="https://github.com/jerji/Vista80-USB">Github</link> <link href="https://video.fosdem.org/2021/D.retro/retro_usb_kbd.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_usb_kbd.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11595.php">Submit feedback</link> </links> </event> <event id="11594"> <start>13:30</start> <duration>00:15</duration> <room>D.retro</room> <slug>retro_colors</slug> <title>Why your PC only has sixteen colors</title> <subtitle>And what is "Bright Black" anyway?</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Your computer only supports 16 text colors, and 8 background colors. Why so few colors? And why is there a "Bright Black"? This fun lightning talk will explain the origins of these 16 colors, and why the colors look the way they do.</p></abstract> <description></description> <persons> <person id="7938">Jim Hall</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.retro/retro_colors.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_colors.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11594.php">Submit feedback</link> </links> </event> <event id="11563"> <start>14:00</start> <duration>01:00</duration> <room>D.retro</room> <slug>retro_rascsi</slug> <title>RaSCSI for 68k Macs</title> <subtitle>Current status and roadmap for the project</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>The talk will be over the current status of the 68kmla fork of the RaSCSI project. To start off, I'll go over what the project is, and is NOT. I'll go over the history of the project, what we've been up to over the past year and what's planned for the next year. I'll also go over some technical details of how it works, how the software is structured.</p></abstract> <description><p>Initial outline:</p> <ul> <li>What is RaSCSI?</li> <li>What use cases is RaSCSI trying to fill?</li> <li>Where has it successfully been used?</li> <li>What use cases is RaSCSI <em>NOT</em> trying to fill? (Hint - high performance SCSI applications)</li> <li>Comparison to other SCSI emulator devices: Original RaSCSI project, MacSD, SCSI2SD, etc.</li> <li>Other communities that are using RaSCSI</li> <li>History</li> <li>Japanese version created by Gimons</li> <li>Work done to translate code and documentation to English</li> <li>Web interface to control it</li> <li>Process of reverse engineering - scsimon</li> <li>Updates planned for 2021</li> <li>Support for Ethernet over SCSI</li> <li>"Zip drive" emulation</li> <li>Better support for different disk image formats</li> <li>More flexible configuration options</li> <li>How does it work?</li> <li>How can I get involved?</li> </ul> </description> <persons> <person id="7928">Tony Kuker</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_rascsi/attachments/slides/4386/export/events/attachments/retro_rascsi/slides/4386/RaSCSI_draft_17_Jan_2021.pptx">PowerPoint Slides</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_rascsi/attachments/slides/4663/export/events/attachments/retro_rascsi/slides/4663/Rascsi_Fosdem_2021_Presentation.pdf">PDF slides</attachment> </attachments> <links> <link href="https://github.com/akuker/RASCSI">Source code & hardware schematics</link> <link href="https://video.fosdem.org/2021/D.retro/retro_rascsi.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_rascsi.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11563.php">Submit feedback</link> </links> </event> <event id="11584"> <start>15:00</start> <duration>00:45</duration> <room>D.retro</room> <slug>retro_gemini</slug> <title>Gemini, a modern protocol that looks retro</title> <subtitle>Back to the 1990s with a protocol and format to distribute real content, without tracking and visual effects</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Many people are unhappy with the current state of the Web: pervasive user tracking, a lot of distractions from the actual content, so complicated that it is very hard to develop from scratch a new browser. Why not going back to the future, with a protocol and format focused on lightweight distribution of content? This is Gemini, both a new ultra-simple protocol and a simple format. Not to develop an alternative to YouTube but useful to access content with a minimal client. Gemini is not "retro" but it "looks retro".</p></abstract> <description></description> <persons> <person id="5216">Stéphane Bortzmeyer</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_gemini/attachments/slides/4346/export/events/attachments/retro_gemini/slides/4346/retro_bortzmeyer_gemini.pdf">Slides</attachment> <attachment type="other" href="https://fosdem.org/2021/schedule/event/retro_gemini/attachments/other/4556/export/events/attachments/retro_gemini/other/4556/retro_bortzmeyer_gemini_PRINT.pdf">Slides in handout mode (for printing)</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_gemini/attachments/slides/4605/export/events/attachments/retro_gemini/slides/4605/retro_bortzmeyer_gemini.txt">Text only from the slides</attachment> </attachments> <links> <link href="https://gemini.circumlunar.space/">Official Gemini site on the Web</link> <link href="https://video.fosdem.org/2021/D.retro/retro_gemini.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_gemini.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11584.php">Submit feedback</link> </links> </event> <event id="11593"> <start>16:00</start> <duration>01:00</duration> <room>D.retro</room> <slug>retro_freedos</slug> <title>Working on DOS in 2021</title> <subtitle>We're getting closer to FreeDOS 1.3</subtitle> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>Throughout the 1980s and into the 1990s, DOS was everywhere. And despite being a 16-bit command line operating system, DOS was actually pretty good for the era. This presentation will look back at DOS in the 1980s and 1990s, and remind us why we started FreeDOS in 1994.</p> <p>We've continued working on FreeDOS since then. We released FreeDOS 1.2 in 2016, and are currently working on FreeDOS 1.3. DOS stopped being a moving target in 1995, but FreeDOS re-imagines what a "modern DOS" could look like in 2021. We'll also look at the current state of FreeDOS (FreeDOS 1.3), and what's coming up next (FreeDOS 2.0).</p></abstract> <description></description> <persons> <person id="7938">Jim Hall</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/retro_freedos/attachments/slides/4734/export/events/attachments/retro_freedos/slides/4734/dos_in_2021.pdf">Slides (PDF)</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.retro/retro_freedos.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_freedos.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11593.php">Submit feedback</link> </links> </event> <event id="10858"> <start>17:00</start> <duration>00:40</duration> <room>D.retro</room> <slug>retro_ada</slug> <title>Ada Lovelace and The Very First Computer Program</title> <subtitle/> <track>Retrocomputing</track> <type>devroom</type> <language/> <abstract><p>We all know that Ada Lovelace is credited as the first computer programmer. But what did she write? What did it do? And how does it work? We look at the program, its function, and break it down line-by-line so you can understand the origins of our entire industry. After all, it doesn't get any more retro than this!</p></abstract> <description><p>In this talk, developer, geek, and digital archaeologist, Steven Goodwin, breaks down the very first program ever written to explain what it does and how it works. He goes on to simulate it within a JavaScript version of Babbage's analytical engine, rewriting it piece-by-piece until it looks like modern code, and thereby demonstrate what features of current languages we now all take for granted.</p> <p>He finishes up with a discussion on the controversy surrounding her involvement in computing, aiming to answer the question once and for all - "Was she really the first programmer?"</p></description> <persons> <person id="392">Steven Goodwin</person> </persons> <attachments> </attachments> <links> <link href="https://github.com/MarquisdeGeek/Ada-Origins">The transformation source</link> <link href="https://video.fosdem.org/2021/D.retro/retro_ada.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.retro/retro_ada.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10858.php">Submit feedback</link> </links> </event> </room> <room name="D.rtc"> </room> <room name="D.safety"> </room> <room name="D.sdn"> <event id="11102"> <start>13:00</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_fastclick</slug> <title>FastClick and Beyond: A Look at High-Speed Software Dataplanes and Their Upcoming Challenges</title> <subtitle>Click here to build your 100-Gbps router, load-balancer, firewall, NAT, DPI, and more!</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>In this talk, we first show how to prototype high-speed network functions with FastClick, an open-source packet processing framework, which comes with hundreds of pre-built building blocks and leverages DPDK or Netmap to build 100-Gbps-capable firewalls, load-balancers, NATs, or IDSes.</p> <p>We then review the history of high-speed software dataplanes. We explain the evolution of graph-based (software) network packet processing from the early 2000s with the emergence of the Click Modular Router, and continue up to today's ecosystem, where many similar systems, such as VPP, BESS, and FastClick, coexist. We analyze the upcoming challenges to process packets at multi-hundred-gigabit-per-second rates. We argue that multi-hundred-gigabit networks should prevent performing memory accesses, as the interarrival time of packets is shrinking to a few nanoseconds, i.e., smaller than L3 cache access time. For instance, a 100-Gbps NIC could receive a minimal-sized frame every 6.72ns while operating at its maximum rate.</p> <p>To address these challenges, we propose PacketMill, our latest work, where we discuss other efforts/optimizations required to improve the performance of packet processing. PacketMill's ideas are directly applied to FastClick, so it comes for free. More specifically, we develop/use a better integration of DPDK to minimize the memory footprint of the high-speed software dataplanes. Furthermore, we propose a pipeline to reduce the number of instructions required for processing packets by using new data structures directly derived from the graph of network functions and compiler optimization techniques.</p></abstract> <description></description> <persons> <person id="7689">Tom Barbette</person> <person id="7856">Alireza Farshin</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_fastclick/attachments/slides/4364/export/events/attachments/sdn_fastclick/slides/4364/FastClickAndBeyond_Slides.pdf">Slides</attachment> </attachments> <links> <link href="https://github.com/tbarbette/fastclick">FastClick</link> <link href="https://github.com/aliireza/packetmill">PacketMill Repository</link> <link href="https://github.com/tbarbette/xchange">X-Change</link> <link href="https://github.com/tbarbette/fosdem21/">Scripts for FOSDEM'21</link> <link href="https://packetmill.io/">PacketMill Webpage</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_fastclick.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_fastclick.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11102.php">Submit feedback</link> </links> </event> <event id="11172"> <start>13:20</start> <duration>00:35</duration> <room>D.sdn</room> <slug>sdn_terabit_csit</slug> <title>Born Ready for Secure Terabit Internet! Tooling for Benchmarking.</title> <subtitle/> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>Overview of fully automated open-source FD.io benchmarking (per patch, daily/weekly trending, per release) with focus on network data plane (VPP, DPDK). Quick walk through HW systems with CI'ed calibration and testing (Xeon, Atom, Cortex, EPYC, 10/25/40/100GE, QAT) and stateless / stateful network test methodologies using TRex.</p> <p>Implemented benchmark and analytics strategies / algorithms for high volume non-stop CI benchmarks: i) optimized throughput rate discovery, ii) self-guiding soak tests, iii) per packet latency. Project achievements, lessons learned and a growing list of aspirations.</p></abstract> <description></description> <persons> <person id="7735">Maciek Konstantynowicz</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sdn/sdn_terabit_csit.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_terabit_csit.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11172.php">Submit feedback</link> </links> </event> <event id="11213"> <start>13:55</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_ostinatos</slug> <title>Writing an Ostinato Protocol Builder</title> <subtitle>How to add more protocols to the Ostinato traffic generator</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>While the Ostinato traffic generator can import, edit and replay packets from PCAP files, most users prefer to craft packets from scratch using the Ostinato GUI which has support for common protocols out of the box. To add more protocols quickly and easily, Ostinato has a Protocol Builder framework using which new protocols can be added.</p> <p>In this talk, Ostinato creator Srivats P shows you how to add a new protocol using this framework.</p></abstract> <description></description> <persons> <person id="7747">Srivats P</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_ostinatos/attachments/slides/4562/export/events/attachments/sdn_ostinatos/slides/4562/fosdem_ostinato.pdf">Writing an Ostinato Protocol Builder</attachment> </attachments> <links> <link href="https://github.com/pstavirs/ostinato">GitHub Repo</link> <link href="https://ostinato.org">Ostinato project website</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ostinatos.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ostinatos.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11213.php">Submit feedback</link> </links> </event> <event id="10984"> <start>14:15</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_hxdp_fpga</slug> <title>hXDP: Efficient Software Packet Processing on FPGA NICs</title> <subtitle>Pushing XDP into SmartNICs</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>I present a solution to run Linux’s eXpress Data Path programs written in eBPF on FPGAs, using only a fraction of the available hardware resources while matching the performance of high-end CPUs. The iterative execution model of eBPF is not a good fit for FPGA accelerators.</p></abstract> <description><p>FPGA accelerators on the NIC enable the offloading of expensive packet processing tasks from the CPU. However, FPGAs have limited resources that may need to be shared among diverse applications, and programming them is difficult. We present a solution to run Linux’s eXpress Data Path programs written in eBPF on FPGAs, using only a fraction of the available hardware resources while matching the performance of high-end CPUs. The iterative execution model of eBPF is not a good fit for FPGA accelerators. Nonetheless, we show that many of the instructions of an eBPF program can be compressed, parallelized or completely removed, when targeting a purpose-built FPGA executor, thereby significantly improving performance. We leverage that to design hXDP, which includes (i) an optimizing-compiler that parallelizes and translates eBPF bytecode to an extended eBPF Instruction-set Architecture defined by us; a (ii) soft-CPU to execute such instructions on FPGA; and (iii) an FPGA-based infrastructure to provide XDP’s maps and helper functions as defined within the Linux kernel. We implement hXDP on an FPGA NIC and evaluate it running real-world unmodified eBPF programs. Our implementation is clocked at 156.25MHz, uses about 15% of the FPGA resources, and can run dynamically loaded programs. Despite these modest requirements, it achieves the packet processing throughput of a high-end CPU core and provides a 10x lower packet forwarding latency.</p></description> <persons> <person id="7544">Marco Spaziani Brunella</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_hxdp_fpga/attachments/slides/4509/export/events/attachments/sdn_hxdp_fpga/slides/4509/FOSDEM_21.pdf">hXDP Slides</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sdn/sdn_hxdp_fpga.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_hxdp_fpga.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10984.php">Submit feedback</link> </links> </event> <event id="11067"> <start>14:35</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_norouter</slug> <title>NoRouter: instant multi-cluster & multi-cloud container networking</title> <subtitle>No routing configuration is required. No root privilege is required.</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>Setting up multi-cluster and multi-cloud container networking for dev environments has been too harder than it needs to be. NoRouter is a novel instant networking stack to overcome this difficulty, by transferring IP packets over stdio streams (aka "shell connections"). NoRouter works with any container, any VM, and any baremetal machine, on anywhere, as long as the shell connection is available from your laptop, e.g. <code>kubectl exec</code>, <code>docker exec</code>, or <code>ssh</code>.</p> <p>NoRouter heavily focuses on dev UX and does not need any setup other than deploying a single binary and writing a short YAML manifest. And yet it works even without the root privilege.</p> <p>More info: https://norouter.io/docs/</p></abstract> <description></description> <persons> <person id="3608">Akihiro Suda</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_norouter/attachments/slides/4697/export/events/attachments/sdn_norouter/slides/4697/fosdem_norouter_amendment1.pdf">Slides (modified on Feb 7)</attachment> </attachments> <links> <link href="https://norouter.io">Web site</link> <link href="https://github.com/norouter/norouter">GitHub</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_norouter.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_norouter.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11067.php">Submit feedback</link> </links> </event> <event id="11147"> <start>14:55</start> <duration>00:35</duration> <room>D.sdn</room> <slug>sdn_k8s_cloud_native</slug> <title>Optimizing External Kubernetes Traffic with Cloud Native SD-WAN</title> <subtitle>The Bridge Between the DevOps and NetOps Worlds</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>Kubernetes is becoming the platform of choice for more and more application developers. As applications become more complex and more distributed, they may span multiple Kubernetes clusters, or a combination of Kubernetes and on-premise workloads. While internal traffic within a Kubernetes cluster is handled by the CNI plugin, the external traffic between these workloads, or from workloads to end users, is often carried over a Software Defined Wide Area Network (SD-WAN), which is used for traffic optimization. The <a href="https://github.com/CloudNativeSDWAN"><strong>Cloud Native SD-WAN (CN-WAN) open source project</strong></a> was created to help SD-WAN deployments to identify Kubernetes applications and optimize traffic based on application requirements, thereby bridging together the <em>DevOps</em> from Kubernetes' cloud native world with the <em>NetOps</em> from the SD-WAN world.</p> <p>CN-WAN enables developers to <strong>annotate their applications</strong>, specifying the type of network traffic generated by the Kubernetes workload, and this information is then published into a service registry. The NetOps configuring the SD-WAN can take these annotations and develop network optimization policies with the clear knowlegde of the traffic type they intend to optimize.</p> <p>Join us for this presentation, where we will describe the components of the solution, the interfaces between the components, and how you can adapt this solution to different SD-WAN products and service registries.</p></abstract> <description></description> <persons> <person id="480">Lori Jakab</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_k8s_cloud_native/attachments/slides/4508/export/events/attachments/sdn_k8s_cloud_native/slides/4508/CNWAN_FOSDEM21.pdf">Optimizing External Kubernetes Traffic with Cloud Native SD-WAN</attachment> </attachments> <links> <link href="https://github.com/CloudNativeSDWAN">CN-WAN Project Homepage</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_k8s_cloud_native.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_k8s_cloud_native.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11147.php">Submit feedback</link> </links> </event> <event id="11120"> <start>15:30</start> <duration>00:35</duration> <room>D.sdn</room> <slug>sdn_ebpf_afxdp</slug> <title>Deploying eBPF, XDP & AF_XDP for Cloud Native</title> <subtitle>The challenges in deploying AF_XDP with Kubernetes</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>There’s a fast-growing industry trend in the adoption of eBPF to accelerate Kubernetes infrastructure (Cilium, Calico …). AF<em>XDP is a new type of socket that is optimized for high performance packet processing based on eBPF and eXpress Data Path-XDP. XDP allows you to attach an eBPF program to a lower-level hook inside the kernel (aka the NIC Driver). It offers some very promising performance increases for microservices while allowing them to adhere to cloud native design principles. There are however some challenges for deploying a microservice based on AF</em>XDP. This talk will cover an introduction to AF_XDP, why it is suited to cloud native microservices, how it can be deployed today and the deployment challenges as well as their solutions.</p></abstract> <description><p>The industry is shifting from the Virtual Network Function (VNF) to the Cloud-native Network Function (CNF). Cloud native networking requires more than just high performance, it requires a whole host of cloud native qualities. The Linux kernel network stack is not able to deliver the necessary performance and the existing high-performance data plane solutions don’t integrate well with cloud native methodologies.</p> <p>AF<em>XDP (Address Family eXpress Data Path), a new socket type first introduced in Linux kernel 4.18 and quickly being included by default in the major distros, is an excellent fit for containerized network functions. AF</em>XDP trades away some of the performance attained by the extremely performant data plane networking solutions, but what it gains in return is a huge amount of flexibility, portability and usability that make it an ideal network solution for cloud native functions</p> <p>In this talk we would like to discuss the challenges we faced in deploying microservices that wish to use AF_XDP on Kubernetes and some of the solutions we are working on to address these challenges. In doing so we hope to create an awareness of these challenges and gain feedback and hopefully even some help from the community to solve them and take cloud native networking to the next level.</p></description> <persons> <person id="7148">Dave Cremins</person> <person id="7524">Gary Loughnane</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ebpf_afxdp.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ebpf_afxdp.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11120.php">Submit feedback</link> </links> </event> <event id="11154"> <start>16:05</start> <duration>00:35</duration> <room>D.sdn</room> <slug>sdn_calicovpp</slug> <title>Calico/VPP : All You Can Eat Networking</title> <subtitle>Bringing Kubernetes Goodness to your Hungriest Workloads</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>There are classes of workloads that are notoriously hungry when it comes to networking. Think big data, storage, analytics, 5G, virtual network functions, then encrypt it all at 40Gbps line rates. Kubernetes and the Kubernetes network model are increasingly seen as essential to help manage these workloads at scale. But the cost of containerization and container networking can be hard to swallow for workloads that are often used to having dedicated NICs and physical hardware. Our novel solution was to cook up a feast that is a fusion of two worlds: combining Calico, the popular cloud native Kubernetes network plugin, with VPP, a very fast and scalable userspace packet processing software. In this talk we will lift the lid on what we’ve been cooking and the key ingredients that made it possible to offer an all you can eat buffet for your hungriest workloads.</p></abstract> <description></description> <persons> <person id="6509">Aloys Augustin</person> <person id="7989">Casey Davenport</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_calicovpp/attachments/slides/4505/export/events/attachments/sdn_calicovpp/slides/4505/CalicoVPP_FOSDEM21.pdf">Calico/VPP - FOSDEM21</attachment> </attachments> <links> <link href="https://github.com/projectcalico/vpp-dataplane/wiki">Calico/VPP</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_calicovpp.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_calicovpp.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11154.php">Submit feedback</link> </links> </event> <event id="11134"> <start>16:40</start> <duration>00:20</duration> <room>D.sdn</room> <slug>using_wireguard_vpn</slug> <title>Using WireGuard VPN</title> <subtitle>with docker-scripts</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>WireGuard is a simple, fast and modern VPN that utilizes state-of-the-art cryptography. It is quite flexible and can be used in many situations. In this workshop we will see how to install a WG server with docker-scripts, some of the usecases supported by it, and we will test/demonstrate a couple of them.</p></abstract> <description></description> <persons> <person id="5004">Dashamir Hoxha</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/using_wireguard_vpn/attachments/slides/4283/export/events/attachments/using_wireguard_vpn/slides/4283/Using_WireGuard_VPN_slides.pdf">Using WireGuard VPN</attachment> <attachment type="paper" href="https://fosdem.org/2021/schedule/event/using_wireguard_vpn/attachments/paper/4284/export/events/attachments/using_wireguard_vpn/paper/4284/Using_WireGuard_VPN_paper.pdf">Using WireGuard VPN</attachment> </attachments> <links> <link href="http://dashohoxha.fs.al/using-wireguard-vpn/">http://dashohoxha.fs.al/using-wireguard-vpn/</link> <link href="https://www.researchgate.net/publication/345641555_Using_WireGuard_VPN">Article on ResearchGate</link> <link href="https://www.youtube.com/watch?v=78PjiEYKv_E">Recorded Presentation (YouTube)</link> <link href="https://video.fosdem.org/2021/D.sdn/using_wireguard_vpn.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/using_wireguard_vpn.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11134.php">Submit feedback</link> </links> </event> <event id="10910"> <start>17:00</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_vpp_wireguard</slug> <title>Fast Wireguard Mesh: VPP + wgsd + wg = ❤</title> <subtitle>Interconnect your services with taste</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>We will show how to leverage <a href="https://fd.io">VPP</a>, <a href="https://github.com/jwhited/wgsd">wgsd</a> and <a href="https://www.wireguard.com/">WireGuard</a> to build a dynamic, fast and secure overlay network to interconnect service nodes wherever they are: on-prem, in public clouds or behind NATs.</p> <p><a href="https://fd.io">VPP</a> is one of the fastest and versatile open-source networking dataplane running on general purpose CPU, implementing network services such as routing, bridging, ACLs, cryptography and more.</p> <p><a href="https://github.com/jwhited/wgsd">wgsd</a> is an open source project maintained by Jordan Whited implementing DNS Service Discovery for Wireguard endpoints and automatically interconnecting them through a mesh of Wireguard tunnels.</p> <p><a href="https://www.wireguard.com/">WireGuard</a> is a new VPN technology created by Jason A. Donenfeld that is getting popular thanks to its simplicity.</p></abstract> <description></description> <persons> <person id="6539">Benoît Ganne</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_vpp_wireguard/attachments/slides/4555/export/events/attachments/sdn_vpp_wireguard/slides/4555/fosdem_2021_wgsd_bganne.pdf">Fast Wireguard Mesh</attachment> </attachments> <links> <link href="https://fd.io">VPP</link> <link href="https://github.com/jwhited/wgsd">wgsd</link> <link href="https://www.wireguard.com/">Wireguard</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_vpp_wireguard.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_vpp_wireguard.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10910.php">Submit feedback</link> </links> </event> <event id="10954"> <start>17:20</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_ipsec_vpp</slug> <title>Is your elephant a gazelle? </title> <subtitle>How to accelerate IPsec elephant flows</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>Elephant flows appear irregularly, can consume almost half of the available bandwidth and are consequently associated with a host of issues. Securing elephant flows with IPsec is a well-known challenge to SDN and SD-WAN solutions on commodity hardware. The key problems for those developing solutions are: - How to seamlessly enable dedicated HW to accelerate IPsec processing when available? - How to distribute workloads to more CPU cores and maintain packets ordering to scale? - How to scale up/scale down the computer resource usage when the elephant flow appears and disappears? In this talk we will discuss our recent work done on open-source project FD.io/VPP to address the above problems. We will describe how we utilized and enriched the VPP architecture to accelerate on-demand IPsec elephant flow processing in a unified and seamless way.</p></abstract> <description></description> <persons> <person id="5139">Fan Zhang</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_ipsec_vpp/attachments/slides/4341/export/events/attachments/sdn_ipsec_vpp/slides/4341/is_your_elephant_a_gazelle.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ipsec_vpp.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_ipsec_vpp.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10954.php">Submit feedback</link> </links> </event> <event id="11228"> <start>17:40</start> <duration>00:20</duration> <room>D.sdn</room> <slug>sdn_community_id</slug> <title>Community ID Flow Hashing</title> <subtitle>Simple flow tuple correlation for Zeek, Suricata, and beyond</subtitle> <track>Software Defined Networking</track> <type>devroom</type> <language/> <abstract><p>Network security practitioners frequently need to correlate logs and alerts produced by the systems installed in their networks. For example, a Suricata alert might require the context of Zeek's connection logs for the alert to become actionable. Normally the best way to make such correlations is by manually identifying the flow tuple involved, in each of the monitor outputs involved, around the timestamps in question -- a tedious and error-prone task.</p> <p>To simplify this process we're standardizing a straightforward algorithm, dubbed "Community ID" (https://github.com/corelight/community-id-spec), that produces short textual hashes that reliably identify network flows directly at the source. Flow correlation then becomes a straightforward string comparison operation. Popular open-source network monitoring solutions now include support for this emerging standard, including Suricata, Wireshark, and Zeek, and there's a growing library of reusable implementations in various common programming languages.</p> <p>In this talk we will motivate the Community ID standard, report on its current implementation status, and demonstrate it to the community.</p></abstract> <description></description> <persons> <person id="7765">Christian Kreibich</person> </persons> <attachments> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/sdn_community_id/attachments/slides/4743/export/events/attachments/sdn_community_id/slides/4743/community_id_fosdem21.pdf"/> </attachments> <links> <link href="https://video.fosdem.org/2021/D.sdn/sdn_community_id.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.sdn/sdn_community_id.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11228.php">Submit feedback</link> </links> </event> </room> <room name="D.sds"> </room> <room name="D.testing"> </room> <room name="D.virtualization"> </room> <room name="D.web.performance"> <event id="11111"> <start>14:00</start> <duration>00:30</duration> <room>D.web.performance</room> <slug>webperf_browser_contributions</slug> <title>What if "browser issues" were our issue?</title> <subtitle>Crossing the line between web development and browser/standard development</subtitle> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>As web developers, we are often used to a wall called "browser/standard issues", which only the browser vendors like Apple, Google and Mozilla can influence. In this presentation, I will share several performance-related projects I've worked on in the last year that allowed companies like WikiMedia and Cloudinary make the browser platform work better for them.</p></abstract> <description></description> <persons> <person id="7721">Noam Rosenthal</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_browser_contributions.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_browser_contributions.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11111.php">Submit feedback</link> </links> </event> <event id="11467"> <start>14:30</start> <duration>00:35</duration> <room>D.web.performance</room> <slug>webperf_firefox_profiler</slug> <title>Using the Firefox Profiler for web performance analysis</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>The <a href="https://profiler.firefox.com/">Firefox Profiler</a> is a profiler that is built into Firefox. It has tighter integration with Firefox than external profilers. With its special annotations on Firefox's source code, it tells you what's happening at a point in time on your JavaScript code. With various measurements, it can provide more information and insight into your web application.</p> <p>During the talk, I will be briefly explaining the profilers, how to capture a good profile and how to analyze the profile data. I will be sharing Firefox Profiler specific features and how to make the best use of them. In the end of the slides, I will be doing a demo on how to analyze a performance problem.</p></abstract> <description><p>A profiler is a tool that monitors the execution of an application and gathers the data about the program execution in that time frame. Using a profiling tool to look at problems can make it a lot easier to figure out what’s going on in the application. It helps you to get detailed information about the execution of your application and it allows you to understand the behavior of it.</p> <p>At Mozilla, we are working hard to make the Firefox Profiler better for web developers. In Firefox, we are replacing the old performance panel inside the Developer Tools with Firefox Profiler so people can fully utilize all the new features that come with Firefox Profiler. We are both happy and excited to share more about this tool!</p></description> <persons> <person id="7388">Nazım Can Altınova</person> </persons> <attachments> </attachments> <links> <link href="https://profiler.firefox.com/">Firefox Profiler</link> <link href="https://profiler.firefox.com/docs/">Firefox Profiler Docs</link> <link href="https://share.firefox.dev/profiler-fosdem-2021">Slides</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_firefox_profiler.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_firefox_profiler.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11467.php">Submit feedback</link> </links> </event> <event id="11480"> <start>15:05</start> <duration>00:30</duration> <room>D.web.performance</room> <slug>webperf_webpagetest_waterfall</slug> <title>How to read a WebPageTest waterfall chart</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>WebPageTest is one of the most well known and important tools in the web performance community. It's been actively developed by Pat Meenan since he worked at AOL in 2008. It has become the go to tool for both very simple to very advanced debugging of the web performance of a website. One of its most well known charts is the waterfall chart. In this talk I'm going to introduce the waterfall chart and also go into detail on how you can examine and read it. The more you understand about the chart, the the more WebPageTest as a whole will be able to help you fix a slow performing website.</p> <p>It's essentially a short presentation based on my blog post <a href="https://nooshu.github.io/blog/2019/10/02/how-to-read-a-wpt-waterfall-chart/">here</a>.</p></abstract> <description></description> <persons> <person id="7896">Matthew Hobbs</person> </persons> <attachments> </attachments> <links> <link href="https://nooshu.github.io/blog/2019/10/02/how-to-read-a-wpt-waterfall-chart/">Blog post</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_webpagetest_waterfall.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_webpagetest_waterfall.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11480.php">Submit feedback</link> </links> </event> <event id="11710"> <start>15:35</start> <duration>00:30</duration> <room>D.web.performance</room> <slug>webperf_quic_http3_qlog_qvis</slug> <title>Analysing QUIC and HTTP/3 traffic with qlog and qvis</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>The new QUIC and HTTP/3 protocols are finally here! With their standardization at the IETF almost complete and several mature implementations being deployed, we can start looking into which performance improvements they bring in practice. There's just one problem though: they're quite complex and difficult to test. Using high level tooling like lighthouse might show that they're faster or slower, but rarely why.</p> <p>But problems are there to be solved, and that's what I've been doing for the past 2 years with the qlog and qvis projects. The qlog structured endpoint logging format (https://github.com/quiclog/internet-drafts) is supported by over 70% of all QUIC implementations and allows you to extract low-level protocol information in JSON directly from the client and server. These traces can then be loaded for analysis in different interactive visualizations in our open-source qvis toolsuite (https://qvis.edm.uhasselt.be). This brings an unparalleled opportunity to analyze performance problems and opportunities to the new protocols, as these tools start where the browser devtools end.</p> <p>In this talk, we will explore QUIC and HTTP/3's main performance oriented features, such as 0-RTT connection establishment, advanced congestion and flow control, stream multiplexing and prioritization, and Head-of-Line blocking removal in-depth. We discuss how they are supposed to work, why it's not always that easy in practice, and of course: how to diagnose issues with these features using qlog and qvis. We will use concrete examples of bugs found in major implementations to teach how to interpret the behavior of these new protocols, based on some of our research (https://qlog.edm.uhasselt.be/epiq).</p> <p>We explain how to properly approach testing the new protocols in the future, as great care should be taken in interpreting any results and their root causes. Along the way we debunk some common misconceptions on the protocols and their potential improvements (no, the fact that QUIC runs on top of UDP does not mean it no longer needs congestion control or magically becomes faster, no matter what that Hackernews commenter claims).</p></abstract> <description></description> <persons> <person id="6615">Robin Marx</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_quic_http3_qlog_qvis.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_quic_http3_qlog_qvis.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11710.php">Submit feedback</link> </links> </event> <event id="11711"> <start>16:05</start> <duration>00:30</duration> <room>D.web.performance</room> <slug>webperf_building_a_greener_web</slug> <title>Building a greener web</title> <subtitle>Patterns and tooling for carbon aware web performance</subtitle> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>It's 2021, and we are in a climate emergency.</p> <p>If you're a web professional, you've probably figured out that if the internet runs on electricity, and a lot of electricity comes from burning fossil fuels, there are steps we can take as technologists to make our use of the internet measurably more sustainable, by changing how we use digital infrastructure.</p> <p>In this talk, we'll cover some of the levers available to you as a maker of digital services, and how we can extend open source tools to help design greener, more accessible, more performant websites.</p> <p>We'll show examples from companies you've heard of doing this in production right now, and give clear next steps for those beginning their climate journey.</p></abstract> <description></description> <persons> <person id="7985">Chris Adams</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/webperf_building_a_greener_web/attachments/video/4500/export/events/attachments/webperf_building_a_greener_web/video/4500/FOSDEM_2021_Building_a_Greener_Web_2020_01_26_19_37.mp4">Building a Greener Web</attachment> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/webperf_building_a_greener_web/attachments/slides/4501/export/events/attachments/webperf_building_a_greener_web/slides/4501/FOSDEM_Building_a_greener_web_with_notes.pdf">Building a Greener Web - ODP deck with slide note</attachment> </attachments> <links> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_building_a_greener_web.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_building_a_greener_web.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11711.php">Submit feedback</link> </links> </event> <event id="11722"> <start>16:35</start> <duration>00:25</duration> <room>D.web.performance</room> <slug>webperf_making_rum_responsive</slug> <title>Making RUM Responsive</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>Categorizing device types by desktop, mobile and tablet no longer works in 2021. It is oversimplified, meaningless and likely breaks your current performance analysis on a modern responsive website. As #perfmatters we need meaningful monitoring that takes into account the modern web: - Screen dimensions - Device pixel ratios - Image and CSS breakpoints - Connections</p> <p>Keeping it both simple and meaningful is however not easy! Learn about the different approaches and how to apply this to your existing RUM monitoring solutions: be it free (Google Analytics), open source (Boomerang) or commercial.</p></abstract> <description></description> <persons> <person id="7141">Tim Vereecke</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_making_rum_responsive.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_making_rum_responsive.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11722.php">Submit feedback</link> </links> </event> <event id="11714"> <start>17:00</start> <duration>00:25</duration> <room>D.web.performance</room> <slug>webperf_webpagetest_update_and_license</slug> <title>WebPageTest Update and License discussion</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>Patrick will discuss the background behind the WebPageTest license change from Apache to Polyform Shield as well as the new features introduced to WebPageTest since the acquisition by Catchpoint.</p></abstract> <description></description> <persons> <person id="8017">Patrick Meenan</person> </persons> <attachments> </attachments> <links> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_webpagetest_update_and_license.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_webpagetest_update_and_license.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/11714.php">Submit feedback</link> </links> </event> <event id="10964"> <start>17:25</start> <duration>00:35</duration> <room>D.web.performance</room> <slug>webperf_fast_tls</slug> <title>Mathematics and development of fast TLS handshakes</title> <subtitle/> <track>Web Performance</track> <type>devroom</type> <language/> <abstract><p>Tempesta TLS is an implementation of TLS handshakes for the Linux kernel. Since the kernel already provides symmetric ciphers, we focus on asymmetric cryptography only, elliptic curves in particular.</p> <p>Use used the mbed TLS library as the foundation and almost fully rewrote it to make is x40 faster. During our development we also use parts of WolfSSL library. While WolfSSL outperforms OpenSSL, it uses the same algorithms, which are 5-7 years of old. Tempesta TLS uses newer and more efficient algorithms from the modern cryptography research.</p> <p>While we still improving performance of Tempesta TLS, the implementation already establishes 40-80% more TLS handshakes per second than OpenSSL/Nginx and provides up to x4 lower latency in several tests.</p> <p>This talk covers following topics with plenty of benchmarks:</p> <ul> <li><p>The fundamentals of elliptic curve computations and the most "hot spots"</p></li> <li><p>Side channel attacks (SCA) and methods to prevent them</p></li> <li><p>How the recent CPU vulnerabilities impact TLS handshakes</p></li> <li><p>Basics of the new fast algorithms used in the Tempesta TLS</p></li> <li><p>The design trade offs in OpenSSL, WolfSSL, mbed TLS, and Tempesta TLS</p></li> <li><p>The funny assembly code with is more straightforward than C</p></li> </ul> </abstract> <description></description> <persons> <person id="4080">Alexander Krizhanovsky</person> </persons> <attachments> <attachment type="video" href="https://fosdem.org/2021/schedule/event/webperf_fast_tls/attachments/video/4352/export/events/attachments/webperf_fast_tls/video/4352/fosdem_talk.mp4"/> <attachment type="slides" href="https://fosdem.org/2021/schedule/event/webperf_fast_tls/attachments/slides/4570/export/events/attachments/webperf_fast_tls/slides/4570/slides.pdf"/> </attachments> <links> <link href="https://netdevconf.info/0x14/session.html?talk-performance-study-of-kernel-TLS-handshakes">Performance study of kernel TLS handshakes</link> <link href="https://github.com/tempesta-tech/tempesta">Tempesta FW project at GitHub</link> <link href="https://github.com/tempesta-tech/tls-perf">tls-perf: TLS handshakes benchmarking tool</link> <link href="https://github.com/tempesta-tech/tempesta/issues/1433">API Proposal for the Linux kernel TLS handshakes</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_fast_tls.webm">Video recording (WebM/VP9)</link> <link href="https://video.fosdem.org/2021/D.web.performance/webperf_fast_tls.mp4">Video recording (mp4)</link> <link href="https://submission.fosdem.org/feedback/10964.php">Submit feedback</link> </links> </event> </room> <room name="D.zig"> </room> <room name="S.apache"> </room> <room name="S.appinventor"> <event id="12274"> <start>11:00</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_codi_mash2</slug> <title>Minigame: Codi Compass</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="8302">Peter Mathijssen</person> </persons> <attachments> </attachments> <links> <link href="https://www.twitch.tv/peterblocks">Livestream</link> <link href="https://submission.fosdem.org/feedback/12274.php">Submit feedback</link> </links> </event> <event id="12246"> <start>12:05</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_gviz</slug> <title>Query a Google Sheet using Google Visualisation (gviz) and return results to App Inventor App</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/I_nRnsNSyQg">Livestream</link> <link href="https://submission.fosdem.org/feedback/12246.php">Submit feedback</link> </links> </event> <event id="12275"> <start>14:00</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_codi_clicker1</slug> <title>Minigame: Codi Pong</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://www.twitch.tv/peterblocks">Livestream</link> <link href="https://submission.fosdem.org/feedback/12275.php">Submit feedback</link> </links> </event> <event id="12247"> <start>15:05</start> <duration>00:30</duration> <room>S.appinventor</room> <slug>appinventor_crud</slug> <title>CRUD with Google Sheets for App Inventor</title> <subtitle/> <track>MIT App Inventor stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://youtu.be/Q_-elYx2nQM">Livestream</link> <link href="https://submission.fosdem.org/feedback/12247.php">Submit feedback</link> </links> </event> </room> <room name="S.box86"> </room> <room name="S.checkmk"> <event id="12239"> <start>09:30</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo3</slug> <title>Checkmk Technical Demo</title> <subtitle>Tips and tricks to set up your IT monitoring</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12239.php">Submit feedback</link> </links> </event> <event id="12240"> <start>11:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_kubernetes</slug> <title>Technical Demo (DevOps)</title> <subtitle>Monitoring Kubernetes with Checkmk</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12240.php">Submit feedback</link> </links> </event> <event id="12293"> <start>11:45</start> <duration>00:30</duration> <room>S.checkmk</room> <slug>checkmk_briding2</slug> <title>Bridging the gap between ITOps and DevOps</title> <subtitle>About Checkmk's aim to bridge the gap and how you can contribute</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12293.php">Submit feedback</link> </links> </event> <event id="12241"> <start>13:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo2</slug> <title>Checkmk Technical Demo</title> <subtitle>Tips and tricks to set up your IT monitoring</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12241.php">Submit feedback</link> </links> </event> <event id="12242"> <start>14:00</start> <duration>00:30</duration> <room>S.checkmk</room> <slug>checkmk_bridging1</slug> <title>Bridging the gap between ITOps and DevOps</title> <subtitle>About Checkmk's aim to bridge the gap and how you can contribute</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12242.php">Submit feedback</link> </links> </event> <event id="12296"> <start>14:30</start> <duration>00:30</duration> <room>S.checkmk</room> <slug>checkmk_20</slug> <title>Introducing Checkmk 2.0</title> <subtitle>Get to know Checkmk's biggest release yet, coming soon!</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="7669">Checkmk Team</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12296.php">Submit feedback</link> </links> </event> <event id="12243"> <start>15:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo5</slug> <title>Technical Demo (DevOps)</title> <subtitle>Learn how to integrate Prometheus to Checkmk</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12243.php">Submit feedback</link> </links> </event> <event id="12297"> <start>15:45</start> <duration>00:30</duration> <room>S.checkmk</room> <slug>checkmk_roadmap_1</slug> <title>Checkmk Roadmap</title> <subtitle/> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12297.php">Submit feedback</link> </links> </event> <event id="12244"> <start>17:00</start> <duration>00:45</duration> <room>S.checkmk</room> <slug>checkmk_technical_demo4</slug> <title>Checkmk Technical Demo</title> <subtitle>Tips and tricks to set up your IT monitoring</subtitle> <track>Checkmk stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12244.php">Submit feedback</link> </links> </event> </room> <room name="S.civicrm"> </room> <room name="S.coderdojo"> </room> <room name="S.debian"> </room> <room name="S.eclipse"> </room> <room name="S.fedora"> </room> <room name="S.foreman"> </room> <room name="S.fossasia"> </room> <room name="S.freebsd"> </room> <room name="S.fsfe"> </room> <room name="S.gitlab"> </room> <room name="S.gnome"> </room> <room name="S.gsoc"> </room> <room name="S.haarcourt"> </room> <room name="S.haiku"> </room> <room name="S.illumos"> <event id="12324"> <start>17:00</start> <duration>01:00</duration> <room>S.illumos</room> <slug>illumos_stand_1</slug> <title>Compile IPS packages with pkgbuild / SFE</title> <subtitle/> <track>Illumos stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="8401">tm</person> </persons> <attachments> </attachments> <links> <link href="https://sfe.opencsw.org">SFE Website</link> <link href="https://submission.fosdem.org/feedback/12324.php">Submit feedback</link> </links> </event> </room> <room name="S.jenkins"> </room> <room name="S.kde"> <event id="12320"> <start>10:45</start> <duration>01:30</duration> <room>S.kde</room> <slug>kde_stand_2</slug> <title>Konsole: New Features</title> <subtitle> Tomaz Canabrava</subtitle> <track>KDE Community stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="8384">aniqa.khokhar</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12320.php">Submit feedback</link> </links> </event> <event id="12321"> <start>14:15</start> <duration>01:30</duration> <room>S.kde</room> <slug>kde_stand_3</slug> <title>MyGNUHealth</title> <subtitle>Luis Falcon</subtitle> <track>KDE Community stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="8384">aniqa.khokhar</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12321.php">Submit feedback</link> </links> </event> <event id="12322"> <start>16:00</start> <duration>01:30</duration> <room>S.kde</room> <slug>kde_stand_1</slug> <title>Kdenlive</title> <subtitle> Massimo Stella</subtitle> <track>KDE Community stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="8384">aniqa.khokhar</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12322.php">Submit feedback</link> </links> </event> </room> <room name="S.kiwi"> </room> <room name="S.kopano"> </room> <room name="S.Libreoffice"> </room> <room name="S.libresoc"> </room> <room name="S.mariadb"> </room> <room name="S.matrix"> </room> <room name="S.mautic"> <event id="12268"> <start>11:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_keller</slug> <title>József Keller - Be a Better Emailer</title> <subtitle>CTO of Friendly Automate</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>In this talk you will learn to use Mautic to get more emails delivered into the inbox of your contacts, how to troubleshoot delivery problems, and improve your delivery rate.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12268.php">Submit feedback</link> </links> </event> <event id="12269"> <start>13:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_creating1</slug> <title>Dominique De Cooman - Creating personalised digital experiences with Mautic</title> <subtitle>CEO & founder Dropsolid</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>Are you looking to use a Marketing Automation tool to improve the experience of your customers? This session will walk you through using Mautic in a user centric context.</p></abstract> <description><p>It will cover how to use customer data collected from website behaviour to personalise automated interactions coordinated with Mautic, how to use Mautic as a part of your digital experience platform, and why this is important to create more meaningful conversion, more time on site and improve overall customer success.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12269.php">Submit feedback</link> </links> </event> <event id="12270"> <start>16:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_personilsed_chatbots</slug> <title>Prateek Jain and Mohit Aghera - Building Personalised Chatbots With Mautic</title> <subtitle>Director, Consulting Services & Acquia Services at Axelerant & Technical Architect at Axelerant</subtitle> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>Organizations have successfully started using chatbots enabling customers to accomplish nearly everything they would do using a website or a mobile app. Chat-based interfaces will probably replace apps as the primary way people use the internet.</p> <p>Today chat and voice-based bots can not only read, write but also respond in a conversational user interface. Bots are now able to automate workflows, transactions, initiate conversations, and also personalise engagements for the users in different industries like Healthcare, High Tech, Financial Services, and others.</p> <p>We will share how we provided a hyper-personalized messaging experience to customers using Bots and Mautic which allowed them to connect with business in a more meaningful way.</p></abstract> <description><p>In this session, we will cover:</p> <ul> <li>Setting up Mautic to share the data seamlessly with the Chatbot</li> <li>Demo the bot conversing with the customer by providing personalized responses.</li> <li>We will share how we developed the Mautic Plugin to integrate with Chatbot.</li> </ul> </description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12270.php">Submit feedback</link> </links> </event> <event id="12271"> <start>18:00</start> <duration>01:00</duration> <room>S.mautic</room> <slug>mautic_ha</slug> <title>Lakshmi Narasimhan Parthasarathy & Jordan Ryan - High Availability Mautic</title> <subtitle/> <track>Mautic stand</track> <type>standtrack</type> <language/> <abstract><p>In this talk we will be discussing what it takes to run Mautic in High Availability settings, specifically what resources are available in the community, where there are gaps, and what you can do to manage them.</p></abstract> <description><p>We will cover:</p> <ul> <li>HA Solutions in Mautic Community</li> <li>LEMP vs. LAMP Stack</li> <li>Mautic &amp; Environment Variables</li> <li>Solutions Missing from Multi-Stage Mautic Development</li> <li>Future Improvements We'd Like to See (Tracking Pixel, Microservices, &amp; more)</li> <li>How we've built a Mautic Kubernetes distribution, complete with Helm charts, to help manage deploying this infrastructure in HA.</li> </ul> </description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12271.php">Submit feedback</link> </links> </event> </room> <room name="S.nextcloud"> </room> <room name="S.ntop"> <event id="12254"> <start>12:00</start> <duration>00:30</duration> <room>S.ntop</room> <slug>ntop_cybersecurity</slug> <title>ntopng and Cybersecurity</title> <subtitle>Sorting Out Real-World issues with ntopng</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Switching on ntopng lighthouse to find the right way to escape from the network fog.</p></abstract> <description></description> <persons> <person id="8360">Giordano Zambelli</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3ameeting_YjE4OTdlZjctM2VkMy00OWI5LTg4YjUtN2JiOTJiNDg3YzMz%40thread.v2/0?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream</link> <link href="https://submission.fosdem.org/feedback/12254.php">Submit feedback</link> </links> </event> <event id="12255"> <start>14:00</start> <duration>00:30</duration> <room>S.ntop</room> <slug>ntop_network_monitoring</slug> <title>ntopng Network Monitoring and Discovery</title> <subtitle>A Follow-Up with Live Demo and Examples</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>This presentation extents the original "ntopng Network Monitoring and Discovery" FOSDEM21 talk with a live demo and examples.</p></abstract> <description></description> <persons> <person id="7892">Matteo Biscosi</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWI5OTAyODMtNWU3NC00M2Q4LWJhMjgtNDViMWU0NDk2Nzlj%40thread.v2/0?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream</link> <link href="https://fosdem.org/2021/schedule/event/nemontopng/">ntopng Network Monitoring and Discovery</link> <link href="https://submission.fosdem.org/feedback/12255.php">Submit feedback</link> </links> </event> <event id="12256"> <start>14:30</start> <duration>00:30</duration> <room>S.ntop</room> <slug>ntop_alerts</slug> <title>ntopng Flexible Alerts: Endpoints and Recipients</title> <subtitle>How to Deliver ntopng Alerts to Downstream Recipients</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>This presentation shows how to use ntopng with endpoints and recipients for flexible alerts handling.</p></abstract> <description></description> <persons> <person id="7892">Matteo Biscosi</person> </persons> <attachments> </attachments> <links> <link href="https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWI5OTAyODMtNWU3NC00M2Q4LWJhMjgtNDViMWU0NDk2Nzlj%40thread.v2/0?context=%7b%22Tid%22%3a%22dd960e24-e3a9-4aed-b3ba-8e609f33a7dc%22%2c%22Oid%22%3a%2257b643b6-be0c-4b2a-b562-021a72f8a3e2%22%7d">Live stream</link> <link href="https://submission.fosdem.org/feedback/12256.php">Submit feedback</link> </links> </event> <event id="12257"> <start>16:00</start> <duration>01:00</duration> <room>S.ntop</room> <slug>ntop_round_table</slug> <title>Round Table and Discussion</title> <subtitle>With the ntop Team</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Meet us in the chatroom, see the link!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#ntop-stand:fosdem.org">Chatroom</link> <link href="https://submission.fosdem.org/feedback/12257.php">Submit feedback</link> </links> </event> <event id="12258"> <start>17:00</start> <duration>01:00</duration> <room>S.ntop</room> <slug>ntop_installation_party_sun</slug> <title>Installation Party</title> <subtitle>Tips&Tricks for Best Results</subtitle> <track>ntop stand</track> <type>standtrack</type> <language/> <abstract><p>Meet us in the chatroom, see the link!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://chat.fosdem.org/#/room/#ntop-stand:fosdem.org">Chatroom</link> <link href="https://submission.fosdem.org/feedback/12258.php">Submit feedback</link> </links> </event> </room> <room name="S.onlyoffice"> </room> <room name="S.openembedded"> </room> <room name="S.openharmony"> </room> <room name="S.openmandriva"> </room> <room name="S.opentap"> </room> <room name="S.openuk"> </room> <room name="S.openwifi"> </room> <room name="S.ow2"> <event id="12315"> <start>10:00</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_mrl_2</slug> <title>OW2 Market Readiness Levels and OSS long-term sustainibility</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 MRL : Market Readiness Levels.</p></abstract> <description><p>OW2 is developing a market readiness program to address what we call the delivery challenge of open source software development. Our aim is to facilitate the adoption of OW2 software by mainstream decision makers, i.e. those that are not necessarily open source software supporters.</p> <p>Check out this page: <a href="https://www.ow2.org/view/MRL/">https://www.ow2.org/view/MRL/</a> and this presentation <a href="https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-MRL-Intro.pdf">https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-MRL-Intro.pdf</a> and come chat with us on the OW2 stand.</p></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12315.php">Submit feedback</link> </links> </event> <event id="12316"> <start>10:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_ggi_2</slug> <title>OW2 OSS Good Governance initiative</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>Presentation of OW2 GGI: Good Governance Initiative</p></abstract> <description><p>The OW2 Open Source Good Governance Initiative (GGI) is a joint effort between OW2 members and non-members to grow awareness and expertise on how to properly use and contribute to open source software with the objective to improve competitiveness and enhance the sustainability of the European OSS ecosystem.</p> <p>Get started here:</p> <ul> <li>OSS Good Governance resource center: <a href="https://www.ow2.org/view/OSS_Governance/">https://www.ow2.org/view/OSS_Governance/</a></li> <li>OW2 Open Source Good Governance Initiative slide deck: <a href="https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-GGI-Intro.pdf">https://www.ow2.org/download/Events/FOSDEM_2021/2102-FOSDEM-OW2-GGI-Intro.pdf</a></li> <li>OW2 Open Source Good Governance initiative video primer (5:34): <a href="https://youtu.be/abQzK8gkZJU">https://youtu.be/abQzK8gkZJU</a></li> </ul> </description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12316.php">Submit feedback</link> </links> </event> <event id="12317"> <start>11:30</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_decoder_2</slug> <title>DeCODER: a new DevOps toolbox for code exploration and analysis</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>DECODER H2020 project (https://www.decoder-project.eu). The main goal of DECODER is to offer a unified platform (the PKM, Persistent Knowledge Monitor) for hosting all kinds of documents related to a given software project, including source code, manuals, bug reports. A variety of tools are interacting with the PKM to fill it with additional information and/or take advantage of information provided by other tools. This includes notably the results of static analyses, program proofs, and test case generation on the one hand, and the extraction of more formal specifications from natural language documents using natural language processing techniques. This project is funded by the European Commission under the H2020 Research program and runs from 2019 to 2021.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12317.php">Submit feedback</link> </links> </event> <event id="12318"> <start>14:00</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_knowage_2</slug> <title>Knowage - Advanced Analytics meets Data Visualization</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>OW2 KNOWAGE PROJECT Knowage is the new generation of open source analytical solution, as a natural evolution of the well known SpagoBI. Based on open standards and with a modular offering, Knowage addresses specific domains to particular sub-products, that can be combined each other to get a tailored size in a single solution.</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12318.php">Submit feedback</link> </links> </event> <event id="12319"> <start>16:00</start> <duration>00:30</duration> <room>S.ow2</room> <slug>ow2_zenroom_2</slug> <title>Zenroom Crypto VM for database and blockchain</title> <subtitle/> <track>OW2 Open Source Community stand</track> <type>standtrack</type> <language/> <abstract><p>OW2 ZENROOM</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12319.php">Submit feedback</link> </links> </event> </room> <room name="S.pharo"> </room> <room name="S.postgresql"> </room> <room name="S.pulp"> </room> <room name="S.radio"> </room> <room name="S.reactos"> <event id="12323"> <start>10:10</start> <duration>02:05</duration> <room>S.reactos</room> <slug>reactos_1</slug> <title>ReactOS applications and hardware demo + Q&A</title> <subtitle>Live testing of applications, showing installation, XBox bootup with commentary etcetc.</subtitle> <track>ReactOS stand</track> <type>standtrack</type> <language/> <abstract><p>Live stream showing working applications and trying those the audience suggests to try. Some live installation with USB stick as this is new for ROS to work. Commented video of ROS booting on a XBox.</p></abstract> <description></description> <persons> <person id="8394">Daniel Reimer</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12323.php">Submit feedback</link> </links> </event> </room> <room name="S.refpersys"> </room> <room name="S.schulfrei"> </room> <room name="S.sesame"> <event id="12314"> <start>14:00</start> <duration>00:30</duration> <room>S.sesame</room> <slug>sesame_sunday_1</slug> <title>Meet Dr. Erik Riedel, SVP Engineering of Sesame </title> <subtitle>The importance of Openness for the Circular Datacenter</subtitle> <track>Sesame Discovery stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="2560">Sri Ramkrishna</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12314.php">Submit feedback</link> </links> </event> <event id="12313"> <start>16:00</start> <duration>00:40</duration> <room>S.sesame</room> <slug>sesame_sunday_2</slug> <title>Meet Sesame Discovery Designer, Jean-Jacques Chanut</title> <subtitle/> <track>Sesame Discovery stand</track> <type>standtrack</type> <language/> <abstract></abstract> <description></description> <persons> <person id="2560">Sri Ramkrishna</person> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/12313.php">Submit feedback</link> </links> </event> </room> <room name="S.thola"> </room> <room name="S.tracim"> </room> <room name="S.unikraft"> </room> <room name="S.xcpng"> </room> <room name="S.xwiki"> </room> <room name="S.yottadb"> </room> <room name="I.infodesk"> <event id="11763"> <start>09:00</start> <duration>09:00</duration> <room>I.infodesk</room> <slug>infodesk_sunday</slug> <title>The Virtual FOSDEM Infodesk (Sunday)</title> <subtitle/> <track>Infodesk</track> <type>infodesk</type> <language/> <abstract><p>Need any assistance today? Join us here!</p></abstract> <description></description> <persons> </persons> <attachments> </attachments> <links> <link href="https://submission.fosdem.org/feedback/11763.php">Submit feedback</link> </links> </event> </room> </day> </schedule>