wolfgang ziegler


„make stuff and blog about it“

EuRuKo 2025 - Day 2

September 20, 2025

Euruko 2025 banner

The second day of Euruko 2025 did not have any key notes or similar and started directly with the session track.

RubyLLM: Making AI Development Beautiful Again

Carmine Paolino

This talk by Carmine Paolino, the author of RubyLLM, was a brief introduction and overview of this AI framework he had created.

He mostly compared it to langchainrb and highlighted the advantages in terms of simplicity and abstraction that RubyLLM provides.

A (pre-recorded, but still impressive) demo showed how one can build a Rails application with included chat AI in 2 minutes.

Don't Be “Thread”-ened: Testing Multithreaded Code with Confidence

Julia Egorova

Julia Egorova spoke about the pain of parallel (threaded) code and unit tests.

While this topic is not exactly new and has been addressed in many conference talks or blog posts already, she put a practical spin on it, by using the concurrent-ruby gem and its helpers like CountDownLatch. To make it even more Ruby-relevant, she showed her approach of using meta-programming to enrich existing tests that way.

Pitch: next year's Host

An interesting feature of the Euruko conference series is that attendees can make a pitch for their cities to host the next Euruko conference. Following cities were pitched:

  • Paris
  • Krakow
  • Brno
  • (another city in Portugal, whose name I forgiot)

gRPC on Ruby On Rails - a perfect match!

Emiliano Della Casa

This talk by Emiliano Della Casa was mainly targeted at an audience yet unfamiliar with gRPC. He introduced basic concepts like protobuf and how to use tools like protoc in Ruby environments.

Prioritization justice: lessons from making background jobs fair at scale 🌟

Alexander Baygeldin

This talk by Alexander Baygeldin was also among my favorite sessions of this conference.

It was presented at a general (not language/framework specific) level and addressed the problem of fairness in producer/consumer/queueing scenarios.

Alexander introduced and explained different techniques and approaches like shuffle sharding, interruptible iteration or leaky buckets to make queuing more fair.

Workshop: What Really Happens When You Thread.new 🌟

Dmitrijs Zubriks

After the lunch break there was a special 2 1/2 hour slot for workshops where attendees could chooese among different topics of their interest.

I must say, I'm really glad that I decided for Dmitrijs Zubriks's workshop on the inner workings of the Ruby VM and I learnt a lot that day.

Dmitrijs covered many topics in these 2 hours and managed to go quite deep into some of them. Among the covered topics were:

  • Concurrency in general and Ruby specifics.
  • The Ruby VM - a stack machine.
  • The GVL (Global VM Lock).
  • Preemptive vs cooperative scheduling in Ruby.

Jose Valim

This session by Jose Valim had a bit of a smell of paid advertising for tidewave.ai, however the demo was quite impressive and really useful.

The idea is to have your AI-coding assistant inside the browser (instead of the IDE) and have it available like "F12 tooling", so you can interact with the UI directly when you want to make changes.

Making Rails AI-Native with the Model Context Protocol

Paweł Strzałkowski

Paweł Strzałkowski gave a very hands-on and practical talk on how to include MCP endpoints into the Rails blogging application.

Closing Keynote

Eileen Uchitelle

This closing keynote by Eileen Uchitelle would easily win the "most words per session prize", if something like that existed. I'm still wondering if she was reading from a script that whole time or had just memorized that whole text by heart. The outcome however was a monotonic stream of words that was hard to follow.

I think the central motive of this talk was "you cannot solve organizational-level problems with modularity", but I'm not even sure about that.

Conference Impressions

The food at the conference (and generally in Portugal) was amazing. Those sweets are off the charts!

Food and snacks at Euruko

Water, orange juice and coffee were available at all times.

The coffee bar

The expo area.

The expo area

The session area.

The session hall