Welcome to Euruko 2021

28th-29th May 2021
Online Conference

Watch talks

What is Euruko?

Euruko is a Ruby conference organised annually, each year in a different European city chosen by the participants.

Euruko 2021 goes to SPACE

Despite the good news about vaccines, it wasn't realistically possible to hold a large, in-person event in May of 2021. Because of this, we decided to move the Euruko 2021 conference online.

Euruko 2022

Visit 2022.euruko.org to learn about our plans for 2022.

Euruko ticket benefits

Livestreaming and conference platform
Livestreaming and conference platform

Access to an interactive conference platform with speaker Q&As and more…

Minecraft
Minecraft

Access to a private Minecraft server with your fellow attendees. Griefing strictly forbidden! MINASWAN all the way.

Discord
Discord

Access to a Euruko Discord server where you can talk with fellow attendees, speakers, and sponsors.

Goodie bag
Goodie bag

A Euruko goodie bag shipped to you, wherever you are in the world (as long as our fulfillment partner delivers to your country).

Videos

The conference videos are now available on the Euruko YouTube channel.

Keynote: Beyond Ruby 3.0 (Yukihiro Matsumoto)

Don't Develop Just for Yourself - A Developer's Checklist to Accessibility (Eeva-Jonna Panula)

Lightning talk: State of the PDF (Thomas Leitner)

How to stop breaking other people's things (Lisa Karlin Curtis)

Fun Passing Blocks Around (sponsored) (Alan Wu, Shopify)

Building high–performance GraphQL APIs (Dmitry Tsepelev)

Lightning talk: Adding byebug to the Professional Puts Debugger Tool Set (Zhi Ren Guoy)

Going native with FFI (Juan Carlos Ruiz)

Optimizing Ruby's memory layout (Peter Zhu & Matthew Valentine-House)

Lockdown: The Mother of Invention (Amy Wall)

Lightning talk: The 6 Characters That Could Bring Down Your App (Moncef Belyamani)

IDE development with Ruby (Soutaro Matsumoto)

Streaming data transformations with Ruby (sponsored) (Ville Lautanala, Smartly)

Delivering fast and slow - Ethics of quality (Lena Wiberg)

Lightning talk: Shipping Ruby and Rails apps as native Linux packages (Cyril Rohr)

Building a Ruby web app using the Ruby Standard Library (Maple Ong)

Why a Diverse Team is Crucial to Startup Success (Melissa Jurkoic)

Q&A with Linda Liukas

Schedule

Friday, May 28
Opening
Keynote: Beyond Ruby3.0 (Yukihiro Matsumoto)
Don't Develop Just for Yourself - A Developer's Checklist to Accessibility (Eeva-Jonna Panula)

Developer, are you (unconsciously) developing sites for users just like yourself? It often means a sighted mouse user with good fine motor skills and who is proficient with computers. But not every user is like that.

Many projects have automated accessibility checkers, and that is a good start. However, they don’t catch most of the failures on accessibility. There are some fairly simple checks to ensure a better experience for your users, and from this talk, you’ll learn how to do them and, most importantly, why they are essential to do.

Lightning talk: State of the PDF (Thomas Leitner)

What are your options when dealing with PDFs in Ruby? Are you creating PDFs? Then you are likely using wkhtmltopdf or Prawn.

What if you need to manipulate PDF files? Are you resorting to calling command line tools like pdftk? Or chaining multiple libraries/CLI tools together?

Have you tried HexaPDF? It is a relatively new PDF library for Ruby which unites all PDF manipulation and creation facilities under one pure-Ruby roof. It is fast with low memory usage and a very Ruby-esque API interface.

The lightning talk will give a short introduction into the available libraries and then focus on the current state of HexaPDF and what it brings to the table.

Lunch break
How to stop breaking other people's things (Lisa Karlin Curtis)
Breaking changes are sad. We’ve all been there; someone else changes their API in a way you weren’t expecting, and now you have a live-ops incident you need to fix urgently to get your software working again. Of course, many of us are on the other side too: we build APIs that other people’s software relies on.
Fun Passing Blocks Around (sponsored) (Alan Wu, Shopify)
Coffee break
Building high–performance GraphQL APIs (Dmitry Tsepelev)

One day you decided to give GraphQL a try and implement an API of your new application using GraphQL. You deployed the app to production, but after a while, you realized, that responses are not super fast. How to find out what makes your GraphQL endpoint slow?

We’ll discuss how queries are executed and what makes processing slower. After that, we’ll learn how to measure performance in the GraphQL era and determine the part we should improve. Finally, we’ll discuss possible solutions and some advanced technics to keep your GraphQL app fast!

Lightning talk: Adding byebug to the Professional Puts Debugger Tool Set (Zhi Ren Guoy)
A crash course on getting started with the ‘byebug’ debugger.
Going native with FFI (Juan Carlos Ruiz)
Ruby is a flexible language that allows us to write expressive and maintainable code. However, sometimes it could be necessary to work with a low-level language, looking for better performance. In this talk, I’m going to show you how to use Ruby to create an interface for compiled languages like C.
Optimizing Ruby's memory layout (Peter Zhu & Matthew Valentine-House)

