09:30

Busy .NET Developer’s Guide to Multiparadigmatic Design

Workshop by Ted Neward
.NET
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

Java.Next: Keeping Up With Java

Workshop by Sander Mak
Java
Still on Java 8 and wondering when, why or how to move beyond that? Fear no more, this workshop will give you everything you need to confidently move to Java 11 and beyond!

Building Reactive Applications

Workshop by Venkat Subramaniam
Reactive
In this workshop, we will start with a quick introduction to reactive programming. We will then dive into code examples and learn how to create reactive applications. We will learn to implement observables, to deal with errors in a graceful manner, learn both synchronous and asynchronous solutions, hot vs. cold observables, and dealing with backpressures.

Introduction to Machine Learning

Workshop by Wei-Meng Lee
#ML
In this workshop, you will be introduced to Machine Learning using a variety of tools. You will also learn about the various libraries used in Python for machine learning, as well as the fundamental principles of some common machine learning algorithms.

All you need to know in order to write Microservice with Spring and Spring Boot

Workshop by Evgeny Borisov
Spring
In this training we will write our own spring framework in order to understand both spring concepts and spring internals. During the training we will drill down deep to spring core, we will see how you can write bean post processors and bean factory post processors, how to configure different spring profiles, how to write custom scopes.

Low Code Application Development with Oracle APEX – Deep Dive

Workshop by Joel R. Kallman
oracle
Oracle APEX is one of the most popular low code frameworks available today. In this extensive hands-on workshop, you will take a deep dive into app dev with Oracle APEX. You will learn: rapid data modeling, app creation & extension, UI customization, debugging, monitoring, deployment, and more!

Service mesh patterns

Workshop by Peter Jausovec, Sherwood Zern
ServiceMesh
In this session, we will start with the basics of Kubernetes and explanation of service meshes and explain how to do zero downtime deployments, A/B tests, how to intelligently route traffic and handle failures. All this without writing any code or affecting your services running in production.

Programming ASP.NET Core

Workshop by Dino Esposito
asp.net core
It’s a bit problematic for everyone to condense in one day the major facts around ASP.NET Core and be insightful and comprehensive at the same time. This workshop is structured to upgrade your web programming skills to the latest version of ASP.NET Core.

09:15

09:30

Sonic Pi Livecoding

Keynote by Sam Aaron | Room: Isense
Sonic Pi an environment for live coding music that targets both education and professional musicians. In this demo-heavy talk we’ll cover its history - why it was created, how it evolved and what it can do today. We’ll also take a quick technical nose dive into some of the more interesting linguistic innovations that were necessary to perform live with code.

10:30

11:00

It depends: .NET Core dependency injection

Presentation by Alex Thissen | Room: 13
.NET
The dependency injection system of .NET Core is very elaborate and allows for complex inversion of control scenarios. You will see the ins and outs of doing that, but also learn how to avoid mistakes that might be easy to miss.

Machine Learning explained with Examples

Presentation by Heli Helskyaho | Room: 5
#ML
rybody is talking about machine learning. What is it actually and how can I use it?

Modern SQL: Evolution of a dinosaur

Presentation by Markus Winand | Room: 10
SQL
This presentation demonstrates what modern SQL can do for you. It compares two different approaches to common problems: a purely relational one and the modern SQL approach.

Keeping up with Java

Presentation by Sander Mak | Room: 3
Java
Still on Java 8 and wondering when, why or how to move beyond that? Fear no more, this workshop will give you everything you need to confidently move to Java 11 and beyond!

Introduction to service mesh with Istio and Kiali

Presentation by Alissa Bonas | Room: 11
microservices
Istio and Kiali are new open source projects in containerized microservices world. Istio enables running a containerized service mesh, and Kiali provides visualization and insights on top of Istio. This talk focuses on what service mesh is, and why Istio and Kiali are interesting to have a look at.

12:00

java.util.concurrent for Distributed Coordination

Presentation by Ensar Basri Kahveci | Room: 5
Java
The long-lasting java.util.concurrent APIs can be extended for distributed execution in order to be used for coordination tasks. In this talk, we will explore the new java.util.concurrent implementation of Hazelcast on top of the Raft consensus algorithm.

When Azure AD is Not Enough: Creating a Token Service in ASP.NET Core 2.2

Presentation by Roland Guijt | Room: 13
.NET
After this session you’re ready to implement a token service in ASP.NET Core. And you will understand how to make us of the more advanced options.

The wait is over. How to successfully migrate to Bazel from Maven or Gradle

Presentation by Natan Silnitsky | Room: 5
Bazel
In this talk, Natan will share with you how to achieve a successful migration to Bazel from Maven or Gradle, focusing on 5 important areas you have to think about and decide on the right approach for you, ranging from choosing the right build unit granularity to remote caching best practices.

