Our team just got back from the RubyConf in New Orleans, LA! It was so great to be in the midst of a diverse and passionate community. Having finally recovered from all the good food and beignets, we wanted to share some of the best talks we saw this year. Here’s what we had to say: […]
Our team just got back from the RubyConf in New Orleans, LA! It was so great to be in the midst of a diverse and passionate community. Having finally recovered from all the good food and beignets, we wanted to share some of the best talks we saw this year. Here’s what we had to say:
“With the 25th anniversary of Ruby coming up in February, this year’s RubyConf was a particularly reflective one. Language designer Yukihiro Matsumoto discussed the inspirations for the features of Ruby when he wrote it and the trends in programming that are shaping Ruby’s future direction. Justin Searls and Josh Greenwood provided context by taking the audience on a trip down memory lane by going over major moments in the Ruby community via conference talks, like when Rails was casually unveiled in 2005. With so many newcomers to Ruby, understanding the context for technical features and the community really sets the stage for everyone growing and looking to the future together.”
“I really enjoyed this talk given by Tim Mertens. He went over a variety of different scenarios when your tests may fail suddenly for reasons that seem unknown, and provided insight on how to avoid these intermittent failures when writing tests. Some examples of these volatile tests include testing the number of records in a schema rather than the value you are testing, and tests that are dependent on time. Tim also offered enlightenment on a variety of RSpec features that I did not know before – like adding tags to tests, stopping your test suite as soon as a test fails, and the ability to re-run a test suite given a specific seed value. I will be sure to remember the tips that Tim provided us when debugging tests in our own applications.”
“Daniel Azuma demystified how debuggers work. Before understanding how debugging worked, he used ‘puts’ statements to debug his code out of fear a debugger might somehow corrupt his application state. After discussing basic concepts, he used Ruby’s TracePoint API to live code a working Ruby debugger with only 62 lines of code – showing that the internal workings of a debugger are simpler than most developers realize and don’t involve any mysterious “dark magic.” The session was a good illustration of the importance of understanding how the tools we use work.”
“Ashley Ellis Pierce gave an inspirational talk on using Git to drive refactoring efforts. Tying together principles of SOLID object-oriented design with common git tools. After her talk I felt that I could immediately walk away and implement these strategies within my own team. My top three takeaways were: look for patterns within commit messages to ensure a controller adheres to its single responsibility, look at the diff utility in a PR to identify where the Open/Close principle may be violated, and set up web hooks or bots to enforce Liskov’s substitution principle. While team’s should get on the same page with a set standard for Git messages to make the most of some of these tips, this talk delivered exactly what was a promised – practical advice for making your code more SOLID with Git.”
“Max Jacobson felt like he understood Ruby, and so attempted to make a few logical statements about his code. However, once he realized just how much power Ruby’s metaprogramming gives to developers, he found that there were very few absolutes in Ruby. After a bit of experimenting with Rust, he wondered if perhaps Ruby was lacking. But upon finding that Rust programs can still panic, he too began to panic! Once his panic passed, however, he began to embrace the idea of no rules. Perhaps we can conclude ‘No rules? No problem!’”
When first learning Rails, people tend to lean pretty heavily on Ruby’s Enumerable methods to...
A week ago, I got back from my first RubyConf, a three-day event bringing together...