

The Bike Shed
thoughtbot
On The Bike Shed, hosts Joël Quenneville, Sally Hall, and Aji Slater discuss development experiences and challenges at thoughtbot with Ruby, Rails, JavaScript, and whatever else is drawing their attention, admiration, or ire this week.
Episodes
Mentioned books

Feb 22, 2019 • 38min
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.
How much duplication should we have? Is there such a thing as too DRY? Is there
ever a need for code comments, really? Lest you worry that Chris & German spend
the whole episode just volleying opinions, have no fear: the episode is balanced
out with plenty of pointed suggestions and useful anecdotes to make sure
everyone will enjoy it.
Netlify
Middleman
Pragmatic Programmer
Apollo CLI - codegen
"Duplication is far cheaper than the wrong abstraction" - Sandi Metz
German's Post on Writing a Good Commit Message
German's Post on Git Blame
Elixir first class documentation doctag
Doctest in elixir
Doctest in python
Support The Bike Shed

Feb 15, 2019 • 42min
187: Convincing People Not to Build Software
On this week's episode, Chris is joined by Matt Sumner, development director in our Boston Studio. Chris & Matt start with a quick update on Matt's crypto adventures, and then transition to the core of the conversation as Matt describes the past few weeks of starting a new project and all the decisions that come with that.
The project kicked off with a product design sprint to help determine the initial direction for MVP. From there, Matt describes some of the thinking that went into the technology choices for the app, as well as describing his experience thus far working in a novel ecosystem for him with Scala & GraphQL.
Product Design Sprint
Design Sprint - 5 Phase Breakdown
Swift
GraphQL
GraphQL Ruby Pro
Pundit
CanCanCan
Scala
Eslint
Typescript
Sangria GraphQL
Play Web Framework
Http4s
Doobie
Postgres enums
Administrate
All the Little Things by Sandi Metz "Squint Test"
Support The Bike Shed

Feb 1, 2019 • 38min
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.
To round out the conversation Daniel and Chris also dig into some of the testing related best practices and patterns common to thoughtbot projects, linting and formatting tools, and even dip into the age old discussion around single quotes vs double quotes (just a tiny bit).
factory_bot
factory_bot_rails
How to be an open source gardener
Mystery Guest
Let's Not
"What's the most painful thing you've ever had to do with RSpec?"
Standard - Ruby style guide, linter, and formatter
Prettier - opinionated code formatter
Rufo
Speed Up Tests by Selectively Avoiding Factory Girl
Thank you to One Month for sponsoring this episode.Support The Bike Shed

Jan 25, 2019 • 35min
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.
This conversation touches on a variety of topics both technical and personal. Avdi shares some of his thinking around where we've failed with our approaches to object-oriented programming and viewing the world as transactional, and instead offers ideas around modeling our systems as processes.
Avdi & Chris also chat about some of Avdi's my recent explorations into the world of JavaScript & React, as well as the growing "resilience engineering" mindset.
Ruby Rouges Podcast
Confident Code
Avdi's Keep Ruby Weird Keynote
Alan Kay - Creator of Object Oriented Programming
Actor Model
Kafka
Ruby Tapas - Avdi's Weekly Ruby Screencast Series
Greater Than Code Podcast
Mastering the Object Oriented Mindset
Pair Program With Me
Avdi - Ruby Duck Sessions
Avdi and Jess stumble through modern web development
Glitch
TypeScript
Australian Disaster Resilience Conference
Chaos Monkey from Netflix
avdi.codes
Thank you to One Month for sponsoring this episode.Support The Bike Shed

Jan 18, 2019 • 41min
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.
Shifting gears, Chris then asks Eebs about his experience with more distributed systems and technologies like JSON Web Tokens, ElasitcSearch, RabbitMQ, Kafka, and more.
They round out the conversation with a discussion around some recent security discussions in package managers and their collective surprise that things work at all.
chruby
asdf
Matz replies to post around Ruby moving slowly
TypeScript
Elm
TypeScript Growing Popularity on State of JS 2018
JSON Web Tokens (JTW)
RSA Public Key Cryptography
OAuth
RabbitMQ
ElasitcSearch
Postgres Full Text Search
Kafka
Event Sourcing
Details about the event-stream incident
Heartbleed
Transcendence and the Future of React with Laurie Voss
Thank you to One Month for sponsoring this episode.Support The Bike Shed