We are Serverless – Software and databases still functioning

Presentation by Piet de Visser | Room: 10
Databases
Going Serverless to a cloud-provider gave use some interesting experiences. The result was Positive, but with interesting lessons about the tools (java, pl/sql, python, docker and lambdas), the data, the (oracle-) database, and the people and processes needed to control the new situation.

Istio Patterns

Presentation by Peter Jausovec | Room: 11
microservices
In this session, we will go through the most popular service mesh patterns and their practical usage using Istio service mesh running on Kubernetes.

13:00

14:00

Building Web APIs with ASP.NET Core

Presentation by Cecil Phillip | Room: 13
.NET
In this session, developers of all developers of all levels will learn about some of the capabilities in the framework for developing and consuming Web APIs. Some things we’ll take a look at include OpenAPI support, content negotiation, working with HttpClientFactory and some other interesting features!

Spring Boot the Ripper – Part I

Presentation by Evgeny Borisov | Room: 3
Java
In this talk I will try to reveal at least part of Spring Boot magic by discovering Spring Boot concepts, conventions and the way it works. And no matter that after this talk you will understand that there is no magic (mostly) you will enjoy Spring Boot even more, because you will be able to solve Spring Boot problems or conflicts without calling 911 (mostly).

Container Orchestration for Oracle DBAs

Presentation by Martin Bach | Room: 10
Databases
This talk is a brief introduction to kubernetes (k8s) for Oracle DBAs interested in learning more about micro-services and cloud native deployments. It features an overview of the tools and components followed by a live demo. During the demo an application is deployed to k8s using an Oracle backend.

Microservices guided by DDD and reactive systems paradigm

Presentation by Dinkar Gupta | Room: 11
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

The Future of Java is now!

Presentation by Sharat Chander | Room: 5
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

15:00

15:30

Using modern .NET technologies to decompose a monolith into micro-services

Presentation by Dennis Doomen | Room: 13
.NET
A micro-service architecture is a great strategy for decomposing a monolith. In this talk, I’ll show you some of the pros and cons of micro-services and how you can leverage OWIN, .NET, Event Sourcing and the Onion Architecture to gradually move your monolith into a bright new future.

Spring Boot the Ripper – Part II

Presentation by Evgeny Borisov | Room: 3
Java
In this talk I will try to reveal at least part of Spring Boot magic by discovering Spring Boot concepts, conventions and the way it works. And no matter that after this talk you will understand that there is no magic (mostly) you will enjoy Spring Boot even more, because you will be able to solve Spring Boot problems or conflicts without calling 911 (mostly).

Base64 is not encryption – a better story for Kubernetes Secrets

Presentation by Seth Vargo | Room: 11
Kubernetes
Attendees will learn techniques for securing Kubernetes secrets including encryption, KMS plugins, and tools like HashiCorp Vault, and the tradeoffs of each approach to better secure their clusters.

How Well Do Relational Database Engines Support JSON?

Presentation by Christian Antognini | Room: 10
Databases
Simply put, the aim of this talk is to make people aware of the good JSON support that RDBMS provide.

Building Intelligent Mobile Apps using Machine Learning

Presentation by Wei-Meng Lee | Room: 13
#ML
In this session, we will talk you through the basics of Machine Learning - the concepts, the algorithms you need to be familar with, and the things you could do with it.

16:30

Spring into Kotlin: How to Make the Magic even more Magical

Presentation by Mark Heckler | Room: 3
Kotlin
The presenter will demonstrate how to begin incorporating Kotlin into your existing Spring applications and, once you start your journey, where it can lead. Come to this session to level up on Spring+Kotlin!

GraalVM: Run Programs Faster Anywhere

Presentation by Oleg Šelajev | Room: 5
GraalVM
In this session you’ll see demos and learn what you can do with GraalVM, from using it as the JVM JIT compiler, enhancing the JIT, running native and polyglot programs, compiling them ahead of time for faster startup and lower runtime overhead, debugging your polyglot code using exact same tools for any language, to profiling performance and memory of your application and embedding GraalVM in a native application for portability.

Roslyn for the rest of us

Presentation by Fanie Reynders | Room: 13
.NET
In this session we will take a step back and realize how easy it is to create useful diagnostic analyzers and code fix providers to solve real-world problems that do not require a PhD in Math.

State of the Art Edge Router: Simplicity and Automation

Presentation by Michael Matur | Room: 11
devops
Our session will define what a modern edge router, reverse proxy and load-balancer are, from Traefik’s point of view. We will then present concepts and advanced features which overcome the platform entry point challenges. And finally, we’ll dig deeper and show how we can scale these solutions and make them fault tolerant.

Oracle SQL Pattern Matching Made Easy

