The Bike Shed

The Bike Shed

On The Bike Shed, hosts Chris Toomey & Steph Viccari discuss their development experience and challenges at thoughtbot with Ruby, Rails, JavaScript, and whatever else is drawing their attention, admiration, or ire this week.

  1. Thumb 1562633270 artwork

    205: Won't Somebody Think of The Jokes (Aaron Patterson)

    On this week's episode, Chris is joined in a live recording from RailsConf by the one and only Aaron Patterson. They discuss Aaron's many RailsConf keynotes, his recent work on Rails view rendering and his three-year-long effort to bring more advanced garbage collection to Ruby which will finally be seeing the light of day. And of course, plenty of puns.

  2. Thumb 1562036905 artwork

    204: I Don't Like Rest

    In this week's episode, Steph and Chris discuss ways to unplug and protect personal downtime, RESTful sorting, altering production data within a Rails migration vs a rake task, adopting Unicode characters, and respond to a listener's question about how they approach client relationships and share thoughtbot's Agile-like process.

  3. Thumb 1561423138 artwork

    203: A Blessed Monkeypatch (Eileen M. Uchitelle)

    On this week's episode, we revisit RailsConf 2019 for another live recording, this time with Eileen M. Uchitelle, GitHubber and rails core team member. Eileen joins Chris to discuss her RailsConf talk on how GitHub maintained a custom fork of Rails for years, how they finally moved off it, and what lessons we can take away from their experience. They also discussed Eileen's recent work on automatic database switching coming in Rails 6, microservices and monoliths, and getting into working on Rails.

  4. Thumb 1560820973 artwork

    202: I Left it All on The Dance Floor

    In this week's episode, Chris and Steph discuss how working with typed-languages influences their work with dynamic languages. They also chat about the benefits of pair programming, tracking performance events using Rails' Instrumentation API and respond to a listener's question about how to structure code that doesn't fit neatly within the default Rails' structure.

  5. Thumb 1560217502 artwork

    201: Artisanally Indented Code (Kevin Deisz)

    On this week's episode, Chris is joined by Kevin Deisz, CTO of CultureHQ, live from RailsConf. They discuss Kevin's RailsConf talk on preevalution in Ruby, but dig further into Kevin's core philosophies that drive his work on tools like preval. They round out the discussion with Kevin's work on prettier-plugin Ruby, an automated code formatter to finally tame the wild west of Ruby syntax, and the hopeful path to a v1.0 in the not too distant future.

  6. Thumb 1559048521 artwork

    200: FOMO for Hallway Track (200th Episode!)

    On this very special Bike Shed, Steph and Chris celebrate reaching the 200th episode. They discuss the origins of the show and thank some of the wonderful folks who helped make it happen (thanks Derek, Sean, Amanda, Laila, and of course Thom!). They discuss Chris's recent trip to RailsConf and some strategies for making the most of conference attendance. Also, Steph's recent work hosting an intro to web development course. They wrap things up with a series of questions captured live from RailsConf at the community meetup covering career growth, naming, graphql, joy, and more.

  7. Thumb 1558363732 artwork

    199: Pave That Path

    On this week's episode, Steph and Chris talk about PR sizing, load testing (the weird way), and ponder the merits and pitfalls of personal style in code. They also discuss Hertz suing Accenture for undelivered software and the belief that engineers should talk to users! This one truly has something for everyone.

  8. Thumb 1557782425 artwork

    198: In Terms of Tradeoffs (Glenn Vanderburg)

    On this week's episode, Chris is joined by Glenn Vanderburg, VP of Engineering at, live from RailsConf. They discuss Glenn's RailsConf talk, "The 30-Month Migration", covering distributed data models, refactoring, and the wonders of postgres. They also discuss Glenn's famous talk, "Real Software Engineering", and what the term "software engineering" means within our communities.

  9. Thumb 1557186084 artwork

    197: Don't Go Chasing Waterfalls

    Steph and Chris discuss Redux, integration testing strategies, scoping data for React components, and take a question from a listener about improving process and reducing bugs in a complex service-oriented system with a hint of waterfall in their workflow.

  10. Thumb 1556312949 artwork

    196: I Can Be Wrong on the Internet

    On this week's episode, Chris welcomes Steph as the new co-host of The Bike Shed! Chris and Steph discuss their experiences using React, TypeScript, and Angular.

  11. Thumb 1555636738 artwork

    195: WebAssembly & WASI (Lin Clark & Till Schneidereit)

    On this week's episode, Chris is joined by Lin Clark and Till Schneidereit of Mozilla to discuss all things WebAssembly. Lin and Till are helping to lead the development and advocacy around WebAssembly and in this conversation they discuss the current state of WASM, new developments like the WebAssembly System Interface (WASI), and the longer term possibilities and goals for WASM.

  12. Thumb 1555010794 artwork

    194: My PGP Shame

    Mike Burns discusses the ins and outs of application security, his comprehensive Application Security Guide, common security holes, and his personal information & security management workflow.

  13. Thumb 1554393366 artwork

    193: A Thing I Know Almost Nothing About

    Edward Loveall, former thoughtbot design apprentice and now thoughtbot developer, chats about his thoughtbot origin story, podcasts, DNS, and "must have" developer tools on new machines.

  14. Thumb 1553793759 artwork

    192: I Don't Want to Think That Hard

    Sid Raval chats about functional programming, strong types, and accessibility. The discussion touches on TypeScript, Haskell, Scala, Elm, as well as accessibility and developer tools.

    Thank you to CircleCI for sponsoring this episode.

  15. Thumb 1553196539 artwork

    191: Open Source is Created By Humans (Devon Zuegel)

    Chris is joined by Devon Zuegel who recently joined GitHub in the new Open Source Product Manager role. Devon and Chris discuss the complexities inherent to open source including funding models, managing motivation and burnout, different open source models, and end with a discussion around how we can be better open source citizens, both as consumers and maintainers.

    Thank you to CircleCI for sponsoring this episode.

  16. Thumb 1552590023 artwork

    190: Going Steady With a Platform

    Alex Sullivan takes Chris on a tour of the mobile landscape comparing the core native platforms (the languages, developer tooling and IDEs, and fundamental thinking), React Native, and briefly touching on the newest entrant into the mobile space, Flutter.

    Thank you to CircleCI for sponsoring this episode.

  17. Thumb 1551392622 artwork

    189: It's Gonna Work, Definitely, No Problems Whatsoever

    Chris is joined by Steph Viccari to chat about Steph's recent experience working on the Hubspot API ruby wrapper, testing third-party APIs, VCR, using exceptions as control flow, and spooky mystery guests at a distance. A little something for everyone!

  18. Thumb 1550798205 artwork

    188: A Function by Any Other Name

    On this week's episode, Chris is joined by German Velasco for a conversation that fully lives up to the name of the show with plenty of opinions and impressively deep dives on topics that folks outside the world of programming would never think could warrant this much discussion.

  19. Thumb 1550169163 artwork

    187: Convincing People Not to Build Software

    On this week's episode, Chris is joined by Matt Sumner, development director in our Boston Studio to discuss Matt's crypto adventures, design sprint experiences, a new ecosystem for him with Scala & GraphQL.

  20. Thumb 1548989706 artwork

    186: Let's Duplicate Stuff

    On this week's episode, Chris is joined by Daniel Colson, developer in our New York studio and current maintainer of all things FactoryBot. Chris & Daniel discuss Daniel's work as maintainer of one of thoughtbot's most popular open source projects and some of the parallels to thoughtbot's consulting work. They then discuss a bit more on the specifics of FactoryBot and what's in store for upcoming versions.

  21. Thumb 1548371804 artwork

    185: The Transactional Fallacy (Avdi Grimm)

    On this week's episode, Chris is joined by Ruby Hero Avdi Grimm. They discuss Avdi's history of guiding the Ruby and broader programming communities, his thoughts about where we're at with object-oriented programming, and where he's looking to next for our industry.

  22. Thumb 1547739097 artwork

    184: Fun, Interesting, and I Wouldn't Recommend It

    On this week's episode, Chris is joined by Eebs Kobeissi, a developer in our Boston studio, for a discussion encompassing the front end, back end, and everything in between. They start by discussing Eebs' recent work with both Elm & TypeScript, and the relative merits of these two strongly typed languages for the front end. From there they move on to a discussion around the different communities and rates of change in each.

  23. Thumb 1547154533 artwork

    183: Former Robots Smashing Into Other Giant Robots (Ben Orenstein)

    On this episode of the Bike Shed, Chris is joined by former thoughtbotter Ben Orenstein. Ben & team are currently feverishly working towards launching, an app for remote pair programming. The conversation covers the unique technical challenges inherent to building this sort of app (WebRTC & firewalls, oh my), as well as a discussion around the merits and value of pair programming. To round out the conversation, Ben checks in on whether Chris is still "nerding out hard on Vim".

  24. Thumb 1546578934 artwork

    182: What's it in the Service Of?

    Chris is joined by Eric Bailey, thoughtbot designer and champion for all things accessibility on the web. Chris & Eric chat about how Eric approaches accessibility and works to include it throughout the design process, design systems, functional CSS, CSS in JS, and more.

  25. Thumb 1544726475 artwork

    181: Strong Types and a Functional Flair

    On this episode of the Bike Shed, Chris is joined by thoughtbot CTO Joe Ferris. Chris & Joe start by talking about all things data. More and more we're building applications that need to manage medium to large data sets, combining data from multiple sources, and our approaches and frameworks need to evolve to match these needs. Joe provides the low down on how this can shape the way we build our applications.

    As part of the discussion around data they dig into the idea of event logs, most notably discussing Apache Kafka and it's unique approach to capturing state by storing an immutable event log, and the resulting architecture that falls out of this.

    Lastly they chat about the Scala language both in relation to data and streaming applications, but also more generally as an example of an approachable yet powerful strongly typed language.

  26. Thumb 1544127284 artwork
  27. Thumb 1543528323 artwork

    179: We CAN Just Use a Form!

    Matt Sumner returns to chat with Chris about their recent adventures. They discuss Matt's ongoing work building an open source Ethereum implementation in Elixir, Chris's recent trip to speak at GraphQL Summit, and React Hooks.

  28. Thumb 1542335011 artwork

    178: Friday is For Spikes

    On this episode of the Bike Shed Chris is joined by Derek Prior, former thoughtbotter and previous host of this very podcast. Derek has recently moved on from thoughtbot to try out a new role as an engineering manager at GitHub.

  29. Thumb 1541741025 artwork

    177: Tricking Computers Into Doing Things

    On this episode of the Bike Shed, Chris is joined by Christina Entcheva, developer from thoughtbot’s New York studio to discuss rails performance, user focused development, and headless CMSs.

  30. Thumb 1541104786 artwork

    176: The Machines Will Learn

    On this episode of the Bike Shed Chris is joined by George Brocklehurst, development director in thoughtbot's New York studio. The conversation starts with a discussion around progressive enhancement and the state of the modern web, and then shifts to focus on George's recent explorations of machine learning. This episode is a perfect introduction to the topic of ML, and provides a great summary of why you might want to start working with it and how to go about that.

  31. Thumb 1540515225 artwork

    175: Tell Me When It's Real

    On this episode of the Bike Shed, Chris is joined by Josh Clayton, thoughtbot’s managing director in our Boston studio. Chris and Josh spend the episode discussing the various patterns and trends they see in the world of web development, covering languages and frameworks as well as more general patterns and approaches.

  32. Thumb 1539810634 artwork

    174: I've Watched a Lot of Vim Courses

    In this special crossover episode, Chris is joined by Chad Pytel, Co-founder & CEO of thoughtbot and host of Giant Robots Smashing Into Other Giant Robots podcast, to discuss the content, history, and the process of making Upcase, thoughtbot's online learning platform, FREE.

  33. Thumb 1539305202 artwork

    173: A Combinatoric Explosion of Nulls

    Joël Quenneville joins Chris to discuss Elm, the strongly typed functional programming language for writing reliable client side web apps. They discuss recent changes from the 0.19 release including reduced bundle size from dead code elimination, the somewhat controversial removal of custom operators. Anecdotally, Joël and team saw a reduction from 31.5K to 16.6K in bundle size going from 0.18 to 0.19 and felt no pain from the custom operators removal, so a big net win for them with this new version.

    Along the way Joël and Chris detour into the complexity of managing a project and community like Elm's and discuss Joel's recent work with the thoughtbot apprentice program. To round things out, Joël and Chris discuss the power of using a type system like Elm's to constrain the valid states of your application and make your apps more robust and maintainable.

  34. Thumb 1538669169 artwork

    172: What I Believe About Software

    Steph Viccari joins Chris for a conversation starting with a discussion of some deployment and orchestration issues Chris was helping out with, followed by some of Steph's recent experiences with JSONB in postgres and the relative trade-offs of unstructured data.

    The heart of the conversation revolves around the core processes we use to develop software touching on sprint planning & story points, deadlines, the place for refactoring and code review in the regular cadence of development, and the often lamented retrospective meeting.

  35. Thumb 1537458462 artwork

    171: What If We Just Used a Form?

    Matt Sumner joins Chris for a discussion around Matt's recent adventures with the block chain and Ethereum, as well as tackling the thorny issue of server rendered vs client side apps. They cover a bit of history, a bit of opinion, and some practical considerations to keep in mind when tackling rich client development.

  36. Thumb 1536858687 artwork

    170: Less Charted Territory

    Chris is joined by Paul Smith to discuss Crystal, a statically-typed and compiled language with a Ruby inspired syntax. Paul has spent much of the past few years exploring Crystal and building a new web framework called Lucky.

    Paul's infectious enthusiasm for the Crystal language shines through in this discussion covering some of the unique features of Crystal & Lucky, but there is plenty to enjoy even if you're not specifically interested in Crystal.

    With Lucky, Paul has done a great job of taking the best of what has been built in other frameworks and bring it to Crystal, drawing inspiration from Ruby & Rails, Elixir & Phoenix, and even PHP and the Laravel framework. There's something in this episode for everyone!

  37. Thumb 1536262274 artwork

    169: Fear Driven Development

    Chris is joined by Kane Baccigalupi, development director from thoughtbot's San Francisco office to discuss Kane's history in government working for 18F and California State and how those experiences have informed Kane's work since.

    Throughout the conversation Chris and Kane discuss their shared desire to hide all implementation details and their love of Ruby for how it allows us to do that, testing vs test driven development, and approaches for refactoring large untested systems.

  38. Thumb 1535679648 artwork

    168: An Escape Rope of Learning

    Chris is joined by Rachel Mathew to discuss Rachel's recent experiences with Scala on a handful of client and side projects. They discuss the benefits of working within a type system, learning to work with a compiler, and the process of getting to know a new language and paradigm.

    Along they way they dip into the complexity of twitter as a platform for discussion and making improvements to development workflows.

  39. Thumb 1534980684 artwork

    167: I Feel Like We Should've Solved This By Now

    Chris is joined by German Velasco for a discussion ranging from German's recent transition to remote working to the wonders of the Elixir language and the Erlang platform, blockchain, Ethereum, TypeScript, the Language Server Protocol, and more!

  40. Thumb 1533876942 artwork

    166: Are Services the New Rewrite?

    Chris & Derek discuss the world of services, exploring the various forms SOA can take, the oft stated benefits, and some of the pitfalls they commonly see in the wild. The discussion ranges from alternative architectures, guidelines for how to think about services within your platform, and even includes an anecdote about thoughtbot's foray into the world of SOA on Upcase.

  41. Thumb 1533310723 artwork

    165: The Tables Have Turned

    Chris & Derek talk about beginnings and ends, borrowing from their consulting mindset for a conversation spanning CI, deployment, communication, team structure, and everything in between.

  42. Thumb 1532632486 artwork
  43. Thumb 1532100230 artwork

    163: Insert Some Colons For Me

    After Sean confronts some breaking changes to Diesel, we discuss what we like about Visual Studio Code and how changing your tools can change your perspective.

  44. Thumb 1531501135 artwork
  45. Thumb 1530837480 artwork

    161: Re-Incoherence

    Rails performance, rebalancing coherence, and themes from career advice requests.

  46. Thumb 1530247647 artwork

    160: Praise Hands Emoji 🙌 (Vaidehi Joshi)

    We're joined by Vaidehi Joshi to discuss her multimedia empire, conference talk prep, getting started with computer science, and the applicability of a computer science education in every day development work. We wrap the episode with live Q&A from our RailsConf audience.

  47. Thumb 1529692862 artwork

    159: Confusing and Hard to Use

    An ORM that's a pleasure to use with raw SQL when needed? Sean discusses how that can be. Plus, Derek shares a new and exciting way for migrations to break!

  48. Thumb 1529010904 artwork

    158: This is How I Ruin Meetings (Aaron Patterson)

    We're joined by Aaron Patterson for puns. Aaron also updates us on compacting GC for Ruby and Ruby 2.6's JIT compiler before telling us how he really feels about functional programming.

  49. Thumb 1528429428 artwork
  50. Thumb 1527868203 artwork
  51. Thumb 1527273412 artwork
  52. Thumb 1526620146 artwork

    154: We All Have Work to Do (Eileen Uchitelle)

    Eileen Uchitelle joins us live from RailsConf to talk about exciting improvements coming to Rails 6, problems encountered by larger Rails apps, strategies for upgrading Rails and more!

  53. Thumb 1525964079 artwork
  54. Thumb 1525367486 artwork

    152: I Look For Stories (Nickolas Means)

    We catch up with Nick Means at RailsConf and discuss storytelling, "human error", advice for job seekers, and the idea of licensing software developers.

  55. Thumb 1524799831 artwork

    151: Scheming About Schema

    Derek & Sean discuss their final preparations for RailsConf, the role of Diesel's is in comparison to schema.rb in Rails, and how Derek took down production.

  56. Thumb 1523556592 artwork

    150: I Fight For the Users

    Derek and Sean discuss ethical concerns in software development and the prospect of licensing software developers.

  57. Thumb 1522961624 artwork

    149: E With an Umlaut

    Sean experiences a frustrating Ruby bug while building tooling to enforce module boundaries in Shopfiy's monolith. Derek deprecates Rails functionality instead of preparing his talk.

  58. Thumb 1522444620 artwork

    148: Baseball is a Legacy App

    Amanda and Sean discuss Flutter, modeling the game of baseball, and the state of persistence and networking in Android.

  59. Thumb 1521820554 artwork

    147: Is a Lambda a Sandwich?

    Derek shares his experiences with new features in Ruby 2.5 before we turn our ire towards daylight savings time and timezones once more.

  60. Thumb 1521219291 artwork

    146: --YOLO

    Amanda, Derek, and Sean discuss style guides, automated code formatting, and the cycle of disillusionment in development work.

  61. Thumb 1520534827 artwork

    145: The Internet is Ruined

    Derek and Sean commiserate about the latest generation of MacBooks, Slack, and the state of the Web.

  62. Thumb 1519929680 artwork

    144: Fisher Price™ Tools

    We talk about everyone's favorite Fisher-Price web framework and a small upcoming change to it before pivoting to discuss Derek's experience with his first Elm PR.

  63. Thumb 1518793988 artwork
  64. Thumb 1518151215 artwork

    142: What if We Didn't Do Any of This?

    Derek and Sean debate the value provided by database migrations written in your programming language of choice versus those written in SQL.

  65. Thumb 1517429305 artwork

    141: Go Baby, Go

    We discuss the challenges in parallelizing development work and also take a look at what's coming soon in Rails 5.2.

  66. Thumb 1516897286 artwork

    140: A Sign of... Stability?

    Sean and Derek argue the semantics of versioning and opine for automated reporting on more structured changelogs as a feature of future package managers.

  67. Thumb 1516375496 artwork

    139: Red, Green, Refactor (Alex Clark & Sean Doyle)

    Derek is joined by coworker Sean Doyle and Codecademy’s Alex Clark to discuss the process of test-driven development and the development of a new TDD course for Codecademy.

  68. Thumb 1515720309 artwork

    138: I Don't Know How the World Works Anymore

    We chat about how shared global state in tests can cause you to doubt foundational truths of the universe, some issues with Rails system tests, and recent changes in browser behavior.

  69. Thumb 1515120095 artwork

    137: What's Up, Docs

    Who should library documentation be written for? How do you, as an author, know what your users will need to know? Should you have long form guides in addition to API documentation? We ask and answer these questions in the context of Sean's work to document Diesel 1.0.

    Stick around for the spoiler-filled after show about Star Wars: The Last Jedi.

  70. Thumb 1513873144 artwork

    136: Propagating Conspiracy Theories

    Amanda joins Derek to discuss KotlinConf, powerful IDEs, our Ralphapalooza hackathon, and the React Native experience from a native mobile developer's perspective.

  71. Thumb 1513099710 artwork
  72. Thumb 1512673269 artwork

    134: Fastributes

    We share our favorite talks from RubyConf and discuss how Sean has made ActiveRecord attributes allocation significantly faster with Rust.

  73. Thumb 1511382428 artwork

    133: A Very Special Bike Shed

    Sean is on to a significant ActiveRecord optimization using an extension written in Rust and Derek shares an overdue thanks to an excellent manager.

  74. Thumb 1510850085 artwork

    132: What Went Well?

    We discuss patterns and anti-patterns encountered in agile retrospectives and revisit a favorite topic: form objects.

  75. Thumb 1510087034 artwork

    131: Nouns For Verbs Sake

    We briefly discuss the renaming of factory_girl to factory_bot before diving in to the visitor pattern; what is it, and what are its inherent tradeoffs.

  76. Thumb 1509653215 artwork

    130: I Grew Up in Balloons

    Is Database Cleaner necessary anymore? Tune in for our exciting play-by-play reporting on that issue and stick around for chatter on personal defaults for new Rails applications.

  77. Thumb 1509116400 artwork

    129: You Wanna Talk About GraphQL?

    We discuss an issue in the interaction between Rails, Chrome, and the HTTP referrer policy before Derek shares his love for GraphQL.

  78. Thumb 1508357554 artwork

    128: And Now for My Next Trick!

    We discuss strategies for fighting back against project management overhead, refactoring workflows, and on-call rotations.

  79. Thumb 1507906961 artwork

    127: Bike Shed: Discovery

    We discuss Bundler warning us to update to a prerelease version and other recent annoyances with our favorite dependency manager. We also wonder what GitHub diff stats can tell you about your contributions to a project and when they might be a smell. Stick around post credits for some spoiler-filled chatter about the first couple episodes of Star Trek: Discovery.

  80. Thumb 1507213591 artwork

    126: Speaking of Compilers...

    We discuss a major change to Diesel's insert statements in advance of its 1.0 release and reexamine Contracts.ruby after Derek spends some time with it in use.

  81. Thumb 1506610640 artwork

    125: Less Bad Than Expected

    We share and discuss some user feedback on fakes and mocks, discuss the benefits and drawbacks to FactoryGirl and share exasperation over the handling of the Equifax data breach.

  82. Thumb 1505883841 artwork

    124: Nope. Nope. Nope. Nope.

    We go inside the RubyConf CFP review process before turning our attention to questions about the impact of code review. Stick around post credits for some spoiler-filled, lukewarm Game of Thrones takes.

  83. Thumb 1505255604 artwork

    123: Too Many Parameters

    Derek and Sean discuss the troubles encountered when code reuse is a goal above all others and strategies to have your reusable cake and eat it too.

  84. Thumb 1504572242 artwork

    122: Name That Smell

    Derek and Sean discuss going from zero to code on new projects, writing tests that deal with external services, and a tricky floating point precision bug Sean encountered in ActiveRecord.

  85. Thumb 1503282589 artwork

    121: The Bike Log (Jerod Santo)

    The Changelog's Jerod Santos joins the show to talk finding time for, sustaining, and funding open source development.

  86. Thumb 1501771082 artwork

    120: Free Apples

    We do some follow-up on open source fundraising and discuss some interesting patterns in Derek's new client project.

  87. Thumb 1501005515 artwork
  88. Thumb 1500313260 artwork

    118: Nonsense In, Nonsense Out

    We discuss the economics of remote work, ActionDispatch::SystemTest in RSpec, and the use of Patreon on open source projects.

  89. Thumb 1499661622 artwork

    117: S.A.L.T. (Justin Searls)

    We chat with Justin Searls about testing, programmer personality types, programming communities, and putting spreadsheets on the Internet.

  90. Thumb 1498599857 artwork

    116: A More "WALL-E" Future

    Amanda is joined by SF thoughtbot developers Tony, Josh, & Greg to discuss learning new languages (and whether developers should do that in their free time), machine learning, the future of AR/VR, and tech that strives to make a social difference.

  91. Thumb 1498074464 artwork
  92. Thumb 1497622585 artwork

    114: Reasonably Thread Safe

    We discuss a tiny DOS caused when upgrading to Rails 5.1 and how Rails could better surface warnings that only occur in your production configuration. We also get an update on multi-table joins in Rust.

  93. Thumb 1496957140 artwork
  94. Thumb 1496265765 artwork
  95. Thumb 1495646286 artwork

    111: Trike Shed (Aaron Patterson)

    We talk with Aaron Patterson about Ruby and Rails upgrades, and the goal of making Ruby 3 three times faster than Ruby 2.

  96. Thumb 1495042429 artwork

    110: Green Chips

    What’s the deal with green potato chips? Also: RailsConf wrap up and an AST pass refactor for Diesel.

  97. Thumb 1493176468 artwork

    109: The Final Countdown

    Follow up about Service Objects and Computer Engineering. Plus, RailsConf prep, code slide woes, and modal pop-ups.

  98. Thumb 1492546593 artwork

    108: Have You Tried Rebooting?

    Is your operating system hosed? That might be related to Rails! We also chat about the trend towards compiled languages.

  99. Thumb 1492121005 artwork
  100. Thumb 1491337485 artwork
  101. Thumb 1490820553 artwork

    105: For Display Purposes Only

    Complexity vs Functionality, Validations vs Database Constraints, plus whatever a Cap'n Proto is.

  102. Thumb 1490282190 artwork
  103. Thumb 1489615412 artwork
  104. Thumb 1489160414 artwork

    102: To the Moon!

    Going "to" the moon, hidden type errors in our Rails apps, the process of talk prep, and the S3 outage.

  105. Thumb 1488410185 artwork

    101: Hey, You Leaned!

    Amanda and Sean discuss the evolving stages of open source projects, native apps vs web apps, and space.

  106. Thumb 1487880880 artwork

    100: Nouns You Can Verb

    Sam Phippen helps us celebrate episode 100, as we discuss Diesel bugs, REST, RPC, and more.

  107. Thumb 1487173675 artwork

    99: Just Sayin'

    We go into the weeds with MySQL and discuss the virtues of database migrations written in SQL.

  108. Thumb 1486570406 artwork

    98: I Have Good Branch Hygiene

    We discuss complexity and progressive disclosure, garbage collection, and the impenetrable nature of Git.

  109. Thumb 1485963684 artwork

    97: One Equals Zero

    We wonder why writing parameterized associations in Rails is not easy, and discuss the difficulty in eliminating no-op queries in ActiveRecord. Plus, we discuss how you can give a great RailsConf talk proposal that doesn't have anything to do with Rails.

  110. Thumb 1485467358 artwork

    96: Who Stinks?

    Baby Ruby, Ruby refinements, Rails discoverability, and annoying polyfills.

  111. Thumb 1484935733 artwork
  112. Thumb 1484150339 artwork

    94: It's Not Supposed to Work

    We discuss the pain of custom inputs in HTML, ActiveRecord bugs, and Rust's Fire Flower.

  113. Thumb 1482268473 artwork

    93: I Have Complex Feelings

    The impact of codes of conduct on community behavior, shipping a mobile app written in Elm, and yet more to say on SemVer.

  114. Thumb 1481826590 artwork

    92: The Queen of Canada

    We discuss the sneaky performance differences between present?, any?, blank? and empty? with ActiveRecord, when N+1 is a "feature", and the future of Diesel.

  115. Thumb 1481130457 artwork

    91: I Think It's a Fish

    Derek briefly complains of the staleness of the asset pipeline in Rails 5, before Sean catches Derek up on Rails 5.1's support for Webpack, Yarn, and ES6. We also discuss the pain of deprecations in the upgrade to Rails 5.

  116. Thumb 1480611112 artwork

    90: Freedom Units

    We discuss adventures with shared mutable state in Elixir before turning to our thoughts on mocking HTTP interaction and how our approaches may differ depending on the language we’re using.

  117. Thumb 1479927953 artwork
  118. Thumb 1479408927 artwork

    88: How Many Puppies Now?

    Amanda and Sean discuss talk prep and slide envy before diving in to Kotlin 1.0.5, UTF-8 identifiers in programming, and responsive layouts in Android.

  119. Thumb 1478801232 artwork

    87: The Refrigerator Took Down Your Website

    We talk about a widespread DNS outage and what steps you might take to avoid or limit your application's exposure to these things in the future.

  120. Thumb 1478023905 artwork
  121. Thumb 1477496098 artwork

    85: Are We in a Black Hole?

    We briefly ponder the very nature of our existence before discussing edge cases and interesting bugs encountered in ActiveRecord.

  122. Thumb 1476820354 artwork

    84: Why Are Manhole Covers Round?

    What do we look for when reviewing job applications, interviewing candidates, and pairing with prospective co-workers?

  123. Thumb 1476287421 artwork

    83: Canadian Halloween

    Sean encounters a roadblock in updating Diesel to use Rust’s new soon-to-be-stabilized procedural macros. Derek and Sean discuss the most recent CVE filed for Bundler, which is a lot like the previous CVE filed for Bundler.

  124. Thumb 1475677870 artwork

    82: I Just Want a Dog in a Spacesuit

    We discuss the problems with getting a CVE and the new lightning fast search tool, ripgrep. Sandwiched between those topics, we dive into the colonization of Mars. Yes, that's right, Mars.

  125. Thumb 1474994225 artwork

    81: Is This Really a CVE?

    Derek and Sean talk through how to handle a security vulnerability that was reported for Clearance, a user authentication library.

  126. Thumb 1474431313 artwork

    80: Back to the Futures

    What's appropriate for a web middleware stack to provide? Does Rack do too much? Plus, our thoughts on NeoVim and Vim 8.

  127. Thumb 1473802710 artwork

    79: Comments in Your Queries

    Derek and Sean talk through some complex SQL before they examine the calluses developed from years of writing software on OS X.

  128. Thumb 1473357229 artwork

    78: I'm an Adult and I Choose Java

    Sean and Amanda discuss the state of Android Development in 2016. Java, Kotlin, Dependency Injection, and Functional Reactive Programming, oh my!

  129. Thumb 1472585534 artwork
  130. Thumb 1471378535 artwork

    76: The One With Laila & Brenda

    Between thoughtbot's Summer Summit and Sean's vacation, we are sadly without a new episode this week. However, we would love you all to check out thoughtbot's newest podcast, interviewing inspirational designers, developers, and other makers in tech, The Laila & Brenda Show!

    Give their latest episode a listen here, and if you like it subscribe to their feed however you listen to podcasts!

  131. Thumb 1470863266 artwork

    75: I'm Not Sure That's Better

    Derek and Sean discuss hunting down intermittently failing tests, finding unused code in your application, and why you should never ever change your test framework.

  132. Thumb 1470235878 artwork

    74: A Dip in the Connection Pool

    We talk through design considerations for a user-visible custom query builder for a high volume ecommerce system.

  133. Thumb 1469643506 artwork

    73: Probably In My Other Pants

    We discuss Pokémon Go and what its success might mean for software developers before Sean lays out his case for replacing the pg gem and libpq.

  134. Thumb 1469026677 artwork
  135. Thumb 1468354448 artwork

    71: It's a Total Hack

    Inspired by Nickolas Means’ fantastic RailsConf keynote, we discuss the corollaries between Lockheed Martin’s Skunk Works projects and our software development projects.

  136. Thumb 1467748958 artwork

    70: Make Small Things (Sandi Metz)

    Sandi Metz joins us live from RailsConf to talk about the rules, the trouble with naming things, making the right kinds of errors, and conference speaking.

    A big thanks to everyone who came out to our live show! A video version of this episode is available on the thoughtbot YouTube Page.

  137. Thumb 1467137687 artwork

    69: No More Drills

    We discuss thoughtbot's increasing use of Elixir and Phoenix and what that means for our Rails work before diving into what's new in Elixir 1.3 and Ecto 2.0.

  138. Thumb 1466606116 artwork

    68: Mostly Undocumented

    Sean runs through a Rails bug that sits at the intersection of several magical and confusing Rails features.

  139. Thumb 1466004384 artwork

    67: Longtime Listener, First Time Caller (Rafael Franca)

    Leading Rails contributor Rafael Franca joins us from RailsConf to talk about taking over Sprockets, the future of the asset pipeline in Rails, managing Rails dependencies, and the hard work of software maintenance.

    Also, Sean said you'd all "definitely" have the final build of Rails 5 by now. Whoops!

  140. Thumb 1465335339 artwork
  141. Thumb 1464137684 artwork

    65: Free as in Puppy (Katrina Owen)

    While at RailsConf, we talk with Katrina Owen about finding metaphors for software development, the successes and mistakes of, and the benefits of providing code reviews.

  142. Thumb 1463519737 artwork

    64: Open Mic SF

    Open Mic is back by popular demand, this time in San Francisco. We hear from developers in thoughtbot's San Francisco office about their recent investment time projects.

  143. Thumb 1462926288 artwork
  144. Thumb 1462324347 artwork

    62: Shipping is the Fastest Way to Get Somewhere

    Sean celebrates Diesel reaching "faster than a SQL string" status before we chat about Rails 5 blockers and the clarity of focus and priorities that only shipping can bring.

  145. Thumb 1461723030 artwork

    61: I'm Not Telling You My Birthday

    "Send me an email every year for my birthday" is an easy thing for a human to understand but it can be deceptively tricky to do with computers. Also tricky for (some) computers: SELECT * FROM <empty_table>. Wait... what?

  146. Thumb 1461125691 artwork

    60: Remote Control (Katherine Fellows)

    KF (Katherine Fellows) joins the show to chat about successful BridgeFoundry events and creating environments where remote developers, junior and otherwise, can thrive.

  147. Thumb 1460496591 artwork

    59: I Wish They Wouldn't Do That

    Derek and Sean discuss the left-pad saga, how other programming communities are reacting to it, and what you should learn from it as a library or application author.

  148. Thumb 1459910523 artwork

    58: Nobody Gets Fired For Buying IBM

    Should you rewrite or refactor? What should you consider as you weigh this decision and what exactly constitutes a rewrite anyway?

  149. Thumb 1459293269 artwork
  150. Thumb 1458681214 artwork

    56: Most People Aren't Building Trello

    Is ActiveRecord reinventing Sequel? If it is, does it matter? Derek and Sean discuss that and whether maybe we could all stand to tone down the JavaScript.

  151. Thumb 1457465461 artwork

    55: Hot Dog is Not a Dessert

    Derek and Sean talk about their experience with the Rails 5 betas, how to test against them today, and things that you might want to look out for when updating your app.

  152. Thumb 1456870925 artwork

    54: Argument Error

    Derek shares some Elixir annoyances with Sean and they discus how a consulting role colors their perception of languages and frameworks, both for better and for worse. Sean provides an update on SQLite and Association support in Diesel.

  153. Thumb 1456262276 artwork

    53: Cache Machine

    Laila and Derek go on a tour of the various caching mechanisms available to web applications in general, and Rails specifically. When is the right time to cache and at what level?

  154. Thumb 1455685295 artwork

    52: You're an Elixir Developer Now

    Derek and Laila discuss Derek's excitement for Elixir and Phoenix. Is Elixir as fun to write as Ruby? Is Phoenix a better Rails?

  155. Thumb 1455067705 artwork

    51: Is Sim City Running? (Steve Klabnik)

    We enjoy a wide-ranging discussion with Steve Klabnik on the importance of good documentation, the sometimes cloudy definition of a breaking change, the politics of open source contributions, and work/life balance or boundaries.

  156. Thumb 1454452613 artwork

    50: Open Mic

    It's Open Mic day at The Bike Shed. We hear from other thoughtbot designers and developers about what they're excited to be spending their investment time on lately.

  157. Thumb 1453848507 artwork

    49: A More Practical Haskell

    How can an ORM be faster than a SQL String? Laila and Sean discuss the latest happenings in Diesel and why it is that a systems language needs an ORM, anyway.

  158. Thumb 1453391529 artwork

    48: Is Everyone Trying Their Best?

    Software is broken. In this episode, Derek and Sean discuss why exactly it's broken, and what we can do to make it better.

  159. Thumb 1452634439 artwork

    47: Star Wars Oranges

    Ruby 2.3 is out! What are we looking forward to trying and what do we think of &. and try? Stick around after the credits for spoiler-filled discussion of Star Wars: The Force Awakens

  160. Thumb 1452106741 artwork

    46: Don't Breathe, Save the Planet

    We discuss the maintenance burden of ActionCable and its dependencies on Rails 5, follow-up on Scenic issues, and discuss implementing migrations anew in Diesel.

  161. Thumb 1450815940 artwork

    45: I Think I'd Prefer An Error to Nonsense

    Derek shipped Scenic 1.0, which spurs a conversation about semantic versioning and the value of the 1.0 milestone. We discuss what the bar for breaking changes in a library should be and look at some specific changes on tap for Scenic and whether they will or should carry a major version bump.

  162. Thumb 1450301949 artwork

    44: It Won't Crash... It Might Crash

    Sean has shipped early versions of Diesel, an ORM for Rust! We discuss its semantic versioning, the ergonomics of use versus the complexities of implementation, early issues with the API and the road to Diesel 1.0.

  163. Thumb 1449674107 artwork
  164. Thumb 1449073954 artwork

    42: That's Incredibly Ambitious (Grayson Wright)

    We speak to Grayson Wright about building Administrate, an open source Rails framework for administrative interfaces. What makes Administrate different than existing solutions and what are the challenges in maintaining high-level dependencies.

  165. Thumb 1448408823 artwork
  166. Thumb 1447781604 artwork

    40: ActiveRecord Deprecated Persistence

    The ActiveRecord update API is a mess of methods that confuse even ActiveRecord’s maintainer. What are the problems and is there any hope for a solution?

  167. Thumb 1447254216 artwork

    39: Okay with Instability (Yehuda Katz)

    We talk with Yehuda Katz about how much risk is right for you and your app, the sharp tools of high level abstractions, and how our statistical intuition leads us astray on web performance.

  168. Thumb 1446500573 artwork

    38: Ugh, Forms

    Laila and Derek discuss how they have handled forms with complex validation requirements and how to make these forms have a smooth user experience.

  169. Thumb 1446064903 artwork

    37: The Web is Faster Without Garbage

    Begun, the ad block wars have. Derek debugs an issue that arises from iOS ad blocking and wonders if analytics will move back to the server side. Sean fills us in on how dirty checking works in ActiveRecord and how he's making it faster and better in Rails 5.

  170. Thumb 1444855955 artwork

    36: Python Unchained

    Derek and Laila talk about learning Python and Django and discuss how thoughtbot adopts new languages, frameworks, and libraries. What factors influence adoption? How do we share what works and doesn't work?

  171. Thumb 1444229140 artwork

    35: GitHub Ate My Résumé

    Sean and Derek explain why you should always use a personal email address in your Git configuration before they dive into Ruby exception handling, and potential MRI proc optimizations.

  172. Thumb 1443622862 artwork


    Derek is joined by Laila Winner to discuss Neo4j, the importance of fantastic documentation, and the different types of documentation a project requires.

  173. Thumb 1442950625 artwork
  174. Thumb 1442327616 artwork

    32: Bug For Bug Compatibility

    Derek and Sean discuss Microsoft's interest in open source, improving the Rails development story on Windows, and Sean's progress implementing an ORM in Rust.

  175. Thumb 1441896081 artwork

    31: Oxidizing an ORM

    Are provably correct queries of interest to you? Sean gives a rundown of what a Rusty ORM might be like to build.

  176. Thumb 1441211092 artwork

    30: Just Go to Slash Wibble

    Derek and Sean discuss hypothetical changes to Rails routing before turning their attention toward hunting memory bloat and the proposal that strings be frozen by default in Ruby 3.

  177. Thumb 1440529016 artwork
  178. Thumb 1439908955 artwork

    28: Minisode 0.1.1

    Did you know Rails has no integration test suite? What could go wrong?

  179. Thumb 1439413304 artwork
  180. Thumb 1438703563 artwork

    26: My Cache is in the Cloud

    This week, Sean and Derek discuss performance and inheriting code. In a stroke of complete madness, Derek decides that turbolinks isn't that bad.

  181. Thumb 1438094820 artwork

    25: Throwing the Schema Out With the SOAPy Bathwater (Gordon Fontenot)

    Derek is joined by Gordon Fontenot for a discussion of the JSON API specification, problems consuming it from Swift, and the future of functional programming in Swift.

    This episode of The Bike Shed is sponsored by Code School. Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.

  182. Thumb 1437439316 artwork

    24: You Look Good in a Lab Coat (Richard Schneeman)

    Richard Schneeman joins The Bike Shed to discuss ruby memory use, horizontal scaling, and tackling open source issues big and small.

    This episode of The Bike Shed is sponsored by Code School. Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.

  183. Thumb 1436897502 artwork

    23: Why Did They Call it Rust?!

    Sean gives Derek a tour of Rust, a new systems language from Mozilla.

    This episode of The Bike Shed is sponsored by Code School. Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.

  184. Thumb 1436279627 artwork

    22: No Capes! (Eileen Uchitelle)

    Eileen Uchitelle joins the show to discuss performance improvements to ActiveRecord, speeding up integration tests, and contributing to or running open source projects.

    This episode of The Bike Shed is sponsored by Code School. Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.

  185. Thumb 1435615052 artwork
  186. Thumb 1435066882 artwork

    20: Intentionally Excruciatingly Painful

    We're joined by Josh Clayton to discuss our differing strategies on testing view behavior, strategies for dealing with brittle feature specs, and what types of tests each of us favor.

  187. Thumb 1434465524 artwork

    19: The Oncoming Storm (Sam Phippen)

    Derek and Sean are joined by Sam Phippen from the RSpec core team to discuss RSpec mocks, testing strategies, and minitest.

  188. Thumb 1433871825 artwork
  189. Thumb 1433217754 artwork
  190. Thumb 1432737461 artwork

    16: Wizards Are Hard to Kill

    Grab Bag! Derek and Sean talk about math, augmented reality, RailsConf wrap up, Minimum Viable Products, Accessibility...

  191. Thumb 1431987999 artwork
  192. Thumb 1431440323 artwork
  193. Thumb 1430772597 artwork

    13: Begrudging Applause (Aaron Patterson)

    Live from RailsConf, Aaron Patterson joins the show to talk about Rails 5, Rack 2, Contributing to Open Source, and cats. We also field audience questions.

  194. Thumb 1429292510 artwork
  195. Thumb 1428083112 artwork

    11: Form-ing Opinions

    Sean and Derek talk about the state of Android tooling, refactoring journeys, and an approach to rails form objects.

  196. Thumb 1426785406 artwork
  197. Thumb 1425591030 artwork

    9: Monorails, For the Kids

    Sean and Derek discuss Monoliths, Service Oriented Architecture, and the new Adapter Specific Type Registry in Rails 5.

  198. Thumb 1424456397 artwork
  199. Thumb 1422631435 artwork

    7: At the Car Wash

    Derek and Sean talk trade schools, sneaky bugs, bad method names, before_filters, and the Superbowl.

  200. Thumb 1421426011 artwork

    6: Shh! Library Under Maintenance

    Sean and Derek discuss thoughtful deprecations, backwards compatibility, and other joys of library maintenance.

  201. Thumb 1420044155 artwork

    5: Rails is Not Your Architecture

    Derek and Sean discuss various ways of taking the Rails out of your Ruby on Rails application, what folder to put your files in, and the difficulties and rewards of learning new programming languages.

  202. Thumb 1418412309 artwork

    4: Put Everything on the Front End

    Derek and Sean discuss hunting Rails performance regressions and techniques for improving performance in your web applications.

  203. Thumb 1416929928 artwork

    3: Flipping the Script

    Sean and Derek take a fresh look at the tradeoffs in writing CoffeeScript and whether we should be using an ES6 transpiler instead.

  204. Thumb 1416236743 artwork

    2: Rails 4.2

    Derek and Sean discuss Sean's commit access to Rails, what's coming in Rails 4.2, and how to go about making Rails code better.

  205. Thumb 1414767229 artwork

    1: Sandi & Derek's Rules

    Sean and Derek discuss lessons learned from following Sandi Metz' rules on a project and the overall impact of rules on code.

Back Home