The Bike Shed

Episode Archive

Episode Archive

460 episodes of The Bike Shed since the first episode, which aired on October 31st, 2014.

  • 364: Constructive vs Predicative Data

    December 6th, 2022  |  34 mins 7 secs

    Stephanie and Joël attended RubyConf Mini, and both spoke there. They discuss takeaways and highlights from the conference.

    The core idea for this episode is explained in this article: Constructive vs. Predicative Data. This came up recently in a conversation at thoughtbot about designing a database schema and what constraints could be encoded in the schema directly versus needing some kind of trigger or Rails validation to cover it.

  • 363: Deployments

    November 22nd, 2022  |  34 mins 26 secs

    Joël discovered Bardcore. Stephanie planned and executed an IRL meetup for folks in the WNB.rb virtual community group in Chicago and had a consulting win.

    Together, they discuss what deployment processes look like for clients in their current workloads.

  • 362: Prioritizing Learning

    November 15th, 2022  |  29 mins 40 secs

    This week, Steph and Joël discuss investment time and keeping track of things they want to learn.

    How do you, dear listener, keep track of things you want to learn? When investment time rolls around, what do you reach for, or how do you prioritize that list? Are there things you actively decide not to focus on when choosing where to develop deep expertise? Are there things you wish you could spend time on if you could?

  • 361: Working Incrementally

    November 8th, 2022  |  30 mins 28 secs

    thoughtbotter Stephanie Minn joins The Bike Shed as co-host! 🎉

    Joël and Stephanie talk about continuing on a rewrite and redesign of a legacy Rails app and working incrementally.

  • 360: ActiveRecord Models

    November 1st, 2022  |  28 mins 37 secs

    Fellow thoughtboter Sarah Lima joins Joël to discuss an issue Sarah had when she was doing a code review recently: making HTTP requests in an ActiveRecord model. Her concern with that approach was that a class was having too many responsibilities that would break the single-responsibility principle, and that it would make the class hard to maintain. Because the ActiveRecord layer is a layer that's meant to encapsulate business roles and data, her issue was that adding another responsibility on top of it would be too much. Her solution was to extract a class that would handle the whole HTTP request process.

  • 359: Serializers

    October 25th, 2022  |  44 mins 10 secs

    Chris Toomey is back! (For an episode.) He talks about what he's been up to since handing off the reins to Joël. He's been playing around with something at Sagewell that he enjoys. At the core of it? Serializers.

  • 358: Class Methods

    October 18th, 2022  |  40 mins 40 secs

    Inspired by a Slack thread, Joël invites fellow thoughtbotter Aji Slater on the show to talk about when you should use class methods and when you should avoid them. Are there particular anti-patterns to look out for? How does this fit in with good object-oriented programming? What about Rails? What is an "alternate constructor"? What about service objects? So many questions, and friends: Aji and Joël deliver answers!

  • 357: Notetaking For Developers

    October 11th, 2022  |  30 mins 55 secs

    Joël is joined by Amanda Beiner, a Senior Software Engineer at GitHub, who is known for her legendary well-organized notes. They talk about various types of notes: debugging, todos, mental stack, Zetelkasten/evergreen notes, notetaking apps and systems, and visual note-taking and diagramming too!

  • 356: The Value of Specialized Vocabulary

    September 27th, 2022  |  39 mins 20 secs

    Guest and fellow thoughtbotter Stephanie Minn and Joël chat about how the idea of specialized vocabulary came up during a discussion of the Ruby Science book. We have all these names for code smells and refactors. Before knowing these names, we often have a vague sense of the ideas but having a name makes them more real. They also give us ways to talk precisely about what we mean. However, there is a downside since not everyone is familiar with the jargon.

  • 355: Test Performance

    September 20th, 2022  |  42 mins 44 secs

    Guest Geoff Harcourt, CTO of CommonLit, joins Joël to talk about a thing that comes up with a lot with clients: the performance of their test suite. It's often a concern because with test suites, until it becomes a problem, people tend to not treat it very well, and people ask for help on making their test suites faster. Geoff shares how he handles a scenario like this at CommonLit.

  • 354: The History of Computing

    September 13th, 2022  |  31 mins 16 secs

    Why does the history of computing matter? Joël and Developer at thoughtbot Sara Jackson, ponder this and share some cool stories (and trivia!!) behind the tools we use in the industry.

  • 353: Mental Models

    September 6th, 2022  |  38 mins 22 secs

    Mental models are metaphors that help us understand complex problems we work on. They can be a simplified roadmap over an infinite area of complexity.

    How does one come up with mental models? How are they useful? Are they primarily a solo thing, or can they be used to communicate with the team? What happens when your model is inaccurate? Today, Joël is joined by Eebs Kobeissi, a Developer and Dev Manager at You Need a Budget, to discuss.

  • 352: Case Expressions

    August 30th, 2022  |  32 mins 23 secs

    As developers, we care a lot about code quality. How do we know how good is good enough? When do we stop improving code? Alternatively, when working on code that's really bad, how much do you improve it before calling it a day? thoughtbot's Stephanie Minn joins Joël to chat about this and case expressions: We recently discussed these as part of thoughtbot's RubyScience reading group. Are case expressions bad? Are they equivalent to multi-way conditionals? When do you use polymorphism?

  • 351: Learning in Public

    August 23rd, 2022  |  37 mins 7 secs

    It's Joël's first episode as host of The Bike Shed! 👋

    Joël has fellow thoughtbotter Steve Polito join him to talk about the benefits and drawbacks of "learning in public" and how there are many, many different ways to do it.

  • 350: 21 Bell Salute

    August 16th, 2022  |  52 mins 9 secs

    It's Steph and Chris' last show. Steph found a game, and if you've been following the journey, all of the Test::Unit test files are now live in RSpec. JWTs really grind Chris' gears.

    They wrap up with things they've learned, takeaways they've had, and their proudest podcasting moments. They also thank all the folks who've helped make The Bike Shed happen.

  • 349: Unpopular Opinions

    August 9th, 2022  |  40 mins 16 secs

    Steph and Chris announce Joël Quenneville as the new host of the show! 🎉 Joël talks about his grand plans for where The Bike Shed is going to go from here. (Okay, maybe not grand plans...!)

    Together, the group chats about unpopular opinions and hot programming takes.