

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

Mar 23, 2016 • 39min
56: Most People Aren't Building Trello
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 JavaScript.
ActiveRecord is Reinventing Sequel
Ryan Bigg gives up his open source projects
Maybe We Could Tone Down the JavaScript by Evee
Stronger Parameters
Mother F*cking Website
Discourse
Ember CLI Fastboot
Introduction to HTML Imports
TC39
Modernizr
Can I Use: Date and Time Input Types
Support The Bike Shed

Mar 9, 2016 • 41min
55: Hot Dog is Not a Dessert
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 updating your app.
Ides of March
Presence validation of virtual attribute not firing appropriately
ActionDispatch request helpers don't properly rewrite positional arguments to keyword arguments
Strong Parameters migration path to Rails 4
A Rule of Thumb for Strong Parameters by Pat Shaughnessy
Concurrent Ruby
Appraisal
Support The Bike Shed

Mar 2, 2016 • 42min
54: Argument Error
Derek shares some Elixir annoyances with Sean and they discus how a consulting role colors their perception of languages and frameworks, both for better and for worse. Sean provides an update on SQLite and Association support in Diesel.
GoodTImes, Timex, and Ecto.DateTime
When should you use DateTime and when should you use Time by Andrew White
Twitter conversation with Brandon Hikert
Postgres RETURNING
Preloading in Ecto
User Focused Design in Elm by Evan Czaplicki
Getting Started with Diesel
Rust API Evolution
Support The Bike Shed

Feb 24, 2016 • 43min
53: Cache Machine
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 time to cache and at what level?
The Road to 2 Million Websocket Connections in Phoenix by Gary Rennie
Toxic Synovitis
Memoization is a Liability by Henrik Nyh
Use a leading underscore for memoization
Two Hard Things in Computer Science
Rails SQL Cache
Low-Level Caching (Rails.cache.fetch)
Association counter_cache
Fragment Caching
Introduction to Conditional HTTP Caching With Rails by Damian Galarza
A Guide to Caching Your Rails Application with Fastly by Jessie Young
Caching Tutorial for Web Authors and Webmasters by Mark Nottingham
Web Fundamentals: HTTP Caching
Support The Bike Shed

Feb 17, 2016 • 47min
52: You're an Elixir Developer Now
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
Routes in Phoenix
Using ctags with Elixir
Static Assets in Phoenix
ja_serializers
ecto
Is There a JSON Schema describing JSON API?
Elixir 1.2 Map and MapSet scale better
ExMachina - factories for Elixir
Elixir Typespecs and Behaviours
Support The Bike Shed

Feb 10, 2016 • 44min
51: Is Sim City Running? (Steve Klabnik)
We enjoy a wide-ranging discussion with Steve Klabnik on the importance of good documentation, the sometimes cloudy definition of a breaking change, the politics of open source contributions, and work/life balance or boundaries.
Steve Klabnik - twitter, website, blog
Let’s Talk About Ecosystem Documentation
SimCity Mode in Windows 3.1 from Joel Spolsky
Rescuing Resque… Again
Netrunner
IntermezzOS
Writing an OS in Rust by Philipp Oppermann
Bors - an automated integrator for GitHub
High Five - a bot that encourages good contributions
Support The Bike Shed

Feb 3, 2016 • 29min
50: Open Mic
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 time on lately.
Matt Sumner
Hunchpig Podcast
Haskell Programming
The Lambda Calculus
Learn You a Haskell for Great Good
Is Everyone Trying Their Best? - The Bike Shed on software quality
Cole Townsend
Velocity JS
Cole on Dribbble
The Buffalo Bills` Playoff Drought - The longest current drought in sports
Joël Quenneville
Alter Ego
Elm
Elm's Time Traveling Debugger
Support The Bike Shed

Jan 27, 2016 • 35min
49: A More Practical Haskell
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, anyway.
What is the difference between traits in Rust and typeclasses in Haskell?
What is a pure function?
Why Rust Ditched Pure Functions
The ActiveRecord and DataMapper patterns (not libraries) as defined by Martin Fowler in Patterns of Enterprise Application Architecture
Zero-cost abstractions in Rust by Aaron Turon.
What should Diesel associations look like?
Iron and Nickel web frameworks for Rust.
Adapterizing storage for ActionCable - Thanks Jon Moss!
Moving ActionCable from Celluloid to ConcurrentRuby - Thanks Mike Perham!
Support The Bike Shed

Jan 21, 2016 • 35min
48: Is Everyone Trying Their Best?
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 "software engineering"
The Coq Proof Assistant
NASA's 10 rules for developing safety critical code
The differences between strong and static typing
"If it compiles it works"
Derek adds IS NULL to Diesel
"Quickcheck in Ruby"
Note: Shopify is fewer than 700 developers
Support The Bike Shed

Jan 13, 2016 • 54min
47: Star Wars Oranges
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 discussion of Star Wars: The Force Awakens
Star Wars Fruit
What is Kerberos?
Safe navigation operator (AKA the lonely operator) by Georgi Mitrev
ActiveSupport’s #try might not be doing what you think it’s doing by Avdi Grimm
The history of try in Rails a comment from Myron Marston
In Ruby, &method Passes You!
Hash#dig
Hash Comparison in Ruby 2.3 by Olivier Lacan
did_you_mean by Yuki Nishijima.
Immutable Strings in Ruby 2.3 by Alexis Mas
Multiline strings in Ruby 2.3 - the squiggly heredoc by Damir Svrtan
Support The Bike Shed