Language selector

My talks

I started giving public and mostly IT-related talks in 2016. Until now (January 2022) I delivered over 80 talks in various formats, from Pecha Kucha (20 slides x 20 seconds each) to Deep Dive (2,5h long). I spoke in Poland and Europe, both small community events, both huge cinema rooms. Many of my talks (but not all of them) have both English and Polish versions. Some have been given many times, some just once, some were given awards, and all were made with passion.

I’ve attended as a speaker several conferences and Java User Groups, including: 4Developers Festival, BoilingFrogs, ChamberConf, CodeCamp Romania, CodeMotion Milan, CodeMotion Spain, CoffeeJUG Lviv, Devoxx Belgium, Devoxx France, Devoxx Poland, Devoxx UK, Devoxx Ukraine, GDG DevFest Toulouse, GDG DevFest Wroclaw, GeeCON Poland, GreenField Conf, Java Developer Days, JavaDays Lviv, JAVIPS, jLove, JPoint Russia, ScalaLove, SegFault (& CoreDump), ChicagoJUG, SilesiaJUG, SpreadIT, VirtualJUG, VoxxedDays Romania, WarszawaJUG, WroclawJUG and others.

Modern Java is really awesome when it comes to “Hello, World!” demos. It’s also cool for a sophisticated systems and algorithms, provided their authors write code which obeys a few fairly simple contracts and avoids obvious traps. There are a few mantras regarding recent features of modern Java, such as: records can replace JavaBeans everywhere you never need to write hashCode() for records pattern matching with instanceof is the best tool for equals() just ignore --illegal-access and set it to permit synchronize (new Long(42)) is the best for monitoring and so on.
Another (half a) year has passed, another major Java™ version has been released. Java was supposed “to be slow”. However, Java turns out to evolve so fast, that next releases aren’t just version bumps, but might significantly change the rules of the game. That’s a good reason to check out what’s new in Java. We’re going to cover: Records, where and how to use them, apart from DTO/VO Pattern matching with instanceof A.
In the dark ages, we had to wait for 3-4 years to see the new Java version with some new features. Now there are two major releases every year! Can we benefit from the new features before the next LTS release? We don’t have to wait 3 years or so for new features any more. Isn’t that cool? 😉 So… you’d like to check what has happened since Java 11? Record types?
Another (half a) year has passed, another major Java™ version has been released. Java was supposed “to be slow”. However, Java turns out to evolve so fast, that next releases aren’t just version bumps, but might significantly change the game rules. That’s a good reason for another deep dive in Java. We’re going to cover: Production ready GCs: ZGC and Shenandoah, if you don’t like ice ages Text blocks, which make Strings easy to declare also for non-liners Pattern matching with instanceof A.
Java 14 brought Records as one of the preview features. For many it was reasonable to say “no more JavaBeans code generation” or “Lombok is dead”. Is that really the case? What one can do with records and what can’t? What about reflection and serialization? This talk has been presented at e.g. AllTheTalks.online, CodeCamp Romania, JPoint.
Hey, there are two major Java versions released every year! We don’t have to wait 3 years or so for new features any more. Isn’t that cool? ;-) So… would you like to check out what has happened in Java 14? Switch expressions available to public? No more NPEs? Record types? Pattern matching? Text blocks? If you find them interesting, let’s dive deep together into new interesting stuff. This talk has been presented at Wrocław JUG and Warszawa JUG.
Hey, there are two major Java versions released every year! We don’t have to wait 3 years or so for new features any more. Isn’t that cool? ;-) So… you’d like to check what has happened since Java 11? Switch expressions? Text blocks? New functions in String, Streams and other APIs? What are the Shenandoah and ZGC about? AppCDS to speed up spin-off? If you find them interesting, let’s dive deep together into new interesting stuff.
It’s (post) Java 11 time now. (Just in case your boss didn’t notice ;-)) In this talk, I’d like to tell you how I managed to migrate two real Java server apps to Java 11 and show some demos. Why was it done? How to convince the business? What and how was done? What wasn’t required? Does anyone read licenses, manuals, and talks' descriptions? Where did I fail in the first approach?
How a developer can tell if the system is sick just by taking a look at the input and the output? If you’d like to know that (plus you like standup comedy), come and see! The treatment is safe ;-) One approach to get familiar with a system is a long and intense reading the manual (and to run an eye over the source code sometimes). Another approach is to take a deep dive into the data model (often in the DB) and to surf the user interface.
“The best sorting algorithm is quick sort." “Indexes make DB faster." “Data should be sorted using ORDER BY." “Composition - good; inheritance - not good." “Windows is an operating system." “You must have transactions in your DB." “Java is slow." “Don’t eat yellow snow." “You shall not self-sign your certificates." “Interrupt in Java is broken.” The IT world is full of mantras/revealed truth, passed (often in oral tradition) among developer tribes.

Language selector