name

Maciek Próchniak

Various things with development
TouK

I’m developer/architect having more than 15 years of experience in IT – but my roles vary from analysis to deployment. I’m mainly interested in JVM (Scala in particular) My main fields of interest are functional programming, stream processing systems (Akka, Kafka, Flink) and integration. I also like to give talks at conferences – Confitura, HeapCon, Devoxx just to name a few.

Talks

  • Ok, it's time to synchronize our clocks...

    "But what does this actually mean? How is time really measured on our servers (even if we are serverless...) ? How do they know ""what time is it""? What are the quirks and traps to watch for? And what does happen if we move to distributed setting? How to synchronize time and how precise can we be? Also - why it may be more important than we sometimes think. I'll try to answer at least some of those questions.

  • What if Spring framework disappeared for a week?

    This talk is a bit provocative. Spring framework is probably the most successful of all Java frameworks in the last couple of years. Usually, half of every conference schedule is dedicated to it. It's really great and helpful, but sometimes I see that (especially younger) developers stop to see world outside it. If they cannot use Spring for some (good or bad) reasons, they are helpless and start to moan. I'd like to do a kind of a mental experiment – what would one do in such a situation, which stuff is really essential and which is such syntax sugar that is easily replaced. This talk is mostly Spring/Java based, but I'd like to make some general observations about frameworks/libraries – how to distinguish if some feature is really difficult to live without, or is it just some syntactic glue we can replace with 5 lines of code.

  • Programming languages - somewhat similar, wildly distant or just with different idioms?

    n the last 18 years I was programming almost exclusively on JVM - Java, Scala, Kotlin etc. This year, I moved to different ecosystems - Python, Rust, even Go. At first, the languages seem quite different - syntax, libraries, etc. At a second glance, everything starts to look familiar - functions, interfaces, types have much in common. But after a while, you start to discover interesting things - how similar concepts can lead to different idioms and styles due to different implementation or design. In this talk we’ll have a look at some of those differences - types, resource handling, method dispatch etc. Why idiomatic Java code can work, but be ‘weird’ in Rust - and vice versa.