<?xml version='1.0' encoding='utf-8' ?>
<schedule>
<version>4.1</version>
<conference>
<acronym>akademy2019_</acronym>
<title>Akademy 2019</title>
<start>2019-09-07</start>
<end>2019-09-08</end>
<days>2</days>
<timeslot_duration>00:05</timeslot_duration>
<base_url>https://conf.kde.org/en/akademy2019/public</base_url>
</conference>
<day date='2019-09-07' end='2019-09-07T20:00:00+02:00' index='1' start='2019-09-07T08:00:00+02:00'>
<room name='U4-08'>
<event guid='43569a2b-580e-46e5-ab26-963b86358728' id='158'>
<date>2019-09-07T09:30:00+02:00</date>
<start>09:30</start>
<duration>00:10</duration>
<room>U4-08</room>
<slug>akademy2019_-158-opening</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/158.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Opening</title>
<subtitle>Welcome to Akademy</subtitle>
<track>Akademy</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='b1ad144b-115f-43d9-8f88-64e6dc6c080b' id='156'>
<date>2019-09-07T09:40:00+02:00</date>
<start>09:40</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-156-keynote_towards_qt_6</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/156.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Keynote: Towards Qt 6</title>
<subtitle></subtitle>
<track>Keynote</track>
<type>Presentation</type>
<language></language>
<abstract>Qt has been the basis for KDE since its inception more than 20 years ago. After 7 years with Qt 5, work has now started towards a new major version of the frameworks. The talk will go through the main ideas and goals for Qt 6, focusing on high level ideas, but also going into some concrete details. </abstract>
<description>Qt is an integral part of the KDE frameworks, and major version updates of Qt have so far always also triggered larger changes in the KDE frameworks. The talk will focus on some of the larger changes planned for Qt 6, but also go into some details where those are relevant. Many of the planned changes are still subject to discussion within the Qt project and at the Qt Contributor Summit, where KDE is also invited to contribute.

While we will try to maintain source compatibility between Qt 5 and Qt 6 to the largest degree, the new major version will certainly trigger changes in KDE as well. </description>
<logo></logo>
<persons>
<person id='117'>Lars Knoll</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/112/original/Towards_Qt_6.pdf?1568789264'>Slides</attachment>
</attachments>
</event>
<event guid='2afa775b-94d0-4446-8542-696a603d0590' id='169'>
<date>2019-09-07T10:10:00+02:00</date>
<start>10:10</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-169-coffee_break</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/169.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Coffee break</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='868f2913-a912-4098-87af-413b64e3c251' id='157'>
<date>2019-09-07T10:30:00+02:00</date>
<start>10:30</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-157-everything_to_hide_helping_protect_the_privacy_of_our_users</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/157.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Everything to hide: helping protect the privacy of our users</title>
<subtitle>what we&#39;ve achieved for the privacy goal so far</subtitle>
<track>KDE Goals</track>
<type>Panel</type>
<language></language>
<abstract>In this session several people working on parts of the privacy goal will give an overview of their work to see the progress we&#39;ve made so far.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='90'>ivan</person>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='f6d3b221-996f-4243-a841-40ed01f37a7f' id='119'>
<date>2019-09-07T11:05:00+02:00</date>
<start>11:05</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-119-konquering_the_world_are_we_there_yet</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/119.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Konquering the World: Are We There Yet?</title>
<subtitle></subtitle>
<track>KDE Goals</track>
<type>Presentation</type>
<language></language>
<abstract>Last year, Nate presented a blueprint for how KDE can Konquer the World. Our Usability &amp; Productivity Initiative in support of it is almost two years old. How are we doing, and what&#39;s left to do? Find out here!</abstract>
<description></description>
<logo></logo>
<persons>
<person id='73'>hein</person>
</persons>
<links>
<link href='https://pointieststick.com/2018/09/07/konquering-the-world/'>Konquering The World: 2018 Akademy presentation</link>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/111/original/kde_akademy2019_nate.pdf.1.0.pdf?1568605574'>Talk slides</attachment>
</attachments>
</event>
<event guid='348799c6-d5c7-45b1-9c65-20808cc8c70b' id='112'>
<date>2019-09-07T11:40:00+02:00</date>
<start>11:40</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-112-all_on_board_are_we_there_yet</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/112.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>All on board! Are we there yet?</title>
<subtitle>Streamlining the onboarding of new contributors</subtitle>
<track>KDE Goals</track>
<type>Presentation</type>
<language></language>
<abstract>The KDE mother ship has been sailing towards the &quot;Streamlined Onboarding&quot; land for almost 2 years now. I often ask myself if this goal will ever be reached. Will it ever be concluded? This talk is an attempt to answer this question. It should be interesting and hopefully inspiring to everyone in the KDE community.





</abstract>
<description>Over the course of this goal, it was not unusual for me to feel in despair as I believed I was personally not doing enough as a coordinator or that our community was under achieving.

But when I sat down to summarize all the work we have done a year after, I was awestruck! We have moved forward as a community so much in terms of onboarding newcomers. Is there still work to be done? Yes! Are we moving towards the right direction? Definitely yes! 

