Adam Warski
warski.org
Adam Warski
@warski.org
Sharing elegant solutions to everyday problems | R&D @ SoftwareMill | #Scala / functional programmer #FP | Blogger | #OSS developer
Through the hands of Maria Kucharczyk & Michał Matłoka each year we ship "IT Trends to watch in ..."

This time, double treat: not only we get trends for 2026, but also a retrospective going to 2021. Which predictions turned out true? Let's verify the oracle!
November 21, 2025 at 11:19 AM
Everybody's talking about THAT piece of #Rust code. Would you have done it better? How to avoid .unwrap()? What's the root cause, is it the people, or is the type system too weak? What are we missing?

These are all great subjects for a @rustikon.dev session. The c4p ends soon!
November 20, 2025 at 11:48 AM
Our blog keeps delivering!

@kgrajek.bsky.social introduces Semantic AI Validator: a #Kotlin library that enables intelligent, context-aware validation of form fields using LLMs softwaremill.com/beyond-regex...
Smarter Spring Validation with Semantic AI Validator
Meet Semantic AI Validator from SoftwareMill, a lightweight, annotationbased (JSR-380 compliant), async library for Spring framework, which solves some of the problems people may have when building we...
softwaremill.com
November 20, 2025 at 10:02 AM
Zatrudniamy w @softwaremill.com! Praca w pełni zdalna, #Kotlin, #Scala, #Rust na backendzie; #DevOps, czyli kubernetesy w chmurze. Oferty z widełkami: softwaremill.com/join-us/
Join Us
We are looking for outstanding professionals to join our remote team. Check out open positions for backend, frontend & DevOps. We're hiring!
softwaremill.com
November 19, 2025 at 2:53 PM
Reposted by Adam Warski
Welcome the Scala creator himself, Martin Odersky, as the #Scalarconf 2026 speaker!

🎟️ Grab your ticket here: scalar-conf.com/tickets

#scala #scalarconf #functionalprogramming
November 19, 2025 at 9:47 AM
Reposted by Adam Warski
Welcome Paweł Szulc as the #rustikon speaker!

🎙️ From Micrograd to coppergrad: Building Neural Networks and Backpropagation from Scratch in Rust

🎟️ Grab your ticket here: www.rustikon.dev/tickets

#rustlang #rustconference
November 19, 2025 at 1:04 PM
Testing concurrent code is hard. Don't rely on pure luck, that your stress test has hit all the problematic thread interleavings. Instead, improve your tests.

Fray enables just that. How does it work?
softwaremill.com/deterministi...
Deterministic Concurrent Testing Using Fray
Fray enables writing concurrent tests for the JVM, deterministically simulating various thread interleaving, and if needed, replaying runs that failed, using a standard Java debugger. Let's take a clo...
softwaremill.com
November 17, 2025 at 3:42 PM
Just as with @rustikon.dev, the c4p for @scalar-conf.com is still open - you can join the already excellent lineup :) #Rust #Scala
Welcome Mateusz Kubuszok as the #Scalarconf 2026 speaker!

🎙️ Can we have the Standard Library for Macros?

🎟️ Grab your ticket here: scalar-conf.com/tickets

#scala #scalarconf #functionalprogramming
November 17, 2025 at 3:08 PM
Reposted by Adam Warski
Welcome Andre Bogus as the #rustikon speaker!

🎙️ An Option? Have a slice!

🎟️ Grab your ticket here: rustikon.dev/tickets

#rustlang #rustconference
November 17, 2025 at 11:10 AM
The first #Rust speakers are here, but the C4P goes on!

You still have over a week - head over to www.rustikon.dev and submit your presentation! #Warsaw awaits :)
November 14, 2025 at 11:07 AM
New Jox release (#Java virtual-thread based safe concurrency & streaming):
* memory optimizations & performance improvements in channels thanks to Andrej Fink
* concurrency tests using the Fray library (github.com/cmu-pasta/fray)

github.com/softwaremill...
GitHub - cmu-pasta/fray: A controlled concurrency testing framework for the JVM
A controlled concurrency testing framework for the JVM - cmu-pasta/fray
github.com
November 14, 2025 at 10:09 AM
Lots of interesting content on our blog lately :)

Michał Zyga on how #Java bytecode gets interpreted, then compiled (sometimes) using C1, C2 compilers into machine code. A quick & informative peek under the hood of the JVM! softwaremill.com/the-long-jou...
The Long Journey - How Byte Code Gets Interpreted by the Machine
Explore how Java bytecode is transformed into executable machine code through JVM internals, JIT compilation tiers, and optimization processes.
softwaremill.com
November 13, 2025 at 9:33 AM
Reposted by Adam Warski
Confluent Stretched Cluster 2.5 introduces powerful mechanisms to enhance cross-datacenter resilience while reducing operational complexity. See how replication factor and min.insync.replicas impact the availability and fault tolerance of such an architecture.
softwaremill.com/understandin...
Understanding in-sync replicas and replication factor in Confluent Stretched Cluster 2.5
Learn how insync replicas, replication factor, and observers improve data durability and failover in Confluent Stretched Cluster 2.5 vs. open-source Kafka.
softwaremill.com
October 30, 2025 at 1:55 PM
Sometimes I feel almost guilty for not using AI in some coding tasks. Am I a boomer-coder, on the verge of going extinct?

