Lucian Ghinda

Talk: The Modern Rubyist: When and How to Use the Latest Features

Workshop: Testing: How to write fewer tests and cover more cases

Product Engineer, Ruby on Rails Developer. Co-creator of ideatify. Curator of Short Ruby Newsletter.

talk: The Modern Rubyist: When and How to Use the Latest Features

Explore how Ruby has evolved with features like numbered params, endless methods, and pattern matching. Let’s embrace these changes to future-proof our code rather than sticking to old habits. You will learn how to use the new features, when to apply them, and when to avoid them.

There are almost 5 years since we started seeing many new features and syntax being added to Ruby, and still, a huge part of the developers are not using it. We have become conservative and thus this is a protecting position and when we focus on protecting what we have, we close in and are not focused on evolving and the future. As Matz says in a talk, we need to push forward and adopt new features if we want to avoid the Boredom Trap, where existing developers are getting bored and moving out while new people are not coming in as the language does not evolve to offer new solutions to new problems.

Ruby has evolved a lot since Ruby 2.7 and has added a wide range of new features that can transform both how we think about and write code.

You may have heard about some of them: numbered block params, endless method definition, hash literal value omission, pattern matching, object shapes, or new stdlib/core methods and classes. These features hold immense potential, yet most codebases do not take full advantage of them.

The primary outcome of this talk is to show developers practical knowledge about the new features. They will not only understand what these features do but also when it is a good idea and a bad idea to apply them. It might be that everybody knows about these new features, but adopting them takes work to convince colleagues about the benefits and use cases where new features fit.

In this talk, I will review a series of code snippets taken straight from production and see how they can be improved using the new Ruby features while extracting rules or guides about how and when to apply them.

workshop: Testing: How to write fewer tests and cover more cases

When learning Ruby or Ruby on Rails, you learn about RSpec or Minitest and how to use the library to write model, controller, or integration tests. Yet you don’t learn much about testing: What is testing and how do you know that the tests you wrote will catch bugs? How do you pick what to test?

There are a lot of resources out there about how to write RSpec or Minitest and about speeding up test case execution, but there is little knowledge shared online about how to decide what to test and how to write a good test case in Ruby. This workshop plans to close this knowledge gap by showing easy-to-use and practical test design techniques, all applied in Ruby and Ruby on Rails.

I will cover test design techniques that help you write the minimum number of tests that would cover the widest surface of your app. You will learn about Decision Tables, Boundary Value Analysis, Equivalence Partitioning, PairWise Testing, Decision Coverage, Statement Coverage and more, all with Ruby code examples. You will lean how to write the minimum amount of tests while trying to cover as much as possible the part that you are testing. All are based on mathematically proven techniques.

Bio

Senior Product Engineer, working in Ruby and Rails since 2007. I am a gener- alist and I am passionate about idea generation, creativity, and programming. I take my weekly dose of coding inspiration by curating Short Ruby News. Always looking on the bright side.

I also have over 7 years of experience delivering technical training/workshops for teams on learning Ruby or testing. I am also an ISTQB certified trainer delivering international courses about testing to a wide range of audiences