DevConf.CZ 2019 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Developer Tools + IoT [clear filter]
Friday, January 25

9:30am CET

AI based application Insights
Develop a more secured application by relying on security insights right inside an IDE served from “Dependency Analytics”, a VSCode extension developed by the Red Hat Developer Engineering group. Get additional insights on Licenses and AI based insights to add complementing dependencies to make a stack complete. It performs in depth analysis of application dependencies and provide developer with a report which has below features:

1. Suggests a project level license, check for conflicts between dependency licences
2. Flags a security vulnerability(CVE) and suggests a remedial version
3. Shows Github popularity metrics of dependencies along with latest version
4. AI based guidance to flag dependency outliers
5. AI based guidance to suggest alternative and complementing dependencies

avatar for Samuzzal Choudhury

Samuzzal Choudhury

Principal Software Engineer, Red Hat
avatar for Jaivardhan Kumar

Jaivardhan Kumar

Senior Software Engineer, Red Hat
I am Open Source Software Enthusiast, working with Red Hat Developer Engineering group as Senior Software Engineer. I contribute to projects like OpenShift.io, fabric8-analytics and technologies which revolves around IDEs, user interfaces/web.

Friday January 25, 2019 9:30am - 9:55am CET

10:00am CET

Eclipse Che and Development of Microservices Apps
Microservices are taking over the world. Developing cloud native apps can be challenging. It works on my machine but it fails when deployed to the cloud as a Kubernetes pod - this problem isn't new.

In this session, we will turn production environment into a developer sandbox with Eclipse Che and fix a bug in production just using Eclipse Che deployed on OpenShift, without the need to install anything.

Friday January 25, 2019 10:00am - 10:50am CET

10:00am CET

Arduino 101
We help you to start with Arduiono. You just need your own laptop and we loan you Arduni Uno with special shield designed for education. We learn you basics of Arduino. After workshop you will be able to start your own project.

avatar for Štěpán Bechynský

Štěpán Bechynský

IoT consultant, Microsoft
Stepan joined Microsoft at 2006 as Technical Evangelist. After nine years he left Microsoft to start working as European Cloud Team Lead at pharmaceutical company MSD. He spent in pharma industry one and half year to rejoin Microsoft back. His responsibility in new role is to help... Read More →

Friday January 25, 2019 10:00am - 11:50am CET

11:00am CET

New features in C++
This session explains some of the new features the c++11 and c++17 major revisions have included into the C++ language.

avatar for Nikhil Kshirsagar

Nikhil Kshirsagar

Red Hat
SSME in Storage Technologies within CEE at Red Hat

Friday January 25, 2019 11:00am - 11:50am CET

12:00pm CET

Getting Started with .NET Core on Linux
We'll explore .NET Core and the .NET command Line on Linux from a beginners perspective. We'll look at how .NET Core is cross-platform and the types of applications you can make. We'll examine the .NET Command line and learn the basic commands for building applications, working with libraries and unit testing. As our IDE we'll use Visual Studio Code.

This talk is for beginners that have some experience with programming, but not necessarily .NET/C#.

avatar for Tom Deseyn

Tom Deseyn

Principal Software Engineer, Red Hat
Tom works in Red Hat's .NET Core team, and he's a member of Fedora's .NET SIG. He helps make .NET Core better on Linux by contributing to the .NET Core project, and other open-source .NET projects. Tom maintains a number of open-source .NET Core libraries specifically for Linux (like... Read More →

Friday January 25, 2019 12:00pm - 12:25pm CET

12:30pm CET

Kickstart OpenShift development in VSCode IDE.
As a developer, coding on IDE, switching terminals and installing dependencies to run the code on OpenShift can be time consuming. In this session you will learn how to use VSCode to create, debug and deploy your cool application on OpenShift.

In this talk, we’ll go through:
1. Configure VSCode: Install Red Hat supported extensions to build containerized applications that target OpenShift.
2. Create and Deploy Application on OpenShift: Learn straightforward way to try OpenShift features without leaving your IDE & support scenario 'zero to hero' that would let developers go from starting fresh installed VSCode IDE and end with app running in local or remote OpenShift instance.

