PLAY PODCASTS
The Bike Shed

The Bike Shed

499 episodes — Page 8 of 10

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. TracePoint documentation Unicode Normalization Forms Buildkite Struct inheritance is overused Deprecate controller level force_ssl XFINITY Data Usage Center — FAQ

Apr 6, 201833 min

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. Flutter - Beautiful native apps in record time Dart programming language Functional reactive programming (FRP) Vuforia | Augmented Reality Baseball scorekeeping Room Persistence Library OkHttp Let’s Stop Ascribing Meaning to Code Points

Mar 30, 201836 min

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. Using yield_self for composable ActiveRecord relations What is the difference between a block, a proc, and a lambda in ruby? Ruby 2.5 prints backtrace and error message in reverse order ActiveRecord #merge Sean's Formulas Changed Timezones (The West Wing) Could New England actually change time zones? Pi Day - Wikipedia PostgreSQL Date/Time Functions and Operators

Mar 23, 201834 min

146: --YOLO

Amanda, Derek, and Sean discuss style guides, automated code formatting, and the cycle of disillusionment in development work. elm-format elm-analyse Android Kotlin Style Guide Swift API Design Guidelines Do we need to move away from Elm? "Native Code" in Elm 0.19 Android Performance: Avoid using ENUM on Android

Mar 16, 201829 min

145: The Internet is Ruined

Derek and Sean commiserate about the latest generation of MacBooks, Slack, and the state of the Web. SoftRAM thoughtbot/laptop: A shell script to set up a macOS laptop for web and mobile development. derekprior/dotfiles Salon.com wants to use your PC to mine cryptocurrency Brave: Secure, Fast & Private Web Browser with Adblocker iOS 11 Safari View Controller cookie passthrough Purpose-built - thoughtbot Internet2

Mar 9, 201835 min

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. RailsConf 2018 Schedule “Just an Ass-Backward Tech Company”: How Twitter Lost the Internet War James Edward Gray II on Twitter's use of Rails Use create_or_find_by to avoid race condition in Rails 6.0 Shotgun Surgery Shuttle Reference Manual kOS: Kerbal Operating System

Mar 2, 201829 min

143: It's Hard to Have a Secret Rocket

We chat about the Falcon Heavy launch before discussing a couple of issues Derek encountered when upgrading to Rails 5.2 Starman Double rocket landing Rails 5.2.0 RC1: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials Disallow raw SQL in dangerous AR methods Active Storage Overview — Ruby on Rails Guides

Feb 16, 201831 min

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. RailsConf 2018 MySQL Automatic Updating for TIMESTAMP and DATETIME CockroachDB - the open source, cloud-native SQL database. Lucky Migrations in Crystal ActiveRecord::Migration reversible ActiveRecord::Migration revert Parity: Shell commands for development, staging, and production parity for Heroku apps

Feb 9, 201842 min

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. The Mythical Man-Month: Essays on Software Engineering Hype cycle Write once, run anywhere ActiveStorage Paperclip Rails 5.2.0 RC1 Work at thoughtbot

Feb 1, 201831 min

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. Rust API Evolution Guide Embracing Promiscuous Gemfiles bundle outdated mix hex.outdated Keep a Changelog

Jan 25, 201843 min

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. Testing Rails Four-Phase Test Test-Driven Development Course on Codecademy Red-Green-Refactor Chai WebdriverIO - WebDriver bindings for Node.js SuperTest - Super-agent driven library for testing node.js HTTP servers using a fluent API

Jan 19, 201833 min

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. Announcing Diesel 1.0 - Congratulations to Sean and all committers. Where do Rubyists Go? Testing apps that use Geocoder PostgreSQL Mailing List Archives Respect user-set Capybara.server with Rails system tests Default Puma to non-clustered mode with Rails system tests Suspenders Chrome 63 forces .dev domains to HTTPS via preloaded HSTS Mozilla faces blowback after slipping Mr Robot plugin into Firefox - The Verge Firefox 57 delays requests to tracking domains

Jan 12, 201848 min

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. Diesel Guides Prepared Statements Diesel Documentation ActiveRecord Root Documentation

