Last week, despite being a Rubyist for 14 years, I attended my very first RubyConf!
The trip to Denver was also a great opportunity to see my grandparents for the first time since the pandemic, and it also marked my return to in-person conferences.
I took a bunch of notes and produced a giant Tweet thread about it that I'll attempt to unroll below (you may need to wait for twitter to load them all):
π± Nathan Griffith@smudgethefirstNow that #RubyConf2021 is over and I've had a chance to collect my thoughts, I wanted to shout out to all of the talks I attended last week! *Every single one* was excellent!
Note: this is just a list of talks that I *happened* to see! (I wish I could've watched them all!)
π§΅π03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstAlso, I'll grow this thread as I watch more virtual talks, so if you were at #RubyConf2021 and have any recs, DM me!
Lastly, these talks are not public yet, but once they are I'll post the YouTube links on my website (ngriffith.com/rubyconf2021).
π Without further ado:03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Monday was a slower day, but I caught @peterzhu2118 and @eightbitraptor's overview of their Variable Width Allocation project. If you've ever wondered why Ruby strings < 24 chars are somehow faster, check this out. Excited to see their work optimizing memory allocation perf!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ I also caught a combined live session of @remote_ruby, @rorpodcast, and @JasonSwett's "Code With Jason". A fun meta-podcast about podcasting, and some good shout-outs to up-and-coming Rubyists & Ruby heroes.
It was also just really nice to finally put some faces to voices!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Then on Tuesday we had @yukihiro_matz's opening keynote. I love all of the new improvements in Ruby 3.0, and look forward to "Ruby 3x3 Redux" π! Even after seeing his dreams for Ruby come true, Matz says "I am *still* a dreamer" β€οΈβ€οΈβ€οΈ
Thank you Matz, and keep dreaming!!!!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ It's always a pleasure to watch @searls speak, and his "how to make a gem of a gem" session was superb and eminently shareable. I relate so much to being "care mad" -- to find the right motivation, you sometimes have to "surround yourself with mild irritants."03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Next up was @fractaledmind's dive into `acidic_job`, aiming to give `sidekiq` the ACID-guarantees of a database-backed queue. This was a fantastic demonstration of the "job drain"/"outbox" pattern in action, and I hope that it influences the future direction of `sidekiq`!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstβBut SIDEBAR: The topic of job queue resiliency is important to me, and I was both surprised and deeply honored to see @fractaledmind reference my #RailsConf2021 talk from April. Thank you Stephen! It was great to meet you, and I hope I didn't seem too flustered afterwards!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Next up was @flavorjones's talk on shipping native extensions, specifically `nokogiri`'s new precompiled binaries. This is SUCH impactful--and, I imagine, relatively thankless--work. So *thank you*, Mike!
Also: YES to the call for MFA on all rubygems.org accounts.03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ During the pandemic, I got really into Admiral Cloudberg's analyses of historical aviation disasters, and so I *could not miss* @nmeans's systems-focused talk on the feedback loops that led to 2 tragic Boeing 737 Max crashes and the surrounding crisis. Deeply compelling stuff!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Then came @betsythemuffin's "Your Team, As Saga," on how so much of our behaviors and choices are informed by the stories we tell ourselves (and who we feel the "main character" even is). I want to think more about making a positive impact by managing the collective Narrative.03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ One of my most anticipated talks (and not just because he's a fellow @Betterment-er) was @ancat's, giving us a view into the mind of a security engineer, in which he meets Rubyists where they are, with security-minded linter rules that maximize learning and minimize toil.03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstβSide bar (again): I worked with @ancat on getting some of his linter rules shipped to production, and I have to say, they are *brilliant*. These are some easy-to-use-yet-extremely-thorough checks against common authorization issues. Check them out here:
github.com/betterment/betβ¦03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ We closed Tuesday with @FutureofWomen's keynote: "Finding Purpose and Cultivating Spirituality." Connecting more deeply with oneself (via mindfulness/affirmations) is so important for people who would otherwise let fear and avoidance drive their decision-making (so, um, *me*).03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ And Wednesday started off with @testobsessed's talk on feedback cycles. I loved the whole thing (really, just every new topic and idea), but I especially loved the segments on the Theory of Agile vs the Reality of Agile, as well as this hilarious git branching diagram:03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Next, I attended @Jake_Evelyn and @JemmaIssroff's insightful (and extremely well-explained) dive into optimizing the performance of their metaprogramming-backed gem, `memo_wise`. It made me want to dive in and start profiling/benchmarking some of my own Ruby DSLs!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Then, @jenny_codes's talked about how to abuse (and, really, how to avoid the need to abuse) test doubles. I loved the Douglas Adams quote, the "testing pyramid, reality edition," and the super clear code examples. Separating *decisions* from *delegations* was a great insight!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Here's something I CANNOT WAIT to try out: *compiling* Ruby w/ Sorbet + LLVM. @jez_io and @moltarx's talk was not only a great summary of the benefits of ahead-of-time compilation, it also presented a great example of how to do incremental rollouts (and how to do them well).03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ If you liked The Good Place, you'll enjoy @kdreyeroren's talk on Contractualism, presenting a great model of the ethics & impact of our work on our users, on *their* users, and on the wider world. In my humble opinion, this talk should be given at *every single tech company*.03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstβSide bar: I loved the track curation this year. Both the "Ethics" and "Complex Sociotechnical Systems" tracks were full of compelling talks, and their presence at all really speaks to the thoughtful leadership of the @RubyConf organizers and track directors. πππ03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ I always love @eileencodes's deep-yet-accessible dives into Ruby/Rails internals, and her talk on speeding up class variables was no exception. Take-away: OSS contributions are a *negotiation*, and it's important that we all do it. I'm definitely gonna try to be a "C tourist."03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ @jmeller's talk on (dis)honesty in our industry is another must-see. If you take anything away, you *must* ask yourself whether your software solution would have the same value prop if it prompted your users for *informed consent*. "Honest software is a competitive advantage."03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstAnd that leads us to the end of the conference.
π But first, a quick shout out to @ViraniRiaz's pre-keynote "whimsy" session on all of the hilariously absurd things you can do with `pry`, including editing classes in real-time. @rowangoldenarch, you'll love this one!03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirstπ Finally, we closed with Matz's Q&A, led by @evanphx. I'm looking forward to the new tools-focused core Ruby development. Plus, it was fun to hear Matz's thoughts on Rust & Zig (& TypeScript & Python), and what we can *learn* from the hard work that goes into these ecosystems.03:40 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirst@evanphx π One last note. When I looked around at a spaced-apart hall full of masked faces, all watching a remotely-delivered (and pre-recorded) closing video, I had a surreal moment of clarity. I realized that, 2 years ago, such a scene would've seemed... well, terrifying. Unreal. (1/3)03:41 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirst@evanphx Yet, last week, being in a room like that felt... hopeful.
The last couple years have been hard (full stop), and each of us has had to experience this pandemic in our own way. But, for three whole days, we were able to come together and create experiences together. (2/3)03:45 AM - 17 Nov 2021
π± Nathan Griffith@smudgethefirst@evanphx And it wouldn't have been possible if not for the staff and organizers who worked to get us all (both remote and in person) there. So, my deepest thanks goes out to the entire @RubyConf team for doing, like, two+ conferences-worth of work to make all of this happen!! πππ€ (3/3)03:46 AM - 17 Nov 2021
Top comments (0)