Thus a ton of easy wins here if you're learning OpenShift & want to spin something up on the cloud quickly.

avatar for MOHIT SUMAN


Senior Software Engineer/ Agile Coach at Red Hat.
Working for 5+ years at Red Hat. I currently work and make things happen in Red Hat R&D for Developer Tools team. I manage the UI stack and currently enhancing OpenShift developer experience. I am also a Certified Scrum Master and lead responsibilities of Agile Coach. Love to travel... Read More →

Friday January 25, 2019 12:30pm - 12:55pm CET

1:00pm CET

Swapping your IDE in Eclipse Che
You might know Eclipse Che as an open source web IDE for cloud-native applications. The next generation of Che will also be a cloud-native platform for web IDEs in addition to being an IDE. Just like the original Eclipse IDE itself, you will be able to completely customize the developer experience with both server-side and client-side plug-ins!

In this session we will show that Eclipse Che can use different IDEs for different workspaces: a company or a project can choose the best tool that meets its needs.

We will demonstrate how to switch the IDE of a Che workspace running on Kubernetes between Eclipse Theia, our previous Orion based GWT IDE, and something that might not be considered an IDE at all: a Jupyter Notebook!


Sergii Kabashniuk

Principal Software Engineer at RedHat, RedHat
Principal Software Engineer at RedHat

Friday January 25, 2019 1:00pm - 1:50pm CET

2:00pm CET

Code optimization tips and tricks
Session will walk trough some of the aspects, a programmer should keep in mind with respect to performance and what are various optimization options available with current day compiler like GCC or LLVM. Session will also walk through compiler generated intermediate represenatation briefly to demonstrate how a programmer can track the changes done by compiler optimizer in realtime, which can be very helpful to understand the optimization paradigms. Session will also include quick brief on the tools and utilities useful to track performance hits. Overall audience will gain an insight into best programming practices with respect to performance. Audience is expected to have some programming background with system architecture and memory layout understanding.

avatar for Divya Basant Kumar

Divya Basant Kumar

Senior Software Maintenance Engineer, Red Hat
Working in Toolchain and Desktop domain for 7+ years

Friday January 25, 2019 2:00pm - 2:25pm CET

2:30pm CET

What is new in Go and Fedora Go ecosystem
What have changed in Go upstream and what is coming. What are we doing with Go in Fedora. What we did in the past. What is the position and situation of Go in Fedora, how all the Go based cloud tools(Kubernetes, podman, OpenShift Origin,...) fit in. And what we want to do in the future. Also learn how to get involved

avatar for Jakub Čajka

Jakub Čajka

Software Engineer, Fedora Multi-Arch team, Red Hat
Currently working as Software Engineer at Red Hat in Fedora Multi-Arch team working mostly on the Fedora CoreOS for non-x86_64 arches.

Friday January 25, 2019 2:30pm - 2:55pm CET

3:00pm CET

Understanding Compiler Optimization
To most developers compilers are opaque. They translate high-level code to machine code and flags tell the compiler to create better code. But how does this work? Why can it be done? Once a developer reaches basic understanding of optimizations the next question is: what did the compiler do to my code, why didn't it do more?

This is where things get tricky. By default the compiler does not flood the user with explanations. There are ways to get to the information. This talk is an introduction into using the compiler's diagnostics to understand what the compiler does in detail and, more importantly, to learn how to possibly rewrite or restructure one's code to achieve better performance. This is especially necessary and useful when relying on auto-vectorization and -parallelization.

avatar for Ulrich Drepper

Ulrich Drepper

System Research & Data Science, CTO Office, Red Hat
Data Scientist, CTO Office
avatar for Jakub Jelínek

Jakub Jelínek

Consulting Engineer, Red Hat
Jakub Jelínek is one of the three worldwide release managers for GCC usptream, and maintains GCC in Fedora.

Friday January 25, 2019 3:00pm - 3:50pm CET

