Blue Ridge Ruby is exactly what we need

This year's Blue Ridge Ruby conference in Asheville, North Carolina, was not only a wonderful experience but also highlighted the opportunity (and what's at stake) in the Ruby community.

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.

What we ask changes who we are.
— Louis Antonopoulos

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 partner, Atheniel. No matter our personal feelings about LLMs, everyone appreciated the humanity that Louis brought to his perspective. And no, the talk itself wasn't AI-generated; Louis wanted to save that experience for himself and his fellow conference attendees.

Next up, Rachael Wright-Munn shared her experience adding a new validator to Rails and walked through how to create your own custom validator. I especially appreciated Rachael's deep dive into Rails internals; for example, Rails defines validators (except for a few special cases) in ActiveModel, not ActiveRecord. That's why validators don't protect your database—you need database constraints.

Communication is going to remain a fundamental soft skill moving forward — you can quote me on that.
— Travis Turner, Editor-in-chief at Evil Martians

Blue Ridge Ruby volunteer and thoughtbotter Daniel Nolan organized the lightning talks this year and kicked off the talks with one of his own: a live demo of a ChatGPT-powered app he built to help him maintain his garden. Christopher Hagmann entertained us with Jurassic Park quotes and examples of what Ruby code not to write. Rafael Floresta shared a testing technique from functional programming called property-based testing—a topic I hadn't heard about in a while! Michael King talked about how to safely use Thread for concurrency, with a neat benchmark at the end. All of the speakers did a great job.

Following the lightning talks, Dustin Haefele-Tschanz shared the latest research on happiness from positive psychology. My knowledge of this subject was about ten years old; it was enlightening to learn about the latest research. For example, money can increase happiness, even above a certain threshold. Studies still agree that positive social experiences make us happy, so maybe you should plan a trip to an upcoming Ruby conference...

A Rubyist's guide to existential dread

While he didn't organize the conference this year, it was only fitting that Blue Ridge Ruby founder Jeremy Smith gave the final talk. Jeremy addressed our collective fears around AI, tech layoffs, and the uncertainty of change and offered some ideas for navigating the future—whatever it may bring—while highlighting the individuals working to build the Ruby community.

Echoing Irina Nazarova's 2024 RailsConf keynote, Jeremy highlighted the numerous opportunities available to us to build the future we want for Ruby and the industry—if we all put in the work. You should absolutely watch Jeremy's talk when the video is released, but for now, these are the opportunities he suggested:

  • Someone should help connect local meetups to devs looking for speaking opportunities.
  • Someone should make a Ruby conference geared toward developers with kids.
  • Someone should provide training and support for experienced devs transitioning from other languages.
  • Someone should catalog tools in the Laravel community and build the missing ones for Rails.
  • Someone should find a way to connect outdated Rails apps to available freelancers who can maintain and upgrade them.
  • Someone should write an in-depth cookbook for real-world web scraping and HTML parsing using Nokogiri.
  • Someone should host a competition to build the same web app in multiple languages and stacks with commentary and judging.
  • Someone should make a YouTube show where guests bring a favorite Ruby library and do a guided walkthrough.
  • Someone should start a group to support indie Rubyists learning marketing and sales.

The history of Confreaks

The most heartfelt moment (of many) at Blue Ridge Ruby came when Confreaks owner/CEO Cindy Backman—who recorded all the talks—gave an unexpected lightning talk about her experience as a small business owner in the Ruby community. Confreaks began as a side business by Cindy's brother and longtime Rubyist, Coby Randquist. Confreaks Owner/CEO Cindy Backman presents a lightening talk at Blue Ridge Ruby conference.As Coby's responsibilities multiplied, Cindy helped take over the day-to-day work in the business, eventually purchasing Confreaks in 2019—right before the COVID-19 pandemic. You can imagine what happened next: her business dried up as conferences canceled events or moved online.

Cindy's story is a perfect example of why we need to support each other and work to build a resilient Ruby community and ecosystem. While the large companies building with Rails get most of the attention, numerous small businesses depend on Ruby for their livelihoods. From freelancers, solo founders, and small teams to the junior developers entering the industry to the services (like Confreaks) who are here because they love the community, we need to support each other. It was never the technology at stake—it was always the people.

Ruby needs you! (yes, you 🫵)

So, how can you help Cindy and others like her? First, attend local events! I'll say that again. Attend. Local. Events. If you've never experienced it, the Ruby community is something special. Whether you're brand new to Ruby or a seasoned professional, you belong with us.

If you don't have a local event (or you can't get enough Ruby!), consider planning a trip to a regional conference like Blue Ridge Ruby, Madison+ Ruby, Rocky Mountain Ruby, or one of the other Ruby conferences reappearing worldwide. There's also RubyConf in the US, RubyCentral's flagship conference (I highly recommend attending at least once in your career).

Even if you can't attend an event, there are many ways to get involved. Here are a few more ideas:

Folks, that's a wrap for Blue Ridge Ruby, but there's work to do. Let's make 2024 the year that Ruby shows the world what we're made of.

What to do next:
  1. Try Honeybadger for FREE
    Honeybadger helps you find and fix errors before your users can even report them. Get set up in minutes and check monitoring off your to-do list.
    Start free trial
    Easy 5-minute setup — No credit card required
  2. Get the Honeybadger newsletter
    Each month we share news, best practices, and stories from the DevOps & monitoring community—exclusively for developers like you.
    author photo

    Joshua Wood

    Josh started hacking on IRC scripts in the late nineties and has been hacking on computers (and businesses) ever since. As a co-founder of Honeybadger he works on the product, leads marketing and developer relations, and is involved in many open-source projects.

    More articles by Joshua Wood
    Stop wasting time manually checking logs for errors!

    Try the only application health monitoring tool that allows you to track application errors, uptime, and cron jobs in one simple platform.

    • Know when critical errors occur, and which customers are affected.
    • Respond instantly when your systems go down.
    • Improve the health of your systems over time.
    • Fix problems before your customers can report them!

    As developers ourselves, we hated wasting time tracking down errors—so we built the system we always wanted.

    Honeybadger tracks everything you need and nothing you don't, creating one simple solution to keep your application running and error free so you can do what you do best—release new code. Try it free and see for yourself.

    Start free trial
    Simple 5-minute setup — No credit card required

    Learn more

    "We've looked at a lot of error management systems. Honeybadger is head and shoulders above the rest and somehow gets better with every new release."
    — Michael Smith, Cofounder & CTO of YvesBlue

    Honeybadger is trusted by top companies like:

    “Everyone is in love with Honeybadger ... the UI is spot on.”
    Molly Struve, Sr. Site Reliability Engineer, Netflix
    Start free trial
    Are you using Sentry, Rollbar, Bugsnag, or Airbrake for your monitoring? Honeybadger includes error tracking with a whole suite of amazing monitoring tools — all for probably less than you're paying now. Discover why so many companies are switching to Honeybadger here.
    Start free trial
    Stop digging through chat logs to find the bug-fix someone mentioned last month. Honeybadger's built-in issue tracker keeps discussion central to each error, so that if it pops up again you'll be able to pick up right where you left off.
    Start free trial
    “Wow — Customers are blown away that I email them so quickly after an error.”
    Chris Patton, Founder of Punchpass.com
    Start free trial