ElixirConf EU 2023, Lisbon report

Underjord is a tiny, wholesome team doing Elixir consulting and contract work. If you like the writing you should really try the code. See our services for more information.

Last week I attended ElixirConf in Portugal and had a lovely time. I’ll try to capture my experience of the conference here in this post. For me and for you.

The last ElixirConf I visited was Prague in 2019. Pre-pandemic. I had just gotten into Elixir and kind of decided that I should actually really engage and try to do the whole community thing with this language as it seemed like it had a community of a comprehendable size. I traveled there solo. I was mostly doing Nerves and playing around. I had a low-effort, high-yield client at that moment and plenty of time to experiment. I came home from that conference with a lot of excitement and I started this blog with some of the stuff I saw there.

Between now and then I’ve done a few Code BEAM conferences. They are cool events. But they are different. The events have distinct characters and overall I find ElixirConfs have so far hewn closer to what I want. That said, I plan on hitting as many Code BEAM events as I can.

I missed ElixirConf in London as it was rescheduled to be right at the time of the birth of my second child. I stayed home. He arrived on time. Worth.

This preamble was for context. I had a lot of built up connection with people in this community and this would be the first time I’d revisit this dedicated physical gathering since I really stepped into the community. This would be the first time I met a focused group of the Elixir community since I started my blog, newsletter, YouTube channel and the BEAM Radio podcast. I was very excited and had no idea what to expect.

I also submitted a talk and got it accepted. My first in-person conference talk. Hnnnngh…

Going to a conference and leaving your partner behind with children ages 1 and 3 is not a small ask. At least not with our children. So I didn’t. We invited the in-laws so my wife had some company and brought the whole family to Portugal. We are fortunate enough that it was feasible to do so as a vacation. While I was at the conference they were at some castle. I got lovely pictures of my daughter being a statue. While I was making poor decisions she had help putting them to bed. This was a good move all in all.

We also planned the trip with days before and after for shared vacation time.

Travel went well, kids were good, hotel was nice, Lisbon was lovely.

Since we were there early I also went to the Elixir Meetup two days before the conference. It was in the Bounce office. I encountered the first person who knew me from my online activities. A reader of the Nerves Newsletter specifically. Kinda cool :)

People gave two neat presentations at the meetup. The first one by David Elias about additional concepts you can apply on top of “contexts” and the second one about using Doom for visualizing supervision strategies and shooting your processes. Fun stuff I thought. Then we headed out for drinks and pizza. Some of the folks we headed out with apparently knew who I was so I handed out my first few stickers. They knew Maqbool which is apparently an incredibly common trait. Everyone knows him.

During pizza I was dubbed to be The Lars by André Albuquerque who gave the Doom talk. Apologies to danish Lars of the Netherlands who also spoke at the conference. André was apparently familiar with what I do as well. More stickers were shared. Then we sat around at a kiosk in a park, talking tech and drinking wine until it was quite late. Not a bad first run-in with both the locals and the Elixir community.

Day before the conference I had been invited to the Speaker Dinner in the evening. A very nice gathering of very enthusiastic Elixir people. This place had an incredible density of “oh, we’ve spoken, I had no idea you had a face”. Apparently I’m very tall. Or so people kept telling me (it’s fine, I don’t mind, interesting that it doesn’t translate in video). The food was good but comparatively forgettable when all around you are people you have so much shared mindspace with. Like talking to fish in a barrel.

I particularly ended up next to this figure of the name Benjamin Milde. Oh! lostkobrakai, everyone knows that guy! Then I also got proper chances to talk to Jeffrey Mathias (of Elixir testing fame), Matt Trudel (of Bandit fame) and Eric Meadows-Jönsson (who is apparently local to Gothenburg, I’d missed that). Perhaps least well known to me and the most novel conversation was with Guillaume Duboc. He is the guy doing the research project that will attempt to bring types to Elixir. Now I don’t particularly want types for Elixir, I don’t hate the idea but I don’t feel the need either. He seems incredibly enthusiastic, thoughtful and sincere. Great impression. I’m happy that whoever explores that tricky territory has his mindset.

I also found out before then that his talk. The biggest talk of the conference. The most important and probably contentious talk.. was concurrent with mine. Damnit. And now I knew my arch-nemesis for the conference was nice and friendly. Aagh!

Mornings and evenings I rehearsed my talk so that the few souls that couldn’t fit in that room with the types talk would hopefully enjoy it. Tears in my eyes. (no, not really)

My team trickled in throughout the days before the conference. I brought the whole Elixir gang.

For this conference I had a plan to try and record people and do some interview kind of stuff. I capture some and I might do something with it. Yes, I have the organizers permission and the permission of everyone who was a direct subject of my filming. But I learned a few things. It is a pain to try and do socializing, going to talks and filming at the same time. It is two things too many. Also the camera rig is a bit annoying. Also, people think you are crew at the event. Also, my gimbal broke? That’s under investigation. Second day I did not bring the big camera.

