Sinopsis
On The Bike Shed, hosts Derek Prior, Sean Griffin, Amanda Hill, and guests discuss their development experience and challenges with Ruby, Rails, JavaScript, and whatever else is drawing their attention, admiration, or ire this week.
Episodios
-
300: Mozzarella Sticks & Knowledge Silos
13/07/2021 Duración: 45minThe big "Three Oh Oh!" What a milestone for this podcast! Aside from celebrating that the show has made it this far, Chris gives some followup on some Inertia.js issues he had been having, and talks about open source licenses and legality and testing against external APIs. Steph has thoughts on mozzarella sticks and what makes good ones; particularly the cheese to bread ratio... They then, together, answer a listener question re: knowledge silos: Jan asked, "Our team (3 pairs) is currently working on two different projects due to that fact we are creating information silos. Now we are looking into ways how we can minimize those information silos. Do you have any ideas how we could achieve this?" With switching pairs they are unsure about it as it can be difficult for new pairs to get up to speed. inertia-rails thread safety (https://github.com/inertiajs/inertia-rails/pull/70) Rails Cache-Control no-store fix (https://github.com/rails/rails/pull/40324) Transcript: STEPH: I have no shame. CHRIS: That's importa
-
299: Is Agile Over?
06/07/2021 Duración: 46minLet's talk about Agile! What is it, what do we like, we do we not like? In this episode, Steph and Chris discuss: Broadly, are they fans? What makes this practice work well? What makes this practice work poorly? And also, hit specific topics and practices like Scrum, Kanban, and Extreme Programming. Twitter Poll re: Gotime Podcast - Is Agile's Time Over? (https://twitter.com/gotimefm/status/1388126124299878412?s=21) The Mortifying Ordeal of Pairing All Day (https://www.simplermachines.com/the-mortifying-ordeal-of-pairing-all-day/) The Real Story Behind Story Points (https://thoughtbot.com/blog/the-real-story-behind-story-points) Agile Manifesto (https://agilemanifesto.org/) & Agile Manifesto -- Principles (https://agilemanifesto.org/principles.html) Extreme Programming Introduction (http://www.extremeprogramming.org/index.html) Extreme Programming Explained (https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/) Ron Jeffries - What is Extreme Programming (https://ronjeffries.com/x
-
298: Jawsification
29/06/2021 Duración: 42minChris gives some small updates on working with Svelte. He really likes Svelte so far. Svelte's great. Modals are complicated. He also talks about using a little JavaScript library, called Quicklink. Steph talks about sending data to a third-party system and using feature flags to help deprecate some code. Finally, they both riff on a listener question on consulting. Said listener asked, "Do you think about your work as 'consulting first' or as 'building great software first and then good experiences for your clients will follow naturally?'" Find out their take and give us your own, here on this episode of 'The Bike Shed!' Bike Shed "Nate Berkopec" Episode (https://www.bikeshed.fm/296) Svelte (https://svelte.dev/) Quicklink (https://getquick.link/) Boring Rails: Skip the bullshit and ship fast (https://boringrails.com/) mtime (File) - APIdock (https://apidock.com/ruby/File/mtime/class) Transcript: STEPH: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot ab
-
297: We’re Making A Pixar Movie!
22/06/2021 Duración: 48minChris gives the deets on that new new – (he joined a startup!) and laments about the back button being so complicated. Steph talks about extracting an untrustworthy service and likens the scenario to making a Pixar movie. You don't wanna miss this hero's journey! Eric Bailey's bunny updates (https://twitter.com/ericwbailey/status/1389332217088851971) Katrina Owen's Therapeutic Refactoring Talk (https://www.youtube.com/watch?v=J4dlF0kcThQ) EnjoyHQ (https://getenjoyhq.com/) User research platform Aurelius (https://www.aureliuslab.com/) also a user research platform Dry Monad (https://dry-rb.org/gems/dry-monads/1.3/) (part of dry-rb (https://dry-rb.org/)) Previous Bike Shed discussing dry-monads (https://www.bikeshed.fm/243) Railway Oriented Programming (https://fsharpforfunandprofit.com/rop/) Bike Shed "Seeking Calm" Episode (https://www.bikeshed.fm/279) Previous Episode Discussing Multi-Step Forms (https://www.bikeshed.fm/295) Discussion thread on Inertia repo re: back button cache (https://github.com/inertiaj
-
296: Speedy Performance with Nate Berkopec
15/06/2021 Duración: 01h03minNate Berkopec is the author of the Complete Guide to Rails Performance, the creator of the Rails Performance Workshop, and the co-maintainer of Puma. He talks with Steph about being known as "The Rails Speed Guy," and how he ended up with that title, publishing content, working on workshops, and also contributing to open source projects. (You could say he's kind of a busy guy!) Speedshop (https://www.speedshop.co/) Puma (https://github.com/puma/puma/commits/master?author=nateberkopec) The Rails Performance Workshop (https://www.speedshop.co/rails-performance-workshop.html) The Complete Guide to Rails Performance (https://www.railsspeed.com/) How To Use Turbolinks to Make Fast Rails Apps (https://www.speedshop.co/2015/05/27/100-ms-to-glass-with-rails-and-turbolinks.html) Sidekiq (https://sidekiq.org/) Follow Nate Berkopec on Twitter (https://twitter.com/nateberkopec) Visit Nate's Website (https://www.nateberkopec.com/) Sign up for Nate's Speedshop Ruby Performance Newsletter (https://speedshop.us11.list-manage
-
295: To the Left, to the Left
07/06/2021 Duración: 35minAfter the last episode where database switching was discussed, a number of listeners reached out with thoughts. In particular, one listener gave a reproducible example of how to make things better. Chris talks about why he always moves errors to the left, and Steph gives a hot take where she admits that she is not a fan of hackathons and explains why. Steph and Chris also share exciting Bike Shed show news in that we now have transcripts for each episode, and tackle another listener question asking, "How do you properly implement a multi-step form in a boring Rails way?” Chris talks about his experiences with multi-step forms and gives his own hot take on refactoring: he doesn't until he feels pain! Database Switching in Dev Mode Gist (https://gist.github.com/danott/e698435bb4e1d34bc70853514ba681a7) In Relentless Pursuit of REST – Derek Prior (https://www.youtube.com/watch?v=HctYHe-YjnE) Transcript: CHRIS: Happy Friday or whatever day it happens to be in your future situation. STEPH: Happy day. [chuckles] C
-
294: Perfect Duplication
25/05/2021 Duración: 45minOn this week's episode, Steph and Chris respond to a listener question about how to know if we're improving as developers. They discuss the heuristics they think about when it comes to improving, how they've helped the teams they've worked with plan for and measure their growth, and some specific tips for improving. Rails Autoscale (https://railsautoscale.com/) Rubular regex playground (https://rubular.com/) The Pragmatic Programmer (https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/) Go Ahead, Make a Mess by Sandi Metz (https://www.youtube.com/watch?v=xi3DClfGuqQ) Confident Code - Avdi Grimm (https://www.youtube.com/watch?v=T8J0j2xJFgQ) Therapeutic Refactoring - Katrina Owen (https://www.youtube.com/watch?v=J4dlF0kcThQ) Refactoring, Good to Great - Ben Orenstein (https://www.youtube.com/watch?v=DC-pQPq0acs) Transcript CHRIS: There's something intriguing about the fact that we're having this conversation, but the thing that's recorded just starts at this arbitrary point in ti
-
293: Sportstaphors
18/05/2021 Duración: 41minOn this week's episode, Chris and Steph share a speedy step to restart your rails server and chat about accessibility improvements and favorite a11y tools. They also dive into a tale of database switching and delight in a new Rails query method that returns orphaned records. Restart Rails server via tmp/restart.txt (https://twitter.com/christoomey/status/1387799863929212931?s=20) WebAIM: Constrast Checker (https://webaim.org/resources/contrastchecker/) IBM Equal Access Accessibility Checker (https://www.ibm.com/able/toolkit) axe™ DevTools (https://www.deque.com/axe/browser-extensions/) AccessLint (https://accesslint.com/) Assistiv Labs (https://assistivlabs.com/) An introduction to macOS Head Pointer (https://thoughtbot.com/blog/an-introduction-to-macos-head-pointer) Rails date_select (https://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-date_select) Rails strong_migrations (https://github.com/ankane/strong_migrations) Ruby RBS (https://github.com/ruby/rbs) Sorbet - Ruby Type Checke
-
292: Debugging with Joël Quenneville
11/05/2021 Duración: 43minOn this week's episode, Steph and Chris are joined by fellow thoughtbotter, Joël Quenneville, to discuss all things debugging. Joël is helping publish a weekly debugging blog series and in this conversation they discuss how the series got started, technology agnostic debugging strategies, writing less bug-prone software, and speculate if Joël moonlights as a hockey coach. Debugging Blog Series 2021 (https://thoughtbot.com/blog/tags/debugging-series-2021) Classical Reasoning and Debugging (https://thoughtbot.com/blog/classical-reasoning-and-debugging) Monodraw (https://monodraw.helftone.com/) An Elm debugging story (https://thoughtbot.com/blog/elm-debugging-story) Chelsea Troy - PoSD 2: What causes insidious bugs? (https://chelseatroy.com/2019/12/30/posd-2-what-causes-insidious-bugs/) Follow Joël Quenneville on Twitter (https://twitter.com/joelquen) Joël Quenneville on the thoughtbot blog post (https://thoughtbot.com/blog/authors/joel-quenneville) Transcript: STEPH: All right. And then who will be editing this
-
291: All Things Inertia.js with Jonathan Reinink
04/05/2021 Duración: 50minThis week Steph's taking a quick break, but while she's off, Chris is joined by a special guest - Jonathan Reinink. Jonathan is the creator of Inertia.js. Inertia.js (https://inertiajs.com/) lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers, and listeners of the show will certainly have heard Chris rave about it on previous episodes. Chris and Jonathan dig into what makes Inertia unique as compared to frameworks like Phoenix LiveView, Laravel Livewire, and Rails' Hotwire & Turbo. They also discuss how Inertia embraces the URL, the unique "protocol" nature of Inertia, and how to consider Inertia alongside native mobile applications. Throughout the conversation, Jonathan's consistent philosophy of wanting to build robust, performant, and delightful applications shines through. Jonathan Reinink on twitter (https://twitter.com/reinink) Inertia.js (https://inertiajs.com/) Eloquent Performance Patterns (https://eloquent-course.reinink.ca/) Tailwin
-
290: Can You See My Secrets?
27/04/2021 Duración: 32minOn this week's episode, Chris and Steph discuss testing webhooks, the challenges in replicating third-party data, and troubleshooting unexpected side effects. They also respond to a listener question about secrets management, touring popular solutions and discussing the trade-offs. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy webhook.site (https://webhook.site) git-secret (https://git-secret.io/) Datomic (https://www.datomic.com/) 1Password Secrets (https://1password.com/secrets/) Hashicorp Vault (https://www.vaultproject.io/) Heroku Secure Key (https://devcenter.heroku.com/articles/securekey)
-
289: Have You Ever Ridden a Horse?
20/04/2021 Duración: 37minOn this week's episode, Steph and Chris tackle a pair of questions -- the first dealing with how closely we might want to map an API to the underlying database schema, and the second dealing with back of the envelope math and horses (it makes more sense in context.... mostly). They also discuss the subtleties of the javascript date API across browsers, and a quick adventure in tuning database indexes for fun and profit. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy Testing LiveView (https://www.testingliveview.com/) Inspecting Postgres Indexes (https://www.postgresqltutorial.com/postgresql-database-indexes-table-size) Postgres Partial Indexes (https://www.postgresql.org/docs/current/indexes-partial.html) Postgres Create Index Concurrently (https://www.postgresql.org/docs/9.1/sql-createindex.html#SQL-CREATEINDEX-CONCURRENTLY)
-
288: 10x Puppy
13/04/2021 Duración: 36minOn this week's episode, Chris and Steph discuss migrating a polymorphic relationship over to UUIDs and balancing trade-offs between data integrity vs complexity. They also touch on a new Rails feature that adds support to safely remove and add columns, GitHub Discussions, measuring team experiments, and purposeful communication. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy Modeling Polymorphic Associations in a Relational Database (https://hashrocket.com/blog/posts/modeling-polymorphic-associations-in-a-relational-database) Rails 6.1 - Add support for ifexists/ifnot_exists (https://github.com/rails/rails/pull/38352) GitHub Discussions (https://docs.github.com/en/discussions) Loom: Video Messaging (https://www.loom.com/)
-
287: Turn it up to Eleven
30/03/2021 Duración: 37minOn this week's episode, Steph shares a recent performance improvement, a Postgres delight, and testing concurrency in RSpec. Chris revisits an earlier theme of "Good Idea, Bad Idea?" as he explores ways to speed up tests builds and avoid duplicate test builds. They round things out with a listener question about managing ERB partials and Vue components. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy ActiveRecord - with_lock (https://apidock.com/rails/ActiveRecord/Locking/Pessimistic/with_lock) Domain Name Sanity by Edward Loveall (https://edwardloveall.com/projects/domain-name-sanity) strong_migrations gem (https://github.com/ankane/strong_migrations) react-rails gem (https://github.com/reactjs/react-rails) Become a Sponsor (https://thoughtbot.com/sponsorship) of The Bike Shed
-
286: Time After Time
23/03/2021 Duración: 26minOn this week's episode, Chris shares a rare airing of grievances regarding the importance of secure, encrypted websites and Steph shares a tale of time zone troubles and testing. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy Time.use_zone (https://apidock.com/rails/v6.0.0/Time/use_zone/class) Sidekiq (https://sidekiq.org/) Become a Sponsor (https://thoughtbot.com/sponsorship) of The Bike Shed
-
285: Tell a Cohesive, Testable Story
16/03/2021 Duración: 39minOn this week's episode, Steph and Chris tackle a listener question around the world of service objects. Where, really, should we be putting our business logic. Model concerns, "service" objects, the model files themselves? Tune in to find out. They also discuss a perilous Rails 6 upgrade deployment and the ensuing debugging session, as well as Steph's retro on her extended break from work. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy USDR (US Digital Response) Volunteer Organization (https://www.usdigitalresponse.org/) 18f (https://18f.gsa.gov/) USDS (https://usds.gov/) TwiddleWakka (https://depfu.com/blog/2016/12/14/get-to-know-your-twiddle-wakka) Clearance Issue w/ LOWER email (https://github.com/thoughtbot/clearance/pull/930) Say No To More Process (https://thoughtbot.com/blog/say-no-to-more-process-say-yes-to-trust) Bike Shed Question Form (https://docs.google.c
-
284: Lovely, Wonderful Spam
09/03/2021 Duración: 46minOn this week's episode Chris and Steph chat about upgrading to Rails 6, intercepting emails, and play a few rounds of Software Terminology Trivia. They also discuss "Deep Work" by Cal Newport and share strategies for finding and maintaining focus. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy Letter Opener (https://github.com/ryanb/letter_opener) recipient_interceptor (https://github.com/croaky/recipient_interceptor) Spam Monty Python (https://en.wikipedia.org/wiki/Spam_(Monty_Python)) CAN-SPAM Act (https://en.wikipedia.org/wiki/CAN-SPAM_Act_of_2003) Deep Work by Cal Newport (https://www.goodreads.com/book/show/25744928-deep-work) brain.fm (https://www.brain.fm/) Getting Things Done (https://www.goodreads.com/book/show/1633.Getting_Things_Done) Send us your question (https://thoughtbot.com/blog/send-your-questions-to-the-bike-shed), we would love to hear about it. Lo
-
283: Who's The User?
02/03/2021 Duración: 26minOn this week's episode Steph and Chris discuss a listener question around managing content within an application, weighing options like an integrated CMS, headless CMS provides, proxying the content, and supporting marketing and landing pages without needing a developer for every change. They also provide an update on dead man's snitch and a preview of a rails 6 upgrade on the horizon and dreams of database switching. This episode is brought to you by SPOTcon (https://www.scoutapm.com/spotbikeshed). Tune in to Scout APM's first conference, and join for developers from around the world to meet, engage with, and learn about solutions that drive leading-edge transformation in application development by registering for free today! Dead Man's Snitch (https://deadmanssnitch.com/) Multiple Databases with Active Record (https://guides.rubyonrails.org/active_record_multiple_databases.html) Refinery CMS (https://www.refinerycms.com/) ActiveAdmin (https://activeadmin.info/) Rails Admin (https://github.com/sferik/rails_a
-
282: What is Normal?
23/02/2021 Duración: 39minOn this week's episode, Chris adds Dead Man's Snitch to a personal project and considers "what is the app doing at runtime?" as he touches on the importance of creating observable systems. Steph shares analyzing a site's traffic and using Apache Bench for simple load testing. They also respond to a listener question about creating environment-specific data for data-intensive applications. This episode is brought to you by SPOTcon (https://www.scoutapm.com/spotbikeshed). Tune in to Scout APM's first conference, and join for developers from around the world to meet, engage with, and learn about solutions that drive leading-edge transformation in application development by registering for free today! Dead Man's Snitch (https://deadmanssnitch.com/) Apache Bench (https://httpd.apache.org/docs/current/programs/ab.html) HTTP Keep-Alive (https://en.wikipedia.org/wiki/HTTP_persistent_connection) Send us your question (https://thoughtbot.com/blog/send-your-questions-to-the-bike-shed), we would love to hear about it. Lo
-
281: Finding That Middle Ground
16/02/2021 Duración: 31minOn this week's episode, Steph and Chris tackle a listener question around switching from mostly-developing, to mostly-communicating and the tactics they've used to balance these facets of their work. They also discuss the new error objects in Rails 6.1, the value of breakable toys, and the importance of keeping presentational concerns out of the data model. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy Rails 6.1's ActiveModel Errors Revamp (https://code.lulalala.com/2020/0531-1013.html) blog post from @lulalala Model error as object (https://github.com/rails/rails/pull/32313) pull request with great conversation Previous Bike Shed episode w/ discussion about error handling with dry-rb (https://www.bikeshed.fm/243) Tell Me When It Closes (https://tellmewhenitcloses.com/) Monopoly Deal (https://boardgamegeek.com/boardgame/40398/monopoly-deal-card-game) Become a Sponsor