Adam Warski
warski.org
Adam Warski
@warski.org
Sharing elegant solutions to everyday problems | R&D @ SoftwareMill | #Scala / functional programmer #FP | Blogger | #OSS developer
Are you into #Rust? Or hoping to get into the ecosystem?

Then @rustikon.dev is for you :) A friendly community, meeting for the 2nd edition of the conference. And we've got a great agenda!
February 11, 2026 at 2:16 PM
Continuing the quest to lock down #AI agents in a sandbox: here's Sandcat, a dev container setup that intercepts all container network traffic, filters it & injects secrets.

Your API key values never even exist in the container. But you retain the convenience of reviewing & browsing code in an IDE
GitHub - softwaremill/sandcat: A dev container setup that routes all container traffic through a transparent mitmproxy via WireGuard, enforcing network access rules and injecting secrets at the proxy ...
A dev container setup that routes all container traffic through a transparent mitmproxy via WireGuard, enforcing network access rules and injecting secrets at the proxy level - softwaremill/sandcat
github.com
February 11, 2026 at 11:40 AM
Reposted by Adam Warski
Learn Kafka essentials from a Confluent Elite Partner 💪

There’s plenty of theory out there, but nothing beats production experience. We’ve seen exactly what works and what breaks in high-scale data streaming environments.

Download the ebook: softwaremill.com/ebooks/start...
February 9, 2026 at 10:58 AM
The best way to start a Monday morning might be to get some @scalar-conf.com tickets - just over a month away!

Make new friends, meet old friends, find out how #Scala might fit into the #AI ecosystem with trustworthy agents - an opening talk by Martin Odersky, and much more!
February 9, 2026 at 7:38 AM
A walkthrough my latest #Claude + VS Code + Dev Containers setup: warski.org/blog/secure-...
Secure & Dangerous Claude Code + VS Code setup | Adam Warski: programming articles & videos
Architecture, distributed systems, functional programming, event sourcing, developer experience & more.
warski.org
February 6, 2026 at 7:03 PM
Once again, I'm happy to report that @softwaremill.com received the #GreatPlaceToWork Poland award. Congratulations - and thank you - to the team :)
February 3, 2026 at 9:27 AM
While reading the "Build a LLM from scratch" book, I get to appreciate how intricate and complex the architecture of an LLM is. The common narrative is that It’s "just" throwing a lot of compute power at a deep neural network - but as often in life, there's a lot more nuance.
January 22, 2026 at 9:44 AM
Reposted by Adam Warski
Financial platforms rarely fail because of missing features. They fail because their systems cannot scale, evolve, or react fast enough to reality. See how Apache Kafka solves 7 real problems of financial institutions:
softwaremill.com/business-ins...

#ApacheKafka #dataengineering #FinTech #Finance
7 Complex Problems Apache Kafka Solves in Finance
Learn how Apache Kafka solves 7 critical FinTech challenges: from realtime transactions to fraud detection, scalability, and legacy system migration.
softwaremill.com
January 21, 2026 at 11:03 AM
We're gathering feedback on our AI Agent visualization: virtuslab.com/agent-visual...

Does the site help to understand how an agent works? What can we do better? Which parts could be explained with higher clarity?