But then I recall past lessons, when I burned through the monthly electricity consumption of a small town just to coerce AI into writing what I already had in my head.
October 27, 2025 at 5:35 PM
Reposted by Adam Warski
Meet Beyond the Commit, your new go-to for unfiltered, real-world engineering stories.

Ready to listen? 🔊 We launch on November 5th!

Stay tuned for more details in the coming days.

#BeyondTheCommit #TechPodcast #CTO #RealTalk
October 27, 2025 at 2:06 PM
Reposted by Adam Warski
Big congrats to our Software Engineer Michał Zyga - now officially a JUGmajster! 🏆 His talk on cutting Java startup time won Best JUG Talk at JDD! ☕🔥

📖 His full article on that topic is here:
softwaremill.com/how-to-impro...

#JDD #Java #SoftwareEngineering
October 22, 2025 at 11:59 AM
Using floats to represent money? Really?

That's one of the vibe coding failures covered in our "what did we #AI this month" series by @softwaremill.com & VirtusLab

More:
virtuslab.com/blog/ai/our-...
This Month We AIed #3
We’ve been putting AI to the test in controlled experiments.
virtuslab.com
October 22, 2025 at 9:36 AM
Turns out local-second, event-driven webapps is exactly what you might have wanted yesterday during #awsoutage.

And it's not only hotels (which is the example given in the article): a real-life scenario from Monday is a primary care clinic.
October 21, 2025 at 1:06 PM
Could you have entirely avoided being impacted by #awsoutage? Probably not - there's way too much downstream dependencies. Being multi-region wouldn't always have helped either.

But there are ways to minimize the impact.
Yesterday's AWS us-east-1 region outage caused significant disruptions to many services and apps on the internet.

Learn how to build a highly available, multi-regional scheduler using AWS services, ensuring at least one delivery policy for critical workflows 👇

softwaremill.com/building-a-m...
Building a multi-regional, highly available scheduler with AWS
How to build a highly available, multiregional scheduler using AWS services, ensuring at least one delivery policy for critical workflows.
softwaremill.com
October 21, 2025 at 12:56 PM
Let's put #AI to work: equipped with our expert knowledge on Kafka administration & configuration debugging, KafkaPilot talks directly to your cluster.

Each #Kafka setup is slightly different, but then adaptability is what makes AI stand out from traditional solutions.
We are thrilled to announce we are building KafkaPilot, a proactive tool designed to diagnose and resolve common issues in Apache Kafka.

🔗 KafkaPilot explained: softwaremill.com/kafkapilot-u...

#KafkaPilot #ApacheKafka #Kafka #DevTools
October 20, 2025 at 2:28 PM
Reposted by Adam Warski
Looking for a job that respects your craft? Check out our open roles.

🔗 Senior Scala Developer: softwaremill.com/join-us/seni...
🔗 Senior DevOps Engineer: softwaremill.com/join-us/seni...
🔗 Senior Product Designer: softwaremill.com/join-us/seni...

#DevJobs #RemoteWork #HiringNow #DevOps #Scala
October 16, 2025 at 7:09 AM
Today at #SingaDev in #Singapore: 10 things you might want to know about #Java's Virtual Threads.

Simplified, maintainable programming model with performance known from reactive programming - what's not to like!
October 16, 2025 at 1:26 AM
Congratulations to Martin Odersky for receiving the Programming Languages Achievement Award @icfp-conference.bsky.social - well deserved! :)

I can only confirm what it says on the citation, his work deeply impacted how I view programming.

Let's work towards making #Scala a continued success!
October 14, 2025 at 12:27 PM
Reposted by Adam Warski
We've just released sttp-ai 0.4.0 (formerly sttp-openai): you can now find clients for both OpenAI and Claude APIs. Same as sttp-client, the library works with any #Scala ecosystem: direct-style (synchronous), Future, cats-effect & ZIO. Enjoy!

github.com/softwaremil...
Release v0.4.0 · softwaremill/sttp-ai
Project name change The project is now called sttp-ai, as it contains a client for both OpenAI and Claude APIs. Migration Most of the time it should suffice to change the dependency coordinates fro...
github.com
October 13, 2025 at 10:00 AM
If you're at #icfpsplash25, join the #Scala workshop which runs now - all of Monday - and Tuesday morning. Lots of interesting talks! I'll be speaking as well, hopefully adding something interesting to the lineup: How functional is direct-style? See you there!
October 13, 2025 at 3:10 AM