Jan 11, 2019 • 49min
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 Tuple.app, 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".
Giant Robots
Art of Product Podcast
Tuple App
WebRTC
Tuple - Pair Programming Guide
Infamous Hacker News Comment about the initial version Dropbox
Let's Encrypt
Red Hat - Enterprise Linux
fzf - generic fuzzy finder
VS Code
Mastering the Vim Language
@r00k - Ben on twitter
Thank you to One Month for sponsoring this episode.Support The Bike Shed

Jan 4, 2019 • 39min
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.
Eric's recent accessibility talk
Shifting Left
Vimium
Salesforce Lightning Design System
Shadow DOM
Introducing the CSS Cascade
The element
Heydon Pickering - Reluctant Gatekeeping: The Problem With Full Stack
Nicole Sulivan - Object Oriented CSS
CSS in JS
BEM CSS Methodology
Tachyons
Tailwind CSS
Sass Lang
shame.css
Reach.tech - Accessible foundation for React component design system
JAWS Screen Reader
ericwbailey.design
Support The Bike Shed

Dec 14, 2018 • 42min
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.
Kafka
Redux
Flink
Spark
Postgres Write-Ahead Log
"Turning the database inside out with Apache Samza" by Martin Kleppmann
Big Data or Pokemon
Datomic
RabbitMQ
AMQP
Event Sourcing
Python typing — Support for type hints
Sorbet - gradual type annotations for Ruby from Strip
Support The Bike Shed

Dec 7, 2018 • 39min
180: A Citizen of the Internet (John Resig)
On this episode of the Bike Shed, we're thrilled to welcome special guest John Resig, creator of jQuery and front-end architect at Khan Academy. The conversation begins with a discussion around John's work on jQuery, one of the most influential libraries in the history of the web. From there the discussion shifts to John's role as front-end architect at Khan Academy and how he balances feature development and paying down tech debt or exploring new technologies.
John and Chris then discuss the rate of change of front-end technologies, and John provides wonderfully pragmatic guidance distinguishing the rate of innovation from the perceived needed rate of adoption. The conversation also ventures into discussions around the trade-offs involved in open sourcing internal projects. Lastly, they touch briefly on the topic of GraphQL based on John's work at Kahn Academy, as well as his in-progress book, The GraphQL Guide.
A little bit of everything with one of the most influential web developers of
the past 15 years. What more could you ask for?
jQuery
Khan Academy
Removing jQuery from GitHub.com frontend
React hooks
Webpack
Aphrodite styling library from Khan Academy
Event Stream NPM Package Security Issue
The GraphQL Guide
Sangria GraphQL Framework in Scala
John's personal site
John on twitter
Support The Bike Shed

Nov 30, 2018 • 50min
179: We CAN Just Use a Form!
On this episode of the Bike Shed, Matt Sumner returns to chat with Chris about their recent adventures. They start by discussing Matt's ongoing work building an open source Ethereum implementation in Elixir and the joys of a test suite guiding your work. From there, Matt asks Chris about Chris's recent trip to speak at GraphQL Summit and his take on the current state of affairs in the GraphQL world (hint, it's good).
Matt and Chris then discussed the progress they've made on simpler form handling in React applications and consider how far they could go with this, and then discuss the recent announcement of React Hooks.
And finally, they discuss the fact that thoughtbot is hiring, and we think you should apply! Head on over to thoughtbot.com/jobs and drop us a line :)
Mana - ethereum
Heroku SSH
Erlang OTP
GraphQL Summit 2018
GraphQL Foundation
Apollo GraphQL
Prisma
Graph.cool
Falcor (Netflix GraphQL-like library)
JSON Graph
Lee Byron
Nick Schrock
Shopify GraphQL Design Tutorial
Chris Toomey: React & GraphQL – Bringing Simplicity to Client Side Development video
CodeSandbox Proof of Concept - Simple React Form Handling
Formik & Yup
React -- Introducing Hooks
React Hooks RFC (now merged)
Support The Bike Shed


