29
.
04
.
2024
10
.
08
.
2023
Ruby on Rails
Conferences
Visuality

When crazy ideas bring great time or how we organized our first Conference!

Alexander Repnikov
Ruby Developer

Everything started over a year ago, from a thought "Maybe we should bring the Warsaw community back to life?".

The first meetups exceeded our expectations, great topics, over fifty participants and interest among speakers. Once we even had to schedule the speaker to the meetup in the next month.

As time passed the numbers decreased a bit, but a community core had formed - constant frequency, at least two speakers, regular participants and always great time.

In the meanwhile we increased the frequency of posts on our blog and even created a series of webinars. Our ambitions grew. And one day someone said: "Oh! It's been almost a year since we started. We should celebrate it. Let's do something special, let's do something big! Oh! Let's do the conference! :)"

There was little time and a lot of work. We chose the formula: one day, one workshop, four speakers and a big party. There were moments of uncertainty, but the conference team did their best without hesitating and it was worth it!


Ruby Warsaw Community Conference

21 July 2023

This evening was a feast of knowledge, full of stories, with a pitch of mystery, playfulness, and a lot of fun and jokes.

The story of how Trailblazer was made.
The mystery of Database creatures.
The playfulness of creating games in Ruby.
The fun and jokes with ChatGPT, which attempted to help update Legacy Ruby Application.

Let me tell you how it was to be a part of this event.

The realm of Trailblazer

The day of the Conference started at one PM with a Trailblazer workshop with Nick Sutterer. The event was very popular and had quite a long waiting list.

For the first hour or so Nick introduced the fundamental concepts of a framework and briefly explained the ideas behind them. Afterwards we concentrated on Trailblazer Operations: how it works, what it allows and how to extend default behavior. This was useful even for the person who has worked with the framework for almost two years now ;)

After a short break, we jumped into new stuff: Trailblazer PRO. It’s still in a beta stage, but it already boasts some interesting functionality, which will help in debugging and maintaining an application, which uses Trailblazer. Overall it looks very promising.

After three hours of coding, asking questions, discussing solutions and a few bee.. coffees, we moved from the Visuality office to the conference venue, which took us a few hundred steps of a walk :)

The Conference

Five PM and the conference started. After a few minutes long welcome speech from Visuality CTO, Mariusz Kozieł, who is one of the members of the conference team and one of the main keepers of PLRUG meetups, we started our conference with the first speaker, who was already warmed up and ready to start.

"The Transformation of Trailblazer" by Nick Sutterer.

Nick continued his performance by telling us the story of how the treasure was made. Hm... a gem, I meant.

We got to know the reasons for the creation of individual parts of Trailblazer. And it always was in the name of "Encapsulation"! because it will allow you to test in isolation. Ok, there were more reasons, but, you know, testing is important, right? Right?! :)

The rough beginning with criticism from a community, but also valuable recognition from DHH. It’s over fifteen years since the first commit in Cells gem and Nick still has a lot to share. Speech was full of jokes, interesting facts and an amazing atmosphere.

Mystery creatures and why we should know more about databases we are using

"Fantastic databases and where to find them" by Chris Hasiński.

Chris is a regular speaker on PLRUG meetups. I've been waiting for this presentation since he mentioned it at the last meetup.

From the very beginning of the presentation a shadow of mysticism fell on the listeners and it wasn't a coincidence, it’s common for web devs to know just a basis of the database he or she uses and all those incredible advanced features are treated like legends.

Speech was dense with information and pro tips, with beautiful illustrations and an interesting plot (I'll say).

This was just the first part of a series of presentations about databases and in this one, Chris briefly talked about SQLite and put most of attention on Postgresql.

There was a lot of stuff, but just for encouragement a pinch of knowledge that Chris shared with us: "Window functions"; how to understand Explain; Postgresql extensions that could change the way you use your database.

Trust me, it's definitely worth checking! How? I'll tell you in a moment.

Gamedev dream

"Rails Permanent Job - How to build a multiprocess server with Ruby on Rails"

by Paweł Strzałkowski.

When you think about background tasks, you probably think ActiveJob. If it should be performed regularly then the Cron + rake task sounds like a way to go. But what if you need to perform some task multiple times per second? Cron is limited to at most 1 action per minute, so what to do then?

Paweł shared with us one of the options: ServerEngine gem - a framework to implement robust multiprocess servers like Unicorn. This gem has a wide range of configurations, which opens a lot of flexibility. But a lot of configurations means a lot of preparation and we all know, the best gems are "plug and play" gems.

Thankfully Paweł understands the spirit, so he created a RailsPermanentJob gem, which has a certain purpose and greatly simplifies usage of ServerEngine for it.

Speech was full of theory and code examples and a cherry on top was the game, which was built in Rails with RailsPermanentJob. Paweł fulfilled his gamedev dream and participants had a great time playing a simple game about rubies, dragons and warriors. Hm... what an interesting coincidence :)

The story of friendship

"ChatGPT for Legacy Ruby Application Refactoring" by Sergey Sergyenko.

It was a touching story about friendship between man and artificial intelligence. About AI, which attempted to help the dev in his task and about dev, who tried to help AI with his memory issues.