4:00pm CET

Deploying Java apps on OpenShift: E2E Lifecycle
VSCode Extension packs are something new, but are a really great way to bundle up useful extensions together then share them as one collection. With this, the developer can debug with third-party classes, when the source code is inside a JAR or a source attachment. It can also set breakpoints in those classes ahead of debugging. After these changes, the code can be directly deployed to the on premise OpenShift instance.

The extension pack will cover the following:
1.Middleware Adapter: To configure and run Java runtime.
2.Docker: To kick off containerisation with Docker.
3.Java Debugger by Microsoft
4.OpenShift Connector by Red Hat

This talk will walkthrough the entire process of development to production using VSCode, Java Debugger and OpenShift and see how it all comes together.

avatar for MOHIT SUMAN


Senior Software Engineer/ Agile Coach at Red Hat.
Working for 5+ years at Red Hat. I currently work and make things happen in Red Hat R&D for Developer Tools team. I manage the UI stack and currently enhancing OpenShift developer experience. I am also a Certified Scrum Master and lead responsibilities of Agile Coach. Love to travel... Read More →

Friday January 25, 2019 4:00pm - 4:25pm CET

4:30pm CET

A Crash Course in Python 3's asyncio
If you are like me, you may have been stuck working with Python 2.7, staring over the fence at Python 3 and wishing you could use all the cool new stuff. Or maybe you couldn't use Python 3 because electric eels keep stinging you whenever you try. Whatever the case may be, we'll be talking in this session about the new asyncio library that was introduced in Python 3.4 and greatly enhanced with the async/await keywords in Python 3.5.

Participants will get a high level overview of the library, and the concepts surrounding asynchronous programming. Maybe we'll even make a fun toy program together, who knows? This would be a great talk to attend if you know Python but haven't taken the time to explore this API.
You can see the code presented at https://gitlab.com/bowlofeggs/devconf2019.

avatar for Randy Barlow

Randy Barlow

Senior Software Engineer, Red Hat, Inc.
I work on the Fedora Infrastructure Team, and do not enjoy long walks on the beach.

code txt

Friday January 25, 2019 4:30pm - 4:55pm CET

5:00pm CET

Go for newbies
Do you think it's possible to learn a programming language in an hour? I don't. However, for every skill anyone knows, there was this first hour one was doing it for the first time.

This workshop has a potential of being your first hour with Go programming language, trying to encourage you to go deeper the rabbit hole on your own pace. We will spend time explaining the philosophy, concepts and workflows, supported by examples and coding exercises.

At the end of the workshop, you should find an answer to the eternal question:

Should I stay or should I Go?

We strongly recommend you to go though installation of go environment (required Go 1.11 or later) and enabling your editor of choice, as the wifi might be the limiting factor of doing so directly at the workshop.

While on stable network clone also the workshop repository.

avatar for Ivan Nečas

Ivan Nečas

Software Architect, Red Hat
Ivan Nečas currently works as an architect for connected customer experience program, working on tooling for better supportability of on-premise solutions, with focus on OpenShift in the first phase. Twitter: https://twitter.com/iNecas

Friday January 25, 2019 5:00pm - 6:00pm CET
Workshop - A113

5:30pm CET

The evolution of a flight recorder
The 'recorder' library is a small library that replaces your printf or log entries and can turn them into real-time graphs giving you insights into a running application. It started as a way to improve logging, but when confronted with a real project, namely SPICE, it evolved and morphed into something much more interesting.

At first sight, it may seem like it tries to do too many things: logging, tracing, configuring, tweaking, graphing… what else?

Step by step, retracing the evolution of the recorder, this session will show how each feature appeared, why it was indispensable, how a better design emerged under somewhat intense external pressure, and offer more general insights on how software designs crystalize.

avatar for Christophe de Dinechin

Christophe de Dinechin

Senior Principal Software Engineer, Red Hat
Christophe de Dinechin works at Red Hat primarily on Kata Containers and its integration into OpenShift. He also has a strong interest in virtualisation, performance, programming languages, 3D graphics and physics research. He started numerous free software projects of various size... Read More →