Join me to learn more! =)</description>
<logo></logo>
<persons>
<person id='22'>Neofytos Kolokotronis</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/114/original/Akademy_2019_NK.pdf?1569166630'>Akademy_2019_NK.pdf</attachment>
</attachments>
</event>
<event guid='5251115b-bba1-4527-805d-f9577e29a363' id='155'>
<date>2019-09-07T12:15:00+02:00</date>
<start>12:15</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-155-kde_s_goals</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/155.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KDE&#39;s Goals</title>
<subtitle>What have we achieved and what are the new goals?</subtitle>
<track>KDE Goals</track>
<type>Panel</type>
<language></language>
<abstract>Let&#39;s take a look at how far we&#39;ve come with our first set of goals and unveil the next ones.</abstract>
<description>This will be an interactive panel.</description>
<logo></logo>
<persons>
<person id='90'>ivan</person>
<person id='22'>Neofytos Kolokotronis</person>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='0f9eec51-292e-48da-9e79-12fa5aa6d0ff' id='170'>
<date>2019-09-07T12:45:00+02:00</date>
<start>12:45</start>
<duration>01:15</duration>
<room>U4-08</room>
<slug>akademy2019_-170-lunch</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/170.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Lunch</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='83c8f7f1-e8b9-41d5-8f7e-f748b15750d5' id='146'>
<date>2019-09-07T14:00:00+02:00</date>
<start>14:00</start>
<duration>00:05</duration>
<room>U4-08</room>
<slug>akademy2019_-146-run_your_meetings_with_quatbot</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/146.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Run your meetings with QuatBot</title>
<subtitle>A meeting-management bot for Matrix</subtitle>
<track>Fast Track &amp; Lightning</track>
<type>Lightning</type>
<language></language>
<abstract>libqmatrixclient -- now renamed Quotient -- is a Qt5 based framework for writing Matrix clients. One thing you can use it for is writing Matrix bots. QuatBot is an old-fashioned bot that responds to ~commands and can help run a meeting in a crowded room.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='68'>Adriaan de Groot</person>
</persons>
<links>
<link href='https://github.com/adriaandegroot/QuatBot'>Source Repo</link>
</links>
<attachments>
</attachments>
</event>
<event guid='b67752b2-d8b9-4e68-a546-026f6246df7c' id='148'>
<date>2019-09-07T14:05:00+02:00</date>
<start>14:05</start>
<duration>00:10</duration>
<room>U4-08</room>
<slug>akademy2019_-148-there_s_a_framework_for_that</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/148.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>There&#39;s a Framework for that!</title>
<subtitle>Under-appreciated corners of KF5</subtitle>
<track>Fast Track &amp; Lightning</track>
<type>Lightning</type>
<language></language>
<abstract>KCoreAddons has a bunch of unrelated parts to it; some of them are pretty cool. Here we&#39;ll spend five minutes with KMacroExpander and cousins, and look at some generic code to use any QObject as a source for expansions in text.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='68'>Adriaan de Groot</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='57066485-8a99-4387-8c24-289f94aab1d7' id='115'>
<date>2019-09-07T14:15:00+02:00</date>
<start>14:15</start>
<duration>00:05</duration>
<room>U4-08</room>
<slug>akademy2019_-115-bringing_new_contributors_to_userbase_from_reddit</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/115.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Bringing new contributors to userbase from reddit</title>
<subtitle></subtitle>
<track>Fast Track &amp; Lightning</track>
<type>Lightning</type>
<language></language>
<abstract>In this small presentation, I will explain my current experience onboarding new contributors to the userbase wiki. </abstract>
<description>This presentation is interesting for those interested in the current community goal: Streamlined Onboarding of New Contributors. </description>
<logo></logo>
<persons>
<person id='94'>Carl Schwan</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/117/original/presentation.pdf?1571085305'>Slides</attachment>
</attachments>
</event>
<event guid='21ba96bd-322a-48a6-8391-e4c8c86469b6' id='122'>
<date>2019-09-07T14:20:00+02:00</date>
<start>14:20</start>
<duration>00:10</duration>
<room>U4-08</room>
<slug>akademy2019_-122-organising_a_kde_sprint</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/122.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Organising a KDE Sprint</title>
<subtitle></subtitle>
<track>Fast Track &amp; Lightning</track>
<type>Lightning</type>
<language></language>
<abstract>Meeting in person and interacting is an opportunity and a privilege we have thanks to our sponsors and donors.
I&#39;d like to explain how the process usually works to make sure the community is aware and feels empowered to organise them.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='28'>Aleix Pol Gonzalez</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='a3d8a4cc-64b4-4f32-b60f-c61e3c3a0ca8' id='109'>
<date>2019-09-07T14:35:00+02:00</date>
<start>14:35</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-109-plasma_for_embedded_devices</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/109.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Plasma for embedded devices</title>
<subtitle>KDE technologies on &quot;totally not a desktop&quot; devices</subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>Plasma is not only Desktop, as shown by our effort in Plasma Mobile project, but we can go even further than that.

The talk will make the case that Plasma and other KDE technologies are ready for embedded development on single-purpose ARM devices, analyzing real world use cases, both from an UI and hardware adaptation standpoints.
The talk will analyse Plasma Mobile and a voice assistant device, built with Mycroft and Plasma Shell as its sole UI.

Deploying Plasma on such devices have multiple challenges, Bhushan Will talk about them and solutions offered by KDE community. Marco will talk about how is possible to have a completely different plasma based user interface which even tough sharing the same runtime of Plasma Desktop, doesn&#39;t retain any Desktop-specific user interface.</abstract>
<description>Plasma is developed with multiple form-factors in mind, be it Plasma Media Center or Plasma Mobile or Smart Speakers. However most of these devices are not made with Linux distribution in mind, and lot of work goes in building a Linux distribution tailored for devices like this, and making sure KDE technology is compatible with these devices.

Bhushan will talk about hardware enablement, challenges including but not limited to graphics stacks, kernel and/or hardware limitations. He will also talk about various solutions offered by KDE community to build and deploy Linux distribution with KDE technologies to such device.

Marco will present 2 brand new Plasma shells: the one developed for the Mycroft Mark-II voice assistant, and one written for tablet devices where voice interaction is a first-class citizen, again using Mycroft for voice interaction (think about the big Alexa Echo Show).

The talk will go on describing concepts like:

* Plasma Shell Package
* Plasma Look and Feel package
* Containment
* Plasmoid
* QtQuickcontrols2 and styling
* Devices with &quot;apps&quot; and devices without

It will be described how all of those concepts play together and how to replicate.

