The Bike Shed
Episodes
98: I Have Good Branch Hygiene
08 Feb 2017
Contributed by Lukas
We discuss complexity and progressive disclosure, garbage collection, and the impenetrable nature of Git. Chris Lattner on Accidental Tech Podcase Si...
97: One Equals Zero
31 Jan 2017
Contributed by Lukas
We wonder why writing parameterized associations in Rails is not easy, and discuss the difficulty in eliminating no-op queries in ActiveRecord. Plus, ...
96: Who Stinks?
27 Jan 2017
Contributed by Lukas
Baby Ruby, Ruby refinements, Rails discoverability, and annoying polyfills. Refinements Refinements in Rails Remove required field polyfill from Rail...
95: Click 'Cat' to go 'Home' (Morgane Santos)
20 Jan 2017
Contributed by Lukas
Amanda is joined by Morgane Santos to discuss the experiences, technology, and development of Virtual Reality. VR For Burn Relief Vive Maya for Begin...
94: It's Not Supposed to Work
11 Jan 2017
Contributed by Lukas
We discuss the pain of custom inputs in HTML, ActiveRecord bugs, and Rust's Fire Flower. Sean’s Haircut Select2 Query with 'exists' subquery fails ...
93: I Have Complex Feelings
21 Dec 2016
Contributed by Lukas
The impact of codes of conduct on community behavior, shipping a mobile app written in Elm, and yet more to say on SemVer. Diesel 0.9 Change Default ...
92: The Queen of Canada
16 Dec 2016
Contributed by Lukas
We discuss the sneaky performance differences between present?, any?, blank? and empty? with ActiveRecord, when N+1 is a "feature", and the ...
91: I Think It's a Fish
08 Dec 2016
Contributed by Lukas
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 ...
90: Freedom Units
01 Dec 2016
Contributed by Lukas
We discuss adventures with shared mutable state in Elixir before turning to our thoughts on mocking HTTP interaction and how our approaches may differ...
89: There Will Never Be One Right Way (Ashley Williams)
23 Nov 2016
Contributed by Lukas
Ashley Williams joins the show to discuss NPM, Yarn, and the general package manager ecosystem. Ashley Williams Yarn yarn install--flat Peer Dependen...
88: How Many Puppies Now?
18 Nov 2016
Contributed by Lukas
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...
87: The Refrigerator Took Down Your Website
10 Nov 2016
Contributed by Lukas
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. Depr...
86: Purple Train, Purrrple Train (Ian Anderson)
02 Nov 2016
Contributed by Lukas
Derek chats with Ian Anderson about developing a mobile app for iOS and Android with React Native. Ian on Twitter Purple (T)Rain GenServer Agent Reac...
85: Are We in a Black Hole?
26 Oct 2016
Contributed by Lukas
We briefly ponder the very nature of our existence before discussing edge cases and interesting bugs encountered in ActiveRecord. Podcast Patreon Sur...
84: Why Are Manhole Covers Round?
19 Oct 2016
Contributed by Lukas
What do we look for when reviewing job applications, interviewing candidates, and pairing with prospective co-workers? thoughtbot Podcast Listener Su...
83: Canadian Halloween
12 Oct 2016
Contributed by Lukas
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...
82: I Just Want a Dog in a Spacesuit
05 Oct 2016
Contributed by Lukas
We discuss the problems with getting a CVE and the new lightning fast search tool, ripgrep. Sandwiched between those topics, we dive into the coloniza...
81: Is This Really a CVE?
28 Sep 2016
Contributed by Lukas
Derek and Sean talk through how to handle a security vulnerability that was reported for Clearance, a user authentication library. Cardboard Jankowsk...
80: Back to the Futures
21 Sep 2016
Contributed by Lukas
What's appropriate for a web middleware stack to provide? Does Rack do too much? Plus, our thoughts on NeoVim and Vim 8. Futures-RS My Life With NeoV...
79: Comments in Your Queries
14 Sep 2016
Contributed by Lukas
Derek and Sean talk through some complex SQL before they examine the calluses developed from years of writing software on OS X. Press 1 for Lobby Ran...
78: I'm an Adult and I Choose Java
09 Sep 2016
Contributed by Lukas
Sean and Amanda discuss the state of Android Development in 2016. Java, Kotlin, Dependency Injection, and Functional Reactive Programming, oh my! Ama...
77: The Floors Are Not Zero Indexed
31 Aug 2016
Contributed by Lukas
How can you get your open source pull request merged? Elevator number pad Sorry, video of Sean’s Abstractions Conference talk is not yet available ...
76: The One With Laila & Brenda
17 Aug 2016
Contributed by Lukas
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 thou...
75: I'm Not Sure That's Better
11 Aug 2016
Contributed by Lukas
Derek and Sean discuss hunting down intermittently failing tests, finding unused code in your application, and why you should never ever change your t...
74: A Dip in the Connection Pool
03 Aug 2016
Contributed by Lukas
We talk through design considerations for a user-visible custom query builder for a high volume ecommerce system. Ransack Using Arel to Compose SQL Q...
73: Probably In My Other Pants
28 Jul 2016
Contributed by Lukas
We discuss Pokémon Go and what it's success might mean for software developers before Sean lays out his case for replacing the pg gem and libpq. Der...
72: Surprises Cut For Time (Aaron Patterson)
20 Jul 2016
Contributed by Lukas
Aaron Patterson joins us from RailsConf for puns, performance improvements in Ruby, and AirDropping cats. Gorbypuff Virus UTF8 vs UTF16 vs UTF32 What...
71: It's a Total Hack
13 Jul 2016
Contributed by Lukas
Inspired by Nickolas Means’ fantastic RailsConf keynote, we discuss the corollaries between Lockheed Martin’s Skunk Works projects and our softwar...
70: Make Small Things (Sandi Metz)
06 Jul 2016
Contributed by Lukas
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 spea...
69: No More Drills
29 Jun 2016
Contributed by Lukas
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 Ec...
68: Mostly Undocumented
22 Jun 2016
Contributed by Lukas
Sean runs through a Rails bug that sits at the intersection of several magical and confusing Rails features. accepts_nested_attributes_for inverse_of...
67: Longtime Listener, First Time Caller (Rafael Franca)
15 Jun 2016
Contributed by Lukas
Leading Rails contributor Rafael Franca joins us from RailsConf to talk about taking over Sprockets, the future of the asset pipeline in Rails, managi...
66: Make Ruby Scripting Great Again (Terence Lee)
08 Jun 2016
Contributed by Lukas
We talk with Terence Lee of Heroku, Bundler, and mruby-cli fame about Apache Kafka and the future of mruby scripting. Terence Lee Kafka I Can’t Bel...
65: Free as in Puppy (Katrina Owen)
25 May 2016
Contributed by Lukas
While at RailsConf, we talk with Katrina Owen about finding metaphors for software development, the successes and mistakes of Exercism.io, and the ben...
64: Open Mic SF
18 May 2016
Contributed by Lukas
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 invest...
63: Types Are Only Good If You Use Them
11 May 2016
Contributed by Lukas
Derek and Sean discuss some recent issues with exciting language features like pattern matching, macros, and static types. Pattern Matching Primitive...
62: Shipping is the Fastest Way to Get Somewhere
04 May 2016
Contributed by Lukas
Sean celebrates Diesel reaching "faster than a SQL string" status before we chat about Rails 5 blockers and the clarity of focus and priorit...
61: I'm Not Telling You My Birthday
27 Apr 2016
Contributed by Lukas
"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 compute...
60: Remote Control (Katherine Fellows)
20 Apr 2016
Contributed by Lukas
KF (Katherine Fellows) joins the show to chat about successful BridgeFoundry events and creating environments where remote developers, junior and othe...
59: I Wish They Wouldn't Do That
13 Apr 2016
Contributed by Lukas
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 appl...
58: Nobody Gets Fired For Buying IBM
06 Apr 2016
Contributed by Lukas
Should you rewrite or refactor? What should you consider as you weigh this decision and what exactly constitutes a rewrite anyway? Things You Should ...
57: Mutability Ruins the Whole Party (José Valim)
30 Mar 2016
Contributed by Lukas
We chat with José Valim about bringing light to Elixir's dark corners, the design goals of Ecto, and the future of Elixir, Ecto, and Phoenix. José ...
56: Most People Aren't Building Trello
23 Mar 2016
Contributed by Lukas
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 JavaSc...
55: Hot Dog is Not a Dessert
09 Mar 2016
Contributed by Lukas
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...
54: Argument Error
02 Mar 2016
Contributed by Lukas
Derek shares some Elixir annoyances with Sean and they discus how a consulting role colors their perception of languages and frameworks, both for bett...
53: Cache Machine
24 Feb 2016
Contributed by Lukas
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 tim...
52: You're an Elixir Developer Now
17 Feb 2016
Contributed by Lukas
Derek and Laila discuss Derek's excitement for Elixir and Phoenix. Is Elixir as fun to write as Ruby? Is Phoenix a better Rails? Elixir and Phoenix R...
51: Is Sim City Running? (Steve Klabnik)
10 Feb 2016
Contributed by Lukas
We enjoy a wide-ranging discussion with Steve Klabnik on the importance of good documentation, the sometimes cloudy definition of a breaking change, t...
50: Open Mic
03 Feb 2016
Contributed by Lukas
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 ...
49: A More Practical Haskell
27 Jan 2016
Contributed by Lukas
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,...
48: Is Everyone Trying Their Best?
21 Jan 2016
Contributed by Lukas
Software is broken. In this episode, Derek and Sean discuss why exactly it's broken, and what we can do to make it better. The origin of "softwa...
47: Star Wars Oranges
13 Jan 2016
Contributed by Lukas
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 discu...
46: Don't Breathe, Save the Planet
06 Jan 2016
Contributed by Lukas
We discuss the maintenance burden of ActionCable and its dependencies on Rails 5, follow-up on Scenic issues, and discuss implementing migrations anew...
45: I Think I'd Prefer An Error to Nonsense
23 Dec 2015
Contributed by Lukas
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 breakin...
44: It Won't Crash... It Might Crash
17 Dec 2015
Contributed by Lukas
Sean has shipped early versions of Diesel, an ORM for Rust! We discuss its semantic versioning, the ergonomics of use versus the complexities of imple...
43: That's DOCTOR Internet Technologist
09 Dec 2015
Contributed by Lukas
We talk about lessons learned from teachable moments both in the moment and decades later. Teachable moment Safe Operations for High Volume PostgreSQ...
42: That's Incredibly Ambitious (Grayson Wright)
02 Dec 2015
Contributed by Lukas
We speak to Grayson Wright about building Administrate, an open source Rails framework for administrative interfaces. What makes Administrate differen...
41: Ugh, I Have to Write Web Apps in This Thing
25 Nov 2015
Contributed by Lukas
Derek and Sean talk about Derek's exploration into Elixir and Phoenix, when and how performance matters, and ways to keep your Rails app fast from day...
40: ActiveRecord Deprecated Persistence
18 Nov 2015
Contributed by Lukas
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 solu...
39: Okay with Instability (Yehuda Katz)
11 Nov 2015
Contributed by Lukas
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 intuit...
38: Ugh, Forms
03 Nov 2015
Contributed by Lukas
Laila and Derek discuss how they have handled forms with complex validation requirements and how to make these forms have a smooth user experience. H...
37: The Web is Faster Without Garbage
29 Oct 2015
Contributed by Lukas
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...
36: Python Unchained
15 Oct 2015
Contributed by Lukas
Derek and Laila talk about learning Python and Django and discuss how thoughtbot adopts new languages, frameworks, and libraries. What factors influen...
35: GitHub Ate My Résumé
07 Oct 2015
Contributed by Lukas
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...
34: README.md
29 Sep 2015
Contributed by Lukas
Derek is joined by Laila Winner to discuss Neo4j, the importance of fantastic documentation, and the different types of documentation a project requir...
33: Just Put it in a Module, Man
22 Sep 2015
Contributed by Lukas
Sean and Derek take some listener questions, and dig into DRY. DRY Single Responsibility Principle (SRP) Inherited Resources Sandi Mets - All The Lit...
32: Bug For Bug Compatibility
15 Sep 2015
Contributed by Lukas
Derek and Sean discuss Microsoft's interest in open source, improving the Rails development story on Windows, and Sean's progress implementing an ORM ...
31: Oxidizing an ORM
08 Sep 2015
Contributed by Lukas
Are provably correct queries of interest to you? Sean gives a rundown of what a Rusty ORM might be like to build. String, str, and CStr. What's a mar...
30: Just Go to Slash Wibble
01 Sep 2015
Contributed by Lukas
Derek and Sean discuss hypothetical changes to Rails routing before turning their attention toward hunting memory bloat and the proposal that strings ...
29: Django Unchained (Mike Burns)
25 Aug 2015
Contributed by Lukas
Sean is joined by Mike Burns to discuss what Ruby and Rails can learn from Python and Django. Mike Burns Python's map Django George's Sleeping with t...
28: Minisode 0.1.1
18 Aug 2015
Contributed by Lukas
Did you know Rails has no integration test suite? What could go wrong? ActionController::Parameters no longer inherits from Hash
27: I've Got 29.97 Problems (and codecs are some)
11 Aug 2015
Contributed by Lukas
Sean and Derek circle back on HTTP before diving into unsafe rust, and finally the merits of a small standard library. HTTP2 implementation status li...
26: My Cache is in the Cloud
04 Aug 2015
Contributed by Lukas
This week, Sean and Derek discuss performance and inheriting code. In a stroke of complete madness, Derek decides that turbolinks isn't that bad. Spr...
25: Throwing the Schema Out With the SOAPy Bathwater (Gordon Fontenot)
28 Jul 2015
Contributed by Lukas
Derek is joined by Gordon Fontenot for a discussion of the JSON API specification, problems consuming it from Swift, and the future of functional prog...
24: You Look Good in a Lab Coat (Richard Schneeman)
21 Jul 2015
Contributed by Lukas
Richard Schneeman joins The Bike Shed to discuss ruby memory use, horizontal scaling, and tackling open source issues big and small. This episode of T...
23: Why Did They Call it Rust?!
14 Jul 2015
Contributed by Lukas
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 onlin...
22: No Capes! (Eileen Uchitelle)
07 Jul 2015
Contributed by Lukas
Eileen Uchitelle joins the show to discuss performance improvements to ActiveRecord, speeding up integration tests, and contributing to or running ope...
21: The "Best" Canada (Godfrey Chan)
30 Jun 2015
Contributed by Lukas
Rails Core Team member Godfrey Chan joins the show to demystify rails bug hunting and contributing. Godfrey's RailsConf talk: Prying Open The Black B...
20: Intentionally Excruciatingly Painful
23 Jun 2015
Contributed by Lukas
We're joined by Josh Clayton to discuss our differing strategies on testing view behavior, strategies for dealing with brittle feature specs, and what...
19: The Oncoming Storm (Sam Phippen)
16 Jun 2015
Contributed by Lukas
Derek and Sean are joined by Sam Phippen from the RSpec core team to discuss RSpec mocks, testing strategies, and minitest. RSpec 3 adds composable m...
18: This Podcast is Rigged (But Not Animated)
09 Jun 2015
Contributed by Lukas
Sean and Derek discuss rails asset dependencies before diving into an overview of animation techniques and C extensions. Rails Assets Gemify Assets f...
17: Railing About Performance (Sam Saffron)
02 Jun 2015
Contributed by Lukas
We chat with Sam Saffron about performance, benchmarking, and database migration strategies. Sam Saffron Discourse rack-mini-profiler stackprof RubyB...
16: Wizards Are Hard to Kill
27 May 2015
Contributed by Lukas
Grab Bag! Derek and Sean talk about math, augmented reality, RailsConf wrap up, Minimum Viable Products, Accessibility... Homography Isomorphism Homo...
15: Might As Well Be About Trains (Sarah Mei)
19 May 2015
Contributed by Lukas
Sean, Derek, and Sarah Mei talk about conference speaking, refactoring, and OO vs FP problems. Sarah Mei What Your Conference Proposal Is Missing Con...
14: An Acceptable Level of Hassle (David Heinemeier Hansson)
12 May 2015
Contributed by Lukas
This week, we're joined by DHH and discuss microservices, monoliths, shared abstractions, and the fate of Action Cable. DHH's Keynote Microservices S...
13: Begrudging Applause (Aaron Patterson)
05 May 2015
Contributed by Lukas
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 quest...
12: A Poor Man's binding.pry
17 Apr 2015
Contributed by Lukas
Derek and Sean talk about naming, debugging, and the anxiety of conference talks. Sean fixes Android tooling in one line. Martin Fowler on naming obj...
11: Form-ing Opinions
03 Apr 2015
Contributed by Lukas
Sean and Derek talk about the state of Android tooling, refactoring journeys, and an approach to rails form objects. Dalvik executables limited to 65...
10: I Don't Get Functional Programming
20 Mar 2015
Contributed by Lukas
Pat Brisbin joins Derek to discuss the many advantages of Haskell programming. note: at 27:01 Pat says "referential integrity" when he meant...
9: Monorails, For the Kids
06 Mar 2015
Contributed by Lukas
Sean and Derek discuss Monoliths, Service Oriented Architecture, and the new Adapter Specific Type Registry in Rails 5. Guest Sean Furret Haskell and...
8: Attributes API, Relation#or, Paid Open Source
20 Feb 2015
Contributed by Lukas
Derek and Sean discuss what the Attributes API enables, the addition of Relation#or and paid open source. Sean's attributes API is "finished&quo...
7: At the Car Wash
30 Jan 2015
Contributed by Lukas
Derek and Sean talk trade schools, sneaky bugs, bad method names, before_filters, and the Superbowl. Turing School and Metis trade schools. "Car...
6: Shh! Library Under Maintenance
16 Jan 2015
Contributed by Lukas
Sean and Derek discuss thoughtful deprecations, backwards compatibility, and other joys of library maintenance. Trailblazer Clearance Ember 2.0 - Sta...
5: Rails is Not Your Architecture
31 Dec 2014
Contributed by Lukas
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 ...
4: Put Everything on the Front End
12 Dec 2014
Contributed by Lukas
Derek and Sean discuss hunting Rails performance regressions and techniques for improving performance in your web applications. Speeding Up Rails 4.2...
3: Flipping the Script
28 Nov 2014
Contributed by Lukas
Sean and Derek take a fresh look at the tradeoffs in writing CoffeeScript and whether we should be using an ES6 transpiler instead. destructiring ass...
2: Rails 4.2
17 Nov 2014
Contributed by Lukas
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. Ylan Segal wrote us t...
1: Sandi & Derek's Rules
31 Oct 2014
Contributed by Lukas
Sean and Derek discuss lessons learned from following Sandi Metz' rules on a project and the overall impact of rules on code. Sandi Metz' Rules Ruby ...