14
.
11
.
2023
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

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

A look back at Friendly.rb 2023

14
.
11
.
2023
Cezary Kłos
Conferences
Ruby

Debugging Rails - Ruby Junior Chronicles

14
.
11
.
2023
Piotr Witek
Ruby on Rails
Backend
Tutorial

GraphQL in Ruby on Rails: How to Extend Connections

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

Tetris on Rails

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

EURUKO 2023 - here's what you've missed

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

Easy introduction to Connection Pool in ruby

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

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

04
.
12
.
2023
Alexander Repnikov
Ruby on Rails
Conferences
Visuality

Stacey Matrix & Takeaways - why does your IT project suck?

14
.
11
.
2023
Wiktor De Witte
Project Management
Business

A simple guide to pessimistic locking in Rails

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

Poltrax design - story of POLTRAX (part 3)

04
.
12
.
2023
Mateusz Wodyk
Startups
Business
Design

Writing Chrome Extensions Is (probably) Easier Than You Think

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