Presentation by Oren Nakdimon | Room: 10
SQL
The purpose of this entertaining and educating session is to explain the MATCH_RECOGNIZE feature from the basics, step-by-step, with many examples, and by that demonstrating how powerful and useful it is, and at the same time eliminating the fear from what may seem at first as complex syntax.

17:30

Next Generation Microservices

Keynote by Burr Sutter | Room: Isense
In this session, our mission is to get you hands-on quickly with Knative on top of Kubernetes/OpenShift where we focus on the following: - Exploring Serverless application architecture: event-driven apps running in ephemeral containers - Installation of Knative into a Kubernetes cluster - Tips & Tricks - exploring clever and cool ways to use Knative on Kubernetes

19:00

09:15

09:30

Spearheading the future of programming

Keynote by Venkat Subramaniam | Room: Isense
It takes a long time for the software developers to change. The last big changed happened about 20 years ago. We’re poised for the next big change. In this presentation we’ll learn about the perfect storms that’s influencing that change and the directions that the programming field is evolving in.

10:30

11:00

Resiliency and Availability Design Patterns for the Cloud

Presentation by Adrian Hornsby | Room: 11
Cloud
In this session, will review the most useful patterns for building resilient software systems and especially show the audience how they can benefit from the patterns.

What’s coming in C# 8.0?

Presentation by Cecil Phillip | Room: 13
.NET
In this talk, we’ll take a look at some C# 8.0 features, dive into demos, and see how they will help improve your developer workflow.

Microservices: Get Rid of Your DBA and Send the DB into Burnout

Presentation by Franck Pachot | Room: 10
Databases
An introduction about databases vs. application. A demo with CPU metrics, on how the co-location of code and data matters. Examples on Oracle with SQL, PL/SQL, Javascript on the client or in the server (Multi-Lingual engine). An history from monolithic, client-server, and micro-services.

IoT powered by Microprofile – Microservices in practice

by Mads Opheim, Rustam Mehmandarov | Room: 5
IoT
In this talk, I will share with you how to achieve a successful migration to Bazel from Maven or Gradle, focusing on 5 important areas you have to think about and decide on the right approach for you, ranging from choosing the right build unit granularity to remote caching best practices.

Effective Java SE 12 APIs/Lang features, makes your life easier

Presentation by Mohamed Taman | Room: 3
Java
A tour of the new features in Java SE 12, powered by code, the platform designed to support faster learning, and more productive Java development.

12:00

Processing IoT sensor data with InfluxDB

Presentation by Johan Janssen | Room: 5
IoT
In this session, we’ll retrieve sensor data with a Spring Boot application. After that we will store the data in InfluxDB a time series database. We can store the data with the InfluxDB Java client or by making REST calls. Then we’ll make the data available in some nice dashboards running in Grafana and Chronograf.

Bring your ASP.NET Core solutions to Kubernetes in Azure

Presentation by Marco De Sanctis | Room: 13
.NET
AKS is a fully managed Kubernetes cluster in Azure. Getting everything ready is now faster than ever. However, being able to use it in production requires some advantage knowledge. This talk provides solutions to topics such rolling updates, security, bringing your own domain, and monitoring.

5 Things Developers do that Drive Me Crazy

Presentation by Øyvind Isene | Room: 10
Databases
This presentation is about what the DBA can do to make the daily life in a project bearable. Tuning, data modelling, security, release handling are subjects the developers need help with.

Cloud Native, Service-Meshed Java Enterprise With Istio

Presentation by Sebastian Daschner | Room: 11
Cloud
This sessions shows how to implement service-meshed applications using Java EE 8 and MicroProfile. We will develop a mesh of microservices, managed by Kubernetes and Istio.

Supersonic, Subatomic Java with Quarkus

Presentation by Burr Sutter | Room: 11
Quarkus
In a cloud native world enamored of Microservices and Serverless, meet Quarkus—Java’s brilliant response to technologies like Node.js, Python and Go that had until recently proven quicker, smaller and arguably more nimble.

13:00

13:15

Being a developer: What the heck am I doing?

Quick talk by Ilva Krave | Room: 10
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

Robot Hand Driven by Computer Vision and Reinforcement Learning

Quick talk by Daria Lashkevich, Vasyl Lyashkevych | Room: 13
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

Elixir – what it is and why is it amazing?

Quick talk by Janis Mozgis | Room: 11
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

Testing Live Video Streams At Scale

Quick talk by Nikita Martovs | Room: 3
CV
In Evolution Gaming there are more than 500 live streams from gaming studios. How can you guarantee their quality? Something more than just watching hundreds of monitors? Preferably automatically. Nikita will talk about attempts to detect toxic problems multiplied by the complexity of the scale. With blackjack and machine learning.