Jan 5, 201848 min

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. A View State Machine for Network Calls on Android - Amanda's KotlinConf talk How to Build a React App in Kotlin by Dave Ford Kotlin Static Analysis with Android Lint by Tor Norbye ReSharper: Visual Studio Extension for .NET Developers thoughtbot Trail Maps Lucky - a web framework for Crystal Frinkiac thoughtbot does screen printing The Pixar Theory MLB Twitter thinks something fishy is going on with Jeter trading Stanton to Yankees - CBSSports.com React Native Web

Dec 22, 201738 min

135: A Series of Unfortunate Examples

We discuss a possible ActiveRecord bug Derek encountered and explore the ambiguity of SQL formatting best practices. thoughtbot podcast swag Working around ActiveRecord joining the same table twice Pagination in Crates.io ActiveRecord auto-explain removed in Rails 4.0 pgFormatter: A PostgreSQL SQL syntax beautifier How would you format this SQL query?

Dec 13, 201733 min

134: Fastributes

We share our favorite talks from RubyConf and discuss how Sean has made ActiveRecord attributes allocation significantly faster with Rust. Saving Ruby From the Apocalypse by Jason Charnes Esoteric, Obfuscated, Artistic Programming in Ruby by Yusuke Endoh The Impermanence of Software by Andy Croll Git Driven Refactoring by Ashley Ellis Pierce The Unbearable Vulnerability of Open Source by Eileen Uchitelle All The Great Talks from RubyConf thoughtbot Podcast Swag Sale

Dec 8, 201731 min

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. Helix Fast Blank Turns out, Rails Fast Attributes might be more on the order of 2x faster! Bootsnap Do I need Database Cleaner? GraphQL Query Resolver PostGraphQL Headless Capybara! Working in Siebel… Ugh Rebecca wrote a book Upcase Crossroads

Nov 23, 201731 min

132: What Went Well?

We discuss patterns and anti-patterns encountered in agile retrospectives and revisit a favorite topic: form objects. Running a Retrospective Scrum Sprints Product Design Sprint Auth0 ActiveModel::Dirty Reform Ecto Changeset Lucky, an experimental new web framework by thoughtbot

Nov 16, 201736 min

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. factory_bot visitor pattern Visitor pattern and double dispatch in ruby Sean drives for Lyft

Nov 8, 201739 min

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. Integrate with ActionDispatch::SystemTest Database Cleaner RSpec 3.7 has been released! Bundler template moves bins to exe Suspenders Exclude all 4xx Rails errors from Sentry reporting Balloon Fiesta

Nov 3, 201733 min

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. Referrer-Policy Origin header Rails/Chrome/no-referrer issue GraphQL GraphQL-Ruby GraphQL-Batch Sangria Elixir 1.6 Formatter

Oct 27, 201747 min

128: And Now for My Next Trick!

We discuss strategies for fighting back against project management overhead, refactoring workflows, and on-call rotations. Make the change easy, then make the easy change. Refactor in a Branch Chaos Monkey What languages support anonymous union types?

Oct 19, 201745 min

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. SpaceX Moon Base SpaceX Travel RubyConf talk involving Kerbal Space Program Bundler warns users to install pre-release version *Gemfile/Gemfile.lock to gems.rb/gems.locked SQLite docs vs MySQL docs Diesel is Joining the Rust Impl Period Star Trek Discovery

Oct 13, 201752 min

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. Sputnik lamp Contracts.ruby Don't use exceptions for flow control Crystal Matz doesn't like current proposals for types in Ruby

Oct 5, 201735 min

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. Stripe Mock Web Valve Seeding Faker Speed Up Tests by Selectively Avoiding Factory Girl Why the Equifax breach is very possibly the worst leak of personal info ever Credit Freeze FAQs

Sep 28, 201744 min

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. What Your Conference Proposal is Missing by Sarah Mei Add a configuration option to cause tests to fail if they write stderr or stdout Survivorship Bias Cultivating a Code Review Culture by Derek Goldilocks and the Three Code Reviews by Vaidehi Joshi

Sep 20, 201741 min

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. 16 positional arguments Ruby's keyword arguments Rails Param Stronger Params Meditations on a Class Method Tell Don't Ask Get a Whiff of This by Sandi Metz

Sep 13, 201733 min

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. The thoughtbot laptop script bin/setup VCR Mystery Guest How to Stub External Services in Tests Fake Stripe Breaking change in how #round works

Sep 5, 201741 min

121: The Bike Log (Jerod Santo)