Our hope is to spark creativity and see a flourishing ecosystem of Plasma adaptations potentially on every device with a screen.</description>
<logo></logo>
<persons>
<person id='36'>Marco Martin</person>
<person id='16'>Bhushan Shah</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='6a6c89e3-d0f7-4eaf-9fcf-c705283076be' id='121'>
<date>2019-09-07T15:10:00+02:00</date>
<start>15:10</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-121-accelerating_plasma</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/121.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Accelerating Plasma</title>
<subtitle>Quickly getting to a usable Plasma session</subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>We will explain how we got to a faster starting Plasma session. How we analysed the problems we were facing, how they were understood and finally what changes happened to get to where we are today.</abstract>
<description>This will be useful both as a celebration to achieving a better experience, but also to to see what kind of problems do we face to get to deliver better software.</description>
<logo></logo>
<persons>
<person id='28'>Aleix Pol Gonzalez</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='6eab728e-6777-452e-9b0a-9e6c7698ad78' id='141'>
<date>2019-09-07T15:45:00+02:00</date>
<start>15:45</start>
<duration>00:15</duration>
<room>U4-08</room>
<slug>akademy2019_-141-mycroft_on_plasma_automobile_demo</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/141.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Mycroft on Plasma Automobile Demo</title>
<subtitle></subtitle>
<track>Fast Track &amp; Lightning</track>
<type>FastTrack</type>
<language></language>
<abstract>Open source voice assistants aren&#39;t meant for homes and desktop&#39;s, More modern vehicles are being equipped with voice assistants to help drivers with vehicle-centric tasks, This presentation showcases a car demo with Mycroft AI powered by Plasma and Kirigami technology. </abstract>
<description>The future of open source voice assistants isn&#39;t just for home and desktops but it’s in cars and automotives, once confined to smart speakers and smartphones, proprietary voice assistants are increasingly sprouting up in cars, Mycroft AI an open source voice assistant alternative that puts the end-user in control of their privacy and in combination with Plasma and Kirigami technology can provide the right mix of open source software for future of connected cars. This presentation will showcase a car demo developed using Plasma, Kirigami and Mycroft AI technologies. The presentation will also demonstrate various Mycroft GUI based skills that can enhance the automobile experience.</description>
<logo></logo>
<persons>
<person id='43'>Aditya Mehra</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='24dd386f-f712-4e1e-8105-c9c924f22b18' id='125'>
<date>2019-09-07T16:00:00+02:00</date>
<start>16:00</start>
<duration>00:15</duration>
<room>U4-08</room>
<slug>akademy2019_-125-next_generation_notifications</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/125.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Next Generation Notifications</title>
<subtitle></subtitle>
<track>Fast Track &amp; Lightning</track>
<type>FastTrack</type>
<language></language>
<abstract>Plasma&#39;s got a new notification center! I will tell you all about it and what you as an app developer can and should do to make the user experience even greater.</abstract>
<description>This talk gives a brief rundown of the new notification center introduced in Plasma 5.16 and some of its new features and how it&#39;s architecture is designed.
More importantly, however, it explains how you as an application developer can make use of the improved notification display for a greater user experience and what to keep in mind when using them.
Finally, an outlook is given on what&#39;s to come in future versions of Plasma.</description>
<logo>/system/events/logos/000/000/125/large/preferences-desktop-notification-bell.svg.png?1558983865</logo>
<persons>
<person id='8'>Kai Uwe Broulik</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/106/original/Presentation.pdf?1567868056'>Slides</attachment>
</attachments>
</event>
<event guid='ba3cd910-907e-41b7-85c7-4ed4a052180e' id='171'>
<date>2019-09-07T16:15:00+02:00</date>
<start>16:15</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-171-coffee_break</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/171.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Coffee break</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='15a2f4b9-8912-4cd9-abb9-ba247021a334' id='116'>
<date>2019-09-07T16:35:00+02:00</date>
<start>16:35</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-116-kde_student_showcase</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/116.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KDE student showcase</title>
<subtitle></subtitle>
<track>Community</track>
<type>Panel</type>
<language></language>
<abstract>Every year a number of students join us through our students programs Google Summer of Code and Season of KDE. In this session some of them will show you what they&#39;ve been working on and talk about their experience working with the KDE community.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='f14c2a4e-ad1d-4070-8e51-a3fd3ed3cffd' id='117'>
<date>2019-09-07T17:10:00+02:00</date>
<start>17:10</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-117-kde_e_v_board_report</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/117.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KDE e.V. Board report</title>
<subtitle></subtitle>
<track>KDE e.V.</track>
<type>Presentation</type>
<language></language>
<abstract>The Board of KDE e.V. will give an overview of the activities of the past year.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='12'>Lydia Pintscher</person>
<person id='73'>hein</person>
<person id='28'>Aleix Pol Gonzalez</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='be0b936a-e20b-4346-9ec1-ce19dee26d57' id='118'>
<date>2019-09-07T17:45:00+02:00</date>
<start>17:45</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-118-kde_e_v_working_group_reports</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/118.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KDE e.V. Working Group reports</title>
<subtitle></subtitle>
<track>KDE e.V.</track>
<type>Presentation</type>
<language></language>
<abstract>The Working Groups of KDE e.V. will give an overview of their activities of the past year.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
</room>
<room name='U4-01'>
<event guid='85a644d0-bf0c-4690-ae31-91435acebdf0' id='113'>
<date>2019-09-07T14:35:00+02:00</date>
<start>14:35</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-113-testing_your_code_for_security_issues_with_automated_fuzzing</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/113.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Testing your code for security issues with automated fuzzing</title>
<subtitle></subtitle>
<track>Development</track>
<type>Presentation</type>
<language></language>
<abstract>Writing secure code that deals with potentially untrusted data (parsers, importers, etc) is always hard since there are many potential cases to take into account.

One of the techniques used to improve the security of such code is fuzzing.

Fuzzing involves providing invalid or random data to a given piece of code to test its behaviour.

Modern fuzzers are smart enough to understand what needs to be changed in the input to make the code go through a different code path making testing faster and more complete.

oss-fuzz is a Free set of tools to make fuzzing of C/C++ code easier.
It is comprised of various scripts and docker images, which, for example, have the base system libraries already compiled with the sanitizers.

Coupling a fuzzer with the compiler sanitizers (asan, ubsan, msan) gives even better results since these sanitizers will make sure the code is run more strictly.

In this session we&#39;ll show how to fuzz a C++ codebase, as well as give you an update on how we&#39;re using these tools.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='5'>Albert Astals Cid</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/115/original/ossfuzz.pdf?1569183492'>Slides</attachment>
</attachments>
</event>
<event guid='9e5d3001-3e31-4dfb-861a-906c55979a55' id='135'>
<date>2019-09-07T15:10:00+02:00</date>
<start>15:10</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-135-secure_http_usage</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/135.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Secure HTTP usage</title>
<subtitle>How hard can it be?</subtitle>
<track>Development</track>
<type>Presentation</type>
<language></language>
<abstract>For protecting the privacy of our users and the security and integrity of their systems, usage of transport encryption and authentication is crucial for any network communication. HTTP over TLS (HTTPS) is probably the most widespread set of protocols for that. What do we need to look out for when using this in our applications?
</abstract>
<description>In this talk we will look at how to implement secure network communication in libraries or applications, using the methods available in Qt (QNetworkAccessManager, QSslSocket) and KDE Frameworks (KIO, KTcpSocket). Unfortunately, both have their own set of pitfalls and limitations one needs to be aware of.

Besides successfully establishing secure connections, we will cover handling and testing of TLS error scenarios, as well as how to apply additional security mechanisms like HTTP Strict Transport Security (HSTS).

Knowing how to implement and use this correctly however only solves part of the problem, we will therefore also look at ways to identify insecure network operations in our existing code base.</description>
<logo></logo>
<persons>
<person id='7'>Volker Krause</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/105/original/kde-akademy2019-secure-http-usage.pdf?1567864045'>Slides</attachment>
</attachments>
</event>
<event guid='141c6477-e235-46c6-bfc5-ca0f34fa8279' id='126'>
<date>2019-09-07T15:45:00+02:00</date>
<start>15:45</start>
<duration>00:15</duration>
<room>U4-01</room>
<slug>akademy2019_-126-why_your_community_needs_a_developer_portal</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/126.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Why Your Community Needs a Developer Portal</title>
<subtitle></subtitle>
<track>Community</track>
<type>Presentation</type>
<language></language>
<abstract>How can a community like KDE benefit from a developer portal...and what is a developer portal, anyway? This talk aims to answer those questions, and offers practical advice for building a developer portal. The insights from this session can serve as guidance and inspiration to all contributors who want to make sure their community keeps growing and thriving.  </abstract>
<description>As creators of Free and open source software, we put our users first. We do our best to deliver products they will enjoy using, and we support them in a number of ways - from packaging and troubleshooting to localization and documentation.

