Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
FOSDEM 2020 Schedule (Snapshot of the official program - this may not be updated - do not use!)
This file has been truncated, but you can view the full file.
<schedule>
<conference>
<title>FOSDEM 2020</title>
<subtitle/>
<venue>ULB (Université Libre de Bruxelles)</venue>
<city>Brussels</city>
<start>2020-02-01</start>
<end>2020-02-02</end>
<days>2</days>
<day_change>09:00:00</day_change>
<timeslot_duration>00:05:00</timeslot_duration>
</conference>
<day date="2020-02-01" end="2020-02-01T05:00:00+01:00" index="1" start="2020-02-01T10:00:00+01:00">
<room name="Janson">
<event id="9025">
<start>09:30</start>
<duration>00:25</duration>
<room>Janson</room>
<slug>keynotes_welcome</slug>
<title>Welcome to FOSDEM 2020</title>
<subtitle/>
<track>Keynotes</track>
<type>keynote</type>
<language/>
<abstract>&lt;p&gt;FOSDEM welcome and opening talk.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Welcome to FOSDEM 2020!&lt;/p&gt;</description>
<persons>
<person id="6">FOSDEM Staff</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9025.php">Submit feedback</link>
</links>
<date>2020-02-01T09:30:00+01:00</date>
</event>
<event id="9249">
<start>11:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>libreoffice_turns_ten</slug>
<title>LibreOffice turns ten and what's next</title>
<subtitle>Lots to learn, and get excited about</subtitle>
<track>History</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;From ten years of LibreOffice, how can you apply what we
learned to your project ? What is going on in LibreOffice today, and
where is it going ? and How can you re-use or contribute to the story.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Come hear about the story of LibreOffice, the reasons we
started - and some of the highlights: successes, failures and other
lessons learned from our first ten years. Hear how our initial
decisions and vision of open-ness and vendor neutrality panned
out. See what has been learned about building an effective commercial
ecosystem, with certification.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Hear about the trajectory of technical updates and how we
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;re-juvenated an open-source code-base through massive re-factoring, as
well as re-targetting for web and mobile.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Catch up with the latest in Online innovation, optimization
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and scalability work as well as our growing integration with lots of
other Open Source projects.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Finally catch up with the latest and greatest feature/function
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;improvements as we move towards LibreOffice 7, and find out how you
can best get involved with the next decade of the LibreOffice story.&lt;/p&gt;</description>
<persons>
<person id="425">Michael Meeks</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9249.php">Submit feedback</link>
</links>
<date>2020-02-01T11:00:00+01:00</date>
</event>
<event id="9045">
<start>12:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>automation</slug>
<title>Over Twenty Years Of Automation</title>
<subtitle/>
<track>History</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Over the past twenty years, the automation landscape has changed dramatically.
As our hunger for complex technical infrastructure increased, and our inability to keep up with these demands faltered, we've outsourced a lot of the work to third-parties and cloud providers.
We'll step backwards and show where we came from, and where we're going.
If we don't understand this future, and step up to the challenge, then we eventually won't control our own computers anymore.
We'll discuss this timeline from a tools perspective and showcase many live demos of the past, present, and what will be possible in the future.
This presentation will contain many demos and interactive examples. I will showcase some modern ideas I have with my Free Software project called mgmtconfig.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="2026">James Shubin</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9045.php">Submit feedback</link>
</links>
<date>2020-02-01T12:00:00+01:00</date>
</event>
<event id="9314">
<start>13:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>blender</slug>
<title>Blender, Coming of Age</title>
<subtitle>18 years of Blender open source projects</subtitle>
<track>History</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;The presentation is going to be audiovisual and entertaining; based on a number of short videos I want to tell the story of Blender. Starting in late 90s, how Blender became open source, going over the big milestones for Blender, end ending with the fast growth of our project and the interest of the film and game industry. Blender now is a more mature project now, which involves a different dynamics than it used to be. How are we going to tackle the challenges of the industry, while not losing the community that brought us this far?&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="6621">Ton Roosendaal</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9314.php">Submit feedback</link>
</links>
<date>2020-02-01T13:00:00+01:00</date>
</event>
<event id="9089">
<start>14:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>early_unix</slug>
<title>The Hidden Early History of Unix</title>
<subtitle>The Forgotten history of early Unix</subtitle>
<track>History</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;The early history of Unix is much richer than is usually presented. There are many hidden gems that are little known and quite interesting to learn about. The dates of many of the &quot;firsts&quot; for Unix accomplishments is much earlier than people think. This well-researched talk explores those gems, firsts and shares many artifacts from the early days of Unix. Many of these artifacts have just come to light in recent years, and change how we view the early history of Unix. Even the oldest of grey beards will learn things they didn't know about Unix from this talk.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Most histories of Unix follow the same old boring plan: talk about Multics, Ken scrounging the pdp-7, moving to the pdp-11, rewriting in C and then the explosion that happened with V6 and V7 before jumping into the Unix wars between AT&amp;amp;T and BSD followed by something about Linux (either pro or con depending on the speaker's politics). We've all seen it, and many can predict which &quot;classic&quot; pictures will be used, the points that will be made, and the arcs drawn.&lt;/p&gt;
&lt;p&gt;This talk is nothing like that. It brings all the early years of Unix to life in a unique way. The early years of Unix were surprising rich. The author will use original sources to take you on a tour of many of the firsts in Unix and explore the community ties key to Unix's early success. Many of today's fads, like microkernels, hypervisors, multiprocessing and user mode execution actually happened early on in Unix's history, long they were today's fads. &quot;What's old is new again&quot; has never been so apt. You'll be surprised to learn how early each of these things happened. Come see the secret history of Unix as it played out both in obscure business units of AT&amp;amp;T and in the world wide users groups who banded together to support each other when AT&amp;amp;T wouldn't. You'll see footage of early machines as well as the first real Unix application: space travel (newly rediscovered and restored by the TUHS group). See first hand the machines, programs, newsletters and documentation that together weave a rich tale of innovation, community and working within constraints. Learn how today's open source movement owes a debt to these early communities and how they paved the way for Unix to become the open and ubiquitous system it is today and helped sow the seeds for the communities of today.&lt;/p&gt;</description>
<persons>
<person id="6482">Warner Losh</person>
</persons>
<links>
<link href="https://bsdimp.blogspot.com/2019/10/video-footage-of-first-pdp-7-to-run-unix.html">Ken's PDP-7 appears in Bell Labs Film</link>
<link href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html">Identifying the exact machine Ken Thompson used to create Unix</link>
<link href="https://youtu.be/FTlzaDgzPY8">EuroBSDCon preliminary version of talk</link>
<link href="https://www.tuhs.org/">The Unix Historical Society</link>
<link href="https://submission.fosdem.org/feedback/9089.php">Submit feedback</link>
</links>
<date>2020-02-01T14:00:00+01:00</date>
</event>
<event id="9066">
<start>15:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>generation_gaps</slug>
<title>Generation gaps</title>
<subtitle/>
<track>History</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;For as long as computers have been around, roughly every 10-15 years, the whole industry underwent a reset and reinvented itself anew… until the early 1990s, when somehow, the industry skipped a generation. Instead, it looked backwards, and adopted an older model of computing. The cost has been very high and is holding back the development of the entire field.&lt;/p&gt;</abstract>
<description>&lt;p&gt;This talk looks at how we turned to the past instead of the future, what we missed out on as a result, and how to move forward. It follows on from the above proposal, but takes a different tack and should stand alone. It looks at where personal computers might have – but didn’t – go in the 1980s and 1990s. At a sampling of advanced OS technologies that never caught on – Plan 9, Inferno, Taos, Oberon – and the cool stuff we lost out on as a result.&lt;/p&gt;
&lt;p&gt;It will end with trying to identify the next such generation gap, and why we should consider starting afresh rather than adapting current tech for the next gen.&lt;/p&gt;</description>
<persons>
<person id="4843">Liam Proven</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9066.php">Submit feedback</link>
</links>
<date>2020-02-01T15:00:00+01:00</date>
</event>
<event id="9008">
<start>16:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>http3</slug>
<title>HTTP/3 for everyone</title>
<subtitle>The next generation HTTP is coming</subtitle>
<track>Internet</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.&lt;/p&gt;</abstract>
<description>&lt;p&gt;HTTP/3 is the designated name for the coming next version of the protocol that is currently under development within the QUIC working group in the IETF.&lt;/p&gt;
&lt;p&gt;HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.&lt;/p&gt;
&lt;p&gt;Daniel Stenberg does a presentation about HTTP/3 and QUIC. Why the new protocols are deemed necessary, how they work, how they change how things are sent over the network and what some of the coming deployment challenges will be.&lt;/p&gt;</description>
<persons>
<person id="362">Daniel Stenberg</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9008.php">Submit feedback</link>
</links>
<date>2020-02-01T16:00:00+01:00</date>
</event>
<event id="9189">
<start>17:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>tor</slug>
<title>State of the Onion</title>
<subtitle>The Road to Mainstream Adoption and Improved Censorship Circumvention</subtitle>
<track>Internet</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;The Tor Project is building usable free software to fight surveillance and censorship across the globe. In this talk we'll give an update on what we got up to during 2019, what happened in the wider Tor ecosystem, and what lies ahead of us.&lt;/p&gt;</abstract>
<description>&lt;p&gt;During the past year the Tor Project has been working hard on improving the software, building and training communities around the world as well as creating an anti-censorship team and roadmap that can push forward technologies to circumvent censorship.&lt;/p&gt;
&lt;p&gt;This talk will cover major milestones we achieved and will give an outline about what is lying ahead. In particular, we'll talk about our work to scale the network so it can cope with increased demand as we move forward with our plans for mainstream adoption of Tor Browser and the Tor network.&lt;/p&gt;
&lt;p&gt;We will also share updates about our anti-censorship efforts, a year on from the formation of a dedicated Anti-Censorship team, and their work on next generation pluggable transports. Moreover, we'll explain our defense against website traffic fingerprinting attacks and plans for improving onion services and making them more usable (DDoS resistance, better user interfaces for authentication and dealing with errors).&lt;/p&gt;
&lt;p&gt;Finally, we'll shed some light onefforts to get Tor support directly embedded into other browsers, like Firefox and Brave, and educating users both by reorganizing the content on our website, creating dedicated community and developer portals and extensive trainings throughout the world.&lt;/p&gt;</description>
<persons>
<person id="6431">Pili Guerra</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9189.php">Submit feedback</link>
</links>
<date>2020-02-01T17:00:00+01:00</date>
</event>
<event id="9171">
<start>18:00</start>
<duration>00:50</duration>
<room>Janson</room>
<slug>scion</slug>
<title>SCION</title>
<subtitle>Future internet that you can use today</subtitle>
<track>Internet</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Do you know where your internet traffic flows? Does it go through China even if you don't want it to? SCION is a new internet architecture aimed at solving this problem. We will show how you can easily join the already existing worldwide network.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The current Internet was not designed with control and security considerations in mind: incidents such as the hijacking of all traffic for YouTube by a Pakistani ISP in February 2008, the Cloudflare DNS service hijacked by AnchNet in May 2018, or a large chunk of European mobile traffic being rerouted through China in June 2019 show that we cannot quite trust the current Internet. SCION is a proposed future Internet architecture aiming to offer high availability and security, even in the presence of actively malicious network operators and devices.&lt;/p&gt;
&lt;p&gt;Designing a new Internet from scratch gives us the opportunity to make it work a lot better: we are aiming to notably improve security, availability, and performance. At the same time, just replacing the Internet would not be feasible, and thus we also emphasise practical concerns, such as incremental deployment and backwards compatibility. Thanks to that, SCION is currently the only clean-slate Internet architecture with a world-wide research network and production deployments in several large institutions in Switzerland; and you can start using it today.&lt;/p&gt;
&lt;p&gt;In the first part of this talk, we will drive you through the current state of SCION design and implementation, showing how it provides its important features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;path awareness and path control by end hosts&lt;/li&gt;
&lt;li&gt;geofencing and isolation from untrusted actors&lt;/li&gt;
&lt;li&gt;scalability&lt;/li&gt;
&lt;li&gt;backward compatibility with existing infrastructure and protocols&lt;/li&gt;
&lt;li&gt;increased performance by active usage of multiple links&lt;/li&gt;
&lt;li&gt;fast rerouting in case of outages in any segment of the network&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The world-wide test deployment, SCIONLab, consists of around 50 different points-of-presence around the globe, many of them connected via direct, BGP-free, links. Having many independent organizations belonging to a continually evolving network introduces some non-trivial challenges of managing what you don’t own, which we will also talk about.&lt;/p&gt;
&lt;p&gt;We will show a live demo presenting how easy it is today for the end user to join the network and start using the available services. We will also present how taking down a part of the network can look from the user perspective and how SCION prevents a scenario of China or Pakistan hijacking traffic.&lt;/p&gt;
&lt;p&gt;To close the talk, we will very briefly present the future plans and the direction in which we want the project to evolve.&lt;/p&gt;</description>
<persons>
<person id="6396">Mateusz Kowalski</person>
<person id="7425">Kamila Součková</person>
</persons>
<links>
<link href="https://www.scion-architecture.net">SCION Internet Architecture</link>
<link href="https://www.scionlab.org">SCIONLab global research network</link>
<link href="https://github.com/scionproto/scion">SCION implementation</link>
<link href="https://submission.fosdem.org/feedback/9171.php">Submit feedback</link>
</links>
<date>2020-02-01T18:00:00+01:00</date>
</event>
</room>
<room name="K.1.105 (La Fontaine)">
<event id="10790">
<start>10:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>municipal_government</slug>
<title>How FOSS could revolutionize municipal government</title>
<subtitle>with recent real-world examples</subtitle>
<track>Community and Ethics</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Free and Open Source software has revolutionized the Software Industry and nearly all other areas of human endeavor, but until now its reach into actual governance at the municipal citizen level has not been very deep. Initiatives like Code for America have encountered challenges driving acceptance for FOSS alternatives to proprietary software for citizen governance. At the same time the gap between citizen need and cities’ capabilities as widened. But several new projects are aiming to change this state of affairs to help empower citizens and improve municipal services worldwide through adoption of FOSS. Learn about these efforts and how you can get involved.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7430">Danese Cooper</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10790.php">Submit feedback</link>
</links>
<date>2020-02-01T10:00:00+01:00</date>
</event>
<event id="9265">
<start>11:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>selfish_contributor</slug>
<title>The Selfish Contributor Explained</title>
<subtitle/>
<track>Community and Ethics</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;It has become very popular in the last several years to think of free and open source as a community forward activity, indeed the modern approach is to try and form a community or foundation first and do code second. There is also much talk about maintainer burn out and community exploitation. However, the same people who talk about this still paraphrase the most famous quote from the Cathedral and the Bazaar &quot;Scratching your own itch&quot;. They forget this is your own itch not everyone else's because Open Source begins as a selfish activity. The fact that communities do form around a load of selfish competing individuals is actually a testament to the unacknowledged power of open source to co-opt the selfish instinct and make it synergistic to some communal good.&lt;/p&gt;
&lt;p&gt;This talk will explore the selfish origins of free and open source and dissect the co-option power it has to form broad and deep communities from what are apparently simple transactional engagements. We'll also explain how some of the more recent community failures have been engendered by the concentration on long term community to the detriment of enabling purely transactional mechanics by which initially selfish contributors come to the project.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The origins of selfish contributions, while called out in the founding canons of the open source and free software movements, were initially not very well recognized until the first open source projects (and here the author will use the example he's familiar with: the Linux Kernel) tried to engage successfully with companies trying to utilize the projects for their own ends. We became adept at explaining why forking is bad and how your cost structure will rise exponentially if you do it and how the cheapest method of achieving your business goals is in fact to work with the existing community on whatever feature the company was trying to add as part of its business plan. In fact, those of use who did company engagement because transactional sales people offering a corporation the achievements of business goals in exchange for some unexpected community engagement.&lt;/p&gt;
&lt;p&gt;Nowadays, all companies have drunk the open source coolaid and all pledge their loyalty to further the interests of the community and this previous learning is all but forgotten in the third and fourth waves of open source. However, at their hearts, corporations are still the same business goal focussed transactional entities we had to deal with in the early days of open source and an understanding of how to co-opt their transactional nature would go a long way to assisting new open source developers in their quest to form communities.&lt;/p&gt;
&lt;p&gt;This talk will begin with some history of the Linux kernel's corporate engagement, explore and explain some of the processes within open source development that lead to the conversion of transactionalism into long term community synergy (the truly astounding ability of open source to co-opt selfishness) and then give a few examples of how serving the community rather than enabling transactionalism can give rise to burn out and apparent exploitation. In conclusion we'll give some simple rules to enable this co-opting and suggest how some of the competing interests of the ethical source and social justice movements might likewise be co-opted.&lt;/p&gt;</description>
<persons>
<person id="3124">James Bottomley</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9265.php">Submit feedback</link>
</links>
<date>2020-02-01T11:00:00+01:00</date>
</event>
<event id="9271">
<start>12:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>iot_ethics</slug>
<title>The Ethics Behind Your IoT</title>
<subtitle/>
<track>Community and Ethics</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Internet of Things (IoT) devices are part of the future we were promised. Armed with our mobile devices, we can control everything from our cars to our toasters to the doors of our homes. Along with convenience, IoT devices bring us ethical quandaries, as designers and users. We need to consider the ethical implicates of the technologies we are building and ask ourselves not just about the ways they are being used, for both good and evil, but the potential use cases we might encounter in the future.&lt;/p&gt;</abstract>
<description>&lt;p&gt;IoT devices are becoming increasingly prevalent in our lives -- even my water filter is wifi enabled. In this session, we'll be looking at two case studies of how one might interact with IoT devices, and then consider the ethical implications of these devices, focused on the social impacts they can have on an individual or a society. While we will focus on smart doorbells and smart locks and situations in which installing these could significantly impact quality of life, we will touch on other common IoT devices.&lt;/p&gt;</description>
<persons>
<person id="4180">Molly de Blanc</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9271.php">Submit feedback</link>
</links>
<date>2020-02-01T12:00:00+01:00</date>
</event>
<event id="9163">
<start>13:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>ethical_ai</slug>
<title>Freedom and AI: Can Free Software include ethical AI systems?</title>
<subtitle>Exploring the intersection of Free software and AI</subtitle>
<track>Community and Ethics</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Despite the number of working groups, advisory committees, and coordination roundtables, there is little progress towards creating more ethical and safe AI systems. AI systems are deployed in increasingly fragile contexts. From law enforcement to humanitarian aid, several organizations use AI powered systems to make or inform critical decisions with increasingly outsized side effects.&lt;/p&gt;
&lt;p&gt;What is a rights-based approach for designing minimally safe and transparent guidelines for AI systems? In this talk, we explore what a Free AI system might look like. Then, taking research and guidelines from organizations such as Google and the UN Office for the Coordination of Humanitarian Affairs, we propose practical policies and tools to ensure those building an AI system respect user freedom. Lastly, we propose the outlines of a new kind of framework where all derivative works also respect those freedoms.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Rights based approaches are commonly used within humanitarian contexts to approach problems that the sector faces. In this talk, we use the same approach to solving the issue of “unethical” AI systems. We do so by first defining a set of rights that we feel must be respected, proposing a number of methods that we feel helps ensure a system respects those rights, and lastly propose an organizational and regulatory framework that we feel could help encourage and enforce those methods be used by developers of AI systems.&lt;/p&gt;</description>
<persons>
<person id="3816">Justin W. Flory</person>
<person id="6380">Michael Nolan</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9163.php">Submit feedback</link>
</links>
<date>2020-02-01T13:00:00+01:00</date>
</event>
<event id="9599">
<start>14:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>riek_kubernetes</slug>
<title>How Containers and Kubernetes re-defined the GNU/Linux Operating System</title>
<subtitle>A Greybeard's Worst Nightmare</subtitle>
<track>Containers and Security</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Free Software (as in Freedom) had won. The vertically integrated Cloud now is the predominant operational paradigm and is threatening to undermine software freedom. To many all seems lost, but the world keeps changing and decentralized compute is making a comeback. Containers and Kubernetes are already having a deep impact on the Linux operating system (OS) that goes well beyond DevOps and cloud-native applications. The concepts of application-centric packaging, process isolation through Linux containers, and immutable infrastructure are shaking up the core traditions of today's GNU/Linux operating systems. These concepts are also challenging the assumptions and approaches derived from the past 40+ years of work that originated with UNIX. The Linux distribution as we know it is coming to an end, and is being replaced by a new concept of containerized, multi-instance, multi-user applications, which can be deployed in scale-out environments as well as for widely distributed compute scenarios. In this session, we'll assess this new OS environment in the times of '5G' de-centralized cloud and take a deep look at the consequences this new OS model has for both developers and admins.&lt;/p&gt;</abstract>
<description>&lt;p&gt;This talk will draw on the history of compute in general and Free and Open Source in specific to explain an evolution of paradigms from the GNU/Linux Distribution to modern Free Software application plattforms build on Kubernetes and how they can shape the future of compute in the face of major technological changes.&lt;/p&gt;</description>
<persons>
<person id="6840">Daniel Riek</person>
</persons>
<links>
<link href="https://www.youtube.com/watch?v=JEVZKmPG-5s">Recording of a previous iteration of the talk.</link>
<link href="https://submission.fosdem.org/feedback/9599.php">Submit feedback</link>
</links>
<date>2020-02-01T14:00:00+01:00</date>
</event>
<event id="9116">
<start>15:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>kubernetes</slug>
<title>Fixing the Kubernetes clusterfuck</title>
<subtitle>Understanding security from the kernel up</subtitle>
<track>Containers and Security</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Kubernetes is complex, and extremely vulnerable. In 2019 we explored the complexity of the Kubernetes codebase, and the antipatterns therein. This year we want to look at understanding how we observe our cluster at runtime. Let's live code some C and C++ and explore the libraries that bring Wireshark, Falco, and Sysdig to life. We concretely demonstrate how we are able to audit a Kubernetes system, by taking advantage of auditing the kernel's syscall information while enriching this data with meta information from Kubernetes.&lt;/p&gt;</abstract>
<description>&lt;p&gt;We start off by presenting the problem of Kubernetes security at runtime. We discuss concerns with namespace and privilege escalation in a Kubernetes environment. We discover how auditing the kernel gives us visibility into both the container layer, as well as the underlying system layer.&lt;/p&gt;
&lt;p&gt;We look at building an eBPF probe, or kernel module to begin auditing syscall metrics. We discover how we are able to pull those out of the kernel into userspace, and start exploring powerful patterns for using these metrics to secure a Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;The audience walks away understanding how the kernel treats containers, and how we are able to easily make sense of them. The audience also walks away equipped with an OSS toolkit for understanding, observing, and securing a Kubernetes environment.&lt;/p&gt;</description>
<persons>
<person id="6137">Kris Nova</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9116.php">Submit feedback</link>
</links>
<date>2020-02-01T15:00:00+01:00</date>
</event>
<event id="9564">
<start>16:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>kernel_address_space_isolation</slug>
<title>Address Space Isolation in the Linux Kernel</title>
<subtitle/>
<track>Containers and Security</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;Security is a big problem especially in the cloud of container workloads. This presentation investigates improving security in the Linux kernel itself. The first target is securing sensitive application data, for instance, private keys.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Address space isolation has been used to protect the kernel and userspace programs from each other since the invention of the virtual memory.&lt;/p&gt;
&lt;p&gt;Assuming that kernel bugs and therefore exploits are inevitable it might be worth isolating parts of the kernel to minimize damage that these exploits can cause. Moreover, restricted mappings in the kernel mode may improve mitigation of hardware speculation vulnerabilities.&lt;/p&gt;
&lt;p&gt;There are several ongoing efforts to use restricted address spaces in Linux kernel for various use cases:
* speculation vulnerabilities mitigation in KVM
* support for memory areas visible only in a single owning context
* hardening of the Linux containers&lt;/p&gt;
&lt;p&gt;We are going to present the approach for the implementation of restricted mappings in the Linux kernel and how this implementation would be used with various use-cases.&lt;/p&gt;
&lt;p&gt;We are also going to take a closer look at possibility to assign an address space to the Linux namespaces, so that tasks running in namespace A have different view of kernel memory mappings than the tasks running in namespace B. For instance, by keeping all the objects in a network namespace private, we can achieve levels of isolation equivalent to running a separated network stack.&lt;/p&gt;</description>
<persons>
<person id="3124">James Bottomley</person>
<person id="4942">Mike Rapoport</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9564.php">Submit feedback</link>
</links>
<date>2020-02-01T16:00:00+01:00</date>
</event>
<event id="9326">
<start>17:00</start>
<duration>00:50</duration>
<room>K.1.105 (La Fontaine)</room>
<slug>guix</slug>
<title>Guix: Unifying provisioning, deployment, and package management in the age of containers</title>
<subtitle/>
<track>Containers and Security</track>
<type>maintrack</type>
<language/>
<abstract>&lt;p&gt;This talk will reflect on what GNU Guix has to offer to users and how it compares to other approaches—from CONDA and pip to Flatpak and Docker. Guix is not only a transactional package manager and declarative GNU/Linux distribution: it’s also an environment manager, a container provisioning tool, and more. We will describe these tools and our journey to 1.0, emphasizing key properties that set Guix apart:
reproducibility, transparency, and hackability.&lt;/p&gt;</abstract>
<description>&lt;p&gt;When it comes to software deployment, we are getting used to a new distribution of roles among many actors: traditional distros take care
of core software pieces, “application bundles” à la Docker/Flatpak provide complex applications, Cabal, Gem, npm, pip, and friends take care of language-specific software, and Puppet/Ansible orchestrate the whole thing. Each of these tools has its justification, but the end result is a maze that’s hard to deal with.&lt;/p&gt;
&lt;p&gt;In this talk I will present GNU Guix, a software deployment toolbox and its associated distro that feature transactional upgrades and rollbacks, declarative OS deployment inspired by Nix, and reproducible builds. I will show how Guix approaches a variety of use cases: “package management” à la apt-get, environment management à la VirtualEnv, Ansible-style declarative OS deployment, and container provisioning à la Docker.&lt;/p&gt;
&lt;p&gt;Guix emphasizes programmability and one of its salient features is that it provides a unified Scheme programming environment to deal with with all the aspects of configuration, deployment, and system management—including service management by PID 1. I will illustrate how
this works out on standalone Guix systems, and show the benefits of the approach by discussing applications that take advantage of Guix as a library to support reproducible software deployment.&lt;/p&gt;
&lt;p&gt;Last, I will reflect on the road that led to Guix 1.0 six months ago and present some of the challenges ahead.&lt;/p&gt;</description>
<persons>
<person id="2003">Ludovic Courtès</person>
</persons>
<links>
<link href="https://guix.gnu.org">GNU Guix</link>
<link href="https://submission.fosdem.org/feedback/9326.php">Submit feedback</link>
</links>
<date>2020-02-01T17:00:00+01:00</date>
</event>
</room>
<room name="H.2215 (Ferrer)">
<event id="9080">
<start>12:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>free_software_hackers_needed</slug>
<title>Civil society needs Free Software hackers</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;More and more traditionally processes in our society now incorporate, and are influenced by software.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Processes that decide for example: Who will be able to go to which university? Who will be invited for a job interview? How long does someone have to go to jail?&lt;/p&gt;
&lt;p&gt;Therefore many organisation which work for people's rights are now confronted with the problems proprietary software creates for society. The pupils associations, the unions, human right organisations, or environmental organisations -- all of them need to understand how software works to do their work in our society.&lt;/p&gt;
&lt;p&gt;To continue to fulfil their role, civil society needs to understand how processes are implemented in software, they need to be able to challenge the assumptions, the values, and the way programmers designed them, and have a better understanding how you could change them.&lt;/p&gt;
&lt;p&gt;In short: in a world in which more and more of our live is controlled by software, civil society organisations need us as Free Software hackers to support them doing their job.&lt;/p&gt;</description>
<persons>
<person id="421">Matthias Kirschner</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9080.php">Submit feedback</link>
</links>
<date>2020-02-01T12:00:00+01:00</date>
</event>
<event id="9953">
<start>12:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>openolitor_community_supported_agriculture</slug>
<title>A tool for Community Supported Agriculture (CSA) management, OpenOlitor</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;OpenOlitor is a SaaS open-source tool facilitating the organization and management of CSAs (Community Supported Agriculture) communities. This
tool covers a large spectrum of functionalities needed for CSAs such as member management, emailing, invoicing, share planning and delivery, absence
scheduling, etc. This software is organized and monitored by an international community that promotes the tool, helps operate it and support the
interested communities. In order to promote the sustainability of the tool and this international community an organization based on CSS
(Community Supported Software) has been proposed.&lt;/p&gt;</abstract>
<description>&lt;h1&gt;1 - Introduction&lt;/h1&gt;
&lt;p&gt;The Community Supported Agriculture movement has grown considerably the last few years proposing a new model of food production and distribution. CSA initiatives connect producers and consumers directly. The consumer receives a basket of locally produced, fresh products on a subscription basis. Risk is shared among all participants of the community, independently of being a consumer or producer. The growing popularity of the CSA model has lead to larger sized communities. Consequently, the management effort for this organizations is becoming unaffordable on a volunteer basis.
In such conditions a software helping with the redundant tasks, and connecting all participants of these communities, can be particularly supportive.
The main motivations for the creation of OpenOlitor (OO) are to attend to the growing popularity of the CSA model with the aim of keeping the model
economically viable and sustainable by reducing management task time investment through building software which facilitates easy organization.&lt;/p&gt;
&lt;h1&gt;2 - OpenOlitor&lt;/h1&gt;
&lt;p&gt;OpenOlitor is a web-based, open source tool facilitating the organization and management of CSAs (Community Supported Agriculture)
communities. This tool is composed of two different access points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The participant console: any member holding one or more subscriptions, has an access to this console. This displays basic information about next subscription, products that will be delivered, absences, etc.&lt;/li&gt;
&lt;li&gt;The admin console: only defined administrators can access this console. All the community management tools are available from this portal. Please, refer to the next subsection for a detailed list of functionalities.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2.1 - Functionalities OpenOlitor (OO) covers the main functionalities CSAs need:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Members and people management: OO allows the management of all the current members, historical members or interested individuals. A member can be composed of multiple people. Basic information is required for every member, such us contact information, details of payment, etc.&lt;/li&gt;
&lt;li&gt;Subscription types: A member receives one or several baskets (also called shares) of products periodically. Different types of baskets are allowed. Types are defined by the community and may include delivery type, pickup or frequency, for example;&lt;/li&gt;
&lt;li&gt;Subscription management: A member can be subscribed to one or several subscriptions;&lt;/li&gt;
&lt;li&gt;Delivery management: Deliveries are prepared by the administrators. As a result shares will be created where subscriptions, delivery types, prices are calculated automatically;&lt;/li&gt;
&lt;li&gt;Billing: Automatic invoices are created for every member;&lt;/li&gt;
&lt;li&gt;Participatory task management: Some CSAs require a certain community work hours in order to be part of the community. OO can track this information and publish available tasks to the members;&lt;/li&gt;
&lt;li&gt;Absence management: Members can feed the system their pickup absences that would be taken into account automatically;&lt;/li&gt;
&lt;li&gt;Product/producer management: A CSA can have one or multiple producers and each producer can have one or more products. This information can be used for billing purposes or basket shaping purposes;&lt;/li&gt;
&lt;li&gt;Emailing: an integrated emailing functionality is provided for some of the modules already explained. This allows administrators to easily mail information to the participants, such as invoices, general announcements, etc.&lt;/li&gt;
&lt;li&gt;Payment management: SEPA and ESR payment work-flows are integrated;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2.2 - Basic architecture&lt;/h2&gt;
&lt;p&gt;The OO platform is divided in back-end and front-end:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Front-end: The front-end is a Web-Application (AngularJS) accessible from any browser. A front-end application is dedicated to every CSA. The code is accessible publicly in Github:&lt;/li&gt;
&lt;li&gt;Administration portal (https://github.com/OpenOlitor/openolitor-client-admin)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Members portal (https://github.com/OpenOlitor/openolitor-client-kundenportal)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Back-end: Programmed in Scala using the Akka library for concurrency and distributed systems. A single server can be shared among multiple initiatives. The code is published on Github. Even if the server can be shared among multiple organizations, a MariaDB database is created per initiative. This model guaranties data ownership and privacy. The code is accessible publicly in Github: https://github.com/OpenOlitor/openolitor-server&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;3 - Current numbers&lt;/h1&gt;
&lt;p&gt;Currently, seven CSAs are using OpenOlitor to support their organizations in a production environment. Three more CSAs are in the process of transitioning to this digital tool. A few numbers extracted from the last two years and a half to put into perspective the work volume facilitated by OO:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;+/- 100'000 baskets already delivered&lt;/li&gt;
&lt;li&gt;+/- 3'000 managed deliveries, average 33 baskets per delivery&lt;/li&gt;
&lt;li&gt;+/- 3'400 subscriptions&lt;/li&gt;
&lt;li&gt;+/- 2'100 subscribers&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;4 - Hosting and Operations&lt;/h1&gt;
&lt;p&gt;As shown by the architecture, the database and the front-end are CSA specific but the server can be used by multiple organizations. We promote the idea of hosting communities where a group of CSAs share the costs for the hosting and the effort for the operational work. This model is currently in use for all CSAs using the software.&lt;/p&gt;
&lt;h1&gt;5 - Sustainability model&lt;/h1&gt;
&lt;p&gt;As a financial model we promote the idea of Community Supported Software (CSS). This model is directly inspired by the CSA model where all participants share the risk and responsibility of the food production. Transferring this idea to software, an organization working with OO is invited to participate on the maintenance, operation, support and further development of the software. A fixed financial contribution is defined per basket delivered. All contributions are shared with all projects using the tool. Using this model, the effort and risk is equally shared, independently of the size of the CSA.&lt;/p&gt;
&lt;h1&gt;6 - Legal organizations supporting OO&lt;/h1&gt;
&lt;p&gt;This software is organized and monitored by an international community that promotes this tool:&lt;/p&gt;
&lt;p&gt;OpenOlitor International: Non legally formed organization composed by around 10 members from different European countries. This organization is in charge of the vision and principles of all interactions with the software. This group meets periodically to decide OO main features and how to evolve the platform. Everyone interested in OO is invited to join;
OpenOlitor association: non-profit organization based in Switzerland. Legal body managing the founds received by initiatives and public sources;
OpenOlitor operations association: Organization in charge for the operation and support of the Swiss based CSAs;
Sunu: a German based organization that promotes digitalization for CSAs. They are promoting the ue of OO as well as the operational and support for German CSAs.&lt;/p&gt;</description>
<persons>
<person id="6614">Mikel Cordovilla</person>
</persons>
<links>
<link href="https://openolitor.org">official website</link>
<link href="http://sunu.eu">German association promoting the software</link>
<link href="https://github.com/OpenOlitor">main github repository</link>
<link href="https://submission.fosdem.org/feedback/9953.php">Submit feedback</link>
</links>
<date>2020-02-01T12:20:00+01:00</date>
</event>
<event id="10116">
<start>12:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>open_food_facts</slug>
<title>What's in my food ? Open Food Facts, the Wikipedia of Food</title>
<subtitle>Mixing mobile crowdsourcing, ai, opensource and opendata to improve food transparency</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Open Food Facts is a collaborative and crowdsourced database of food products from the whole planet, licensed under the Open Database License (ODBL). It was launched in 2012, and today it is powered by 27000 contributors who have collected data and images for over 1 million products in 178 countries (and growing strong…)
This is the opportunity to learn more about Open Food Facts, and the latest developments of the project.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Scan a product using your phone, take a picture, and you're already part of the Open Food Facts revolution !&lt;/p&gt;
&lt;p&gt;In this talk we'll show how Open Food Facts leverages open source technologies such as Perl, Python, TensorFlow, MongoDB, Java, Swift, React and Flutter as well as the great power of communities to open data of public interest for health &amp;amp; science, as well as unforeseen applications in your daily life.&lt;/p&gt;
&lt;p&gt;We will also introduce you to Open Beauty Facts, for freeing your cosmetic cupboard: shampoos, toothpastes, lipsticks, etc.&lt;/p&gt;
&lt;p&gt;How does it work?
Using our Android or iPhone app, you can easily scan the barcode of products from your home or local store.
You can either check them out (thanks to the decoding and comparison tools) or contribute pictures of their labels, assisted by our label-reading AI.
The same can also be done from the website, where additional tools are available to fill in the product details from the labels, navigate or vizualise the database based in various ways, or access the APIs and raw data to make your own tools and analysis.&lt;/p&gt;
&lt;p&gt;Open Food Facts is developed and managed by a community of open source, open data and food enthusiasts and is organised as a non-profit association. All its creations are open:
- the collected data is published as Open Data,
- the software running the server(s) is open source and reusable (it was also used to create the Open Beauty Facts database),
- the mobile applications are open source as well.&lt;/p&gt;</description>
<persons>
<person id="6332">Pierre Slamich</person>
</persons>
<links>
<link href="https://world.openfoodfacts.org/discover">Discover Open Food Facts</link>
<link href="https://world.openfoodfacts.org/contribute">How to contribute</link>
<link href="http://world.openfoodfacts.org/development">Development</link>
<link href="https://submission.fosdem.org/feedback/10116.php">Submit feedback</link>
</links>
<date>2020-02-01T12:40:00+01:00</date>
</event>
<event id="9790">
<start>13:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>web3</slug>
<title>Web3 - the Internet of Freedom, Value, and Trust</title>
<subtitle>On exiting the system and reclaiming control of our digital and physical lives</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;For as long as human society has existed, humans have been unable to trust each other. For millennia, we relied on middlemen to establish business or legal relationships. With the advent of Web2.0, we also relayed the establishment of personal connections, and the system has turned against us. The middlemen abuse our needs and their power and we find ourselves chained to convenience at the expense of our own thoughts, our own privacy. Web3 is a radical new frontier ready to turn the status quo on its head, and these are the technologies we're using to make it happen.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="6942">Bruno Škvorc</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9790.php">Submit feedback</link>
</links>
<date>2020-02-01T13:00:00+01:00</date>
</event>
<event id="9792">
<start>13:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>next_web_browser</slug>
<title>Next, the programmable web browser</title>
<subtitle>How the architectural choices and the Lisp language make for an infinitely extensible web browser</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;While actual browsers expose their internals through an API and limit access to the host system, Next doesn't, allowing for infinite extensibility and inviting the users to program their web browser. On top of that, it doesn't tie itself to a particular platform (we currently provide bindings to WebKit and WebEngine) and allows for live code reloads, thanks to the Common Lisp language, about which we'll share our experience too.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Next is a keyboard-oriented, extensible web browser designed for power users. While most (all?) current browsers expose their internals through an API, Next exposes its entire code to the user. Modern browsers limit access to the host system, and Next doesn't, allowing for a broad range of new features. Similar projects have failed due to being tied to a particular platform (Vimperator, Conkeror…), but Next's choice is to have its core written as an independent library, and to provide bindings to web engines (currently WebKit and WebEngine are supported). Next's magic touch is its live coding capability: we can develop a command from a REPL, compile the function and try the changes immediately, without restarting anything. Or just edit our init file and reload it into the current session. This flexbility comes for free thanks to the Common Lisp language, the experience with which we'd like to share too.&lt;/p&gt;
&lt;p&gt;Next is usable as of today. It features ad-blocking (only basic for now, contributions are welcome), multi-selection, bookmarks, session persistence, Emacs and Vim-like shortcuts, history seen as a tree, fuzzy completion everywhere, basic git-forking and file management interfaces…&lt;/p&gt;
&lt;p&gt;We are entering a new phase of development, with hopefully announcements that we can make public at the time of the conference :)&lt;/p&gt;</description>
<persons>
<person id="6940">Atlas Engineer</person>
</persons>
<links>
<link href="https://github.com/atlas-engineer/next">GitHub</link>
<link href="https://next.atlas.engineer/articles">Next releases</link>
<link href="https://ambrevar.xyz/">Pierre's website (Lisp, Guix, Emacs)</link>
<link href="https://lisp-journey.gitlab.io/">Vincent's blog (Common Lisp)</link>
<link href="https://submission.fosdem.org/feedback/9792.php">Submit feedback</link>
</links>
<date>2020-02-01T13:20:00+01:00</date>
</event>
<event id="10029">
<start>13:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>weblate</slug>
<title>Weblate: open-source continuous localization platform</title>
<subtitle>How to bring your project closer to its users with localization platform that doesn’t bother anyone with manual work.</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;You will learn how to localize your project easily with little effort, open-source way. No repetitive work, no manual work with translation files anymore. Weblate is unique for its tight integration to VCS. Set it up once and start engaging the community of translators. More languages translated means more happy users of your software. Be like openSUSE, Fedora, and many more, and speak your users' language now thanks to Weblate!&lt;/p&gt;</abstract>
<description>&lt;p&gt;I will show you the main perks of Weblate and the setup of the project. If you have a project with open repo and you want to start translating it, take your git:// link, and we will set it up right on the spot. FOSDEM is a great time and place to found your translating community.&lt;/p&gt;</description>
<persons>
<person id="7059">Václav Zbránek</person>
</persons>
<links>
<link href="https://weblate.org">Weblate project site</link>
<link href="https://github.com/WeblateOrg/">Weblate code</link>
<link href="https://submission.fosdem.org/feedback/10029.php">Submit feedback</link>
</links>
<date>2020-02-01T13:40:00+01:00</date>
</event>
<event id="9980">
<start>14:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>kapow_web_framework</slug>
<title>Kapow! A Web Framework for the Shell</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;This talk is about &quot;Kapow!&quot; an open source webframework for the shell developed by BBVA Innovation Labs. We will talk about the current development of the project including an overview of Kapow!'s technology stack and the recent release of the first stable version.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The motivation behind the project was to create an adapter between the shell and the web. Allowing users to expose command line programs as HTTP services with a high degree of freedom and flexibility, not imposing any predefined behavior.
The project is based on an open specification.&lt;/p&gt;
&lt;p&gt;Kapow! supports an increasing list of HTTP features; including forms, websockets and streaming. The architecture is based on exposing a private REST API through which the shell can interact with the incoming user HTTP requests.&lt;/p&gt;
&lt;p&gt;Leveraging this architecture an ecosystem of specialized tools is planned, to help with common high level tasks in Kapow! services.
For example:
- Shell commands that can interact with incoming web browser requests and render specialized web pages.
- Automatic mapping of shell command parameters to REST API through bash completion scripts.&lt;/p&gt;
&lt;p&gt;Roberto will do some demos about creating Kapow! services from scratch (expose nmap as a service, tcpdump, pandoc and ffmpeg).&lt;/p&gt;</description>
<persons>
<person id="6439">Roberto Abdelkader Martínez Pérez</person>
</persons>
<links>
<link href="http://github.com/BBVA/kapow">Repository</link>
<link href="https://kapow.readthedocs.io/en/latest/">Documentation</link>
<link href="https://submission.fosdem.org/feedback/9980.php">Submit feedback</link>
</links>
<date>2020-02-01T14:00:00+01:00</date>
</event>
<event id="9973">
<start>14:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>yjs_shared_editing</slug>
<title>Yjs: A CRDT framework for shared editing</title>
<subtitle>Enable shared editing in every application</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Shared editing is the ability to collaboratively edit the same text in real-time. The market for shared editing solutions is fragmented. Once you choose a solution you will be locked into using a specific editor and a specific backend. Yjs is a data synchronization framework that aims to enable shared editing in all open-source editors using any networking stack.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Yjs is a data synchronization framework that is specifically designed for creating shared editing applications like Google Docs. The number of editors, that Yjs supports, is steadily growing. At this time we implemented shared-editing support for six of the most prominent open-source rich-text editors - including &lt;a href=&quot;https://quilljs.com/&quot;&gt;Quill&lt;/a&gt;, &lt;a href=&quot;http://prosemirror.net/&quot;&gt;ProseMirror&lt;/a&gt;, and &lt;a href=&quot;https://codemirror.net/&quot;&gt;CodeMirror&lt;/a&gt;. We are currently working on integrating Yjs in Gutenberg, the new WordPress editor.&lt;/p&gt;
&lt;p&gt;Since Yjs is network agnostic and does not require a central authority to resolve sync conflicts, it is possible to use any networking stack to share document updates of the collaborative document. We created an ecosystem of modules that handle data synchronization over, for example, WebRTC, &lt;a href=&quot;https://www.datprotocol.com/&quot;&gt;Dat Protocol&lt;/a&gt;, &lt;a href=&quot;https://ipfs.io/&quot;&gt;IPFS&lt;/a&gt;, and traditional client-server connections via WebSockets.&lt;/p&gt;
&lt;p&gt;In this lightning talk, we want to show the huge potential of Yjs that hopefully will make it the go-to solution for creating shared editing applications on the web.&lt;/p&gt;</description>
<persons>
<person id="2971">Kevin Jahns</person>
</persons>
<links>
<link href="https://github.com/yjs/yjs">Yjs</link>
<link href="https://yjs.dev/">Yjs Demos</link>
<link href="https://publishpress.com/blog/yjs/">Yjs in Gutenberg</link>
<link href="https://tag1consulting.com/blog/deep-dive-real-time-collaborative-editing-solutions-tagteamtalk-001-0">Webinar: A Deep Dive Into Real Time Collaborative Editing Solutions</link>
<link href="https://submission.fosdem.org/feedback/9973.php">Submit feedback</link>
</links>
<date>2020-02-01T14:20:00+01:00</date>
</event>
<event id="9988">
<start>14:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>cryptpad_collaboration</slug>
<title>Encrypt your collaboration with CryptPad</title>
<subtitle>Real demo !</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;We'll show a real demonstration of how you can encrypt your data and collaborate with others in real-time using the CryptPad Open Source project.
This demonstration will include real-time Wysiwyg, Text, Kanban, Spreadsheet, File storage and Teams features allowing to share your documents securely with your friends and co-workers.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The Internet business model is about &quot;surveillance capitalism&quot; and every day our data is being used to target us with more and more invading advertisements, and every day data is being leaked by Internet business and cloud providers.&lt;/p&gt;
&lt;p&gt;CryptPad is using end-to-end encryption to protect your data, while including innovative algorithms to allow collaboration between users. With CryptPad, the cloud hoster cannot read your data and if data leaks, hackers only get encrypted data which they cannot read without the keys.&lt;/p&gt;
&lt;p&gt;Start ditching proprietary privacy invading cloud services for an free software privacy protecting alternative.&lt;/p&gt;
&lt;p&gt;Come join the 20000 weekly users of the cryptpad.fr main instance and the 300 other instances available, including the German Pirate Party and C3 Wien instances.&lt;/p&gt;
&lt;p&gt;Come join us restoring our privacy.&lt;/p&gt;</description>
<persons>
<person id="2113">Ludovic Dubost</person>
</persons>
<links>
<link href="https://cryptpad.fr">CryptPad Main Instance</link>
<link href="https://github.com/xwiki-labs/cryptpad">CryptPad GitHub</link>
<link href="https://submission.fosdem.org/feedback/9988.php">Submit feedback</link>
</links>
<date>2020-02-01T14:40:00+01:00</date>
</event>
<event id="9823">
<start>15:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>protect_data_objects</slug>
<title>Protect your data objects, not your network connections</title>
<subtitle>Good news for a paradigm shift </subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Agenda&lt;/p&gt;
&lt;p&gt;1) Current situation: complicated &amp;amp; incomplete threat models
2) Concepts worth looking into
3) data sovereignty
4) named data networks
5) zero trust
6) Our hands-on experience with the above&lt;/p&gt;</abstract>
<description>&lt;p&gt;The current state of play to protect data is a tedious task that involves many stakeholders and blocks resources.
The shift from on-premise to private/public cloud systems requires a careful inspection of an assumed threat model.
The application of a zero-trust model is one radical shift to authenticate and authorize at any given point in your
IT landscape, but most importantly it breaks with the assumption that we can design systems that are &quot;safe and secure&quot;.
The talk will highlight the above mentioned concepts and will give a brief outline of a new approach called Named Data
Network (NDN) and how this could improve the situation in terms of data sovereignty.&lt;/p&gt;</description>
<persons>
<person id="5493">Stephan Schwichtenberg</person>
</persons>
<links>
<link href="https://named-data.net/">Named Data Networking</link>
<link href="https://en.wikipedia.org/wiki/Named_data_networking">Wikipedia</link>
<link href="https://submission.fosdem.org/feedback/9823.php">Submit feedback</link>
</links>
<date>2020-02-01T15:00:00+01:00</date>
</event>
<event id="9229">
<start>15:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>sandboxfs_bazel_speedup</slug>
<title>Optimizing sandbox creation with a FUSE file system</title>
<subtitle>Using sandboxfs to speed up Bazel builds</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;The Bazel build system sandboxes each action (e.g. each compiler invocation) to ensure the action only has access to declared inputs and that the action only generates the promised outputs. This ensures that the execution of each build tool is deterministic and not subject to system-wide state. Unfortunately, creating these sandboxes is costly, and every millisecond added to the runtime of each action has a large impact on total build time. Just consider that Bazel focuses on large-ish builds with thousands of actions in them: each little inefficiency quickly multiplies and can result in significant slowdowns, and developers always want faster build times. In this talk, I'll explain how Bazel implements sandboxing and I will cover a FUSE file system I've been developing, sandboxfs, to optimize this process. I'll go into the details of the file system, explain how it started as a Go project and was then rewritten in Rust, and then show some performance metrics.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Possible outline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Brief introduction to Bazel: what are actions.&lt;/li&gt;
&lt;li&gt;Why is sandboxing of actions important and what it intends to achieve.&lt;/li&gt;
&lt;li&gt;How does sandboxing work in the default case and what problems it carries performance- and correctness-wise.&lt;/li&gt;
&lt;li&gt;The solution: how we can use FUSE to eliminate the major source of slowdowns.&lt;/li&gt;
&lt;li&gt;Brief explanation of what sandboxfs is and how Bazel takes advantage of it.&lt;/li&gt;
&lt;li&gt;Delve a little bit into why the project started in Go and was then rewritten in Rust.&lt;/li&gt;
&lt;li&gt;Present performance metrics.&lt;/li&gt;
&lt;li&gt;Ideas for other possible uses for sandboxfs (NixOS and reproducible package builds).&lt;/li&gt;
&lt;/ul&gt;
</description>
<persons>
<person id="6568">Julio Merino</person>
</persons>
<links>
<link href="https://github.com/bazelbuild/sandboxfs/">Project homepage</link>
<link href="https://submission.fosdem.org/feedback/9229.php">Submit feedback</link>
</links>
<date>2020-02-01T15:20:00+01:00</date>
</event>
<event id="9316">
<start>15:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>bloom_filters</slug>
<title>Indexing Encrypted Data Using Bloom Filters</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Bloom filters are a probabilistic data structure that tell us where things are not. They also utilize one way hash functions to build a probabilistic representation of an object. This talk will address how this structure can be used to provide an index into encrypted data that can be made publicly available with minimal risk.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Talk will cover how bloom filters are constructed, the Flat Bloofi indexing implementation and how to take the properties to be indexed and create Bloom filters, and then how to associate the bloom filter with the encrypted object in the index.&lt;/p&gt;
&lt;p&gt;The result is an extremely fast index that can retrieve data items containing partial keys.&lt;/p&gt;
&lt;p&gt;After this talk participants will be able to provide search capabilities across a collection of encrypted objects.&lt;/p&gt;
&lt;p&gt;Code examples will be provided.&lt;/p&gt;</description>
<persons>
<person id="3098">Claude Warren</person>
</persons>
<links>
<link href="https://github.com/Claudenw/MultidimentionalBloom">Multidimensional Bloom FIlter Src</link>
<link href="https://github.com/Claudenw/BloomEncryptedIndex">Bloom Filter Encryption</link>
<link href="https://submission.fosdem.org/feedback/9316.php">Submit feedback</link>
</links>
<date>2020-02-01T15:40:00+01:00</date>
</event>
<event id="9294">
<start>16:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>verifpal</slug>
<title>Verifpal</title>
<subtitle>Cryptographic Protocol Analysis for Students and Engineers</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Verifpal is new software for verifying the security of cryptographic protocols. Building upon contemporary research in symbolic formal verification, Verifpal’s main aim is to appeal more to real-world practitioners, students and engineers without sacrificing comprehensive formal verification features. Verifpal represents a serious attempt at making the formal analysis of advanced cryptographic systems such as Signal and TLS 1.3 easier to achieve.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Contemporary research in symbolic formal verification has led to confirming security guarantees (as well as finding attacks) in secure channel protocols such as TLS and Signal. However, formal verification in general has not managed to significantly exit the academic bubble. Verifpal is new software for verifying the security of cryptographic protocols that aims is to work better for real-world practitioners, students and engineers without sacrificing comprehensive formal verification features.&lt;/p&gt;
&lt;p&gt;In order to achieve this, Verifpal introduces a new, intuitive language for modeling protocols that is easier to write and understand than the languages employed by existing tools. Its formal verification paradigm is also designed explicitly to provide protocol modeling that avoids user error. By modeling principals explicitly and with discrete states, Verifpal models are able to be written in a way that reflects how protocols are described in the real world. At the same time, Verifpal is able to model protocols under an active attacker with unbounded sessions and fresh values, and supports queries for advanced security properties such as forward secrecy or key compromise impersonation.&lt;/p&gt;
&lt;p&gt;Verifpal has already been used to verify security properties for Signal, Scuttlebutt, TLS 1.3 and other protocols. It is a community-focused project, and available under a GPLv3 license.&lt;/p&gt;
&lt;p&gt;An Intuitive Protocol Modeling Language:
The Verifpal language is meant to illustrate protocols close to how one may describe them in an informal conversation, while still being precise and expressive enough for formal modeling. Verifpal reasons about the protocol model with explicit principals: Alice and Bob exist and have independent states.&lt;/p&gt;
&lt;p&gt;Modeling that Avoids User Error:
Verifpal does not allow users to define their own cryptographic primitives. Instead, it comes with built-in cryptographic functions — this is meant to remove the potential for users to define fundamental cryptographic operations incorrectly.&lt;/p&gt;
&lt;p&gt;Easy to Understand Analysis Output:
When a contradiction is found for a query, the result is related in a readable format that ties the attack to a real-world scenario. This is done by using terminology to indicate how the attack could have been possible, such as through a man-in-the-middle on ephemeral keys.&lt;/p&gt;
&lt;p&gt;Friendly and Integrated Software:
Verifpal comes with a Visual Studio Code extension that offers syntax highlighting and, soon, live query verification within Visual Studio Code, allowing developers to obtain insights on their model as they are writing it.&lt;/p&gt;</description>
<persons>
<person id="6607">Nadim Kobeissi</person>
</persons>
<links>
<link href="https://verifpal.com">Verifpal Website</link>
<link href="https://verifpal.com/res/pdf/manual.pdf">Verifpal User Manual</link>
<link href="https://verifpal.com/paper">Verifpal Paper</link>
<link href="https://verifpal.com/source">Verifpal Source Repository</link>
<link href="https://submission.fosdem.org/feedback/9294.php">Submit feedback</link>
</links>
<date>2020-02-01T16:00:00+01:00</date>
</event>
<event id="9015">
<start>16:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>mandos_disk_encryption</slug>
<title>Mandos</title>
<subtitle>Disk encryption without passwords</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Disk encryption is essential for physical computer security, but seldom used due to the trouble of remembering and typing a password at every restart. We describe Mandos, a program which solves this problem, its security model, and the underlying concepts of its design, as well as its evolution over the 10 years since its initial release.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Any security system must have a clear view of its intended threat model – i.e. what threats it is actually intended to protect against; the specific choices and tradeoffs made for Mandos will be explained. Another danger of security system design is the risk of its non-use; i.e. that the system will not be used for some real or perceived drawbacks, such as complexity. The deliberate design choices of Mandos, involving low-interaction, “invisible” and automatic features, will be covered. Special emphasis will be made on the many necessary changes made since the last FOSDEM talk in 2015.&lt;/p&gt;</description>
<persons>
<person id="2811">Teddy Hogeborn</person>
</persons>
<links>
<link href="https://www.recompile.se/mandos">Mandos Home Page</link>
<link href="https://submission.fosdem.org/feedback/9015.php">Submit feedback</link>
</links>
<date>2020-02-01T16:20:00+01:00</date>
</event>
<event id="9604">
<start>16:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>redwax_trust_only_yourself</slug>
<title>RedWax - trust only yourself</title>
<subtitle>Easy Industry best practice authentication and security - federated or just for you. </subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;In this talk we will show you, practical, hands on, how you can secure your application, a small user community or environment using industry best of breed security, fully self-supporting and &lt;em&gt;without&lt;/em&gt; having to rely on a central certificate authority, big-tech or other central powerhouses. As devolved &amp;amp; federated, or as central as you want - you set the rules. Working for you, with your standard-issue iPhone, your router or your laptop out of the box.&lt;/p&gt;
&lt;p&gt;Project redwax produces industry best practice crypto in a small package. Available today. If you know how to install the apache webserver - you are almost there.&lt;/p&gt;
&lt;p&gt;Project Redwax lets you download,a set of easy to deploy simple tools that capture and hard code a lot of industry best practice and specialist PKI knowledge. So that they can be put into the hands of a much wider community than currently served by a few specialist industries. It provides a non centralised, interoperable, open standard, open source, fully federated trust network where participants are not required to ask permission and can be self sufficient.&lt;/p&gt;
&lt;p&gt;This presentation presents what is available &lt;em&gt;today&lt;/em&gt; and our plans on how to take this further, to engage with the wider open source community that together we can support individuals, organisations and (small) companies to get best of breed, distributed, peer to peer, security, confidentiality and privacy without having to rely on central infrastructures.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Wouldn’t it be nice to be able to trust your own environment without having to trust a corporation or government? Wouldn’t it be nice to take the sting out of certificate management?&lt;/p&gt;
&lt;p&gt;With some hands on examples we introduce the audience to the advantages of running your own certificate authority for security IOT in and around your home and establishing a trusted channel for exchanging information with your friends.&lt;/p&gt;
&lt;p&gt;This project (and code) helps you to decentralize trust management so that the values security, confidentiality and privacy can be upheld in public infrastructure and private interactions. We strengthen the existing technologies and infrastructure by providing a modular, very simple and foremost practical set of tools to manage public key based trust infrastructures as currently used.&lt;/p&gt;
&lt;p&gt;Project Redwax lets you download, a set of easy to deploy simple tools that capture and hard code a lot of industry best practice and specialist PKI knowledge. So that they can be put into the hands of a much wider community than currently served by a few specialist industries. It provides a non centralised, interoperable, open standard, open source, fully federated trust network where participants are not required to ask permission and can be self sufficient.&lt;/p&gt;
&lt;p&gt;With support from NLNET project Redwax has made the code available under the Apache license from a infrastructure that is firmly rooted in Europe. And the good news - it is simple - if you know how to install the Apache Webserver - you are almost there. We are working with the unix/linux community to get the code in standard distro’s and cloud init scripts so that these capabilities are made available to wider community of application developers.&lt;/p&gt;
&lt;p&gt;This presentation presents what is available &lt;em&gt;today&lt;/em&gt; and our plans on how to take this further, to engage with the wider open source community that together we can support individuals, organisations and (small) companies to get best of breed, distributed, peer to peer, security, confidentiality and privacy without having to rely on central infrastructures, rare knowledge or big interests.&lt;/p&gt;
&lt;p&gt;Speaker: Dirk-Willem van Gulik (Dirkx@apache.org)
Talk: 50 minutes.
Travel support: not needed
Language: English&lt;/p&gt;
&lt;p&gt;BIO
Dirk-Willem van Gulik?&lt;/p&gt;
&lt;p&gt;During the startup-years - Dirk-Willem van Gulik helped shape the world-wide-web. He was one of the founders, and the first president, of the Apache Software Foundation; and worked on standards such as HTTP at the Internet Engineering Taskforce. He has worked for the Joint Research Centre of the European Commission, the United Nations, telecommunications firms, the BBC, several satellite&amp;amp;space agencies and founded several startups. He participated in different international standards bodies, such as the IETF and W3C on metadata, GIS, PKI, Security, Architecture and Internet standards. Dirk build the initial engineering team at Covalent - the first open source company; and was one of the Founders of Asemantics, a leader in Enterprise Information Integration; which helped make the Semantic Web a reality. He then initiated Joost.com, a peer to peer based video and build and lead the team that created the worlds first instant play P2P viewer and a back office system with user profile driven advert targeting and payment settlements. He was the Chief Technical Architect at the BBC where has helped shape the audience facing delivery platform Forge in the time for the Olympics and where he made information security and compliance a core enabler for business processes. He currently works on several medical and privacy intensive security projects with a heavy emphasis on Architecture and Governance. When not at work, he loves to sail, hang out at the makerspaceleiden.nl or play with his lego.&lt;/p&gt;</description>
<persons>
<person id="6843">Dirk-Willem van Gulik</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9604.php">Submit feedback</link>
</links>
<date>2020-02-01T16:40:00+01:00</date>
</event>
<event id="9146">
<start>17:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>kde_itinerary</slug>
<title>KDE Itinerary</title>
<subtitle>A privacy by design travel assistant</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Getting your itinerary presented in a unified, well structured and always up to date fashion rather than as advertisement overloaded HTML emails or via countless vendor apps has become a standard feature of digital assistants such as the Google platform. While very useful and convenient, it comes at a heavy privacy cost. Besides sensitive information such as passport or credit card numbers, the correlation of travel data from a large pool of users exposes a lot about people's work, interests and relationships. Just not using such services is one way to escape this, or we build a privacy-respecting alternative ourselves!&lt;/p&gt;</abstract>
<description>&lt;p&gt;Standing on the shoulders of KDE, Wikidata, Navitia, OpenStreetMap and a few other FOSS communities we have been exploring what it would take to to build a free and privacy-respecting travel assistant during the past two years, resulting in a number of building blocks and the &quot;KDE Itinerary&quot; application. In this talk we will look at what has been built, and how, and what can be done with this now. In particular we will review the different types of data digital travel assistants rely on, where we can get those from, and at what impact for your privacy.&lt;/p&gt;
&lt;p&gt;The most obvious data source are your personal booking information. Extracting data from reservation documents is possible from a number of different input formats, such as emails, PDF files or Apple Wallet passes, considering structured annotations and barcodes, but also by using vendor-specific extractors for unstructured data. All of this is done locally on your own devices, without any online access.&lt;/p&gt;
&lt;p&gt;Reservation data is then augmented from open data sources such as Wikidata and OpenStreetMap to fill in often missing but crucial information such as timezones or geo coordinates of departure and arrival locations. And finally we need realtime traffic data as well, such as provided by Navitia as Open Data for ground-based transport.&lt;/p&gt;
&lt;p&gt;We will of course also look at how features based on that data can be integrated into applications. While there is the KDE Itinerary mobile application presenting these information in a timeline view with access to the corresponding boarding passes or ticket tokens, the underlying building blocks are explicitly meant to be reusable for wider integration. This might be of particular interest for people working on e.g. email application or digital assistants.&lt;/p&gt;
&lt;p&gt;Should the author fail to show up to this presentation it might be that last year's fixes for the barcode scanners at the Brussels airport station didn't work after all ;-)&lt;/p&gt;</description>
<persons>
<person id="6017">Volker Krause</person>
</persons>
<links>
<link href="https://phabricator.kde.org/project/profile/280/">KDE Itinerary project overview</link>
<link href="https://submission.fosdem.org/feedback/9146.php">Submit feedback</link>
</links>
<date>2020-02-01T17:00:00+01:00</date>
</event>
<event id="10005">
<start>17:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>gate_portable_execution_state</slug>
<title>Gate project</title>
<subtitle>Portable execution state</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;This presentation is an introduction of an open source project I have been working on for five years: https://github.com/tsavola/gate.&lt;/p&gt;
&lt;p&gt;Building on WebAssembly, Gate makes it possible to snapshot running programs and resume them in diverse environments: unlike with other snapshot-and-restore solutions, the snapshots are portable across CPU architectures and operating systems. Part of the solution is appropriate resource abstraction. The presentation hopefully includes a quick demonstration of migration of a live program between x86-64 and ARM64 machines.&lt;/p&gt;</abstract>
<description>&lt;p&gt;A subproject of Gate is a specialized WebAssembly compiler implemented in Go: https://github.com/tsavola/wag&lt;/p&gt;
&lt;p&gt;Gate is at the stage where a proof-of-concept has been implemented; it works. Its future would greatly benefit from wider community engagement, so I wish to present the project and its ideas to a technical user and developer audience.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blog article: https://savo.la/introduction-to-gate.html&lt;/li&gt;
&lt;li&gt;Server running Gate: https://www.gate.computer&lt;/li&gt;
&lt;li&gt;Port of DOOM for Gate: https://github.com/tsavola/DOOM/tree/gate&lt;/li&gt;
&lt;/ul&gt;
</description>
<persons>
<person id="6815">Timo Savola</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10005.php">Submit feedback</link>
</links>
<date>2020-02-01T17:20:00+01:00</date>
</event>
<event id="9907">
<start>17:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>innersource_skills</slug>
<title>The pool next to the ocean: How to bring OpenSource skills to more people</title>
<subtitle>InnerSource as a way to teach open collaboration skills and facilitate the opensourcing process for enterprises</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;The pool next to the ocean: How to bring OpenSource skills to more people&lt;/p&gt;
&lt;p&gt;OpenSource powers the world and is everywhere with more and more enterprises and large companies understanding the value of it and the need to be able to be a good OpenSource citizen.
However, not everyone in those enterprises has the skills to participate in OpenSource communities, feels ready to contribute something or to create and run a vibrant OpenSource community. I observed that there are two distinct groups of people - one with OSS background, ability and willingness to operate in that domain and those that will likely only use OSS without any likeliness to contribute or participate.
Let's change that and build a bridge between those two groups while generating value for the enterprise making it more likely to receive support for this activity.
InnerSource, the application of OpenSource principles and practices within the enterprise, can be this bridge.
You'll learn about creating opportunities for people who haven't been exposed to OpenSource collaboration to learn about the OpenSource ways of collaboration in a safe environment within their organization by creating shared projects internally that follow OpenSource practices and principles.
You'll also learn about how organizations can profit from cross-team/silo collaboration and knowledge exchange. Also, the acquisition of very valuable skills by their employees that can facilitate the successful transition of those internal projects into OpenSource and creation of vibrant communities around them.
This approach is successfully used by many enterprises, and I'm part of a community who has built and is building OpenSource-d training material for this.
Attend this talk if you want to learn about how to deal with silo issues within your company, how to facilitate your companies way to transition projects to OpenSource or how to build up skills to successfully interact with OpenSource projects. Also attend if you want to hear a bit about freely available training material explaining InnerSource concepts for people who haven't been involved in it yet.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="6987">Johannes Tigges</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9907.php">Submit feedback</link>
</links>
<date>2020-02-01T17:40:00+01:00</date>
</event>
<event id="10788">
<start>18:00</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>storage_logger</slug>
<title>Tracking local storage configuration on linux</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;This short talk will discuss a few of the difficulties of tracking and monitoring storage devices on linux systems today and discuss some projects that are trying to improve the situation.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="466">Alasdair Kergon</person>
</persons>
<links>
<link href="https://github.com/lvmteam/storage-logger">storage-logger source code respository</link>
<link href="https://copr.fedorainfracloud.org/coprs/agk/storage-logger/">Fedora rawhide packages</link>
<link href="http://skydive.network/">Skydive</link>
<link href="https://submission.fosdem.org/feedback/10788.php">Submit feedback</link>
</links>
<date>2020-02-01T18:00:00+01:00</date>
</event>
<event id="9145">
<start>18:20</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>concept_programming</slug>
<title>Concept Programming, from ideas to code</title>
<subtitle/>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;Programming is the art of turning ideas into code.
Ideas and code do not live in the same space. Any translation is lossy.
Concept programming is a cross-language approach that focuses on this translation process, and helps identify often overlooked classes of issues.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Programming is the art of turning ideas into code.
Ideas and code do not live in the same space. Consequently, any translation is lossy. But this loss is not immediately visible. For example, how does your programming language coerce you into coding a concept as simple as &quot;maximum&quot; or list in a way that is generally full of warts?
Concept programming is a cross-language approach that focuses on this translation process, and helps identify often overlooked classes of issues. It separates the &quot;concept space&quot; and the &quot;code space&quot;, and focuses on how the mechanics in one space translate (or not) into the other.&lt;/p&gt;
&lt;p&gt;It introduces a few core ideas:
- Syntactic noise is the difference in look between code and concept. For example, in Lisp, you write (+ 1 2)
- Semantic noise is the difference in behavior between code and concept. For example, in C, text is null-terminated.
- Bandwidth is the amount of the concept space covered by the code. For example, the &quot;+&quot; operator has higher bandwidth in C++ than in C
- Signal/noise ratio is the amount of code that does not carry any useful concept. For example, curly braces and semi-colons in C.&lt;/p&gt;</description>
<persons>
<person id="5672">Christophe de Dinechin</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9145.php">Submit feedback</link>
</links>
<date>2020-02-01T18:20:00+01:00</date>
</event>
<event id="10044">
<start>18:40</start>
<duration>00:15</duration>
<room>H.2215 (Ferrer)</room>
<slug>deskconnd_crossplatform_ipc</slug>
<title>DeskConnD: Secure, cross-platform IPC on the network</title>
<subtitle>Zeroconf + WAMP = Cross platform IPC</subtitle>
<track>Lightning Talks</track>
<type>lightningtalk</type>
<language/>
<abstract>&lt;p&gt;DeskConnD is a cross-platform, python based daemon that uses Crossbar and WAMP to enable end-to-end encrypted IPC over the network.&lt;/p&gt;</abstract>
<description>&lt;p&gt;In this talk Omer Akram will talk about his new project that he has been working on for the past year to mainly make it easy for developers to add functionalities to their apps that were previously cumbersome to implement, having no platform-specific dependencies enables this project to be cross-platform.&lt;/p&gt;
&lt;p&gt;Combining proven technologies like WebSocket/WAMP and ZeroConf, DeskConnD allows different components of a distributed app on the local network to securely communicate and do messaging based on the RPCs and PubSub paradigms.&lt;/p&gt;</description>
<persons>
<person id="6565">Omer Akram</person>
</persons>
<links>
<link href="https://github.com/deskconn/">https://github.com/deskconn/</link>
<link href="https://submission.fosdem.org/feedback/10044.php">Submit feedback</link>
</links>
<date>2020-02-01T18:40:00+01:00</date>
</event>
</room>
<room name="H.1301 (Cornil)">
<event id="10767">
<start>10:30</start>
<duration>00:30</duration>
<room>H.1301 (Cornil)</room>
<slug>getting_started_with_quantum_software_development</slug>
<title>Getting started with quantum software development</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="5592">Tomas Babej</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10767.php">Submit feedback</link>
</links>
<date>2020-02-01T10:30:00+01:00</date>
</event>
<event id="10768">
<start>11:05</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_machine_learning_with_pennylane</slug>
<title>Quantum machine learning with PennyLane</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6225">Joshua Izaac</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10768.php">Submit feedback</link>
</links>
<date>2020-02-01T11:05:00+01:00</date>
</event>
<event id="10769">
<start>11:50</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_computing_hardware_and_control_systems</slug>
<title>Quantum computing hardware and control systems</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6206">Felix Tripier</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10769.php">Submit feedback</link>
</links>
<date>2020-02-01T11:50:00+01:00</date>
</event>
<event id="10770">
<start>12:35</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>the_role_of_open_source_in_building_quantum_computing_ecosystemfrom_scratch</slug>
<title>The role of open source in building quantum computing ecosystem from scratch</title>
<subtitle>Context of a developing country</subtitle>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="7415">Hakob Avetisyan</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10770.php">Submit feedback</link>
</links>
<date>2020-02-01T12:35:00+01:00</date>
</event>
<event id="10771">
<start>13:20</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_advantage_and_quantum_computing_in_the_real_world</slug>
<title>Quantum Advantage and Quantum Computing in the Real World</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6240">Mark Mattingley-Scott</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10771.php">Submit feedback</link>
</links>
<date>2020-02-01T13:20:00+01:00</date>
</event>
<event id="10772">
<start>14:05</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_circuit_optimisation_verification_and_simulation_with_pyzx</slug>
<title>Quantum circuit optimisation, verification, and simulation with PyZX</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6200">John van de Wetering</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10772.php">Submit feedback</link>
</links>
<date>2020-02-01T14:05:00+01:00</date>
</event>
<event id="10773">
<start>14:50</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>simulaqron_a_simulator_for_developing_quantum_internet_software</slug>
<title>SimulaQron - a simulator for developing quantum internet software</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="7416">Axel Dahlberg</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10773.php">Submit feedback</link>
</links>
<date>2020-02-01T14:50:00+01:00</date>
</event>
<event id="10774">
<start>15:35</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>the_role_of_open_source_frameworks_in_quantum_computing_and_technologies</slug>
<title>The Role of Open Source Frameworks in Quantum Computing and Technologies</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="7417">Jack Hidary</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10774.php">Submit feedback</link>
</links>
<date>2020-02-01T15:35:00+01:00</date>
</event>
<event id="10775">
<start>16:20</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>computing_with_tensornetwork_and_qml_tools</slug>
<title>Computing with TensorNetwork &amp; QML Tools</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="7418">Stefan Leichenauer</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10775.php">Submit feedback</link>
</links>
<date>2020-02-01T16:20:00+01:00</date>
</event>
<event id="10776">
<start>17:05</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_classifiers_robust_data_encodings_and_software_to_implement_them</slug>
<title>Quantum classifiers, robust data encodings, and software to implement them</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6246">Ryan LaRose</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10776.php">Submit feedback</link>
</links>
<date>2020-02-01T17:05:00+01:00</date>
</event>
<event id="10777">
<start>17:50</start>
<duration>00:35</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_computer_brands_connecting_apples_and_oranges</slug>
<title>Quantum computer brands: connecting apples and oranges</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="7419">Petar Korponaić</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10777.php">Submit feedback</link>
</links>
<date>2020-02-01T17:50:00+01:00</date>
</event>
<event id="10778">
<start>18:30</start>
<duration>00:30</duration>
<room>H.1301 (Cornil)</room>
<slug>quantum_open_source_foundation</slug>
<title>Quantum Open Source Foundation</title>
<subtitle/>
<track>Quantum Computing</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6291">Mark Fingerhuth</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10778.php">Submit feedback</link>
</links>
<date>2020-02-01T18:30:00+01:00</date>
</event>
</room>
<room name="H.1302 (Depage)">
<event id="10717">
<start>10:30</start>
<duration>00:45</duration>
<room>H.1302 (Depage)</room>
<slug>state_openjdk</slug>
<title>State of OpenJDK</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;A review of the past year in the life of the OpenJDK Community, and a look at what's ahead.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="218">Mark Reinhold</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10717.php">Submit feedback</link>
</links>
<date>2020-02-01T10:30:00+01:00</date>
</event>
<event id="10718">
<start>11:20</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>loom</slug>
<title>Project Loom: Advanced concurrency for fun and profit</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Project Loom, an OpenJDK project, is &quot;intended to explore, incubate and deliver Java VM features and APIs built on top of them for the purpose of supporting easy-to-use, high-throughput lightweight concurrency and new programming models on the Java platform.&quot; These feature include Lightweight Threads, delimited continuations, and tail-call elimination.&lt;/p&gt;
&lt;p&gt;The speaker, a Project Loom team member, will describe the project in depth, in particular the gnarly details of how coroutine and continuation scheduling mechanism works, and a new feature, Scoped Locals.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="719">Andrew Haley</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10718.php">Submit feedback</link>
</links>
<date>2020-02-01T11:20:00+01:00</date>
</event>
<event id="10720">
<start>11:50</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>tornadovm</slug>
<title>TornadoVM: A Virtual Machine for Exploiting ​High-Performance Heterogeneous ​Execution of Java Programs​</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The proliferation of heterogeneous hardware in recent years has driven us to consider that every system we program, most likely includes a mix of computing elements; each of which with different hardware characteristics enabling programmers to improve performance while reducing energy consumption. These new heterogeneous devices include multi-core CPUs, GPUs and FPGAs. This trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.&lt;/p&gt;
&lt;p&gt;Instead of using low-level programming languages, developers in industry and academia tend to use higher-level, object-oriented programming languages, typically executed on managed runtime environments, such as Java, R, and Javascript. Although many programmers might expect that such programming languages would have already been adapted for transparent execution on heterogeneous hardware, the reality is that their support is either very limited or absent.&lt;/p&gt;
&lt;p&gt;In this talk, we present TornadoVM (https://github.com/beehive-lab/TornadoVM), a heterogeneous programming framework for Java programs. TornadoVM co-exists with standard JVMs (e.g., OpenJDK) that implement the JVMCI. TornadoVM consists of three components: 1) a simple API for composing pipelines of existing Java methods, 2) an optimizing JIT compiler that extends the Graal compiler with hardware-aware optimizations that generate OpenCL C code, and 3) a runtime system that executes TornadoVM specific bytecodes, performs memory management, and schedules the code for execution on GPUs, multicore CPUs, and FPGAs. Essentially, TornadoVM is a “VM-in-a-VM” that can adapt execution completely dynamically and transparently to the user, always finding the highest-performing combination of hardware accelerators through dynamic reconfiguration.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7005">Thanos Stratikopoulos</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10720.php">Submit feedback</link>
</links>
<date>2020-02-01T11:50:00+01:00</date>
</event>
<event id="10721">
<start>12:20</start>
<duration>00:40</duration>
<room>H.1302 (Depage)</room>
<slug>bytebuffers</slug>
<title>ByteBuffers are dead, long live ByteBuffers!</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Abstract: Direct buffers are, to date, the only way to access foreign,
off-heap memory. Despite their success, direct buffers suffer from some
limitations --- stateful-ness, lack of addressing space,
non-deterministic deallocation to name a few --- which makes them a
less-than-ideal choice under certain workloads. In this talk we paint
the path to the future: a safe, supported and efficient foreign memory
access API for Java. By providing a more targeted solution to the
problem of accessing foreign memory, not only developers will be freed
by the above limitations - but they will also enjoy improved
performances, as the new API is designed from the ground-up with JIT
optimizations in mind - and all without sacrificing memory access safety.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7374">Maurizio Cimadamore</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10721.php">Submit feedback</link>
</links>
<date>2020-02-01T12:20:00+01:00</date>
</event>
<event id="10722">
<start>13:05</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>jakartaee</slug>
<title>Free at Last! The Tale of Jakarta EE</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;In September 2017 Oracle announced that it would be migrating governance of the Java EE platform to the Eclipse Foundation, the home of MicroProfile. Two years later Jakarta EE 8 shipped, signaling the successful completion of that move. As a result, Free Java has a new home for a significant piece of the Java ecosystem. A home which is purely open source, vendor neutral, and community led.&lt;/p&gt;
&lt;p&gt;This talk will be about how the long and painful journey from Java EE to Jakarta EE unfolded. But more importantly it will focus on how the new Jakarta EE community works, and how there is a new, open, specification process for Java APIs (other than SE) that is available for the community. We are looking forward to welcoming many of those interested in Free Java to participate in driving new innovation in Java APIs for cloud and other exciting use cases.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="4193">Mike Milinkovich</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10722.php">Submit feedback</link>
</links>
<date>2020-02-01T13:05:00+01:00</date>
</event>
<event id="10723">
<start>13:35</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>shenandoah</slug>
<title>Shenandoah 2.0</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Shenandoah GC landed in JDK12 about a year ago, giving OpenJDK
another low-pause garbage collector. It has undergone substantial
changes since then. Specifically we have a new barrier scheme, and have
eliminated the extra forwarding pointer word per object, thus
substantially reducing memory footprint. After giving a general
introduction to OpenJDK GC landscape and Shenandoah GC, this talk
focuses on those recent changes in Shenandoah and what's in it for you.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="740">Roman Kennke</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10723.php">Submit feedback</link>
</links>
<date>2020-02-01T13:35:00+01:00</date>
</event>
<event id="10724">
<start>14:05</start>
<duration>00:40</duration>
<room>H.1302 (Depage)</room>
<slug>imc</slug>
<title>JMC &amp; JFR - 2020 Vision</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;JDK Flight Recorder provides production time profiling and diagnostics
via a compact events-based infrastructure inside the Hotspot JVM
itself. JDK Mission Control is a stand-alone application that provides
real-time monitoring information for Hotspot JVMs, as well as tools to
read, automatically analyze and visualize flight recording data
produced by JDK Flight Recorder.&lt;/p&gt;
&lt;p&gt;When this talk is presented, JMC 7.1.0 has (hopefully) been out for a
little while. This presentation talks about what is new and the
roadmap for the upcoming JMC 8. We will also discuss recent changes in
the project, such as the move to Skara. Towards the end we will demo
how JDK Flight Recorder and JMC core libraries can be used to diagnose
applications deployed in container orchestration platforms.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7377">Jie Kang</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10724.php">Submit feedback</link>
</links>
<date>2020-02-01T14:05:00+01:00</date>
</event>
<event id="10725">
<start>14:50</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>hacking_graalvm</slug>
<title>Hacking on GraalVM: A (very) Rough Guide</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The GraalVM project provides, among other options, a means to deliver
Java programs as compact, self-contained, fast-startup native images.
GraalVM has been moving from research to development for quite a few
years now. However, it is only just beginning to be properly integrated
with the latest OpenJDK releases and there is still much to be done to
get it fully productized and to improve usability and performance.&lt;/p&gt;
&lt;p&gt;This talk will recount our joint experiences of trying to add new and/or
improved capabilities to the the GraalVM code base. Our story will
stumble gracelessly from one pitfall to the next cock-up in the hope
that by exposing and explaining our own history of lamentable error and
occasional failure you will be able to avoid being doomed to repeat it.&lt;/p&gt;
&lt;p&gt;We will provide a guide to getting started and building GraalVM, an
overview of the how the compiler, native image generator and other
elements of the GraalVM toolkit operate plus a map of what code sits
where in the source tree and how it fits together and offer tips for
debugging the Graal compiler and native image generator -- all the tasks
you will need to perform in order to attain a vantage point from which
to change or add to the current functionality.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="742">Andrew Dinn</person>
<person id="7378">Josh Matsuoka</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10725.php">Submit feedback</link>
</links>
<date>2020-02-01T14:50:00+01:00</date>
</event>
<event id="10726">
<start>15:20</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>reducing_gc_times</slug>
<title>Reducing OpenJDK Java Garbage Collection times with stack allocation</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;In this talk we'll explore ways that the JVM can reduce the object allocation rate of Java programs automatically by performing stack allocation of objects that are known to be local to a method, or in compiler terms non-escaping. The discussion is focused on employing the escape analysis optimization in the OpenJDK Hotspot C2 compiler to determine which Java objects can be stack allocated, and how this optimization can reduce pressure on the Java JVM garbage collectors.&lt;/p&gt;
&lt;p&gt;We'll show some results on how various real world applications can benefit from such optimizations and describe the methodology of how we prototyped this in OpenJDK. Our work is only in prototype state at this moment and we are looking for more data to understand how broadly applicable this optimizations is. This work wouldn't be possible without free open source access to Java.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7375">Nikola Grcevski</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10726.php">Submit feedback</link>
</links>
<date>2020-02-01T15:20:00+01:00</date>
</event>
<event id="10727">
<start>15:50</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>g1</slug>
<title>G1: To infinity and beyond</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Abstract: G1 has been around for quite some time now and since JDK 9 it
is the default garbage collector in OpenJDK. The community working on G1
is quite big and the contributions over the last few years have made a
significant impact on the overall performance. This talk will focus on
some of these features and how they have improved G1 in various ways. We
will also take a brief look at what features we have lined up for the
future.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7376">Stefan Johansson</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10727.php">Submit feedback</link>
</links>
<date>2020-02-01T15:50:00+01:00</date>
</event>
<event id="10728">
<start>16:20</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>jit2020</slug>
<title>Just-in-time compiling Java in 2020</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Client compiler, server compiler, JVMCI, Graal ... What are we using today and how do they work together?
In this talk I'll give and overview of the Just-in-time compilers included in OpenJDK and explain how to play with them.
I'll also address Just-in-time compiler threads and resource related issues.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7380">Martin Doerr</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10728.php">Submit feedback</link>
</links>
<date>2020-02-01T16:20:00+01:00</date>
</event>
<event id="10729">
<start>16:50</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>npes</slug>
<title>Helpful NullPointerExceptions - The little thing that became a JEP</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;One of the most prevalent - if not the most prevalent - exception type in Java is the NullPointerException. While Java set out to overcome the possibilities
to do the mistakes one can do when programming in languages like C/C++ by not exposing pointers in the Java language, the misleading term 'pointer' sneaked
into this exception. To this day, NullPointerExceptions thrown by the runtime system didn't contain messages. All you had was a callstack and a line number.
But in typical expressions and statements there are several dereferences where an NPE can occur in one line.&lt;/p&gt;
&lt;p&gt;We - some engineers in the SAP team - thought this could be helped by a little enhancement. The new NPE message gives precise information about the location
and tries to explain what was going on when a null reference was encountered. However, due to its prominent nature, it eventually became a JEP.&lt;/p&gt;
&lt;p&gt;In my talk I'll demonstrate the improvements that come with this enhancement. I will lift the hood a little and provide a glance at its implementation details.
And finally I'll say some words about the current status and share some ideas for further improvements in the area of exception messages.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7379">Christoph Langer</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10729.php">Submit feedback</link>
</links>
<date>2020-02-01T16:50:00+01:00</date>
</event>
<event id="10730">
<start>17:20</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>metaspace</slug>
<title>Taming Metaspace: a look at the machinery, and a proposal for a better one</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;When examining memory footprint of a JVM process, the delta between Java
heap usage and actual working set size can be surprisingly large. The JVM
uses off-heap memory for a lot of things: thread stacks, compiler arenas,
code heap, byte buffers, GC control... however, one of the largest
consumers of off-heap memory can be class metadata. Class metadata are
stored in Metaspace, which includes the Compressed Class Space.&lt;/p&gt;
&lt;p&gt;The talk will explore what Metaspace actually is and what is stored there;
describe the architecture of the Metaspace allocator and the Compressed
Class Space; how it interacts with the GC; how it is sized. We will
highlight waste areas and demonstrate how to use jcmd to examine Metaspace
internals.&lt;/p&gt;
&lt;p&gt;The current implementation of the Metaspace allocator suffers from a number
of shortcomings. They can manifest in excessive waste and a certain
&quot;clinginess&quot; - an unwillingness to let go of unused memory.&lt;/p&gt;
&lt;p&gt;At SAP, we developed an improved version which is more frugal with memory
and provides a much improved elasticity. So the second part of this talk
will concentrate on our new implementation. We will highlight the
differences to the old architecture, demonstrate advantages and examine how
it works.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7381">Thomas Stüfe</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10730.php">Submit feedback</link>
</links>
<date>2020-02-01T17:20:00+01:00</date>
</event>
<event id="10731">
<start>17:50</start>
<duration>00:25</duration>
<room>H.1302 (Depage)</room>
<slug>secure_jvm</slug>
<title>The OpenJDK JVM : Securing a moving target or What could possibly go wrong?</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The OpenJDK Java Virtual Machine presents some interesting challenges
when it comes to guarding against potential vulnerabilities. This talk
will explain how dynamic class-loading, JIT compilation, speculative
compilation and other aspects of the JVM's operation present a moving
attack surface that presents some very different challenges to those
found in other programs or runtimes.&lt;/p&gt;
&lt;p&gt;This talk won't say anything about specific vulnerabilities but it will
identify a few areas of the OpenJDK JVM where some of these unique types
of vulnerability have been identified and resolved. It may teach you
some things you didn't know about the complexity of the JVM and
hopefully reassure you that the OpenJDK devs are very aware of what
could possibly go wrong. Whether we have got it all right is left as a
follow-up exercise for attendees.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="742">Andrew Dinn</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10731.php">Submit feedback</link>
</links>
<date>2020-02-01T17:50:00+01:00</date>
</event>
<event id="10719">
<start>18:20</start>
<duration>00:40</duration>
<room>H.1302 (Depage)</room>
<slug>ruby</slug>
<title>JRuby Startup and AOT</title>
<subtitle/>
<track>Free Java</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Rubyists work from a command line, which makes JRuby startup time a critical concern. Traditionally, the JVM has not been optimized for startup, but that's changing. This talk will explore all available options for making a heavy runtime like JRuby start up quickly, from using class data caching services like Hotspot's CDS and OpenJ9's Quickstart to ahead-of-time compilation of JRuby using GraalVM's Native Image. We'll compare approaches and trade-offs.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="743">Charles Nutter</person>
<person id="4501">Thomas Enebo</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10719.php">Submit feedback</link>
</links>
<date>2020-02-01T18:20:00+01:00</date>
</event>
</room>
<room name="H.1308 (Rolin)">
<event id="9957">
<start>10:30</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>fundamental_technologies_we_need_to_work_on_for_cloud_native_networking</slug>
<title>Fundamental Technologies We Need to Work on for Cloud-Native Networking</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Many people and companies are betting that cloud-native networking
will be the preferred way of implementing network functions in an easy
and scalable way. It is based around the tenants of modularity, high
availability, scalability, low-overhead networking, and ease of
deployment. And a number of companies such as Google has shown that it
is really possible to achieve these properties with it. But the
architectural basis of cloud-native is quite different from the ones
of virtualization-based NFV, but nevertheless, in many cases we
continue to use the software packages that were designed for that
drastically different architecture. The question is, how well does
the current set of open source projects used in NFV work in a
cloud-native environment and what needs to change in them in order to
realize the cloud-native vision?&lt;/p&gt;
&lt;p&gt;In this presentation, I will define what I mean with cloud-native
networking and from that derive the system requirements needed to realize
that vision. Based on these requirements, we can deduce a number of
basic architectural properties, features and services that are needed
in the system to be able to satisfy these requirements. Then I will go
through the most popular open source projects such as Linux, DPDK and
OVS and see how they satisfy these architectural properties and
features. The main contribution of this presentation will be to show
what we need to work on within these SW packages in order to realize
cloud-native networking. Or maybe we need completely new SW projects
to be able to achieve this.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="4937">Magnus Karlsson</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9957.php">Submit feedback</link>
</links>
<date>2020-02-01T10:30:00+01:00</date>
</event>
<event id="9388">
<start>11:10</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>real_time_network_topology_and_protocols_analyzer</slug>
<title>Skydive</title>
<subtitle>A real time network topology and protocols analyzer</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Skydive is an open source real-time network topology and protocols analyzer providing a comprehensive way of understanding what is happening in your network infrastructure.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Skydive is a toolbox to monitor, visualize and troubleshoot an infrastructure.&lt;/p&gt;
&lt;p&gt;It first collects all the information about the physical and logical infrastructure : network interfaces, Linux and Openvswitch bridges, network namespaces, Docker/runc containers, Kubernetes objects, virtual machines and more. All these objects are stored into a graph to allow the operator to visualize and query the whole topology. On top of this, Skydive is able to inject, capture and analyze traffic at any point of this infrastructure - using various technics such as AFpacket, eBPF, DPDK or SFlow samples. This make possible use cases like :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;• troobleshoot dropped packets
• get metrics and bandwidth about some specific traffic
• trigger alert on some abnormal traffic detection
• get latency on the whole path of a flow
• and a lot more...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Skydive is agnostic to any SDN, container orchestration engine or virtualization platform. That being said, Skydive has plugins for specific technologies such as Kubernetes/Istio, OpenStack, Openvswitch, Network Service Mesh, OpenContrail, VPP and more.&lt;/p&gt;
&lt;p&gt;This presentation will present the architecture of Skydive and demonstrate some use cases through a demo.&lt;/p&gt;</description>
<persons>
<person id="476">Sylvain Baubeau</person>
<person id="7383">Sylvain Afchain</person>
</persons>
<links>
<link href="https://skydive.network">Project website</link>
<link href="https://github.com/skydive-project/skydive">Project source code</link>
<link href="https://submission.fosdem.org/feedback/9388.php">Submit feedback</link>
</links>
<date>2020-02-01T11:10:00+01:00</date>
</event>
<event id="10014">
<start>11:30</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>do_you_really_see_whats_happening_on_your_nfv_infra</slug>
<title>Do you really see what’s happening on your NFV infrastructure?</title>
<subtitle>(and what can you do about it?)</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;As CoSP’s accelerate their adoption of SDN and NFV technologies, the increased need for metrics, performance measurement and benchmarking becomes a focus, to ensure the continued delivery of “best in class” services. As NFV environments have grown in size and complexity, the tools required to gain this greater visibility into the NFVi need to continue to evolve to meet the requirements for manageability, serviceability and resiliency.&lt;/p&gt;
&lt;p&gt;Using Collectd as a metrics collection tool, OPNFV Barometer monitors the performance of the NFVi resources and has the capability to expose these insights via open industry standard interfaces to analytics or MANO components for potential enforcement or corrective actions. Barometer works with related open source technologies and communities (collectd, DPDK, OpenStack, Prometheus, SAF, etc.) to provide numerous metrics and events that address various different use cases such as service healing, power optimization and ensuring application QoS.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="5016">Emma Foley</person>
<person id="7040">Krzysztof Kepka</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10014.php">Submit feedback</link>
</links>
<date>2020-02-01T11:30:00+01:00</date>
</event>
<event id="10119">
<start>12:10</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>endless_network_programming</slug>
<title>Endless Network Programming − An Update from eBPF Land</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The Linux kernel networking capabilities have been undergoing major changes over the last years. At the heart of the performance gain, eBPF (extended Berkeley Packet Filter) and XDP (eXpress Data Path) have brought new possibilities in terms of tracing and network packet processing. eBPF is a trendy topic in the Linux world, and today it needs little introduction among the SDN and NFV community. But the technology is still under heavy development, bringing new features, more flexibility, and better performance to the users. This presentation is an update on the latest evolutions in the eBPF world!&lt;/p&gt;
&lt;p&gt;Many of those changes occur directly inside the eBPF subsystem architecture. New program types are being added. Early constraints such as the maximal number of instructions for programs, or the unavailability of loops, are changing. The internals are improved with support for debug information (BTF) or 32-bit instructions. And many new mechanisms are implemented, such as global data support, the “BPF trampoline”, batched map operations (in progress), XDP program chaining (in progress). Let's review all the latest trends in eBPF kernel development!&lt;/p&gt;
&lt;p&gt;But beyond kernel code, eBPF has grown as a full ecosystem, with a variety of tools used to work with it, or to build upon it. Bpftool, a reference utility to manage eBPF programs, keeps evolving. The networking projects using eBPF keep growing in number (e.g. Katran, Suricata, Sysdig, Hubble, Libkefir) or in features (e.g. Cilium). Let's review (briefly) some of those projects that assert eBPF as one of the essential fast dataplane solutions in the Linux world.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="4933">Quentin Monnet</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10119.php">Submit feedback</link>
</links>
<date>2020-02-01T12:10:00+01:00</date>
</event>
<event id="10134">
<start>12:30</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>replacing_iptables_with_ebpf</slug>
<title>Replacing iptables with eBPF in Kubernetes with Cilium</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Michal Rostecki is a Software Engineer working at SUSE. He's working on Cilium, both upstream and on integrating it with openSUSE Kubic Project and SUSE CaaS Platform.&lt;/p&gt;
&lt;p&gt;Swaminathan Vasudevan is a Software Engineer working at SUSE. Worked on Neutron Networking Upstream and currently migrating to Cilium and openSUSE Kubic Project and SUSE CaaS Platform.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Cilium is an open source project which provides networking, security and load balancing for application services that are deployed using Linux container technologies by using the native eBPF technology in the Linux kernel.
In this presentation we would talk about:
- The evolution of the BPF filters and will explain the advantages of eBPF Filters and its use cases today in Linux especially on how Cilium networking utilizes the eBPF Filters to secure the Kubernetes workload with increased performance when compared to legacy iptables.
- How Cilium uses SOCKMAP for layer 7 policy enforcement
- How Cilium integrates with Istio and handles L7 Network Policies with Envoy Proxies.
- The new features since the last release such as running Kubernetes cluster without kube-proxy, providing clusterwide NetworkPolicies, providing fully distributed networking and security observability platform for cloud native workloads etc.&lt;/p&gt;</description>
<persons>
<person id="4449">Michal Rostecki</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10134.php">Submit feedback</link>
</links>
<date>2020-02-01T12:30:00+01:00</date>
</event>
<event id="10114">
<start>12:50</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>analyzing_dpdk_applications_with_ebpf</slug>
<title>Analyzing DPDK applications with eBPF</title>
<subtitle>Sharpening the toolset</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;One of the challenges of doing software network applications is observing the inputs, outputs, and what the application is doing with them. Linux provides a rich tool set with eBPF but integrating this into a DPDK application is challenging. The DPDK libraries for capturing is incomplete which leads to lots of time debugging the tools. This talk addresses these issues, recommends solutions and proposes enhancements to make developers live easier.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The DPDK provides a limited form of packet capture, but it only works on a single interface with no filtering and inaccurate timestamps.
I go over what packet capture does now, how it can be improved, and how it can be integrated with other tracing.&lt;/p&gt;
&lt;p&gt;This talk is an extension of the talk (based on community feedback) given in 2019 at the DPDK userspace summit.&lt;/p&gt;</description>
<persons>
<person id="2453">Stephen Hemminger</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10114.php">Submit feedback</link>
</links>
<date>2020-02-01T12:50:00+01:00</date>
</event>
<event id="10091">
<start>13:10</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>xdp_and_page_pool_api</slug>
<title>XDP and page_pool API</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;XDP support is an increasing trend on the network devices. XDP main goal is
processing packets at the lowest point in the software stack avoiding
overheads. Memory recycling of received buffers achieved through
the in kernel page&lt;em&gt;pool API plays a fundamental role in the increased performance.
Adding XDP support on a driver can be non-trivial. In this talk we'll demonstrate
how porting a standard ethernet driver (mvneta/netsec) to XDP and the page&lt;/em&gt;pool API can
boost performance.
Part of the page_pool evolution involves adding the recycling support
in the kernel's SKB stack and leverage the increased performance
attributes of the API.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7082">Ilias Apalodimas</person>
<person id="7382">Lorenzo Bianconi</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10091.php">Submit feedback</link>
</links>
<date>2020-02-01T13:10:00+01:00</date>
</event>
<event id="10662">
<start>13:30</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>weave_net_an_open_source_container_network</slug>
<title>Weave Net, an Open Source Container Network</title>
<subtitle>Five years with no central point of control</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;A tour of the internals of Weave Net, one of the most popular container networks:
design challenges and lessons learned from five years in the wild. Including
Kubernetes integration and how CNI was born.&lt;/p&gt;
&lt;p&gt;Weave Net is written in Go, using many Linux kernel features such as veths, bridges and iptables.
Aimed at developers rather than network engineers, Weave Net tries to be self-configuring and
find the best available transport between nodes. The control plane operates via gossip,
with no central point of control.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="4278">Bryan Boreham</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10662.php">Submit feedback</link>
</links>
<date>2020-02-01T13:30:00+01:00</date>
</event>
<event id="9704">
<start>14:10</start>
<duration>00:50</duration>
<room>H.1308 (Rolin)</room>
<slug>rethinking_kubernetes_networking_with_srv6</slug>
<title>Rethinking kubernetes networking with SRv6 and Contiv-VPP</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Kubernetes (k8s) is currently the de-facto standard for containers orchestration. However, K8s does not provide any solution for handling containers networking. Instead, it offloads the networking to third-party certified plugins called CNI plugins. Contiv-VPP is a k8s CNI plugin that offers fast I/O by leveraging the carrier-grade capabilities of VPP and DPDK in the dataplane.&lt;/p&gt;
&lt;p&gt;The adoption of containers and microservices calls for IPv6 to provide addressing and reachability for such massive number of endpoints. SRv6 leverages the IPv6 dataplane to provide overlay networking, traffic engineering, load balancing, network policy and service chaining.&lt;/p&gt;
&lt;p&gt;In this talk, we present an SRv6-based solution for k8s networking. We will show how SRv6 is used for pod-to-pod communication, k8s services and service function chaining (SFC), and how SRv6 solves several k8s networking challenges. We will also show the integration of our solution in Contiv-VPP. This solution is the result of combined effort between Bell Canada, Cisco and Pantheon.tech.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="5984">Ahmed Abdelsalam</person>
<person id="7052">Miroslaw Walukiewicz</person>
<person id="7408">Filip Gschwandtner</person>
<person id="7409">Daniel Bernier</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9704.php">Submit feedback</link>
</links>
<date>2020-02-01T14:10:00+01:00</date>
</event>
<event id="9795">
<start>15:00</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>akraino_edge_kni_blueprint</slug>
<title>Akraino Edge KNI blueprint</title>
<subtitle>A Kubernetes Native Infrastructure approach to the Edge</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Blueprints in the Kubernetes-Native Infrastructure Blueprint Family leverage the best-practices and tools from the Kubernetes community to declaratively manage edge computing stacks at scale and with a consistent, uniform user experience from the infrastructure up to the services and from developer environments to production environments on bare metal or on public cloud.&lt;/p&gt;
&lt;p&gt;All blueprints in this family share the following characteristics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;K8s Machine API: declarative API to manage a configure the infrastructure of a cluster.&lt;/li&gt;
&lt;li&gt;Operator Framework: automated and secure lifecycle of applications running on the edge stack.&lt;/li&gt;
&lt;li&gt;Kubernetes-native workloads: allowing the mix of CNFs and VM-based workloads via Kubevirt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Come and see the leading edge!&lt;/p&gt;</abstract>
<description>&lt;p&gt;Launched in 2018, Akraino Edge Stack aims to create an open source software stack that supports high-availability cloud services optimized for edge computing systems and applications.&lt;/p&gt;
&lt;p&gt;As part of the Akraino project, Kubernetes-Native-Infrastructure blueprint family represents the reference edge stack managed as a declarative platform, where controllers monitor a system for deviations between the user-declared target state and reality and take corrective
actions to reconcile reality with the declared target state.&lt;/p&gt;
&lt;p&gt;KNI blueprints cover up two different use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provider Access Edge: as part of the network transformation, telco operators are moving to run its radio access network in a cloud-native manner. Technologies like vRAN will be only possible with a declarative approach, and leveraging open networking best practices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Industrial Edge: workloads such IoT, AI/ML, AR/VR, and ultra-low latency control will be run in the edge. These workloads will require specific hardware such GPUs and FPGAs. KNI can show how this needs can be a reality today.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With Kubernetes Native Infrastructure learn about the k8s way of managing infrastructure. By defining a declarative state, the edge administrator will be able to manage thousands of sites by following an innovative GitOps approach.&lt;/p&gt;
&lt;p&gt;If you are interested in these exciting topics, don't miss the talk!&lt;/p&gt;</description>
<persons>
<person id="5262">Yolanda Robla Mota</person>
<person id="5936">Ricardo Noriega</person>
</persons>
<links>
<link href="https://oglok.github.io/2019-09-26-Akraino-Edge-KNI/">Blogpost about Akraino KNI</link>
<link href="https://www.lfedge.org/projects/akraino/release-1/kubernetes-native-infrastructure-provider-access-edge/">Akraino Wiki for KNI PAE</link>
<link href="https://submission.fosdem.org/feedback/9795.php">Submit feedback</link>
</links>
<date>2020-02-01T15:00:00+01:00</date>
</event>
<event id="9500">
<start>15:40</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>fast_quic_sockets_for_cloud_networking</slug>
<title>Fast QUIC sockets for cloud networking</title>
<subtitle>Using vector packet processing for QUIC acceleration and offload</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;QUIC was introduced by Google to move the transport protocol implementation out of the kernel, and is now being standardized in the IETF. It provides both encryption and multiplexing, and will be the default transport for HTTP/3. In this talk we'll present the work we've done investigating whether QUIC would benefit from vectorized packet processing, the impact it has on performance and how it can be consumed by external applications.&lt;/p&gt;
&lt;p&gt;VPP (vector packet processing) is a fast network data plane, part of the Linux Foundation FD.io project providing fast network functions on top of DPDK. It provides an optimized support of TCP &amp;amp; UDP allowing significant performance improvements. In this presentation, we'll discuss:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How we took advantage of the open source protocol implementation quicly and vpp's hoststack, to implement fast QUIC sockets.&lt;/li&gt;
&lt;li&gt;How this can be consumed by external applications and to what ends.&lt;/li&gt;
&lt;li&gt;What this enables regarding hardware and software offloads.&lt;/li&gt;
&lt;/ul&gt;
</abstract>
<description/>
<persons>
<person id="6508">Nathan Skrzypczak</person>
<person id="6509">Aloys Augustin</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9500.php">Submit feedback</link>
</links>
<date>2020-02-01T15:40:00+01:00</date>
</event>
<event id="9813">
<start>16:20</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>mixing_kool_aids</slug>
<title>Mixing kool-aids! Accelerate the internet with AF_XDP &amp; DPDK</title>
<subtitle/>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;&quot;With its recent advancements, AF&lt;em&gt;XDP is gaining popularity in the high performance packet processing space. As a result, existing frameworks for packet processing, such as DPDK, are integrating AF&lt;/em&gt;XDP support to provide more options for moving packets to user space applications. The challenge with such integration is that both AF_XDP and frameworks like DPDK have their own assumptions and constraints about such things as, for example, how to align or manage packet buffers, making the integration less straight forward than it might appear at first glance.&lt;/p&gt;
&lt;p&gt;This talk takes a look at the usability of AF&lt;em&gt;XDP pre-kernel v5.4, before diving into the recent challenges we encountered when integrating DPDK and AF&lt;/em&gt;XDP, and how we made changes (on both sides) to allow the two to work together in a much more seamless manner.&quot;&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="5135">Ciara Loftus</person>
<person id="6005">Kevin Laatz</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9813.php">Submit feedback</link>
</links>
<date>2020-02-01T16:20:00+01:00</date>
</event>
<event id="9269">
<start>16:40</start>
<duration>00:40</duration>
<room>H.1308 (Rolin)</room>
<slug>dial_your_networking_code_up_to_11</slug>
<title>Dial your Networking Code up to 11</title>
<subtitle>Vectorizing your network app to break the performance barrier</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Modern CPUs provide a wide variety of Single-instruction-multiple-data (SIMD) instructions, or vector instuctions, for operating on larger blocks of data than with regular instructions. Though thought of by many programmers primarily as instructions for doing calculations in parallel on arrays of data, these vector instructions can actually be used in other ways to accelerate packet processing applications. This talk goes through a number of examples in open-source projects, such as DPDK and OVS, where vector instructions have been used to boost performance significantly, and explains the general techniques used that can be applied to other applications.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The talk focuses on the work done on DPDK and OVS to leverage the SSE and AVX instruction sets for packet acceleration. It shows how the different tasks to be performed in those applications can be mapped to SIMD instructions, and presents general guidelines on how to think about packet processing work from a vectorization viewpoint. It also discusses some considerations in application design so as to allow the app to run with best performance on a variety of platforms, each of which may have different instruction sets available.&lt;/p&gt;</description>
<persons>
<person id="6263">Bruce Richardson</person>
<person id="6588">Harry van Haaren</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9269.php">Submit feedback</link>
</links>
<date>2020-02-01T16:40:00+01:00</date>
</event>
<event id="9502">
<start>17:20</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>userspace_networking_how_to_have_your_cake_and_eat_it_too_thanks_to_rdma</slug>
<title>Userspace networking: beyond the kernel bypass with RDMA!</title>
<subtitle>Using the RDMA infrastructure for performance while retaining kernel integration</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;While userspace networking has demonstrated great performance benefits, it does come with greater complexity than kernel networking.&lt;/p&gt;
&lt;p&gt;In parallel, Remote Direct Memory Access (RDMA) was developed as an efficient way to move data in HPC and storage clusters with great success.&lt;/p&gt;
&lt;p&gt;Key properties of this technology are also highly desirable for userspace networking: native integration with the operating system (OS), OS bypass and a very efficient software interface.
RDMA-capable network adapters are now enabling standard Ethernet networking functions through the RDMA interface, allowing userspace networking software such as &lt;a href=&quot;https://fd.io&quot;&gt;VPP&lt;/a&gt; to achieve extreme performance while integrating transparently with the OS.&lt;/p&gt;
&lt;p&gt;We'll present:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the RDMA Ethernet concepts, architecture and interfaces&lt;/li&gt;
&lt;li&gt;how VPP leverages it&lt;/li&gt;
&lt;li&gt;the problems solved by this architecture and the usecase it enables&lt;/li&gt;
&lt;/ul&gt;
</abstract>
<description/>
<persons>
<person id="6539">Benoît Ganne</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9502.php">Submit feedback</link>
</links>
<date>2020-02-01T17:20:00+01:00</date>
</event>
<event id="9734">
<start>17:40</start>
<duration>00:20</duration>
<room>H.1308 (Rolin)</room>
<slug>vita_high_speed_traffic_encryption_on_x86_64</slug>
<title>Vita: high-speed traffic encryption on x86_64 with Snabb</title>
<subtitle>Coming to your cloud with XDP, AVF, and Kubernetes integration</subtitle>
<track>Software Defined Networking</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Vita is a high-performance IPsec VPN gateway designed with medium and large network operators in mind. It is written in a high-level language (Lua) using the Snabb networking toolkit and achieves high performance via networking in userspace, i.e. bypassing the kernel network stack.&lt;/p&gt;
&lt;p&gt;This talk will discuss Vita and how it was developed using Snabb. Topics include: fast software networking using a dynamic, high-level language; cryptographic ciphers implemented in software software accelerated by x86 extensions; modern cryptography; limiting complexity; multi-core scaling; YANG enabled control planes; minimalist NIC drivers.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="6923">Max Rottenkolber</person>
</persons>
<links>
<link href="https://github.com/inters/vita/#-">Vita project page</link>
<link href="https://blog.ipspace.net/2019/02/high-speed-ipsec-on-snabb-switch-on.html">High-Speed IPsec with Snabb on Software Gone Wild</link>
<link href="https://submission.fosdem.org/feedback/9734.php">Submit feedback</link>
</links>
<date>2020-02-01T17:40:00+01:00</date>
</event>
</room>
<room name="H.1309 (Van Rijn)">
<event id="10654">
<start>10:30</start>
<duration>00:05</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_opening</slug>
<title>DNS Devroom Opening</title>
<subtitle/>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Welcome to the DNS DevRoom&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="1325">Shane Kerr</person>
<person id="3076">Pieter Lexis</person>
<person id="3270">Peter van Dijk</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10654.php">Submit feedback</link>
</links>
<date>2020-02-01T10:30:00+01:00</date>
</event>
<event id="10207">
<start>10:35</start>
<duration>00:30</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_openstack</slug>
<title>DNS Management in OpenStack</title>
<subtitle>What is the OpenStack DNS API?</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;All major clouds have integrated DNS management these days, and OpenStack is one of them. We will run through the OpenStack DNS (Designate) project - how it works, why we laid it out the way we did, how you can use it, and how other OpenStack components can leverage it.&lt;/p&gt;</abstract>
<description>&lt;p&gt;We will run through the general architecture of the project, and show how we can remain a simple control layer over multiple DNS servers and service providers.&lt;/p&gt;
&lt;p&gt;We will show how you can run Designate stand alone, as a multi tenant API for managing DNS inside your company, and how you can use the ability to have multiple pools of servers available for multiple purposes.&lt;/p&gt;
&lt;p&gt;Finally we will show the myriad of both OpenStack and other Open Source software integrations for DNS management, and DNS-01 ACME validation.&lt;/p&gt;</description>
<persons>
<person id="2777">Graham Hayes</person>
</persons>
<links>
<link href="https://docs.openstack.org/designate/latest/">Project Docs</link>
<link href="https://docs.openstack.org/api-ref/dns/">OpenStack DNS API</link>
<link href="https://submission.fosdem.org/feedback/10207.php">Submit feedback</link>
</links>
<date>2020-02-01T10:35:00+01:00</date>
</event>
<event id="10508">
<start>11:10</start>
<duration>00:30</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_hashdns</slug>
<title>HashDNS and FQDNDHCP</title>
<subtitle>IPv6 DNS configuration made easy</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Would you like a DNS server for IPv6 where adding a new node is as simple as typing in its name?
If the answer is yes, try HashDNS.&lt;/p&gt;</abstract>
<description>&lt;p&gt;IPv6 autoconfiguration methods can give addresses to interfaces but do not provide any means of configuring the DNS. So autoconfiguration is suitable for clients. If a host has to act as a server, it must have a fully qualified domain name and the DNS service has to map its name to its IP address.&lt;/p&gt;
&lt;p&gt;In the Internet of Thread scenario, the number of network nodes can be orders of magnitude higher than before, as each process or thread can be a node. This idea of hash based IPv6 addresses is a viable solution to the problem to manage the DNS resolution in IoTh environments.&lt;/p&gt;
&lt;p&gt;The host part of an IPv6 address can be computed as the result of a hash function computer on the fully qualified domain name.&lt;/p&gt;
&lt;p&gt;In this way it is possible to write a DNS server able to resolve the addresses of any hostname in a sub-domain provided the network prefix of that sub-domain.&lt;/p&gt;
&lt;p&gt;The installation of a new node of the network (computer, namespace, IoTh process) is as simple as providing it with its IPv6 address (the one obtained by concatenating the network prefix and the host address computed by the hash function).&lt;/p&gt;
&lt;p&gt;There is no need to change the configuration of the DNS.&lt;/p&gt;
&lt;p&gt;Actually the installation of a new node (or its renaming) is even simpler than that. The host can use a DHCP service designed to get the right address from the DNS server given its fully qualified domain name.&lt;/p&gt;
&lt;p&gt;So a system administrator has nothing to do more than assigning the new node its name. (They have just to baptize the new node)&lt;/p&gt;</description>
<persons>
<person id="2639">Renzo Davoli</person>
</persons>
<links>
<link href="https://github.com/rd235/vde_dnsutils">dnsultils project</link>
<link href="http://wiki.virtualsquare.org/">virtualsquare</link>
<link href="https://submission.fosdem.org/feedback/10508.php">Submit feedback</link>
</links>
<date>2020-02-01T11:10:00+01:00</date>
</event>
<event id="10347">
<start>11:45</start>
<duration>00:20</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_djbdnscurve</slug>
<title>State of djbdnscurve6</title>
<subtitle>IPv6 LLU address support</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The fehQlibs and djbdnscurve6 provide both a DNS library which support IPv6 LLU addresses. The inclusion and use of IPv6 LLU addresses is discussed. While the typical Unix /etc/resolv.conf is applied system-wide and the Microsoft Window's pendent works interface-dependent, here application specific DNS settings can be used.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Overview:
1. Background and heritage on fehQlibs and djbdnscurve6
2. Application specific DNS resolver settings
3. Integration of IPv6 LLU addresses - benefits
4. Integration of IPv6 LLU addresses - recipe
5. Outlook and future challenges&lt;/p&gt;</description>
<persons>
<person id="6793">Erwin Hoffmann (feh)</person>
</persons>
<links>
<link href="https://www.fehcom.de/ipnet/djbdnscurve6.html">DJBDNSCurve6</link>
<link href="https://submission.fosdem.org/feedback/10347.php">Submit feedback</link>
</links>
<date>2020-02-01T11:45:00+01:00</date>
</event>
<event id="9451">
<start>12:10</start>
<duration>00:20</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_doh_dot_testing</slug>
<title>Testing DoH and DoT servers, compliance and performance</title>
<subtitle/>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Of course, encrypting DNS is necessary for privacy and security, like
for every other Internet protocol. That's why DoT and DoH deployment
is very important, so that users could safely go to a resolver they
trust. Now, it is time to assert the technical compliance and
performance of these trusted resolvers. We will talk about the things
that could and should be tested against DoT and DoH servers and how to
implement it. We will then discuss performance measurements, specially
with the opportunities brought by parallelism (both in DoT and DoH)
and the challenges they create for measurements.
This talk will be inspired by the development of a tool which is, at
this stage, in a very alpha state.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="5216">Stéphane Bortzmeyer</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9451.php">Submit feedback</link>
</links>
<date>2020-02-01T12:10:00+01:00</date>
</event>
<event id="10142">
<start>12:35</start>
<duration>00:30</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_bind9_codequality</slug>
<title>Improving BIND 9 Code Quality</title>
<subtitle>Why is concurrent programming so hard?</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;BIND 9 consists of a huge and old codebase. In this talk, I would like you to show all the available tools that we use on regular basis to improve, refactor and make the BIND 9 code safer. I'll show the examples of various Google/LLVM Sanitizers, cppcheck, LLVM scan-build and semantic patching using coccinelle.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="2795">Ondřej Surý</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10142.php">Submit feedback</link>
</links>
<date>2020-02-01T12:35:00+01:00</date>
</event>
<event id="9328">
<start>13:10</start>
<duration>00:30</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_unwind</slug>
<title>unwind(8)</title>
<subtitle>A privilege-separated, validating DNS recursive nameserver for every laptop</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;DNS is easy. You type fosdem.org in your browser's address bar, hit enter and you will be greeted by your favorite open-source event's start page. Actually...&lt;/p&gt;</abstract>
<description>&lt;p&gt;We will introduce unwind(8) - an always-running, validating DNS recursive nameserver, answering queries on localhost (127.0.0.1). We will explain its privilege-separated design and show that it is secure to run this daemon by default. We will then show how its novel approach of observing changes in network location and actively probing the quality of the local network improve the user experience in DNS resolution. The focus will be on laptops that move through many networks, some good, some bad, some outright hostile.&lt;/p&gt;
&lt;p&gt;We will compare unwind(8) to prior solutions and show how its design enables it to run without user intervention.&lt;/p&gt;</description>
<persons>
<person id="6635">Florian Obser</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9328.php">Submit feedback</link>
</links>
<date>2020-02-01T13:10:00+01:00</date>
</event>
<event id="9415">
<start>13:45</start>
<duration>00:15</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_catz</slug>
<title>extending catalog zones</title>
<subtitle>auto-maintain DNS servers</subtitle>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract/>
<description/>
<persons>
<person id="6710">Leo Vandewoestijne</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/9415.php">Submit feedback</link>
</links>
<date>2020-02-01T13:45:00+01:00</date>
</event>
<event id="10611">
<start>14:05</start>
<duration>00:20</duration>
<room>H.1309 (Van Rijn)</room>
<slug>dns_minimizing_any</slug>
<title>The Different Ways of Minimizing ANY</title>
<subtitle/>
<track>DNS</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The DNS Protocol has features that have grown to become liabilities. The query type &quot;ANY&quot; is one. Earlier this year a published RFC document describes how a DNS server may respond to such queries while reducing the liability. But the document does not define a definitive means for a server to signal that it is differing from the original protocol. This presentation measures of the impact of having no definitive means specified and examines the &quot;fear, uncertainty, and doubt&quot; of lacking explicit signals.&lt;/p&gt;</abstract>
<description>&lt;p&gt;The &quot;minimal ANY responses&quot; RFC (Providing Minimal-Sized Responses to DNS Queries That Have QTYPE=ANY, a.k.a. RFC 8482) results in about 1% of the TLD nameservers indicating they are minimizing ANY responses.
That's (only) about 250 cases.
What is troubling is that there are about 9 different responses observed to indicate the response is &quot;minimized&quot;
9 different ways in just 250 samples, &quot;fuzzing&quot; the protocol
The morale of this tale is that &quot;fuzzying&quot; the protocol is worrisome.  (Not that minimizing ANY is a bad thing.)&lt;/p&gt;</description>
<persons>
<person id="6128">Edward Lewis</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10611.php">Submit feedback</link>
</links>
<date>2020-02-01T14:05:00+01:00</date>
</event>
<event id="10552">
<start>15:00</start>
<duration>00:35</duration>
<room>H.1309 (Van Rijn)</room>
<slug>webperf_boomerang_optimisation</slug>
<title>Check Yourself Before You Wreck Yourself</title>
<subtitle>Auditing and Improving the Performance of Boomerang</subtitle>
<track>Web Performance</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Boomerang is an open-source Real User Monitoring (RUM) JavaScript library used by thousands of websites to measure their visitor's experiences. The developers behind Boomerang take pride in building a reliable and performant third-party library that everyone can use without being concerned about its measurements affecting their site. We recently performed and shared an audit of Boomerang's performance, to help communicate its &quot;cost of doing business&quot;, and in doing so we found several areas of code that we wanted to improve. We'll discuss how we performed the audit, some of the improvements we've made, how we're testing and validating our changes, and the real-time telemetry we capture for our library to ensure we're having as little of an impact as possible on the sites we're included on.&lt;/p&gt;</abstract>
<description>&lt;p&gt;Boomerang is an open-source Real User Monitoring (RUM) JavaScript library used by thousands of websites to measure their visitor's experiences.&lt;/p&gt;
&lt;p&gt;Boomerang runs on billions of page loads a day, either via the open-source library or as part of Akamai's mPulse RUM service. The developers behind Boomerang take pride in building a reliable and performant third-party library that everyone can use without being concerned about its measurements affecting their site.&lt;/p&gt;
&lt;p&gt;Recently, we performed and shared an audit of Boomerang's performance, to help communicate the &quot;cost of doing business&quot; of including Boomerang on a page while it takes its measurements. In doing the audit, we found several areas of code that we wanted to improve and have been making continuous improvements ever since. We've taken ideas and contributions from the OSS community, and have built a Performance Lab that helps &quot;lock in&quot; our improvements by continuously measuring the metrics that are important to us.&lt;/p&gt;
&lt;p&gt;We'll discuss how we performed the audit, some of the improvements we've made, how we're testing and validating our changes, and the real-time telemetry we capture on our library to ensure we're having as little of an impact as possible on the sites we're included on.&lt;/p&gt;</description>
<persons>
<person id="7299">Nic Jansma</person>
</persons>
<links>
<link href="https://github.com/akamai/boomerang">Boomerang on Github</link>
<link href="https://nicj.net/an-audit-of-boomerangs-performance/">Boomerang Performance Audit</link>
<link href="https://submission.fosdem.org/feedback/10552.php">Submit feedback</link>
</links>
<date>2020-02-01T15:00:00+01:00</date>
</event>
<event id="9742">
<start>15:40</start>
<duration>00:35</duration>
<room>H.1309 (Van Rijn)</room>
<slug>webperf_qoe_research</slug>
<title>Metrics and models for Web performance evaluation</title>
<subtitle>or, How to measure SpeedIndex from raw encrypted packets, and why it matters</subtitle>
<track>Web Performance</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;The World Wide Web is still among the most prominent Internet applications. While the Web landscape has been in perpetual movement since the very beginning,
these last few years have witnessed some noteworthy proposals such as SPDY, HTTP/2 and QUIC, which profoundly reshape the application-layer protocols family.
To measure the impact of such changes, going beyond the classic W3C notion of page load time, a number of Web performance metrics has been proposed (such as
SpeedIndex, Above-The-Fold and variants). At the same time, there is still a limited amount of understanding on how these metrics correlate with the user
perception (e.g., such as user ratings, user-perceived page load time, etc.). In this talk, we discuss the state of the art in metrics and models for Web
performance evaluation, and their correlation with user experience through several real-world studies. Additional information, software and datasets are
available at https://webqoe.telecom-paristech.fr&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="6928">Dario Rossi</person>
</persons>
<links>
<link href="https://webqoe.telecom-paristech.fr">https://webqoe.telecom-paristech.fr</link>
<link href="https://submission.fosdem.org/feedback/9742.php">Submit feedback</link>
</links>
<date>2020-02-01T15:40:00+01:00</date>
</event>
<event id="10539">
<start>16:20</start>
<duration>00:35</duration>
<room>H.1309 (Van Rijn)</room>
<slug>webperf_font_loading</slug>
<title>Hint, Hint, Font Loading Matters!</title>
<subtitle>Fonts are lovely but can slow down our loads. How can we make them faster?</subtitle>
<track>Web Performance</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;We all love fonts. From Google Fonts to Typekit, Hoefler&amp;amp;Co and more, they give character and tone to our websites. The down side of fonts is that they can really slow down our loads. In this talk we'll learn about common pitfalls like critical requests depth and how to use resource hints to play tricks with latency to load web applications faster. We'll walk through a network profile to understand what's going on in the browser and how to make it faster.&lt;/p&gt;</abstract>
<description/>
<persons>
<person id="7292">Sia Karamalegos</person>
</persons>
<links>
<link href="https://submission.fosdem.org/feedback/10539.php">Submit feedback</link>
</links>
<date>2020-02-01T16:20:00+01:00</date>
</event>
<event id="9304">
<start>17:00</start>
<duration>00:35</duration>
<room>H.1309 (Van Rijn)</room>
<slug>webperf_http_prioritization</slug>
<title>The ultimate guide to HTTP resource prioritization</title>
<subtitle>How to make sure your data arrives at the browser in the optimal order</subtitle>
<track>Web Performance</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&gt;Come learn about how browsers try to guess in what order web page resources should be loaded and how servers use that information to often (accidentally) make your web page slower instead.
We look at what resource prioritization is, how it's often implemented terribly in modern HTTP/2 stacks and how we're trying to fix it in QUIC and HTTP/3.
We use clear visualizations and images to help explain the nuances in this complex topic and also muse a bit on whether prioritization actually has that large an impact on web performance.&lt;/p&gt;</abstract>
<description>&lt;p&gt;HTTP/2 started the move from multiple parallel TCP connections to a single underlying pipe. QUIC and HTTP/3 continue that trend.
While this reduces the connection overhead and lets congestion controllers do their work, it also means we no longer send data in a truly parallel fashion.
As such, we need to be careful about how exactly we send our resource data, as some files are more important than others to achieve good web performance.&lt;/p&gt;
&lt;p&gt;To help regulate this, HTTP/2 introduced a complex prioritization mechanism. Browsers use complex heuristics to try and estimate the importance of a resource and, with various success, communicate their preferences to the servers.
It has however become clear that this scheme does not work well in practice. Between server implementation bugs, questionable browser choices and bufferbloat in caches and network setups, HTTP/2 prioritization is sometimes more a liability than a useful feature.&lt;/p&gt;
&lt;p&gt;For this reason, this feature is being completely reworked in HTTP/3 over QUIC. However, there a whole new can of worms is opened.
One of QUIC's main features for improving performance over TCP is that it removes &quot;head of line blocking&quot;: if one resource suffers packet loss, other can still make progress.
That is... if there are other resources in progress! What performs well for lossy links turns out to be exactly what to prevent for high speed connections.&lt;/p&gt;
&lt;p&gt;Along the way, we also discuss existing options for web developers to impact the browser's heuristics and server behaviour (such as resource hints (e.g., preload) and the upcoming priority hints).&lt;/p&gt;
&lt;p&gt;Finally, we question about how we got in this terrible state of things to begin with: if people made so many mistakes implementing HTTP/2 prioritization, why didn't anyone really notice until 3 years later?
Could it be its impact on web performance is actually limited? Or have we just not seen its full potential yet?&lt;/p&gt;
&lt;p&gt;We make this complex topic approachable with plenty of visualizations and animations.
The content is mainly based on our own research (and papers) and that of others in the web community, such as Patrick Meenan and Andy Davies.&lt;/p&gt;</description>
<persons>
<person id="6615">Robin Marx</person>
</persons>
<links>
<link href="https://speeder.edm.uhasselt.be/www18/">HTTP/2 prioritization paper</link>
<link href="https://h3.edm.uhasselt.be/">HTTP/3 prioritization paper</link>
<link href="https://www.slideshare.net/patrickmeenan/http2-in-practice">Patrick Meenan's deep dive</link>
<link href="https://submission.fosdem.org/feedback/9304.php">Submit feedback</link>
</links>
<date>2020-02-01T17:00:00+01:00</date>
</event>
<event id="10356">
<start>17:40</start>
<duration>00:35</duration>
<room>H.1309 (Van Rijn)</room>
<slug>webperf_chromium_development</slug>
<title>Shipping a performance API on Chromium</title>
<subtitle>Experiences from shipping the Element Timing API</subtitle>
<track>Web Performance</track>
<type>devroom</type>
<language/>
<abstract>&lt;p&