Talks

There is a list of conferences I talked on (excluding ones I did to Ph.D). You may also check my contributions to open source or projects

Code Europe Wroclaw 2017 (1)

Title: Tools we use at JetBrains

Abstract:
Form the short talk you’ll know how people work at JetBrains, what tools we use daily.

Site
Slides

Code Europe Wroclaw 2017 (2)

Title: Refactoring monolithic component containers to sub-containers

Abstracts:
The bigger a monolithic application, the larger the dependency set. Adding or changing dependencies becomes a tricky task. Similarly, the complexity is in the number of beans and their dependencies in components container. You learn how to split a monolithic SpringFramework ApplicationContext into a set of sub-contexts, how to isolate sub-context internal components, clear their APIs and avoid non-trivial dependencies. Each sub-context can have its own classpath, which tackles the dependency hell problem. After being divided, a monolithic system becomes easier to split into a set of micro-services or processes. From the talk, attendees will learn several practical tips and tricks on how to split component containers into smaller ones to reduce the complexity.

Site
Slides

GDG DevFest Coimbra 2017

Title: Kotlin in 42 minutes

Abstract:
Welcome to Kotlin, the open source, statically typed programming language for multi-platform applications. This gonna be a big and exciting journey. To start with, we have an introduction to the language, no matter you target native, JVM, Android or JavaScript. It covers basic syntax, type inference, lambdas, inline functions, data classes, statically typed DSLs, and much more. An introduction is impossible without stories and future plans. In addition, I’ll share my own Kotlin experience and several open source projects I created with it.

Site
Slides

GDG DevFest Bayern 2017

Title: Kotlin in 42 minutes

Abstract:
Welcome to Kotlin, the open source, statically typed programming language for multi-platform applications. This gonna be a big and exciting journey. To start with, we have an introduction to the language, no matter you target native, JVM, Android or JavaScript. It covers basic syntax, type inference, lambdas, inline functions, data classes, statically typed DSLs, and much more. An introduction is impossible without stories and future plans. In addition, I’ll share my own Kotlin experience and several open source projects I created with it.

Site
Slides

Devoxx Belgium 2017

Title: Kotlin DSLs in 42 minutes

Abstract:
Learn how to create type-safe and statically typed DSLs in Kotlin. The session starts with an introduction to DSL related Kotlin language features. Next, we create a simple DSL in a live coding session and then continue adding expressiveness and language features. We cover a number of examples, like JSON or XML builder’s, data binding, configuration & template engines, HTML builders, React wrapper, Web frameworks, Anko and Android layouts, server side and more. You will learn how to create and understand the magic behind statically typed DSLs in Kotlin

Devoxx Speaker Page
Slides
Code
YouTube
Posts by dsl tag

KTUG Munich & GDG Munich Android

Title: Kotlin DSLs in 42 minutes

Abstract:
Learn how to create type-safe and statically typed DSLs in Kotlin. The session starts with an introduction to DSL related Kotlin language features. Next, we create a simple DSL in a live coding session and then continue adding expressiveness and language features. We cover a number of examples, like JSON or XML builder’s, data binding, configuration & template engines, HTML builders, React wrapper, Web frameworks, Anko for Android layouts, server side and more.

You will learn how to create and understand the magic behind statically typed DSLs in Kotlin

We had a live coding session in which we converted a Java code snippet into a nice and easy to read DSL in Kotlin.

KTUG Meetup November
GDG Android + KTUG Kotlin Meetup November
Slides
Periscope
Posts by dsl tag

JavaOne 2017 Keynote

I did a 5-minute demo of IntelliJ IDEA Java 9 support features. The demo was mostly presenting Java Modules (aka Jigsaw) related features including module-info.java, module graph and so on. It was live demo.

JavaOne Keynote Video bookmark
On Stage

Kotlin Helsinki User Group’s Kick-Off event

Title: Kotlin in 42 minutes

Abstract:
Welcome to Kotlin, the open source, statically typed programming language for multi-platform applications. This gonna be a big and exciting journey. To start with, we have an introduction to the language, no matter you target native, JVM, Android or JavaScript. It covers basic syntax, type inference, lambdas, inline functions, data classes, statically typed DSLs, and much more. An introduction is impossible without stories and future plans. In addition, I’ll share my own Kotlin experience and several open source projects I created with it.

Meetup
Slides
Video

Spring I/O 2017

Title: Splitting component containers to simplify dependencies

Abstract:
The bigger a monolithic application, the larger the dependency set. Adding or changing dependencies becomes a tricky task. Similarly, the complexity is in a number of beans and their dependencies in components container.

In this talk, we’ll discuss a way to simplify things by splitting component containers into smaller ones. We’ll see how to split a monolithic ApplicationContext into a number of sub-contexts, how to isolate sub-context internal beans, clear their APIs and avoid non-trivial dependencies.

Each sub-context can have its own classpath, which tackles the dependency hell problem. After being divided, a monolithic system becomes easier to split into a set of micro-services or processes. From the talk, attendees will learn several practical tips and tricks on how to split component containers into smaller ones

Conference
Slides
Posts by Spring tag
Video

2016

JavaOne 2016

Title: Generating Kotlin Code for Better Refactorings, Tests, and IDE Support [CON3575]

Abstract:
An IDE is so much more than an editor. It helps developers a lot only if it knows something about the code. There are many ways to extend an IDE. This session shows how to extend an IDE without writing any IDE-specific code. It discusses how to create an API library (DSL) in Kotlin (an open source JVM language) and a code generator to empower IDE integration. It also covers applications such as semantics, tests, project models, and refactorings.

Conference
Slides
Posts by the dsl way tag

GradleSummit 2016

Title: Building Self-Contained Toolset with Gradle

Abstract:
Consider a toolset which helps to edit configuration files. For a given list of configuration files it generates source code in Kotlin. From the compiled source code it generates configuration files back. Editing the generated source code in IDE helps to view, change, refactor and test configuration easier. The setup of such a toolset from scratch is usually complicated. It contains a tricky IDE configuration, dependency resolution, source code compilation, classpath construction and test running.

The complexity makes such a toolset hard to use in practice and in continuous integration. Our goal is to simplify the setup. For this purpose we created an opensource Gradle plugin which will be discussed in this talk. The talk contains examples and tips that illustrate how one can hide and reuse tricky details and turn a domain specific toolset into a easy-to-use self-contained piece of software

Conference
Slides
Video