It’s 12:04 pm on a Saturday, and I’m sitting in a sleepy cafe in Asheville, North Carolina—the perfect place to reflect on the past few days of thoughtful presentations, engaging conversations, and delicious meals with my new and old friends at Blue Ridge Ruby.
Blue Ridge Ruby is a two-day single-track conference in Asheville, North Carolina. Asheville is nestled in the Blue Ridge Mountains at the confluence of the Swannanoa and the French Broad rivers, where you can take in the local art scene at the River Arts District, hike in the surrounding mountains, settle down at a local cafe, or enjoy the many bars, concert venues, and other nightlife attractions. Asheville is a town where fireworks erupt at the baseball field on Friday night, and you can grab a slice of pizza with friends after last call.
Hungry caterpillars, career transitions, and more
The conference kicked off on Thursday with Daniel Colson, a Senior Software Engineer on the Ruby Architecture team at GitHub. In his talk, The Very Hungry Transaction, Daniel told the story of Cat the Caterpillar’s quest to build BugHub, the first grocery delivery service for bugs. Cat’s order fulfillment code grows increasingly complex inside a database transaction, leading to deadlocks, timeouts, and data inconsistencies. Daniel is a former music professor and classical composer, and right from the start, I knew this was someone who could teach. He artfully distilled a complex topic into a delightful and flowing narrative that was easy to follow. It was almost like music.
Next up was Brian Childress, who talked to us about the value of keeping our software systems simple and maintainable by considering the “why” of our technology choices. Do you really need that shiny new database, programming language, or framework? Or are the predictable but “boring” options often a better choice? Brian suggested that when adopting new technologies, you should use the Rule of One—to change one thing at a time. Of course, software engineering is more of a human challenge than a technical one, and our choices are just as important when scaling teams. Consistent documentation, onboarding, tooling, and practices are essential when collaborating on monolithic applications. The goal should be for the code to look like it was written by a single developer, even if it was written by 100.
After a short break, Craig Buchek presented a topic near and dear to my heart: how to handle nil in Ruby! Craig explored the origins of null references and different approaches and patterns to deal with nil in unexpected places. As a “Stringly typed” language, it’s important to write resilient Ruby code when dealing with unknown data—or don’t… as we say at Honeybadger, “nil pays the bills.” 🤠
John Paul Ashenfelter then took us down memory lane with his talk, “My Rails App is Old Enough to Drink: Over Two Decades with One App.” John’s talk was a goldmine of Ruby nostalgia and a tribute to those who helped pave the way for the tooling we enjoy in modern web development with Ruby and Rails. And also throwbacks. So. Many. Throwbacks.
Lauren Auchter’s career path took her from public education to edtech as an educator at science museums before she transitioned to Ruby. In her talk “Navigating Career Transitions — Stop Second Guessing and Let Go of Guilt,” she shared her journey of becoming a Ruby developer and advice on navigating career changes emotionally and strategically. I appreciated Lauren’s emphasis on work-life balance: “Pursue energy, not passion.”
Max VelDink wrapped up the first day of talks with an exercise in refactoring—with a throwback to Sandi Metz and Katrina Owen. It’s a great feeling to refactor some messy legacy code, but sometimes, the practice of refactoring can help us learn how to avoid writing brittle code in the first place. Max’s talk began and concluded with an ASMR soundtrack of typing on a keyboard and computer beeps and bops—a sound almost as satisfying as successfully refactoring your code.
The day concluded with an afterparty at Little Jumbo, an award-winning Asheville cocktail bar owned by a fellow Rubyist, Jay Sanders. Jay also built the ticketing app that the Blue Ridge Ruby organizers used to manage ticket sales!
Writing for humans and computers, the science of happiness, and the future of AI (and us)
On Friday morning, Travis Turner took us on a winding journey into his world of writing (for humans, not computers). Travis is editor in chief at Evil Martians, producing and editing the well-known Martian Chronicles. I could relate as a Ruby developer and editor of the Honeybadger Developer Blog! Packed with quirky wit and humor (“Bashar in VR” — you’ll have to watch the video), Travis’ writing and editing advice was serious business. It’s clear how much the folks of Evil Martians care about sharing what they learn as a team—their writing is “a labor of interest.” We should all write more.
In “Glimpses of Humanity: My Game-Building AI Pair,” Louis Antonopoulos shared his touching experience while building a text-based adventure game with his AI pair programming
Source link