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

Writing Chrome Extensions Is (probably) Easier Than You Think

14
.
11
.
2023
Antoni Smoliński
Tutorial
Frontend
Backend

Bounded Context - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

The origin of Poltrax development - story of POLTRAX (part 2)

29
.
11
.
2023
Stanisław Zawadzki
Ruby on Rails
Startups
Business
Backend

Ruby Meetups in 2022 - Summary

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Visuality
Conferences

Repository - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Example Application - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

How to launch a successful startup - story of POLTRAX (part 1)

14
.
11
.
2023
Michał Piórkowski
Ruby on Rails
Startups
Business

How to use different git emails for different projects

14
.
11
.
2023
Michał Łęcicki
Backend
Tutorial

Aggregate - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Visuality at wroc_love.rb 2022: It's back and it's good!

14
.
11
.
2023
Patryk Ptasiński
Ruby on Rails
Conferences
Ruby

Our journey to Event Storming

14
.
11
.
2023
Michał Łęcicki
Visuality
Event Storming

Should I use Active Record Callbacks?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Tutorial

How to rescue a transaction to roll back changes?

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Backend
Ruby
Tutorial

Safe navigation operator '&.' vs '.try' in Rails

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Ruby
Tutorial

What does the ||= operator actually mean in Ruby?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Ruby
Tutorial

How to design an entity - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Entity - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial

Should I use instance variables in Rails views?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Frontend
Backend
Tutorial

Data Quality in Ruby on Rails

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

We started using Event Storming. Here’s why!

14
.
11
.
2023
Mariusz Kozieł
Event Storming
Visuality

First Miłośnicy Ruby Warsaw Meetup

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality

Should I use Action Filters?

14
.
11
.
2023
Mateusz Woźniczka
Ruby on Rails
Backend
Tutorial

Value Object - DDD in Ruby on Rails

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
Domain-Driven Design
Backend
Tutorial