Socializing went fine. I skipped quite a few talks for the benefit of the hallway track. This was also where it became noticeable that people knew who I was. I am not a person who has had any degree of “fame” before. I generally deal okay with attention, I’m not particularly shy or very reserved usually so I wasn’t worried about it. It was all in all just fun. People were really nice.

What I wasn’t ready for and I don’t think I managed to respond fully to is the people who said what I do helps them. That makes me a little bit too happy and I can’t fully absorb it. Small things, big things. People had such nice things to say about what I have shared, made and written that it just makes me blush. They all got stickers, that’s all I had. Some asked for advice as well. The stickers are probably better quality than the advice but I tried at least. I hope I didn’t forget to give anyone who spoke to me about the stuff I do stickers. I probably did. It was occasionally hectic.

If you came up and talked to me, thank you. If I failed to respond or was busy when you tried. I’m sorry, don’t hesitate to reach out again.

Meeting people from the community that I know or know of was the big thing I had in mind for this conference. I also hoped that some people would recognize my work. I put things out for people to enjoy and it is nice to get some signal that isn’t just a view counter. Being a person people know of was interesting and new. I hope I did it gracefully.

The most memorable talk was certainly Evadne Wu’s “Not Hot Dog Revisited”. It was actually kind of close in content to my talk except very different in details and execution. But Membrane, LiveView and ML were all in there. When the organizers ask what you need for your talk it is a boss move to go: “Three different hotdogs.”

I gave my talk during this first day. Final talk of the day before lightning talks. I think I may have gotten about a hundred of the six hundred physically attending audience. Damn you Guillaume!

I spoke on LiveView with Membrane and actually mostly on creation and creativity in code. The slides and code is all available here. There should eventually be a recording published. It is a heavy revision of the talk I gave to Elixir Community Krakow earlier. The nervousness was under control, the track host was lovely, my friends (big shoutout to hypeman Marcel Fahle!) and team showed up and encouraged me. The ML model behaved kinda well, and it mostly failed in fun ways, I remembered most of the talk, I said most of the things, people laughed when it was appropriate. All in all. I feel like the talk landed. I’m happy with how it went.

Because of who I am as a person apparently it wasn’t a talk and a distinct demo section. I made the entire talk be a demo and tried to make it kind of a performance throughout.

Afterwards people have also given me feedback about the talk that confirmed that to some people it definitely landed. I’m thrilled about that. Actually, you over there, guy with the red beard who grabbed me just when I was leaving on the last day at that craft beer place? As far as you got in what you said absolutely made my evening. Whimsy indeed.

That wrapped up the day for me. I was too twitchy after my talk to watch the lightning talks. The evening ended in ramen, rooftop open bar and night club in that order. I hit the pillow at 03:00 (that’s AM for you monsters out there).

My daughter kindly did not wake me before 06:00 and agreed to snuggle and snooze until 07:00. I was not in great shape for day two of the conference. Oof. But as a parent I don’t often get to be irresponsible. I can’t regret it really. I might not repeat it though.

Second day I’ll admit I bailed on a few talks just because my body was rebelling against my past behavior. Hangover combined with chronic stomach problems made me a bit less chipper this particular day. I still had a lot of good conversations. Including leads for work, prospective collaborations and all that good stuff.

I also left my big camera at the hotel for the second day as the gimbal was broken and I wasn’t in any shape to do a bunch of recording. I will still see if there is a seed of a video in the material I’ve captured. I’d love it if there was. But lesson for next time is that I need someone focused on taking video if I’m going to do that at another one of these. I might also do more vlog-style stuff but then I should have a lighter gimbal and use the small camera.

The final item of the conference day was Chris McCord talking through the current state of LiveView and the path to 1.0. It was a good, rapid-fire presentation of new cool stuff. Checkboxes man. It started both great and awkwardly. Having ChatGPT or GPT4 generate intros for people is not particularly my jam. Having Jim Freeze recite rap lyrics hit an aggressively awkward spot intersecting cringe and awesome. Definitely warmed up the crowd.

The day and conference wrapped on that presentation. It was a good piece of punctuation. The fact that it was a bunch of web, code and practical usage reiterated to me that ElixirConf is very much a builder community. There are bouts of theory and moments of idea stuff. But mostly people build things and share. That’s my jam so it suits me great.

The Electric SQL folks pulled together a bunch of folks at a craft beer place after. It turned into a very chill place to have conversations. I would have stayed all night if we hadn’t planned dinner with the team and a small artisanal batch of Elixir friends, old and new. Some significant others joined us. It was an absolutely delightful dinner. After it wrapped up a few of us went on for a beer and then the night wound down.

I stayed a couple more days in Lisbon with my family. No Elixir in sight. And then I went home.

I’m still digesting the experience. I’m looking forward to ElixirConf US.

Underjord is a 4 people team doing Elixir consulting and contract work. If you like the writing you should really try the code. See our services for more information.

Note: Or try the videos on the YouTube channel.