The Power of Event Storming: From a Pile of Sticky Notes to a Domain-Driven Design Microservices Architecture

Quick talk by Benjamin Nothdurft | Room: 5
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

14:00

Busy Developer’s Guide to WebAssembly

Presentation by Ted Neward | Room: 13
WebAssembly
In this talk, we'll go over some of the different tools of the WebAssembly world, talk briefly about what WebAssembly does--and doesn't--provide, and look at how to get started using WebAssembly while we wait to see how the world reacts and/or moves to adopt this in a more widespread fashion.

How to make your daily routine, code and database more efficient

Presentation by Marcin Przepiorowski | Room: 10
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

DevOps & Microservices: “Delivering Machine Learning models early and often.”

Presentation by Kristaps Bebris | Room: 5
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

Web-Scale IT Engineering.

Presentation by Maxim Shaposhnikov | Room: 11
microservices
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

From Functional to Reactive Programming

Presentation by Venkat Subramaniam | Room: 3
Reactive
In this presentation we will discuss the merits of reactive programming and how functional programming concepts seamlessly transition into the programming model espoused by reactive programming.

15:00

15:30

Decomposing Java applications

Presentation by Milen Dyankov | Room: 11
Java
Simply cutting things down into smaller pieces and calling them libraries, modules, microservices does not make your architecture good. How you decompose an application into components affects everything: costs, time, support, team’s motivation. So let’s talk about how to do it better.

Communication in a microservice architecture

Presentation by Irina Scurtu | Room: 5
microservices
In this session we’ll explore different ways of getting data from one ‘micro-service’ to another and while doing that we’ll talk about the benefits or the drawbacks of choosing an approach or another.

Full-stack Reactive Kotlin with Project Reactor & Spring Boot 2

Presentation by Mark Heckler | Room: 3
Kotlin
Want truly painless full-stack reactive Java? Come learn about the reactive streams initiative, Project Reactor, & how Spring 5 & Spring Boot 2 integrate a fully reactive model throughout the entire stack. LIVE CODING & testing are employed to go past the theoretical and into real understanding.

Playing programming with kids using BB-8 robot

Presentation by Olexandra Dmytrenko | Room: 5
robotics
A robot is a great tool to show what the programming can do. In the talk, I’ll share my experience in making several projects with kids of different age using a BB-8 robot. We’ll also do a little project together to see how much fun a programming lesson can bring.

Effective PL/SQL Code Insight With PL/Scope – or yet another reason to put code in the database

Presentation by Vidar Eidissen
Databases
In this presentation I’ll show how we used Oracles free PL/Scope to analyse 1.000.000 lines code base to make informed and well working design decisions. We also introduced a new logging framework and started changing code, deploying changes live several times a day. Some things we rewrote from scratch. Other places we replaced SQL-statements with calls to our low level APIs, as well as re-instrumenting code and fixing old bugs that suddenly were a lot more easy to identify.

16:30

7 Reasons why your microservices should use Event Sourcing & CQRS

Presentation by Hugh McKee | Room: 3
CQRS
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance […]

RSocket – new Reactive cross-network Protocol

Presentation by Oleh Dokuka | Room: 3
RSocket
In this session, we are going to learn why RSocket is innovation solution for cross-server communication, can we compare it with gRPC at all and if can, what are the key differences between RSocket and gRPC and why we have to start using RSocket today.

JDK 11: Pitfalls for the Unwary

Presentation by Simon Ritter | Room: 3
Java
In this session, we’ll look at all the areas of JDK 9, 10 and 11 that may impact application migration. This will cover all aspects: Java language syntax, class libraries and JVM options (a significant number of which have changed in these releases).

Performance tricks learned from low level developers that can be used in practically any language

Presentation by Kamil Stawiarski | Room: 10
Perfomance
This talk is not going to be related only to Oracle. It won’t be related only to any database in fact. Most examples will be shown in Python, but since they originate from analyzing Assembler code, you will see that they are going to be pretty much universal. Just open your mind to the old.

Component-based C# and Razor Programming in Blazor

Presentation by Dino Esposito | Room: 13
.NET
In the session, you'll see how to create highly reusable and configurable components that just look like plain markup elements with the syntax and behavior you code. And no JavaScript whatsoever. (Or at least no JavaScript is strictly required.)

17:30

Busy Developer’s Guide to Polytechnical Engineering

Keynote by Ted Neward | Room: Isense
In this talk, a polyglot, polycrepido and polypraeclusio programmer will talk about his experiences living across multiple languages, platforms and storage systems. It’s not all been a bed of roses, you’ll find, but there are advantages, up to a point. More to the point, by the end of the conversation, you’ll have a better idea of where you want to fit on the ‘polytechnical’ continuum, and how to make the necessary steps to get there.

18:30

19:00