

The Bike Shed
thoughtbot
On The Bike Shed, hosts Joël Quenneville and Stephanie Minn 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

Apr 12, 2019 • 47min
194: My PGP Shame
On this week's episode, Chris is joined by Mike Burns, developer in our New York studio, to discuss the ins and outs of application security. Mike recently added a comprehensive Application Security Guide to the thoughtbot guides, and in this chat they discuss some of the high points of the guide, some of the low points of common security holes, and some of the fantastically specific workflows and approaches Mike has for his personal information and security management.
Mike Burns on Mastodon
Mike Burns on the thoughtbot blog
Application Security Guide
YAML
JSON
TOML
Bcrypt
Scrypt
TLS Handshake explained with paint colors
NIST - Digital Identity Guidelines
Clearance
DKIM & SPF for email verification
PGP Signing of Emails
PGP Signing git Commits
Facebook Stored Millions Of Passwords In Plaintext
PhishMe (now Cofense)
Mutt email client
YubiKey
Pass
pwgen
LastPass
Perfect Forward Secrecy
Tarsnap
Support The Bike Shed

Apr 5, 2019 • 48min
193: A Thing I Know Almost Nothing About
On this week's episode, Chris is joined by Edward Loveall, former thoughtbot design apprentice and now thoughtbot developer. After a quick chat about Edward's thoughtbot origin story, podcasts, and DNS, they dig into the heart of the conversation talking about their respective "must have" developer tools on new machines.
edwardloveall.com
thoughtbot apprenticeship
Domain Name Sanity
Heroku
DNSimple
Amazon Route53
Giant Robots podcast
Edward's episode on Giant Robots talking about the apprenticeship
Tweet about using a podcast as internal onboarding
Hammerspoon
Slate
Spectacle
Divvy
Vim
Tmux
VSCode Live share
tmate
Alfred
Alfred clipboard
AppleScript
Arch Linux
Jeff Goldblum iMac Commercials
Feedly
Feedbin
ReadKit
JSON Feed
CSS & Privacy - Why can’t I set the font size of a visited link?
Lobsters
Thank you to CircleCI for sponsoring this episode.Support The Bike Shed

Mar 29, 2019 • 34min
192: I Don't Want to Think That Hard
On this week's episode, Chris is joined by Sid Raval, developer in our New York studio. Chris and Sid chat about functional programming, strong types, and accessibility. Along the way they touch on TypeScript, Haskell, Scala, Elm, and plenty in between. They round out the conversation with a discussion around accessibility and developer tools.
Ruby
Haskell
Scala
Elm
GHCJS
Reflex (frp library for Hasekll)
Scala.js
TypeScript
How Elm Slays a UI Antipattern
RemoteData library in Elm
Sid's blog post on gradually adding flow
QuickCheck library for haskell
Sorbet - Ruby static type annotations
Sids' blog post - Grouping elements for better accessibility
Thank you to CircleCI for sponsoring this episode.Support The Bike Shed

Mar 22, 2019 • 40min
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.
Devon on Twitter
Devon's Blog
Nadia Eghbal - Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure
Patreon
Sindre Sorhus on Patreon
Open Collective
ESLint on Open Collective
Webpack on Open Collective
Babel on Open Collective
Sidekiq Pro
GraphQL Pro
GitHub related issues
Clojure
Rich Hickey
Elm
Evan Czaplicki
Matz replies to post around Ruby moving slowly
Open Source Maintainers Group on GitHub
Thank you to CircleCI for sponsoring this episode.Support The Bike Shed

Mar 15, 2019 • 52min
190: Going Steady With a Platform
On this week's episode, Chris is joined by Alex Sullivan, mobile developer in our Boston office. Alex takes Chris on a tour of the mobile landscape comparing the core native platforms (Android and iOS), the languages, developer tooling and IDEs, and fundamental thinking. They also dip into a discussion around React Native highlighting some of its strengths, as well as areas where native still clearly wins. Finally they touch on Flutter, the newest entrant into the mobile space to round out the discussion.
Runkeeper
Android
iOS
ViewModel
Room
Java
Kotlin
Objective C
Swift
Scala
JetBrains
Type erasure
Reified types
Android Studio
Xcode
AppCode
Gary Bernhardt
React Native
Xamarin
Flutter
Dart
Alex's post comparing performance of native, Flutter, and React Native
Thank you to CircleCI for sponsoring this episode.Support The Bike Shed

Mar 1, 2019 • 42min
189: It's Gonna Work, Definitely, No Problems Whatsoever
On this week's episode, Chris is joined by Steph Viccari to chat about Steph's recent experience working on the Hubspot API ruby wrapper as a client project. They discuss strategies for testing third-party APIs, focusing on VCR and some of the benefits and trade-offs inherent to that style of API testing. Following that they chat about using exceptions for control flow, digging into why this seems to be a common pattern in Ruby API wrappers, what the alternatives are, and even a quick tour to React-land where this pattern is being used for interesting effect.
Hubspot ruby gem
VCR
Cucumber
Mystery Guests
Rspec mocks
Faking APIs in Development and Staging
Capybara Discoball
Upcase - Testing Third Party APIs
Fake stripe
Principle of least surprise
Time boxing
JavaScript Promises
React.Suspense
Dan Abramov Introducing React Suspense at JSConf Iceland
Support The Bike Shed

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