The Changelog's Jerod Santo joins the show to talk finding time for, sustaining, and funding open source development. Jerod Santo The Changelog Request for Commits Open Collective Apple Machine Learning Journal Ryan Bigg Quits Open Source Maintenance Kill Your Inner Code Monkey by Patrick McKenzie

Aug 21, 201743 min

120: Free Apples

We do some follow-up on open source fundraising and discuss some interesting patterns in Derek's new client project. Sean is back from leave Patronizing Open Source by Devon C. Estes thoughtbot is hiring webpack on Open Collective How to Charge for your Open Source IBM uses JSLint for evil Notarize is hiring Contracts.ruby method_added counter_cache called twice with after_create callback “Why, sometimes I've believed as many as six impossible things before breakfast.”

Aug 3, 201736 min

119: Questions Are For the Weak (Caleb Thompson & Matt Mongeau)

Sean and Derek are joined by Caleb Thompson and Matthew Mongeau for our annual live episode to discuss lessons learned from past projects, and speaking at conferences. Video Version myglu.com (The project being discussed) Sandi Metz' Rules for Developers Facade pattern Diesel's association API has_many The foreigner gem Goose talks about designing a programming language Service Objects Monban Why you shouldn't roll your own authentication Please send Caleb sunglasses. Rails 5.1 did ship while we were recording. How to Talk to Developers

Jul 26, 201751 min

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. Robin Sparkles ActiveRecord::Base.reload ActiveRecord::Base.becomes RSpec integration with ActionDispatch::SystemTest Ruby Together

Jul 18, 201745 min

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. Justin Searls Justin’s RailsConf Keynote My Favorite Way to TDD by Justin Searls Searls-Briggs Type Indicator Test Double Deep Work

Jul 10, 201746 min

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. Twitter Thread Machine Learning in Ruby Resources Apple Machine Learning Resources Chariot on TechCrunch Safecast- Open Environmental Data Contribute to Safecast Ask Tia Heat Seek

Jun 28, 201736 min

115: I Don't Need Another Google Hangout (Cecy Correa)

We talk with Cecy Correa about how to hire and get hired. Cecy Correa Girl Develop It Austin on Rails Why We’ve Stopped Saying “Culture Fit” — and What We’re Saying Instead Jobs at Return Path Jobs at thoughtbot

Jun 22, 201742 min

114: Reasonably Thread Safe

We discuss a tiny DOS caused when upgrading thoughtbot.com 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. Meaningful schema diffs in Rails 5.1 HSTS Firesheep Use a secure session cookie for new installs pshtt Observatory by Mozilla Encrypted secrets in Rails 5.1 PhantomJS maintainer steps down Sean solves his problem: Multi-tabls joins in Rust

Jun 16, 201739 min

113: Have You Considered Rust? (Matt Casper)

We talk to Matt Casper about contributing to Diesel, Rust's ecosystem, and the next big thing. Matt Casper Matt’s Diesel’s Diesel contributions The Rust Book DHH’s RailsConf Keynote Rocket Clap Justin Searls’ RailsConf Keynote Procore Jobs

Jun 9, 201729 min

112: Lifecycles Are Dead, Long Live Lifecycles!

Amanda joins Sean to discuss all the Android news to come out of Google I/O, Kotlin as a "first class language", and features of Android "O"! I/O '17 Recap JetBrains Android Studio Android Architecture Components Joda-Time Library Anko

Jun 1, 201733 min

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. Aaron Patterson DHH’s RailsConf Keynote warning: private attribute? Ruby 2.4 Rounding Changes Ruby 3x3 optcarrot: A NES Emulator for Ruby Benchmark Windows 98 Defragging

May 25, 201731 min

110: Green Chips

What’s the deal with green potato chips? Also: RailsConf wrap up and an AST pass refactor for Diesel. Green Potato Chips Baby Ruby Stickers Justin Searls - How to Program Eileen Uchitelle - Building Rails ActionDispatch::SystemTestCase Framework Alex Kitchens - Perusing the Rails Source Code - A Beginners Guide Abstract syntax tree Visitor Pattern Refactor the query builder to make it easier to add new AST passes Turn to_sql into a standard AST pass

May 18, 201732 min

109: The Final Countdown

