pwshub.com

Blue Ridge Ruby is exactly what we need

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

Conference attendees chat between sessions at Blue Ridge Ruby.

Daniel Colson presents "BugHub" — the first grocery delivery service for bugs.

Brian Childress discusses a case study in which new code took six months to reach production.

Blue Ridge Ruby conference attendees on the first day of talks.

Craig Buchek interacts with attendees during his talk about `nil` in Ruby.

John Paul Ashenfelter presents "My Rails App is Old Enough to Drink: Over Two Decades with One App."

Lauren Auchter opens her talk on navigating career change.

Max VelDink acknowledges the contributions of Sandi Metz and Katrina Owen.

The Asheville skyline provided a beautiful backdrop for the conference.

Little Jumbo, an award-winning Asheville cocktail bar owned by a local Rubyist.

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)

Travis Turner of Evil Martians presents at Blue Ridge Ruby.

Louis Antonopoulos introduces attendees to his AI pair programming partner, Atheniel.

Rachael Wright-Munn receives well-deserved "validation" from the audience.

Dustin Haefele-Tschanz presents the latest research on happiness at Blue Ridge Ruby.

Rolling hills framed by the Basilica of St. Lawrence in Asheville, North Carolina.

A street artist paints a mural in downtown Asheville.

Vibrant colors and architectural flourishes adorn Ashville's many side streets.

A slow day on Haywood Street, near the Blue Ridge Ruby conference venue.

CURVE studios & garden — one of the many art sudios in Asheville's River Arts District.

A ceramics studio in Asheville's River Arts District.

Burial Beer Co. — one of many Asheville locations for attendees to unwind on Friday night.

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.

Jeremy Smith speaks at Blue Ridge Ruby conference in 2024

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:

  • Pick one of Jeremy's opportunities and build it
  • Support the tools and services that show up for the community
  • Publicize your work and the work of others (Ruby needs more promotors and influencers!)
  • Contribute to open source
  • Volunteer at local events
  • Become a Ruby Central sustaining member
  • Ask your company to become a Ruby Central sustaining member and even sponsor a Ruby conference!
  • Start a meetup or conference of your own. Get in touch with RubyCentral and ask how they can support you, and hire Confreaks to record the talks.

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.

Source: honeybadger.io

Related stories
1 week ago - On this week's episode of the podcast, I interview Jack Herrington. As a kid he had to work to overcome Dyslexia and didn't have good enough grades to get into college. Despite this, he's worked as a software engineer for more than 40...
1 week ago - While animations may not always be the most exciting aspect for us developers, they’re essential to keep users engaged. In […] The post Learn how to animate transitions in Angular apps appeared first on LogRocket Blog.
1 week ago - Colors in UI aren't just decoration. They're the key to emotional impact, readability, and accessibility. This blog breaks down how to pick colors that don’t just look good — they work for your users. The post Choosing the best color...
1 week ago - This tutorial demonstrates how to build, integrate, and customize a bottom navigation bar in a Flutter app. The post How to build a bottom navigation bar in Flutter appeared first on LogRocket Blog.
1 week ago - Looking for a powerful new Linux laptop? The new KDE Slimbook VI may very well appeal. Unveiled at Akademy 2024, KDE’s annual community get-together, the KDE Slimbook VI marks a major refresh from earlier models in the KDE Slimbook line....
Other stories
1 hour ago - This release candidate, a near-final look at Deno 2, includes the addition of Node's process global, better dependency management, and various API stabilizations, and more.
1 hour ago - Published: September 19, 2024 The CSS Working Group has combined the two CSS masonry proposals into one draft specification. The group hopes that...
1 hour ago - Stay organized with collections Save and categorize content based on your preferences. Published: September...
3 hours ago - DNS monitoring tool is a cloud-based scanner that constantly monitors DNS records and servers for anomalies. This tool aims to ensure that users are sent to genuine and intended website pages, instead of fakes or replicas. It alerts users...
4 hours ago - Email spoofing is a malicious tactic in which cybercriminals send fake emails that look like they come from trusted organizations or individuals. When unsuspecting users act on these emails, they may unknowingly share sensitive data,...