Adam Warski

Good morning!

Sharing elegant solutions to everyday problems

I’m Adam Warski: programmer, OSS developer and the co-founder of SoftwareMill. Following the motto above, I enjoy both writing and speaking on various programming-related subjects, very often around the areas of distributed systems, architecture and functional programming.

Chief R&D Officer

@ SoftwareMill

Main interests

What my projects, articles & videos are usually about. But not only!

Functional programming

I started my FP adventure using Scheme and OCaml, but I'm now a happy user of Scala: an elegant, safe and practical language combining functional and object-oriented programming.

Event sourcing

Event sourcing gives us not only performance, but also makes sure important data doesn't disappear, and offers and interesting way of structuring code. It's usable both in the large, and in the small, which isn't so well known!

Developer experience

How to balance safety properties guaranteed at compile-time, with code readability and maintainability? Fundamental tradeoffs are not always obvious, and most popular approaches aren't always "the best".

Latest articles

3 Jun 2024

WebSocket chat using structured concurrency, Ox & Tapir

A quick introduction to implementing WebSocket chat using structured concurrency, Ox & Tapir.

scala
tapir
virtual threads
structured concurrency
27 May 2024

Lagom is approaching end of life: possible migration paths

Lagom is reaching end-of-life on July 1st, 2024. What should be the replacement? How to architect the migration path? What kind of options do we have?

scala
java
event sourcing
kafka
22 May 2024

IO effect tracking using Ox

Ox, a library for safe direct-style concurrency and resiliency in Scala on the JVM, recently gained a new feature: the IO capability. IO is designed to be part of the signature of any method that performs I/O, either directly or indirectly.

scala
java
effects
ox
All articles

Latest videos

19 Jun 2024

Tapir Tutorial - part 3: Using JSON bodies

tapir
scala
tutorial
15 Jun 2024

Direct style Scala using Ox

scala
loom
concurrency
structural concurrency
effects
ox
All videos

Get in touch