"We are friends with ChatGPT, now. I spent a lot of time talking. I know about his family and he about mine, so we send gifts to the kid's birthdays." - these words of Sergey should make you guess how ridiculous and funny this speech was.

Sergey shared an interesting point of view comparing human and code meanings of Legacy. What analogy refactoring and updating is for humans. Afterwards he brought his legacy project and started his story about pair programming with ChatGPT and it was quite surprising.

Was the refactor successful? Did their friendship survive this collaboration? You can see it in the video from the conference, it's worth your time ;)

Lightning talk

The last talk was the bridge to more speeches. In the conclusion of the conference a lightning talk had a place. Ali Krynitsky revealed some details about what awaits us at the Euruko conference, which will take place this year in Vilnius. I will be there and what about you?

BBQ party in Visuality garden

Full of new knowledge and excitement we moved again to the Visuality office - to the garden, where networking started and lasted for hours full of laughter, brilliant conversations and overall great time. But that’s a story for another occasion ;)

The conference was a success! We gained a new experience, met new people and received flattering feedback from participants. Our ambitions continue to grow, but you'll have to wait to find out what's in our minds.

A year, 12 months, 31 presentations, 22 speakers, 11 meetups and 1 conference and it is just a beginning.

Great thanks for all speakers, Nick Sutterer, Chris Hasiński, Paweł Strzałkowski, Sergey Sergyenko, your openness to share knowledge is priceless. And for our sponsors: Visuality, Reffine, Cybergizer and Softswiss.

Kudos to the conference team who did a great job preparing for the event and for our grill warrior, who fought the fire and provided food for everyone.

And of course, thank you to all participants, without you this day wouldn't be so memorable.

See you on PLRUG meetups and (spoiler alert) next conference.
Have an enjoyable projects. Cheers!


More photos? Artscraper Galery

Alexander Repnikov
Ruby Developer

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

LLM Embeddings in Ruby - Paweł Strzałkowski

LLM Embeddings in Ruby

17
.
03
.
2024
Paweł Strzałkowski
Ruby
LLM
Embeddings
ChatGPT
Ollama
Handling Errors in Concurrent Ruby, Michał Łęcicki

Handling Errors in Concurrent Ruby

14
.
11
.
2023
Michał Łęcicki
Ruby
Ruby on Rails
Tutorial
Recap of Friendly.rb 2024 conference

Insights and Inspiration from Friendly.rb: A Ruby Conference Recap

02
.
10
.
2024
Kaja Witek
Conferences
Ruby on Rails

Covering indexes - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Ruby on Rails
Postgresql
Backend
Ula Sołogub - SQL Injection in Ruby on Rails

The Deadly Sins in RoR security - SQL Injection

14
.
11
.
2023
Urszula Sołogub
Backend
Ruby on Rails
Software
Michal - Highlights from Ruby Unconf 2024

Highlights from Ruby Unconf 2024

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality
Cezary Kłos - Optimizing Cloud Infrastructure by $40 000 Annually

Optimizing Cloud Infrastructure by $40 000 Annually

14
.
11
.
2023
Cezary Kłos
Backend
Ruby on Rails

Smooth Concurrent Updates with Hotwire Stimulus

14
.
11
.
2023
Michał Łęcicki
Hotwire
Ruby on Rails
Software
Tutorial

Freelancers vs Software house

02
.
10
.
2024
Michał Krochecki
Visuality
Business

Table partitioning in Rails, part 2 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
Ruby on Rails

N+1 in Ruby on Rails

14
.
11
.
2023
Katarzyna Melon-Markowska
Ruby on Rails
Ruby
Backend

Turbo Streams and current user

29
.
11
.
2023
Mateusz Bilski
Hotwire
Ruby on Rails
Backend
Frontend

Showing progress of background jobs with Turbo

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Ruby
Hotwire
Frontend
Backend

Table partitioning in Rails, part 1 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend
Ruby on Rails

Table partitioning types - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend

Indexing partitioned table - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
SQL Views in Ruby on Rails

SQL views in Ruby on Rails

14
.
11
.
2023
Jan Grela
Backend
Ruby
Ruby on Rails
Postgresql
Design your bathroom in React

Design your bathroom in React

14
.
11
.
2023
Bartosz Bazański
Frontend
React
Lazy Attributes in Ruby - Krzysztof Wawer

Lazy attributes in Ruby

14
.
11
.
2023
Krzysztof Wawer
Ruby
Software

Exporting CSV files using COPY - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Ruby
Ruby on Rails
Michał Łęcicki - From Celluloid to Concurrent Ruby

From Celluloid to Concurrent Ruby: Practical Examples Of Multithreading Calls

14
.
11
.
2023
Michał Łęcicki
Backend
Ruby
Ruby on Rails
Software

Super Slide Me - Game Written in React

14
.
11
.
2023
Antoni Smoliński
Frontend
React
Jarek Kowalewski - ILIKE vs LIKE/LOWER - Postgres Stories

ILIKE vs LIKE/LOWER - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Ruby
Ruby on Rails
Postgresql