But what about the developers?

Developers are our users, too - they just use our software in a different way. While it&#39;s true they are usually self-reliant and perfectly capable of figuring out how stuff works, they do appreciate not having to waste time hunting down information. This is where developer portals step in as an invaluable tool for any community that cares about its developers - old or new; experienced or beginners; volunteers or paid. 

Offering a developer portal as a centralized point for knowledge management and sharing sends a powerful message about a community, which is why more FOSS communities should embrace the idea of building one. Of course, despite the name, it&#39;s not only the developers who benefit from a developer portal. It can provide significant leverage in terms of onboarding, marketing, and collaboration with other communities or even businesses. 

How does one build a developer portal, though? In this talk, we&#39;ll look at some best practices, useful tools, and common approaches. A developer portal is not just a collection of API docs - it has the potential to house many forms of content and provide support to different types of contributors. As with other similar solutions, it&#39;s all about tailoring it to your own needs. Over the last year, the KDE community has invested significantly into improving its developer documentation. This means the groundwork has already been laid, the wheels are in motion, and the right time to build a developer portal is - now!</description>
<logo></logo>
<persons>
<person id='57'>Ivana Isadora Devcic</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='113c5a6c-7849-4d06-ad48-7a195a30779e' id='151'>
<date>2019-09-07T16:00:00+02:00</date>
<start>16:00</start>
<duration>00:15</duration>
<room>U4-01</room>
<slug>akademy2019_-151-how_do_i_know_if_i_m_making_a_difference_in_building_an_open_source_community</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/151.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>How do I know if I&#39;m making a difference in building an Open Source Community?</title>
<subtitle></subtitle>
<track>Community</track>
<type>FastTrack</type>
<language></language>
<abstract>There are plenty of metrics that are available to measure the health of open source communities. When assessing your contribution to the community, it&#39;s important to go beyond quantifiable metrics and also look at areas such as building a sense of community, addressing members&#39; (often intrinsic) motivation, fostering a diverse community, etc. 

In this session, there will be a discussion on both quantifiable and non-quantifiable contributions to open source community health. There will also be a discussion on revisiting community goals as the community evolves over time. </abstract>
<description>Anyone interested in fostering &amp; sustaining an open source community will be interested in this session. Beyond community managers, everyone including developers, translators, users, writers, etc. needs to have an interest in community health. </description>
<logo></logo>
<persons>
<person id='116'>rpaik</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
</room>
</day>
<day date='2019-09-08' end='2019-09-08T20:00:00+02:00' index='2' start='2019-09-08T08:00:00+02:00'>
<room name='U4-08'>
<event guid='31b2e98d-67f9-4fbc-b07c-86e61c49a15a' id='159'>
<date>2019-09-08T09:30:00+02:00</date>
<start>09:30</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-159-keynote_developers_italia_and_the_new_guidelines_let_the_open_source_revolution_start</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/159.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Keynote: Developers Italia and the New Guidelines: Let the Open Source Revolution Start!</title>
<subtitle></subtitle>
<track>Keynote</track>
<type></type>
<language></language>
<abstract>The recently published guidelines on the acquisition and reuse of software for public administration open up a new page in the digital transformation of Italy. In fact, all the software developed or commissioned by Italian government entities must be open source from now on. As such, this disruptive approach changes the way the procurement is made by introducing new collaborative development models which are of interest also for small/medium software houses.
Developers Italia, the community of public service developers, hosts the national catalogue and provides a set of tools to make the overall onboarding process as smooth as possible. In particular, a new specification, namely publiccode.yml, has been designed in order to specify the metadata description regarding a certain software and this is crucial to create a faithful description page in the catalogue.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='122'>Leonardo Favario</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='835fa888-4a3a-4388-8c6c-96cdc285e724' id='160'>
<date>2019-09-08T10:05:00+02:00</date>
<start>10:05</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-160-ngi0_come_work_for_the_internet</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/160.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>NGI0: Come work for the internet</title>
<subtitle></subtitle>
<track></track>
<type></type>
<language></language>
<abstract>The Next Generation Internet initiative is the first real opportunity to put significant public funding to work to really fix the post-Snowden internet. NGI was bootstrapped in 2016 at the initiative of the European Commission. The ambition of NGI is &quot;to re-imagine and re-engineer the internet for the third millennium and beyond&quot; - and that is actually not exaggerating the importance of the effort. The internet impacts and shapes all of our modern society, and so it needs to be trustworthy and sustainable, both societally, economically and environmentally. And it needs to be robust and resilient, so our society can responsibly rely on it. As a technical community we need to think and invent ahead to actually deliver security, fairness and privacy by design.

During this talk, Michiel Leenaars will present NGI Zero - a unique collaborative grantmaking effort built on decades of not-for profit expertise, with its pedigree tracing back to the introduction of internet in Europe in the eighties of the previous century.</abstract>
<description>NGI Zero is focused on projects between 5k euro and 50k euro - with the potential to scale up  to 200k if successful. What is unique to NGI is that the program not just makes money available, but also delivers deep support to independent innovators and the community. Even the best researchers and developers are after all mere humans. The demands on technology that should actually run at scale on the modern internet today are huge, and continuously changing. Having a brilliant idea that might just work, does not automatically mean that you know how to make your solution accessible to blind people, how to set up continuous integration and reproducible builds, how to orchestrate a responsible disclosure procedure, how to make sure that your application can be used with different languages and be properly localised to be compatible with different cultures, how to engineer secure software and what state of the art attack vectors you would better deal with, how to engage with standards setting organisations, how to nurture and grow a developer community, how to write end user documentation, which software license best fits the goals of the project, how to deal with software patent trolling, how to support diversity with regards to gender and social identity, what considerations to take into account for software to be packaged by distributions, etcetera. NGI Zero involves not-for-profit specialists from each of these domains to help out.

What is also unique is that NGI0 was designed to engage with grassroots expertise and wants to bring together the strengths of the technical and operational community of the internet, the free and open source community, the accessibility community, the FOSS legal community, and the diverse and rich ecosystem of people that actually care about making suitable building blocks for the future internet. NGI Zero is about real solutions. To prove that point, the outcomes of each of the projects are independently verified by a third party security company and each of the projects is officially certified with regards to the Web Content Accessibility Guidelines. This means that the outcomes are also accessible to people that are for instance blind. The goal of the NGI Zero community is to serve the real innovators that built the internet, and actively engage those that keep it running and push it forward independent of corporate agendas. This will help to make every cent count to get us towards a Next Generation Internet that lives up to our expectations and needs.

