noteflakes

My Thoughts on Euruko

23·09·2025

I’ve just got back home from Euruko last night. The conference ended on Friday, but I decided to stay two more nights in Portugal and visit Porto. In between walking all over the city, eating great food and enjoying the dancing and music making in the street, I’ve also had time to think about all the wonderful people I met at the conference (and even some I’ve met and talked to by chance on the streets of Viana do Castelo and Porto), and the incredible experiences I’ve had at Euruko.

First, I’d like to express my deep appreciation for the organizers, headed by Henrique. This was my first ever programming conference that I go to, so I had no idea how it was going to go. But it was obvious from the first moment, taking the shuttle kindly offered by the conference to take us from the airport to Viana, how much the conference organizers cared about making everybody feel welcome. It really felt like Henrique and the team went out of their way to tend all of our needs, from the great food and drinks available at all times, to sharing the wonderful cultural heritage of Viana with us all.

I was also really impressed with the level of production. The branding work was magnificent and was present everywhere down to the smallest details. It was also much bigger than I expected. I imagined there would be about 200 people, but I was told there were actually almost 600 of us. I’ve met a lot of people I knew online, and even more people I didn’t know at all, and I was really grateful for the more personal encounters I’ve had. Talking about code is great, but talking about life and sharing our common humanity is even better!

I’ve also noticed there were a lot more women than I imagined, and a lot more older people (i.e. people of my age), and both of these observations made me very happy. I’m a strong believer in diversity!

An Auspicious Start

The conference kicked off with a keynote by Matz, the legendary creator of Ruby, who 30-some years later still sets the tone for the Ruby community, putting the accent on developer happiness and inspiring the saying “Matz is nice so we are nice”. At the beginning of his talk Matz said he was going to talk about “my favorite things”. He was reminiscing about how he got started with computing and about the fact that it took him about 10 years from wanting to invent his own programming language to actually gaining the knowledge and the experience to be able to do it. Good things come to those who wait!

Matz has positioned the creation of Ruby at the intersection of three “favorite things”: human recognition, programming and language, and he continued by talking about the different types of joy that he got from Ruby: the joy of creation, the joy of design and the joy of power, and made a remark that for him joy was more important than performance, hence the importance of “developer happiness”.

He talked about how now he was less involved in the implementation details of Ruby, but with the recent work on ZJIT (Ruby’s next JIT engine), more people can now get involved in improving Ruby’s performance. Matz continued by telling the chinese parable of the old man who lost his horse, sharing with all of us an approach of openness and inquisitiveness, of refraining from pre-judging what happens to us but rather saying “maybe, we’ll see”. He finished his talk by saying that our greatest treasure is the community.

The Euruko Talks

Following Matz is a tough act for anybody, but the following talk was just fantastic: Marco Roth talked about his recent work on HERB and ReactionView which can really revolutionize the Ruby on Rails view layer, and brings some important innovations to developing web UI’s using Ruby. His work is a great inspiration to me personally, and I guess also to a lot of other people in the community.

What really blew my mind was that Marco has in fact built a parser for ERB templates that builds an AST of the template, which then permits not only compilation, but also all kinds of other operations such as linting, annotation, analysis and perhaps in the future the addition of reactivity!

I found it really interesting that at more or less the same time, there are three different people (Marco, myself and Joel Drapper, the author of Phlex) having the same idea of parsing templates into ASTs! But this is how things are sometimes, maybe this has less to do with our respective talents but rather with a certain Zeitgeist that arises out of the emergence of tools such as Prism.

I have been somewhat less attentive to the later talks, and have also missed some of them because I wanted to talk to people, not only about technical stuff, but also get to know people on a more personal level. One talk though that really stood out to me was given by Rémy Hannequin, who talked about the value of niche OSS projects, and his own project Astronoby which does astronomical calculations. I guess it really struck a chord with me because my projects also tend to be very niche. In fact, one of my goals in coming to Euruko was to share with the Ruby community my own projects and maybe that way they’ll become a bit less niche!

My Lightning Talk

So, arriving in Viana for the conference I already had an idea of what I wanted to talk about, and had prepared some slides, which I submitted to the conference organizers as a lightning talk (i.e. a talk that takes only 5 minutes). My proposal was accepted and I was able to talk on stage in front of a lot of people about Papercraft, which was a pretty scary experience, but I think it went OK - I stuck to the script I prepared and was done within the allocated time.

Luckily for me, the day before my talk I met Szymon Fiedler, who not only has a wonderfully warm and open personality, he also gave me some tips on how to prepare myself for my lightning talk, which proved really helpful, since I mentioned to him that I had terrible stage fright.

So later that evening I just did what he said and practiced my script again and again in front of the mirror, until I knew the text by heart and could take some liberties with it, and felt more or less fluent with it while staying within the 5 minute allocated to my talk. So, while I was a bit shaky (I felt my voice tremble,) I came off the stage not only with a sense of relief, but also of accomplishment and a taste for more of it, because at the end of the day, like all OSS developers I’m driven by the passion of creating something cool and beautiful that I want to share with others.

The PicoRuby Workshop

Immediately after giving my lightning talk I scrambled off to a side room to join the workshop on PicoRuby, which is an implementation of Ruby for microcontrollers. Each of the participants got a little kit of electronic bits (including a Raspberry Pi Pico 2 W microcontroller) and a bunch of instructions on how to connect to it and get an IRB session running on it.

