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
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 :)
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.
"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, which we will publish soon, so stay tuned, it will be worth your time ;)
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