Currently, NGI Zero consists of two connected trailblazer programmes to the NGI initiative: NGI0 PET and NGI0 Discovery. NGI0 PET revolves around &quot;privacy and trust enhancing techologies&quot;. That may sound abstract, but it really means fixing weak parts and technical debt all over todays technology stack. NGI0 Discovery revolves around search, discovery and discoverability. As soon as you open up your phone or computer, chances are you will search for something: a person, an online service or some internal notes. Search is what propels us across in the ocean of information. How do we make sure that the core human values we hold high as society are strengthened rather than anything else?

In just a few months, already over 100 very interesting projects have been bootstrapped through an open grantmaking process led by NLnet Foundation. Independent researchers and developers funded by NGI0 are already making interesting and even fundamental contributions to the technology commons: they are designing the first open hardware RISC-V SoC. They are replacing the socket mechanism in UNIX with a safer and more mondern alternative. They are creating free software meta search engines and search proxies that get you out of the search bubble of personalisation. They are devising new ways to finally get rid of the hassle of passwords; to make email encryption happen automatically; to boot operating systems without binary blobs; to make software distribution transparent and reproducible. They are making computers test the human-designed core protocols we use to protect all our traffic on the internet, in order to automatically output mathematically proven software components without flaws. They are creating safe and user-friendly ways for people to collaborate and communicate across the internet, with modern end-to-end encryption. Private search engines that allow you to integrate your own data into your main search flow, without having to share it with untrusted third parties - so you can search in your own mail and the web with a single query. Software bots to automatically discover software vulnerabilities, and fix these in the software distribution chain so that end users can have access to the latest available security updates without lifting a finger. Developers are building search technologies for new realms of the internet, like the Inter Planetary File System (IPFS) and the Fediverse. The list goes on ...

But of course more work is needed. Fixing the internet is a &#39;moonshot plus&#39; effort: the internet is the largest technical structure man has ever made, and the task at hand is to vastly improve its very operating fabric with 3 billion + people using it on a daily basis. This may essential to our daily operations, but it is equally or even more important for upholding our human values and basic human rights in Europe. This is why NGI Zero invites you to consider to come &#39;work for the internet&#39; ...</description>
<logo></logo>
<persons>
<person id='120'>Michiel Leenaars</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='a34ceed8-878c-4a4b-8bdd-afe73251db81' id='172'>
<date>2019-09-08T10:35:00+02:00</date>
<start>10:35</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-172-coffee_break</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/172.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Coffee break</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='54f28776-ad74-4fb2-b608-b57a6f3f44bf' id='114'>
<date>2019-09-08T10:55:00+02:00</date>
<start>10:55</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-114-the_maui_project</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/114.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>The Maui Project</title>
<subtitle></subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>Introduction to the Maui project: its goals, components and roadmap.

What’s MauiKit, its relationship with Kirigami and its place in KDE.
An overview of the Maui HIG and the suite of apps, services, and libraries for a convergent and multiplatform environment.
</abstract>
<description>The Maui Project is a group of apps, services, libraries and a UI/UX (User Interface) framework that works together with KDE libraries to create a convergent-multiplatform experience that follows the Maui HIG (Human Interface Guidelines) for cohesive user experiences.
Some of the Maui apps include:
- Index (file manager)
- VVAVE (music manager)
- Pix (image viewer and gallery manager)
Those are applications that make use of the Maui UI components and work under Plasma Mobile, Android, and GNU/Linux Desktops.
</description>
<logo>/system/events/logos/000/000/114/large/photo_2019-04-12_13-33-49.jpg?1557874991</logo>
<persons>
<person id='27'>Camilo Higuita</person>
</persons>
<links>
<link href='https://maui-project.gitbook.io/mauikit/'>Documentation</link>
<link href='https://mauikit.org/'>MauiKit official site</link>
</links>
<attachments>
</attachments>
</event>
<event guid='5ecdd672-f8c5-4b00-a200-34111e44fa4a' id='127'>
<date>2019-09-08T11:30:00+02:00</date>
<start>11:30</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-127-ai_face_recognition_with_opencv_dnn_module_and_application_in_digikam_photo_management_software</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/127.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>AI Face Recognition with OpenCV DNN module and application in digiKam photo management software</title>
<subtitle></subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>Currently, we are observing an incredible development in technologies, especially in Artificial Intelligence field. Indeed, by learning from massive data, AI is particularly good at some tasks that normal algorithms cannot achieve as good level of performance, such as: image classification, speech recognition, object detection, tendency prediction, feature extraction, etc. Moreover, new AI algorithms with the emergence of neural networks and deep learning even makes AI models more robust, so that they can now give better prediction without any limitation in improving themselves.

Being aware of those assets, digiKam team has considered using deep learning in digiKam. Thus, this presentation aims to introduce a new implementation of facial recognition in digiKam, based on deep learning models and OpenCV DNN module, so as to improve the performance of facial recognition module.</abstract>
<description>For users, facial recognition is one of the most interesting features in digiKam. However, it was not robust enough and computationally expensive, so users usually did not totally trust and handle digiKam to automatically recognize faces in their photos. Inheriting from previous work on facial recognition in digiKam, new approach implementing neural-network-based solution with OpenCV DNN module, exploiting forward operation on the network, is expected to deliver better computational performance, while keeping the outstanding accuracy of face engine. 

Hence, this presentation is intended to discuss in details current neural network models being studied for facial recognition, the advantages and disadvantages of most popular models. In addition, implementation details with OpenCV DNN module, as well as evaluation metrics and final benchmark scores will be also presented at the end to evaluate the work and the performance of that approach.</description>
<logo>/system/events/logos/000/000/127/large/logo.png?1559112664</logo>
<persons>
<person id='106'>Trung Thanh Dinh</person>
</persons>
<links>
<link href='https://summerofcode.withgoogle.com/projects/#4631943646281728'>GSoC 2019 project - AI Face Recognition with OpenCV DNN module</link>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/099/original/GSoC_2019_proposal_-_AI_Face_Recognition_with_OpenCV_DNN_module.pdf?1559112359'>GSoC 2019 project proposal - AI Face Recognition with OpenCV DNN module</attachment>
</attachments>
</event>
<event guid='b4a66989-b571-433c-b89e-57c78f4eda86' id='161'>
<date>2019-09-08T12:05:00+02:00</date>
<start>12:05</start>
<duration>00:10</duration>
<room>U4-08</room>
<slug>akademy2019_-161-group_photo</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/161.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>group photo</title>
<subtitle></subtitle>
<track>Akademy</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='994cc326-53ac-44da-8524-76e4c89f2709' id='173'>
<date>2019-09-08T12:15:00+02:00</date>
<start>12:15</start>
<duration>01:10</duration>
<room>U4-08</room>
<slug>akademy2019_-173-lunch</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/173.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Lunch</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='8379dfe8-b76f-4ea6-84fe-a9c5d1bcdaff' id='130'>
<date>2019-09-08T13:25:00+02:00</date>
<start>13:25</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-130-look_it_s_libreoffice_on_kde_plasma</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/130.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Look! It&#39;s LibreOffice on KDE Plasma</title>
<subtitle>A journey to a better LibreOffice &lt;-&gt; KDE integration</subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>This talk introduces LibreOffice&#39;s new Qt5-based KDE frontend because at the end of the day, the best free and open-source office suite deservers to be well-integrated into the best free and open-source desktop environment :)</abstract>
<description>Integrating something as complex as an office suite into a desktop environment is certainly a daunting task. When it comes to LibreOffice, its integration into KDE has been a thing since KDE 3 but being based on legacy technologies, it was no longer a viable solution for KF5.

