Press "Enter" to skip to content

Author: Grzegorz Piwowarek

I am a passionate polyglot software engineer, trainer, and international conference speaker who cares about quality, craftsmanship, clean code and getting things done. Developing software for telco companies.

Besides coding, I am a professional yo-yo player and a guitar player in a progressive metal band.

Kotlin Collections API Performance Antipatterns

Kotlin’s Collections API is expressive and rich – but with great power comes great responsibility – there are certain practices that can cause an unnecessary time-complexity and object allocation overhead.

To fully understand the context, make sure to check the previous article first:

Kotlin: Beware of Java Stream API Habits

1 Comment

The Ultimate Guide to the Java Stream API groupingBy() Collector

The groupingBy() is one of the most powerful and customizable Stream API collectors.

If you constantly find yourself not going beyond:

.collect(groupingBy(...));

…or simply wanted to discover more its potential uses, then this article is for you.

Leave a Comment

Hamming Error Correction with Java and Vavr – part 3

Since there was some interest in seeing the same implemented in Java, in this article, we’ll see how we can implement the same Hamming encoder/decoder using Java and the Vavr library.

Previous articles from the series:

Hamming Error Correction with Kotlin – part 1

Hamming Error Correction with Kotlin – part 2

Leave a Comment

Leveraging Lambda Expressions for Lazy Evaluation in Java

In Java, the potential of lazy evaluation is quite neglected (actually, at the language level, it’s pretty much limited to the implementation of minimal evaluation) – advanced languages like Scala, for example, differentiate between call-by-value and call-by-name calls, or introduce dedicated keywords like lazy.

Leave a Comment