In 2016 I went to Rails Conf and really had my mind opened. So many good and interesting talks. Every year I have a tradition where I watch every video I’m even remotely interested at for 2 minutes at 2x and then if it passes that test, just regular. Every year there are 5-10 that really expand my mind. I haven’t been able to get all of them this year, but here are the highlights
Refactoring Live: Primitive Obsession by James Dabbs
- Nice techniques that simplified everything, really cool to see by-the-book refactoring in practice. It’s a technique that is really magical when done well
- Really loved the touch of seeing the changes with Guard to run the tests
- I did a version of this talk for my team, how to use the Primitive Obsession smell to improve your code, but this talk is just so much better than mine. He goes deeper and has a more interesting class extracted and explains how and why better than I did. Very impressive
The Selfish Programmer by Justin Searls
- breaking things down. totally relate to the concept of getting overwhelmed by the ambition of a personal project
- love the design of Justin Searls talks
Cache is King by Molly Struve
- Simple strategies for performance and caching in Rails, some I knew and some I didn’t, but very clearly put and articulated in an entertaining manner
RailsConf 2019 - The Elusive Attribute by Chris Salzberg - YouTube
- In this, Salzberg digs deep into how attributes work. He uses a bike metaphor to describe how we should try to understand and poke and prod at libraries and codebases to find the logical flaws and also understand why they were designed the way they were. This makes sense but I’m not sure I completely agree with all his critiques, since a feature like attributes doesn’t get built in a vacuum, it develops over time and we want it to work in a consistent manner that only changes if it absolutely needs to. In 99.99% of the contexts what is important to know about attributes is that they work and are performant enough.
- Objects, systems, etc tend to get the level of optimization that they warrant and ask for. Bicycles are optimized because they have to be. For software, things are more complicated, it would be wonderful if it was optimized for clarity, but if it works, is performant and a large change would be a lot of work done for free, does it need to be done?
- However despite not buying his thesis (or perhaps my thoughts about what his thesis might mean), the digging deep into how attributes worked in Rails was pretty fascinating. He explained complicated code well and explained the reasoning behind the complications clearly, which is very valuable and an impressive thing to do.
RailsConf 2019 - The 30-Month Migration by Glenn Vanderburg - YouTube
- I like this because these kind of changes can feel impossible, I like how he methodically goes through how to do them
- the insight about having a metric that holds you accountable and the whole company can see is really good