Friday January 25, 2019 5:30pm - 5:55pm CET
Saturday, January 26

9:30am CET

What is new in Rust for 2019
Compared to the Rust 2015 edition, Rust 2018 comes with better error handling, ergonomic improvements, new macro system and much more. In this workshop, I would like to explore the language itself followed by topics relevant to the Linux ecosystem. The exact area can change depending on the audience, but possible topics include interfacing C and Rust (both ways: calling Rust from C and calling C from Rust), D-Bus interface or networking (web frameworks).


Martin Sehnoutka

Software Engineer, Red Hat

Saturday January 26, 2019 9:30am - 10:20am CET

10:00am CET

Debugging with java-runtime-decompiler + byteman
With java-runtime-decompiler and byteman you can inspect and modify running applications, thus hit the nail in production environment. http://byteman.jboss.org/ is old tool, which got immense powers in Thermostat. https://github.com/pmikova/java-runtime-decompiler/ is new tool, based on old and verified technologies. Together, they create nice combo

avatar for Jiri Vanek

Jiri Vanek

OpenJDK contributor, RedHat
From here and there, anchoring myself in RedHat OpenJDK tea,

Saturday January 26, 2019 10:00am - 11:50am CET

10:30am CET

Development of VSCode extensions
During this workshop we will build our own extension for VSCode. For participants it's required to bring their own laptops with the latest VSCode and NodeJS installed. It's also required to be familiar with JS/TS.

avatar for Bohdan Iakymets

Bohdan Iakymets

Red Hat Rockstar Software Engineer, Red Hat
Red Hat Associate Software Engineer
avatar for Alexander Demichev

Alexander Demichev

Software Engineer, Red Hat
avatar for Emil Sharifullin

Emil Sharifullin

Software Engineer, Red Hat

Saturday January 26, 2019 10:30am - 11:20am CET

11:30am CET

Go for Python Programmers
Go is very easy for those who already know Python because they are very familiar in many points. In this workshop, we will discuss inheritance, duck typing, goroutines, channels and more. Plus, we'll get our hands dirty with some Go exercises.

Attendees must be familiar with Python (write simple scripts).
For exercises, we will use a Linux, Docker and the latest Golang image, preparing the environment in advance is strongly advised.If you don't want to use Docker install go 1.11 on your local machine.
Max attendees should be 50, recommended is 30.
For those who have never used Go, you will be able to start writing simple programs.
For those who already have heard and tried Go, you can learn something new.


Saturday January 26, 2019 11:30am - 1:20pm CET

12:30pm CET

Blender API for Python
In this talk, we'll have a look at some examples and uses of Blender API for Python. Blender is a very complex 3D modelling tool used by artists, architects and even NASA. And all its functionalities are exposed through very simple (and complex at the same time) API that, when mastered, offers manipulation with the very internals of Blender.

This track is part of our young speaker series.  This talk may be presented in Czech.


Saturday January 26, 2019 12:30pm - 12:55pm CET

1:30pm CET

Git Troubles. How to diagnose, fix and avoid them.
Git is a wonderful tool. However, many people don't take advantage of the simplest features of it, use mainly three commands: pull, commit and push. They memorize and then use other commands, which often ends up being painful not only for them, but everyone who works on the same project.
This workshop will include exercises on various Git troubles, how to find them, how to fix them, and how to avoid them.

Attendees: ~70

avatar for Irina Gulina

Irina Gulina

Quality Engineer, Red Hat
CNV QE in Red Hat
avatar for Martin Pavlásek

Martin Pavlásek

DevOps engineer within RedHat that loves Python, Django, git, automation processes and many other things.

Saturday January 26, 2019 1:30pm - 3:20pm CET

1:50pm CET

Performance and program size disadvantages of Arduino on AVR and reducing them using LLVM
The talk describes the disadvantages of using Arduino on AVR in performance and program size, and an experiment which uses Clang with Arduino on AVR, implementing optimizations to deal with the disadvantages as LLVM passes.