So we started over from scratch and implemented a new integration layer featuring Qt5 native widget styles, native Qt5 menus, integrated Plasma 5 file picker, clipboard and drag&#39;n&#39;drop support and as a bonus, Qt5-based a11y. It was featured in LibreOffice 6.2 (released in February 2019) for the first time, with Haiku being the first OS to adopt it. Majority of Linux distributions soon followed.

Ultimately, it was less about Qt5, xcb, Wayland, cairo or any other technology or programming language but more about people who use, test, develop and collaborate across the project boundaries to get things they are passionate about done.</description>
<logo></logo>
<persons>
<person id='107'>Katarina Behrens</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='581a114a-4fd7-4a8a-8fd8-c6eb606cd6f1' id='136'>
<date>2019-09-08T14:00:00+02:00</date>
<start>14:00</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-136-kpublictransport</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/136.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KPublicTransport</title>
<subtitle>Real-time transport data in KDE Itinerary</subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>Last year KDE Itinerary was presented at Akademy for the first time, striving to build a privacy-protecting alternative to digital travel assistance features. Teaming up with the Open Transport community since then has paved the way for real-time transportation data access. What data is available, how is it used in KDE Itinerary, and what else can we use it for?</abstract>
<description>While KDE Itinerary had access to personal booking information (via its own extraction engine) and static information (via Wikidata), access to real-time or transient information such as delays, gate or platform changes, or service disruptions was still missing a year ago. Today, such information are available via the KPublicTransport framework.

In this talk we will look at the system KPublicTransport is based up-on, the Free Software and Open Data service Navitia which aggregates public transport data provided by hundreds of operators around the world, as well as how KPublicTransport makes this information available to application developers.

Besides the already listed kinds of information, KPublicTransport also provides journey query capabilities. That is, determining how to get from A to B using public transport services. And while we of course will see how this is used by KDE Itinerary for more assistance features, this is equally interesting for applications targeting a commuter use-case for example (such as a possible resurrection or successor of the KDE4-era public transport Plasmoid).

While several brave test subjects managed to do quite a few tests^Wtrips with KDE Itinerary already, there is a remaining risk of the author failing to show up due to highly experimental support for Milan&#39;s local transport system.
</description>
<logo></logo>
<persons>
<person id='7'>Volker Krause</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/107/original/kde-akademy2019-kpublictransport.pdf?1567946210'>Slides</attachment>
</attachments>
</event>
<event guid='835ada49-05ab-4ccd-9be6-11562a14ade7' id='139'>
<date>2019-09-08T14:35:00+02:00</date>
<start>14:35</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-139-build_expressive_apis_with_modern_c</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/139.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Build Expressive APIs with Modern C++</title>
<subtitle>Make your Qt API more expressive with Modern C++</subtitle>
<track>Development</track>
<type>Presentation</type>
<language></language>
<abstract>Qt has its own way of doing things, and we&#39;ve been following that in our code and APIs since forever. However, since C++11 and on, the language itself started introducing more and more features to make the code safer and easier to understand. In this talk, I will show a few examples of what tools Modern C++ has to offer to make your code and your APIs more expressive and how to use those tools with Qt.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='9'>Daniel Vrátil</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/116/original/presentation.pdf?1569224965'>Slides</attachment>
</attachments>
</event>
<event guid='64c24c2a-d63c-4d35-aec3-82a587becc94' id='134'>
<date>2019-09-08T15:10:00+02:00</date>
<start>15:10</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-134-kde_frameworks_on_android</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/134.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>KDE Frameworks on Android</title>
<subtitle></subtitle>
<track>Distros</track>
<type>Presentation</type>
<language></language>
<abstract>Targeting Android as a platform is attractive for our applications, both as a intermediate proving ground for Plasma Mobile, and due to the large market share. For new Kirigami-based applications that is a fairly straightforward process thanks to the portability of Qt. There is however also lots of valuable code predating mobile UI considerations, and functional gaps in Qt, which is where KDE Frameworks can help. What do we have already, what still needs to be done, and how can we do it?</abstract>
<description>In this talk we will look at some of the peculiarities of the Android platform, and how they align with assumptions made throughout KDE Frameworks. For each of those we are going to explore ways to address them or work around them based on the current state of Android support in KDE Frameworks.

One such area are restrictions of the Android platforms, such as the limitation on service processes, inter-process communication or the different permission model. Those are particular challenging for frameworks like KIO or KAuth.

Another practical issue is the Android native APIs typically being accessible only via Java, while our code is primarily written in C++. Similarly, file I/O works quite differently to other platforms. We will look at how those technologies can be integrated, and how this can be made as transparent as possible to KDE Framework users.

The third area to look at is the deployment of Android applications. While self-contained bundles are also becoming popular on Linux, the technology mix and tools involved there require some additional considerations.

This talk will be interesting both for application developers targeting Android as well as KDE Framework developers.
</description>
<logo></logo>
<persons>
<person id='7'>Volker Krause</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/108/original/kde-akademy2019-kf5-on-android.pdf?1567950444'>Slides</attachment>
</attachments>
</event>
<event guid='98eafe1a-57b0-4da8-8d28-8370cb33b207' id='129'>
<date>2019-09-08T15:45:00+02:00</date>
<start>15:45</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-129-get_hot_new_stuff_quick_ly</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/129.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Get Hot New Stuff Quick(ly)</title>
<subtitle>or Modernising the KNewStuff Framework</subtitle>
<track>Distros</track>
<type>Presentation</type>
<language></language>
<abstract>Get an introduction to the Qt Quick based KNewStuff components, the context of why they exist, and find out how you can use them in your own applications.</abstract>
<description>We have come to expect the ability to download new shinies with little or no trouble in the software KDE produces, all thanks to the Attica and KNewStuff frameworks. These have served us well, and still do. But, while the functionality is solid, the user interface, and indeed experience, have started to feel decidedly dated.