Follow up about Service Objects and Computer Engineering. Plus, RailsConf prep, code slide woes, and modal pop-ups. Sandi Metz- Gilded Rose Kata Ben Orenstein- How to Talk to Developers Sean @ RubyConf Portugal '15- With smoke machine and intro music Google's Intrusive Pop-Up Announcement Thank you to our sponsor this week, SparkPost

Apr 26, 201732 min

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. RailsConf Shirts- Please only order if you will be at RailsConf to pick up! The pre-show The listen gem breaks my laptop Interpreted Language LLVM Cambrian Explosion Crystal Rob Pike on Googlers Rob Pike on the programmer prerequisites Thank you to our sponsor this week, SparkPost

Apr 18, 201741 min

107: "Composition" Over Inheritance

Single table inheritance, polymorphic associations, state machines and service objects, oh my! RailsConf Shirts- Please only order if you will be at RailsConf to pick up! How to Win at Monopoly and Lose All Your Friends Touchdown! SpaceX’s 1st Reused Rocket Lands on Drone Ship Little Boy Blue Single Table Inheritance Polymorphic Associations Tagged Union Canada Snoo Thank you to our sponsor this week, SparkPost

Apr 14, 201752 min

106: Nerd Sniping (Chris Toomey)

Chris Toomey joins to talk about Tell Me When It Closes, Haskell, and GraphQL. Chris Toomey - twitter, github Tell Me When It Closes RFactory Nerd Sniping Add an alias for reverse_merge to with_defaults “I write Haskell because I’m dumb” GraphQL GitHub GraphQL API The $500,000 mruby Relase Curl is C Thank you to our sponsor this week, SparkPost

Apr 5, 201746 min

105: For Display Purposes Only

Complexity vs Functionality, Validations vs Database Constraints, plus whatever a Cap'n Proto is. Second Quests in Zelda Games 5 Useful Tips For A Better Commit Message Sean’s rocket equations Atlas Rocket Family Removed deprecated mathn extentions is targeted for Ruby 2.5 Complexity and Strategy How to Build a Skyscrapper Rein - database constraints for Rails Scenic - database views for Rails Validation, Database Constraint, or Both? The Perils of Uniqueness Validations Ecto Validations and Constraints Cap’n Proto Protocol Buffer WSDL

Mar 30, 201746 min

104: It's Dangerous to Refactor Alone!

Google's carrot-and-stick HTTPS policies and how playing The Legend of Zelda is like refactoring. Google Will Soon Shame All Websites That Are Unencrypted HSTS Super Mario Bros. 3 right-side scroll artifacts How the Nintendo NES Zapper Worked, and Why It Doesn’t Work On HDTVs NES R.O.B reverse dependencies query Snipperclips Second Quests in Zelda Games Brickseek

Mar 23, 201742 min

103: I Just Want to See Green Dots

When a hash isn't a hash, GitHub as your Résumé, and porting Crates.io to Diesel. ActionController::Parameters should implement reverse_merge Expression-oriented programming language Jobs at thoughtbot Set up the groundwork for a port to Diesel Window Functions Remove the max_version column from Crates

Mar 16, 201753 min

102: To the Moon!

Going "to" the moon, hidden type errors in our Rails apps, the process of talk prep, and the S3 outage. SpaceX to Send Privately Crewed Dragon Spacecraft Beyond the Moon NASA’s Orion Spacecraft Retro looking rendering of SLS git push && git paid Rocket My Process for Writing a Talk by Eileen Uchitelle Summary of the Amazon S3 Service Disruption in the Northern Virginia (US-EAST-1) Region Chaos Monkey

Mar 10, 201749 min

101: Hey, You Leaned!

Amanda and Sean discuss the evolving stages of open source projects, native apps vs web apps, and space. AppVeyor Electron Xamarin is the Microsoft-owned cross-platform mobile application company. NASA TRAPPIST 1 Announcement Spaceflight Now Write/Speak/Code Thank you to our sponsor this week, FreshBooks

Feb 28, 201750 min

100: Nouns You Can Verb

Sam Phippen helps us celebrate episode 100, as we discuss Diesel bugs, REST, RPC, and more. Diesel LEFT JOINS bug Google Spanner Information Schema Standard Spanner Beta Paper HTML5 formaction Must be Willing to Relocate to San Francisco GRPC Protocol Buffers The Listen gem breaks my laptop Thank you to our sponsor this week, FreshBooks!

Feb 24, 201751 min