Ruby’s current memory layout does not optimize for cache performance, and this has implications: object data like string and array contents are often not stored close to the objects that use them, causing poor data locality, reducing the efficiency of CPU caches, and making it more complex for the garbage collector to manage these objects. Additionally, objects can also contain pointers to data that then point back into the Ruby heap, slowing down object access due to pointer indirection.

Join us as we explore how the variable width allocation project will change the garbage collector heap to replace the system’s malloc heap, giving us finer control of the memory layout to optimize for performance.

End of day one stream
Saturday, May 29
Opening of day two
Lockdown: The Mother of Invention (Amy Wall)

The last year has been hard on all of us. Cutting through the bad news and the mundanity has required resilience, creativity, and determination. Thankfully, we have had a secret weapon on our side to keep us occupied: Ruby.

Join me as I explore some of the good, the bad, and the just plain hilarious ideas Rubyists have been working on during lockdown. I will survey Ruby lovers of all levels to see what has been holding their attention during this difficult year.

I will also share my own experience with staying busy, including my adventure building an “On Air” alert system for Zoom in my home office space using Ruby.

Lightning talk: The 6 Characters That Could Bring Down Your App (Moncef Belyamani)

This is a true story about how using the wrong method caused the app to hang for our users, and how it increased our database CPU usage by up to 10 times!

You probably are using this same method in your app right now. Find out what you should use instead.

IDE development with Ruby (Soutaro Matsumoto)

Integrated development environment (IDE) is one of the most frequently used tools for programming. It’s a kind of text editor where you type and read the code, but it does more for you. On-the-fly error reporting, completion, go-to-definition, and more. These features help you writing and reading the code and make the tools more valuable than simple text editors.

I have been working for IDE development to support Ruby programming with a static type checker. It is based on the Language Server Protocol (LSP) and implemented in Ruby.

I want to share my experience. What is the protocol? How can the LSP features be implemented? You will get to know the under-the-hood of IDEs, and the tools will become more familiar to you.

Streaming data transformations with Ruby (sponsored) (Ville Lautanala, Smartly)
Lunch break
Delivering fast and slow - Ethics of quality (Lena Wiberg)

Daily, we are pushing the boundaries of how fast we can deliver software. Constantly running on a knife’s edge between great success and horrible failure.

Delivering something new, better, faster than our competition can mean incredible payoff and we are constantly being asked to cut costs and deliver more, faster, cheaper. But then suddenly, you fall off the other side of the edge and wake up to 189 dead in a plane crash or having to take down and redesign your entire banking service because the architecture didn’t hold up to the load. It probably wasn’t your decision to push that to production but one can imagine that a long chain of people have to have made a number of small (or huge) decisions that led up to that result.

Lightning talk: Shipping Ruby and Rails apps as native Linux packages (Cyril Rohr)

Ruby and Rails applications are notoriously difficult to package in the native formats (.deb, .rpm) used by the main Linux distributions.

Although Docker has allowed to ship applications almost anywhere, native packages remain relevant in constrained environments (banks, etc.), or when distributing an app or CLI to end users that may not have or want to use Docker.

In this presentation you’ll learn how to package a Rails application for the main Linux distributions available. You’ll also learn how to host the resulting packages, and apply the same recipe to package a Ruby CLI that can be shipped to users.

Building a Ruby web app using the Ruby Standard Library (Maple Ong)
Do you want to understand how a web application works without Rails magic? Let’s go back to the basics of a web application and build one from the ground up using Ruby Standard Library. After this session, you’ll appreciate Rails that much more.
Coffee break
Why a Diverse Team is Crucial to Startup Success (Melissa Jurkoic)

Team diversity refers to differences between members of startup team. Those differences can include demographic differences (like age, race, sex, ethnicity), personality (extrovert, introvert, and differing Myers-Briggs types) and functional (as in skill sets, like engineering, design, copywriting, and marketing).

How does team diversity impact your customers’ experience from the moment they learn about you through their journey with you? You will attract and relate to customers how look like you. They will understand your messaging and you will understand their needs. If you don’t represent the right dimensions of diversity, you are leaving an amazing experience behind.

Keynote (Linda Liukas)

Food for thought: home-cooked software

A palate is a spot on your tongue where you remember. A library of textures, taste and language to describe the world around us. What if we learned about computers, code and technology with the tip of our tongue? How might home-cooked software look like in the future?

In this talk, children’s book author & illustrator Linda Liukas will stem, rind, pit and seed a piece of code. Through the process, she will develop a palate for code, and understanding of how we are entangled in our technology, natural world and human communities.

End of Euruko 2021

To subscribe to the calendar feed, copy-paste the following URL to your calendar:

Sponsors

Want to see your logo here? Consider sponsoring us.

Additional info

Goodie bag shipping is only possible to countries where our fulfillment partner, Printful, can deliver. Shipping might be slow to some parts of the world due to COVID-19.