Over the last few years, work has been undertaken to first split the dependency by the user interface on Qt&#39;s widgets, and now to implement a new, more modern user interface using Qt Quick and Kirigami. In this presentation you will first get a short rundown of some of the history. The majority will be an introduction to the new KNewStuff Qt Quick Components, some new abilities they add to the framework, and you will learn a variety of ways in which you can use them in your own software.</description>
<logo></logo>
<persons>
<person id='61'>leinir</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/118/original/knewstuff-akademy-2019.tar.gz?1571137853'>Presentation (see README)</attachment>
</attachments>
</event>
<event guid='242bc767-5bf0-46b6-8a46-ea2ebf6d9e84' id='104'>
<date>2019-09-08T16:20:00+02:00</date>
<start>16:20</start>
<duration>00:15</duration>
<room>U4-08</room>
<slug>akademy2019_-104-kpmcore_implementations_and_goals_for_the_future</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/104.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>kpmcore implementations and goals for the future</title>
<subtitle></subtitle>
<track>Fast Track &amp; Lightning</track>
<type>Lightning</type>
<language></language>
<abstract>In the last two years, kpmcore library has received a lot of new patches and updates that improved the functionalities of the library. This library is mainly focused on providing partitioning processes and disk operations. As a Season of KDE student, I have contributed to the improvement of SMART support and helped in the implementation of the KAuth support to improve the authentication routines. During Google Summer of Code, my goal was focused on finishing LVM Volume Group support and start implementing MDRAID. The purpose of this presentation is to explain some of my contributions and talk about future goals for the library.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='89'>Caio Jordão Carvalho</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/113/original/kde.pdf?1569103796'>Slides</attachment>
</attachments>
</event>
<event guid='92fd0986-6e94-4348-8765-6e0a1db69bf0' id='174'>
<date>2019-09-08T16:35:00+02:00</date>
<start>16:35</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-174-coffee_break</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/174.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Coffee break</title>
<subtitle></subtitle>
<track>Breaks</track>
<type></type>
<language></language>
<abstract></abstract>
<description></description>
<logo></logo>
<persons>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='910a2d3c-9e30-4b8d-b6d4-231ee5db1860' id='163'>
<date>2019-09-08T16:55:00+02:00</date>
<start>16:55</start>
<duration>00:30</duration>
<room>U4-08</room>
<slug>akademy2019_-163-sponsors_lightning_talks</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/163.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Sponsors lightning talks</title>
<subtitle></subtitle>
<track>Akademy</track>
<type></type>
<language></language>
<abstract>Our sponsors will say a few words.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='28'>Aleix Pol Gonzalez</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='9f1ebbd0-fd34-4c0e-a95b-b409e67804fa' id='162'>
<date>2019-09-08T17:25:00+02:00</date>
<start>17:25</start>
<duration>00:20</duration>
<room>U4-08</room>
<slug>akademy2019_-162-akademy_awards</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/162.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Akademy Awards</title>
<subtitle></subtitle>
<track>Akademy</track>
<type>Panel</type>
<language></language>
<abstract>The winners of lat year&#39;s Akademy Awards will present the new winners to recognize them for their contributions to KDE.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='85'>Valorie</person>
<person id='43'>Aditya Mehra</person>
<person id='47'>David Edmundson</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='a915b41d-ce3d-4b91-954e-9072c7a5b4e6' id='164'>
<date>2019-09-08T17:45:00+02:00</date>
<start>17:45</start>
<duration>00:10</duration>
<room>U4-08</room>
<slug>akademy2019_-164-closing</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/164.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Closing</title>
<subtitle></subtitle>
<track>Akademy</track>
<type></type>
<language></language>
<abstract>And it&#39;s a wrap!</abstract>
<description></description>
<logo></logo>
<persons>
<person id='12'>Lydia Pintscher</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
</room>
<room name='U4-01'>
<event guid='14bd064a-643b-4d8b-a3aa-3de500fae2c6' id='137'>
<date>2019-09-08T10:55:00+02:00</date>
<start>10:55</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-137-moving_kde_to_another_reality</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/137.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Moving KDE to another Reality</title>
<subtitle></subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>AR and VR did not only introduce a new class of output devices, but with tracked controllers and hands also the requirement for a new set of user interactions. This talk investigates solutions in existing implementations and points out how the classical UX model with keyboard and mouse translates to these new devices. The technical aspect of these requirements will also be highlighted. The audience will get an overview of the status of Open Source in XR and the opportunities for KDE.
We will propose an implementation that integrates VR in the KDE desktop, featuring 3D window management and desktop input synthesis.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='109'>Christoph Haag</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='f9e05f55-71eb-4a6c-907e-a79473eff86b' id='102'>
<date>2019-09-08T11:30:00+02:00</date>
<start>11:30</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-102-taking_kde_to_the_skies_making_the_drone_ground_control_kirogi</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/102.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Taking KDE to the skies: Making the drone ground control Kirogi</title>
<subtitle>Developing in a new application category for mobile and desktop</subtitle>
<track>Applications</track>
<type>Presentation</type>
<language></language>
<abstract>Started in 2019, the Kirogi project is KDE&#39;s application to operate Unmanned Aerial Vehicles - drones. Kirogi is breaking new ground: It exists in an entirely new application category for the KDE community, is the first open source UAV ground control intended for the end-user, and is one of the first KDE applications developed from scratch for a chiefly mobile audience, while also being available for desktop systems.

This talk will provide a quick introduction into the domain of UAVs and the software for them. Then, it will cover in detail the process and challenges of developing a complex mobile-first application based on KDE technologies - both the implementation and working with many institutions inside the community to affect needed library and tooling changes, for example for deployment to Android devices. An aside details the journey of utilizing the art community around KDE&#39;s Krita to commission artwork for the application.

The extensibility of the Kirogi application is discussed, i.e. its library and plugin interfaces for expanding vehicle/vendor support, and what it could mean for the consumer and DIY drone market.

This talk is for both the old and new in the audience. If you&#39;re curious what the process of bootstrapping an all-new KDE application in 2019 looks like, for insight or to take stock, or if you&#39;d simply like to know more about cool computers that fly, drop by.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='73'>hein</person>
</persons>
<links>
</links>
<attachments>
<attachment href='/system/event_attachments/attachments/000/000/098/original/kirogi.jpg?1556106438'>A screenshot of Kirogi&#39;s flight screen</attachment>
<attachment href='/system/event_attachments/attachments/000/000/109/original/kde_akademy2019_kirogi.pdf.v1.01.pdf?1568605409'>Talk slides</attachment>
</attachments>
</event>
<event guid='3bbfb090-47d2-4602-9fd9-2d5169320e81' id='107'>
<date>2019-09-08T13:25:00+02:00</date>
<start>13:25</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-107-gcompris_in_kerala_part_2</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/107.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>GCompris in Kerala, part 2</title>
<subtitle></subtitle>
<track>Community</track>
<type>Presentation</type>
<language></language>
<abstract>In the state of India called Kerala, all public schools have been using Free-Software for more than 10 years, and GCompris is part of the curriculum. We have been working recently to complete the translation of the new version of GCompris in Malayalam, the official language of this state. This should allow to replace the old Gtk+ version that was still in use there.</abstract>
<description>In this talk we will give some background about Free-Software history in Kerala and how GCompris is used in schools.
We will present the work done to localize the application, and future plans to add more ways to adapt activities for different cultures using localized datasets.

