Language selector

My talks

I started giving public and mostly IT-related talks in 2016. Until now (December 2024) I delivered over 160 talks in various formats, from Pecha Kucha (20 slides x 20 seconds each) to Deep Dive (3h long). I spoke in Poland and Europe, and the US, and in Africa, both at small community events, both in 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, Confitura, dev2next, Devoxx Belgium, Devoxx France, Devoxx Greece, Devoxx Morocco, Devoxx Poland, Devoxx UK, Devoxx Ukraine, GDG DevFest Toulouse, GDG DevFest Wroclaw, GeeCON Poland, GeeCON Prague, GreenField Conf, Infoshare, Java Developer Days, JavaDays Lviv, JavaLand, Javeloper, JAVIPS, JCon Europe, Jfokus, jLove, JNation, JPoint, jPrime, JSpring, ScalaLove, SegFault (& CoreDump), SpreadIT, VoxxedDays Luxembourg, VoxxedDays Romania, VoxxedDays Zurich, Ya!va Conf, ChicagoJUG, SilesiaJUG, TricityJUG, UtrechtJUG, VirtualJUG, WarsawJUG, WroclawJUG, SzczecinJUG, Zielona Góra JUG, and others.

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?
Was it worth it?
Some hints for you.

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. Both are natural ends of the system, the legendary Input and Output. By examining these ends one can check if there’s good digestion or if guts are rotten. Careful examination can confirm “common DDDosis”, “malignant stringosis”, “regex diarrhoea” or “not-made-here syndrome”. Unfortunately, sometimes developers get infected in their prenatal life (meaning: at their university). Let me invite you to treatment. A laxative one. (That is: a sequel of “Passwords. Do you keep them safe?”)

“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. Mindlessly repeated from generation to generation, they cause a reckless usage. At best this results in more harm than good, in the worst case: a total disaster worth whole train of money. The context is indispensable part of each mantra. Right context can help to distinguish proper usage from incoming disaster.

There are 10 kinds of people: the ones who already log stuff and the ones who will. ;-) But what can be fascinating about logging? It’s just adding some statements of given level to a file in /var/log, so what’s this presentation for in the fist place? Well, ordinary adding lines to /var/log and tracing them with tail -f or searching with grep is so… 1980 and inefficient. Meet Graylog: a centralised and distributed log management system. A tool, which will let you gather, process, analyse logs from many sources: syslog, your application, Apache/Nginx, database, firewall, etc. It can alert, search all ways through, analyse the logs no matter what language/technology sent them. And it makes that good. And is Open Source. This presentation is about some gotchas based on real-life experience, quick Graylog setup, wiring your apps/systems/servers, analysing logs after. Even if the machine which sent them is already gone.

Some say that keeping passwords in a [web] application is a boring and trivial task: some hashing, maybe some salt, et voilà! However, storing passwords and other sensitive data might not be as simple as it seems. You’ll see a bunch of examples of what to do and what not to do based on a freelance’s experience. Watch and see if you’re not sitting on a bomb.

This talk (in various formats) has been presented at Chamberconf, 4Developers, Devoxx Poland, Wrocław JUG, Coffee JUG Lviv, jLabs Academy and others.