Thanks for the help! :)
Agent Visualization - VirtusLab | Software Consulting & Engineering
Real-time view of an AI agent's decision-making process and activities
virtuslab.com
January 21, 2026 at 7:39 AM
First post on benchmarking @tigerbeetle.com and #PostgreSQL, covering test design and local, single-node results: softwaremill.com/tigerbeetle-...
TigerBeetle vs PostgreSQL Performance | SoftwareMill
In this article, we'll cover the test design and provide the results of initial, singlenode, local tests.
softwaremill.com
January 20, 2026 at 5:23 PM
Reposted by Adam Warski
Latest sttp-ai contains a type-safe library-based agent loop implementation. Provide the tools (automatically derived from #Scala functions), and you're good to go!

Works with OpenAI, compatible APIs, Claude, and all Scala effect systems.

Next up: MCP integration.
January 20, 2026 at 11:00 AM
Reposted by Adam Warski
The full agenda is now on our website 🔥

👉 Visit www.rustikon.dev/agenda for all the details!

Don't have your ticket yet? Grab it here: www.rustikon.dev/tickets

We can't wait to see you in Warsaw this March!

#rustikon #rustlang #rustprogramming #learnrust
January 20, 2026 at 12:45 PM
Thanks to Robert Pudlik, sttp-ai now has an agentic loop implementation: provide the tools (which might be as simple as a #Scala function), and let the agent do the job!

Integrates with #OpenAI (& compatible LLMs), as well as Claude.

More details here: github.com/softwaremill...
GitHub - softwaremill/sttp-ai: Scala Client for AI models
Scala Client for AI models. Contribute to softwaremill/sttp-ai development by creating an account on GitHub.
github.com
January 19, 2026 at 10:06 AM
Reposted by Adam Warski
We don’t just use Scala at SoftwareMill.
We help shape the ecosystem.

1⃣ Scalar since 2014.
2⃣ Scala Times every week.
3⃣ OSS contributions.
4⃣ Talks. Articles. Real‑world engineering.

🔗 Get in touch to talk your Scala project: softwaremill.com/contact/

#Scala #SoftwareEngineering #Scalar
January 15, 2026 at 9:45 AM
Reposted by Adam Warski
Kotlin 2.3.0 just dropped! 💎 From nested type aliases to smarter exhaustiveness checks for when expressions, the latest version is a major win for code readability. Find out more:
softwaremill.com/kotlin-2-3-0...

#Coding #Kotlin #DevCommunity
Kotlin 2.3.0: Nested Type Aliases, Return in Expression Bodies, JDK 25 Support, and More
Kotlin 2.3 is here! Learn about nested type aliases, when expression enhancements, and the latest bug fixes in the newest major release of the Kotlin language.
softwaremill.com
January 15, 2026 at 1:37 PM
How does an AI agent work?

We've prepared a visualization to help you understand just that: how an LLM is involved, where tool invocation happens, and how an agent loops.

Enjoy! virtuslab.com/agent-visual...
Agent Visualization - VirtusLab | Software Consulting & Engineering
Real-time view of an AI agent's decision-making process and activities
virtuslab.com
January 15, 2026 at 10:16 AM
We've got a long & rich history with #Kafka, and this is a culmination of our efforts led by Michał Matłoka - congrats! :)

Multiple client deployments, certifications achieved, OSS projects, educational materials - there are many ways in which we are involved in the Kafka ecosystem.
SoftwareMill is now a 🔹 Confluent Elite Partner 🔹

We’re proud to announce that SoftwareMill has achieved the highest tier in Confluent’s partner program! We are the only company in Poland to hold Elite status!

🔗 Learn more about our Confluent partnership: sml.io/confluent-pa...

#confluent
January 13, 2026 at 2:03 PM
Why is it that it’s the exciting part of programming that is automated (coding), but we’re expected to do the boring one (code review), not the other way round?
January 13, 2026 at 10:40 AM
Happy to report that jox helped uncover a bug in the #JVM (race in virtual thread scheduling).

My first after 20 years of working with #Java :)

bugs.openjdk.org/browse/JDK-8...
bugs.openjdk.org
January 12, 2026 at 7:49 AM
Reposted by Adam Warski
You’ve probably heard of TigerBeetle. But do you know what actually makes it stand out? 🤔

🔗 @warski.org explains why it is so interesting: softwaremill.com/whats-intere...

#Database #FinTech #Clustering #Replication
January 8, 2026 at 12:28 PM
Adopt-Tapir gets even simpler! You can choose an SBT project (multi-file + tests), or a single-file scala-cli script.

All you need to get started with a self-documenting, type-safe, observable JSON API is generating a single file with ~30 lines of code.

adopt-tapir.softwaremill.com
Adopt Tapir
Generate tapir project with just few clicks
adopt-tapir.softwaremill.com
January 8, 2026 at 11:27 AM
Jox's Flows (#Java virtual-thread native asynchronous streaming) now have a #Kafka integration, thanks to Robert Pudlik: jox.softwaremill.com/latest/kafka...
Kafka flows — Jox 1.x documentation
jox.softwaremill.com
January 7, 2026 at 3:15 PM
You might have heard about @tigerbeetle.com - but do you know why it's interesting?

Fixed schema - sounds limiting. Replication, high-availability? Everybody says so (well, at least a lot do). Still, TigerBeetle is different. Here's why:

softwaremill.com/whats-intere...
What’s Interesting About TigerBeetle?
TigerBeetle is a fixedschema, performance-oriented, replicated, highly available financial database that generates a seemingly disproportionate amount of attention. What's the fuss? What is interestin...
softwaremill.com
January 7, 2026 at 9:39 AM
What happens when you vibe-code a simple web app and check against the OWASP Top10 vulnerabilities?

Well, you get a lot of ❌. True, the use-case has a lot of opportunities to make mistakes, but then, which use-case doesn't?

softwaremill.com/vibe-coding-...
Vibe Coding Against OWASP Top 10 2025 - Security Risks of AI-Driven Development
Explore how vibe coding with AI exposes OWASP Top 10 2025 vulnerabilities and why “ship fast, fix later” can lead to serious web security risks.
softwaremill.com
December 23, 2025 at 10:10 AM
Reposted by Adam Warski
✨ Concurrency doesn’t have to mean tangled abstractions. This session walks through Ox 1.0 and its direct-style approach to concurrency and resiliency.
Here’s "A Tour of Ox 1.0: Direct-Style Concurrency and Resiliency" by Adam Warski
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. With Ox, you can build and deliver direct-style Scala applications today. In the code-first presentation, we’ll begin with concurrency (incl
www.youtube.com
December 18, 2025 at 1:23 PM