We will also talk about the recent news of the project, and the works in progress.</description>
<logo>/system/events/logos/000/000/107/large/GCompris64.png?1556817860</logo>
<persons>
<person id='30'>Timothée Giet</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='6c745002-f679-40e1-8cbc-0803be63cc21' id='165'>
<date>2019-09-08T14:00:00+02:00</date>
<start>14:00</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-165-software_distribution_lightning_talks</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/165.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Software Distribution: lightning talks</title>
<subtitle></subtitle>
<track>Distros</track>
<type>Presentation</type>
<language></language>
<abstract>Getting software to end users has always been an issue those who create the software have been worried about. A great many solutions have been proposed and attempted for this problem. In this lightning talk round you will hear about the different approaches from the people involved.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='61'>leinir</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='5434f69e-dcba-4417-8074-2fab9396e30a' id='166'>
<date>2019-09-08T14:35:00+02:00</date>
<start>14:35</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-166-software_distribution_discussion</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/166.html</url>
<recording>
<license></license>
<optout>false</optout>
</recording>
<title>Software Distribution: discussion</title>
<subtitle></subtitle>
<track>Distros</track>
<type>Panel</type>
<language></language>
<abstract>Getting software to end users has always been an issue those who create the software have been worried about. A great many solutions have been proposed and attempted for this problem. In this panel the different approaches will be discussion and questions from the audience answered.</abstract>
<description></description>
<logo></logo>
<persons>
<person id='61'>leinir</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='4a794c9c-6fe2-4522-834a-90bd10a32f1c' id='138'>
<date>2019-09-08T15:10:00+02:00</date>
<start>15:10</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-138-what_we_do_in_the_promos</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/138.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>What we do in the Promos</title>
<subtitle>What does Promo do, why de we do it and does it work?</subtitle>
<track>Community</track>
<type>Presentation</type>
<language></language>
<abstract>Promo explains why it does what it does, who our target audience is, how we try to reach them and what degree of success we have had.</abstract>
<description>Promo explains why it does what it does, who our target audience is, how we try to reach them and what degree of success we have had.</description>
<logo>/system/events/logos/000/000/138/large/What-We-Do-In-The-Shadows-s1-Poster-square.png?1559287321</logo>
<persons>
<person id='25'>Paul Brown</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
<event guid='923e9fac-ed34-4b1c-9d5b-8ce9c17ec4b3' id='103'>
<date>2019-09-08T15:45:00+02:00</date>
<start>15:45</start>
<duration>00:30</duration>
<room>U4-01</room>
<slug>akademy2019_-103-strengthen_code_review_culture_rm_-rf_toxic_behaviors</slug>
<url>https://conf.kde.org/en/akademy2019/public/events/103.html</url>
<recording>
<license>CC-BY</license>
<optout>false</optout>
</recording>
<title>Strengthen Code Review Culture: rm -rf ‘Toxic Behaviors’.</title>
<subtitle></subtitle>
<track>Community</track>
<type>Presentation</type>
<language></language>
<abstract>Code reviews are not just about catching bugs. Modern code reviews are about socialization, learning, and teaching. How can you get the most out of a peer code review and how can you review code without being seen as overly critical? Reviewing code and writing easily-reviewed features are skills that will make you a better developer and a better teammate, moreover a valuable community member.

This talk will be an overview of the code review culture as a project team lead and as a community contributor as well. I will be speaking on how to effectively assimilate from the reviews you receive and how to have create more impact on the reviews you give. The talk will expose you to various ideas on how to build a successful code-review culture. 
</abstract>
<description>Code reviews are one of the best ways to improve softwares by placing the human-written code in front of human eyes. Developers gain the best help, learn better design patterns and coding practices with peer reviewers. Moreover, this certainly helps to identify uncaught bugs in automated testing pipelines and functional testing. However, it is important to highlight those toxic behaviors during code reviews because it can be more unproductive than no code reviews at all. These behaviors stifle the most needed qualities of a developer like creativity and innovativeness. 

In regards of the current community goal for KDE to have a streamlined onboarding of new contributors, code reviews are one of the ways to interact with the new contributors, help them gain much more confidence and make them actively involved in the community as well. Moreover, with the application of better code review practices, people could smartly use their time for the benefit of the community. Thus, providing a better and an active environment that would support people.

Further, addressing higher authorities, Maintainers need to learn about peer reviews and their impact on the organization so they can build the reviews into project plans, allocate resources, and communicate their commitment to the team through reviews. Maintainers also must be sensitive to the interpersonal aspects of peer reviews. Watch out for known culture killers, such as maintainers singling out certain developers by demeaning their work.

Some examples of toxic code review behaviors include:

1) Passing one’s programming opinions off as fact (“This should be a lambda function instead because I like lambda functions”)
2) Asking judgmental questions (“Why didn’t you JUST do ___?”)
3) Making demands without allowing a discussion (“Use ___ instead of what you did”)
4) Sarcasm (“Did you even test this code before you checked it in?”)
5) Using emojis instead of words to point out problems in code, which can be easily Misconstrued.
6) Using code reviews as an opportunity to show off how clever one is.

This toxicity can make people feel uncomfortable. It creates an unsupportive environment and discourages risk-taking and innovation in a community. Thus, it drastically reduces the interest of new contributors in actively contributing towards the community. 

This talk looks at several helpful mechanisms such to use certain opportunities to teach, be resourceful and, importantly to create a better supportive environment. Hence, which people could use to help themselves and help others unlearn toxic behaviours by normalizing the toxicity they produce. Ending this toxic culture helps to make an environment where developers are allowed to learn, grow, and make mistakes. A few helpful Behaviors would be: 

1) use questions or recommendations to drive dialog
2) collaborate, don’t back-seat drive.
3) Respond to every comment.
4) Know when to take a discussion offline.
5) Don’t show surprise.
6) Automate what can be.
7) Never refuse to normalize toxic behavior.
8) Set the standard as your team is small and growing.
9) Understand you might be part of the problem

Thus, people take steps to provide constructive, actionable feedback and create more supportive environments, so developers feel comfortable to learn, grow, and make mistakes. This provides a platform where we all can improve together and build great products.
</description>
<logo></logo>
<persons>
<person id='19'>Aniketh Girish</person>
</persons>
<links>
</links>
<attachments>
</attachments>
</event>
</room>
</day>
</schedule>
