Adam Warski
warski.org
Adam Warski
@warski.org
Sharing elegant solutions to everyday problems | R&D @ SoftwareMill | #Scala / functional programmer #FP | Blogger | #OSS developer
Interesting take on separating Tapir endpoint descriptions & the server logic, while making sure that every endpoint is used & implemented:

github.com/arkida39/baku
GitHub - arkida39/baku: A Scala Tapir extension to cleanly decouple API definitions from server and security logic.
A Scala Tapir extension to cleanly decouple API definitions from server and security logic. - arkida39/baku
github.com
December 12, 2025 at 4:16 PM
Robert Pudlik is always the first to try out new coding models, IDEs and tools (and with a new IDE each day ... that's a lot of work).

And with good effects! But his AI usage is guided by rules - he describes how to effectively do so below:

virtuslab.com/blog/ai/how-...
How To Write Rules for AI Coding Tools
How to write focused, effective AI coding rules.
virtuslab.com
December 12, 2025 at 2:26 PM
Reposted by Adam Warski
Welcome Krzysztof Grajek as the #rustikon speaker!

🎙️ Supercharging Axum Development with Claude Code: Practical AI-Assisted Workflows for Rust Engineers

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

#rustlang #rustconference
December 11, 2025 at 9:27 AM
Reposted by Adam Warski
YavaConf was a blast🔥

Thank you to everyone who attended the presentations by Adam Warski, Michał Zyga, and Artur Skowroński!

The 2026 lineup promises to be equally rich and engaging, and includes @rustikon.dev and @scalar-conf.com!

We hope to see you there, too!

#yavaconf #jvm #java #loom
December 11, 2025 at 12:34 PM
It's not everyday that your work colleague writes a book for Manning! Especially that Manning has a strong brand, which just makes this even more interesting!
December 11, 2025 at 8:37 AM
Due to a surprisingly fast code rot, the runnable examples in the Chimp library (type-safe, boilerplate-less #MCP servers in #Scala using the HTTP transport) didn't work OOTB.
chimp/examples/src/main/scala/chimp at master · softwaremill/chimp
Build type-safe, boilerplate-less MCP servers in Scala using the HTTP transport - softwaremill/chimp
github.com
December 10, 2025 at 1:38 PM
In case you would run out of YouTube content to watch, two of my talks are now publicly available:

"What is Functional Programming?" from @lambdadays.bsky.social
www.youtube.com/watch?v=pnZS...
What is Functional Programming? - Adam Warski | Lambda Days 2025
YouTube video by Code Sync
www.youtube.com
December 10, 2025 at 11:05 AM
Method profiling on the #JVM: a quick but in-depth look at what data and data structures are used to decide when, and how to optimise a method. Making the JVM a bit less magical!

By Michał Zyga:
softwaremill.com/introduction...
Introduction to JVM Method Profiling
The size of the method compiled by the JIT compiler depends on the amount of profiling data included. But what does that actually mean? In this article, I will answer that question and also explain ho...
softwaremill.com
December 9, 2025 at 12:52 PM
Slides from my Ya!vaConf today "From Reactive Streams, through Virtual Threads, to Flows": adamw.github.io/ox-flows-pre...
reveal.js
adamw.github.io
December 5, 2025 at 3:44 PM
Latest Tapir (#Scala rapid self-documenting HTTP API development) offers more precise logging & metrics. So that you always know what's up with your application! github.com/softwaremill...
Release v1.13.0 · softwaremill/tapir
Major changes The changes in this minor release mostly concern the server interpreters. The request handling result that is passed through the interceptor stack now contains additional metadata whi...
github.com
December 5, 2025 at 2:19 PM
Reposted by Adam Warski
While I was reading I kept thinking, isn’t this like Rust’s borrow checker and indeed: “Given the foundation provided by the capture checker, the Scala team is now working on using it to implement separation checking. This will allow tracking the use of mutable values and the aliasing of references”
December 4, 2025 at 5:18 PM
Safe resource usage is coming to #Scala!

Scala 3.8 is just around the corner (you can test 3.8.0-RC3) - it's a great occasion to try out capture checking. But first, you have to understand how it works - here's my attempt: softwaremill.com/understandin...
Understanding Capture Checking in Scala | SoftwareMill
Capture checking is an upcoming Scala feature that allows you to track which designated values (capabilities) are captured (i.e., stored as references) by arbitrary other values. This tracking happens...
softwaremill.com
December 4, 2025 at 2:19 PM
What did we #AI this month?

Łukasz Lenart explains how to configure Claude, with an example involving JetBrains's MCP.

Jacek Centkowski describes how he prepared a lightning talk with #ChatGPT.
December 3, 2025 at 4:12 PM
Reposted by Adam Warski
Are you heading to YavaConf 2025?

Good news - our experts will be there 🔥

On December 5th, Adam Warski and Michał Zyga will be giving their presentations on the conference stage! Feel free to stop by to listen, have a chat, or give them a high-five!

See you in Warsaw!

#yavaconf #java #scala
December 1, 2025 at 10:25 AM
Reposted by Adam Warski
Here’s our next pick from Scala Days 2025 👇
“A Tour of Ox 1.0: Direct‑Style Concurrency and Resiliency” by Adam Warski — watch here → youtu.be/Gn0q5zsGarA...

Give it a look — would love to hear what you think about mixing concurrency and Scala! 👇 (1/2)
Adam Warski: A Tour of Ox 1 0 - Direct Style Concurrency and Resiliency [Scala Days 2025]
Ox provides a toolkit for safe concurrency and resiliency for Scala on the JVM. After two years of prototyping, we’re delighted to showcase the final product...
www.youtube.com
November 27, 2025 at 2:00 PM
Reposted by Adam Warski
Kicking off our Scala Days 2025 highlights with a fantastic talk from the conference! 🎥✨
“Say goodbye to implicits – contextual abstractions in Scala 3” by Magda Stożek
👉 youtu.be/59T9nf0PHvc...
(1/2)
Magda Stożek: Say goodbye to implicits - contextual abstractions in Scala 3 [Scala Days 2025]
Have you ever been confused by implicits in Scala? I most certainly have. I struggled to understand them at the beginning of my Scala journey, and to this da...
www.youtube.com
November 26, 2025 at 9:56 PM
Reposted by Adam Warski
🎧 Beyond the Commit is live!

Our host, Paweł Dolega, talks with Gilberto Taccari, CTO at Tot. With a PhD in Computer Engineering and over ten years of experience, Gilberto combines technical depth with business strategy.

#BeyondTheCommit #Podcast #TechTalk #CTO #FinTech
Beyond the Commit, Episode 2: Gilberto Taccari
YouTube video by SoftwareMill
www.youtube.com
November 26, 2025 at 2:09 PM
11 hours remaining to send your #Scala or #Rust talk to @scalar-conf.com and @rustikon.dev! #c4p

Even if you have just a vague idea brewing in your head, give it a go! Maybe being accepted is exactly the nudge you need? :)

Links: sessionize.com/scalar-2026/
sessionize.com/rustikon-2026/
Scalar 2026: Call for Speakers
Scalar is the main Scala event in Central Europe. Since 2014 it provides a platform to discuss latest Scala trends and use cases, and meet Scala enthu...
sessionize.com
November 24, 2025 at 12:24 PM
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