It took some fiddling and some help from Hitoshi, our workshop guide, but once I had an IRB session running on the microcontroller, it was only a question of hooking up the various components to the breadboard and having fun with it. So, the first thing to do was to connect a LED component and make it blink. I was so excited to make this work, and it reminded me of the joy I felt as a kid when I started programming and making stuff work on my first computer (it was a TI-99/4A). We got to keep the kit, and I know one day I’ll find something useful to do with it.

AI at Euruko

One important aspect of Euruko was the place of AI in it. There were I think four different talks about AI tooling, and Matz even made mention of the fact that he was now using Claude.code, which was a bit surprising to me. But I guess even more surprising to me was hearing people expressing skepticism about AI. I thought I was the only one!

So I was quite happy to listen to other people express apprehension at using LLM’s for programming, not so much for the political/social implications of it, but just for the practical (or rather, impractical) aspects of it. But I’m still not completely sure these tools don’t have any merit, and am curious what value they can bring to software development.

Out of the different AI tools presented at the conference, and which each had their own approach to integration with Ruby programming workflows, the one that was the most interesting to me was RubyLLM by Carmine Paolino. To me it hits the right chord, in that it provides a uniform interface to interacting with AI agents, but doesn’t make too many assumptions on what you want to do with it. To me this really hits the sweet spot of abstraction - and also in a very Ruby-esque way!

The End of Euruko

As the end of the conference drew nearer, I was less and less interested in following the talks and frankly was a bit absent-minded. The afternoon after the workshops (and the lightning talks) was composed of two talks about AI tools (which personally didn’t really resonate with me), but I was really interested in the closing keynote, given by Eileen Uchitelle of Shopify, which was about problems with the “mythical modular monolith”, or really problems with code organization, especially in big companies.

Now, throughout the conference I felt like a very small fish swimming along all those big fish, not only because I’m a nobody in the community and here I am talking to all those people that are all over GitHub and HN and YouTube etc., but also because I’m a one-man company, and the conference was filled with people from very big organizations, such as Shopify.

The fact that I’m not using Rails also made me feel somewhat marginalized, but I quickly found out that I wasn’t the only one. I was talking to Chris Hasinski and he suggested that I talk to Matz, because Matz doesn’t use Rails, and apparently in Japan they all don’t use Rails! Chris told me that actually at RubyKaigi (the Japanese Ruby conference) it’s taboo to talk about Rails, which I found absolutely hilarious.

This gave me an excuse to talk to Matz, so I jumped at the opportunity to present myself to him. He was very kind, and indeed he told me he does not use Rails, and that I should come to RubyKaigi and present my projects. Maybe I will!

Going back to the closing keynote, what struck me was the difference in tone to the opening keynote by Matz. Matz was talking about openness, the importance of “human recognition”, embracing the unknown, and the joy of programming. But Eileen’s talk was very dense (lots of text, I had some trouble following), and the impression I got was that she was laying down all those rules for what works, what doesn’t.

The talk was also delivered in somewhat negative, absolute terms (“this doesn’t work”, “that doesn’t work”), and the injunctions were also somewhat heavy-handed: improve developer education, indoctrinate developers, etc. While she did stress how all code-organization problems are really human problems, there was no compassion there, just a bunch of do’s and dont’s, and while she mentioned developer happiness, I was wondering how can there be happiness without compassion?

So to me it was a bit of a letdown, because it made the conference end on a somewhat negative, cold tone. Maybe this talk would have fared better as an internal talk at Shopify, or maybe in front of other big orgs that use Rails. To me it was more of an example of how I don’t want to do software development, and how I don’t want to deal with human problems in a work situation.

This experience also ties in to the drama currently going on in the Ruby community, which Joel shared with all of us on the morning of the second day of the conference. I was never a user of Rails (except for a very short time when it first came out like 20 years ago), then again I really admired DHH for his vision. But having read some of his recent writings I was quite alarmed that a person with such views should hold such a prominent position in the Ruby community, especially if that community cherishes diversity and inclusivity.

While there are some signs that DHH’s toxic views have played a role in the current crisis enveloping Ruby Central and the Rubygems system, what’s even more bothering to me is the heavy-handed approach we are seeing from Ruby Central, and through them, Shopify (and perhaps other big actors in the Ruby community). While I’m a long time Ruby developer, I’ve only been marginally involved in the community, so to me a lot of this is new. But what is clear to me is that what I don’t want in my life, and what I don’t want to see in the community, is big corporations running the show and deciding for the rest of us what we can or can’t do, or how we do it.

This is the time to show that Ruby is not just Rails, and that there is a Ruby ecosystem outside of Rails (or off the rails if you will). At Euruko I met some of the people who are actively working on this problem, be it developing alternatives to bundler, or new and exciting alternative web frameworks for Ruby.

The strength of an ecosystem is in its diversity. I’m already seeing this in the recent work on HTML templating that I mentioned above, where different solutions to the same problem arise at the same time and cross-fertilize. This can also happen with other parts of the Ruby ecosystem. The more participation we have of small players, the more resilient our community will be. The current crisis teaches us that to prevent abuse of power in our community we need to double down on creating and participating. I definitely intend to do my part to see this happen.

Last But Not Least

I think a special mention should be made about the incredible cultural heritage that the Euruko organizers have shared with us all. It was such a joy to hear and see the richness of Portuguese culture that was on display in the opening and closing ceremonies! And also to taste it: I loved everything I tasted (and I tried to eat mostly where the locals eat), and a glass (or two) of porto just makes you happy!

Hopefully, I’ll come back many times more to this beautiful country and this beautiful people. See you at the next Ruby conference!