This track is part of our young speaker series.  This talk may be presented in Czech.

Saturday January 26, 2019 1:50pm - 2:05pm CET

3:30pm CET

Ready, Steady, Go!
Go is light, powerful and easy to learn programming language. After this workshop you will learn unique benefits and concepts of Go as well as its core features via extensive examples and hands-on exercises. We hope you would develop the joy of programming with it. This workshop doesn’t require any prior knowledge of Go and is perfect for anyone who wants a jump start in learning it. Moreover, this workshop doesn’t assume prior experience with any other programming language.

Attendees: 70. It would be best to preinstall an IDE/text editor of your choice and Go itself. E.g. Visual Studio Code. For other possible IDEs, see https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins

avatar for Irina Gulina

Irina Gulina

Quality Engineer, Red Hat
CNV QE in Red Hat
avatar for Josef Karasek

Josef Karasek

-, Red Hat
At Red Hat, Josef works on a scalable aggregated logging solution for OpenShift.

Saturday January 26, 2019 3:30pm - 5:20pm CET
Sunday, January 27

12:30pm CET

Fearless Multimedia Programming
GStreamer is a popular framework of choice for multimedia programming in the Linux world. Traditionally C/C++ have been the languages of choice for writing GStreamer applications and plugins. Unfortunately, this efficiency comes at the price of safety. Even the most skilled C/C++ developers make mistakes with memory management and the results could potentially be catastrophic. Thread safety is another aspect that is central to multimedia solutions but is extremely difficult to achieve with C/C++. Rust language is designed to be both efficient and safe at the same time. In this talk, Zeeshan will present how GStreamer's Rust bindings not only make multimedia programming a lot safer, easier and fun but also allow developers to write even more efficient code than C/C++ in certain cases.

avatar for Zeeshan Ali

Zeeshan Ali

Senior Engineer, Red Hat
Developer, helicopter pilot and cat lover.Zeeshan is a Senior Software Engineer at Red Hat, based in Berlin. He is a veteran GNOME developer, with many years of C and Vala experience. More recently he's been in love with Rust language. He has a private pilot license for helicopters... Read More →

Sunday January 27, 2019 12:30pm - 12:55pm CET

1:00pm CET

Don't write shell scripts, generate them!
Writing shell scripts is a fast way how to automate tasks within a system.
However, what does it take to write a proper script?
You have to write code that parses arguments, and a help message. Then, it is nice to have a bash completion and a man page.
Isn't it annoying that all of that is based on the same information, but you have to write it all over again in a different syntax every time?
If you want all of the above, but you don't want to repeat yourself all over again, there is a solution - the Argbash open-source script generator is there to generate everything for you in a smart way.
With Argbash on your side, you can concentrate on the added value of core functionality of your shell script without losing focus, and users of your script will appreciate a first-class user experience.

avatar for Matěj Týč

Matěj Týč

Software Engineer, Red Hat

Sunday January 27, 2019 1:00pm - 1:25pm CET

1:30pm CET

Journey to migrate python2 projects to 3
python2 will not be supported in the visible future.
However,existing script, projects need migrate to python3 while keeping compatibility with 2.
This is quite challenging work since almost all Python 2 programs require some modifications to run properly under 3.
We are working on avocado-vt and tp-libvirt projects migrating,and nearly 650 files were changed without interrupting production.
This talk will share our best practice experience and the pain points encountered:
1)Define migration strategies
2)Best Practices in idioms,including exceptions,importing,standard library numbers,dictionaries,Built-in Function change,etc...
3)Some automatic tools to help migration:sixer,2to3
4)Use virtualenv to set up validating environments
5)Special case handling: deprecated module removal

avatar for Chunfu Wen

Chunfu Wen

principal software quality engineer, Red Hat
I am an open source contributor and promoter.I work at Red Hat, and have 17+ years working experiences in various companies such as:Oracle, Motorola, Siemens.

Sunday January 27, 2019 1:30pm - 1:55pm CET