

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

Jan 16, 2015 • 42min
6: Shh! Library Under Maintenance
Sean and Derek discuss thoughtful deprecations, backwards compatibility, and other joys of library maintenance.
Trailblazer
Clearance
Ember 2.0 - Stability without Stagnation
Ruby 2.2 on Rails 3.2. Now merged, but unreleased.
The original removal of ARel type casting
Narrowing the scope - a less impactful ARel deprecation
Rails changes to accompany the ARel API changes.
An example of an issue these refactorings solve.
Support The Bike Shed

Dec 31, 2014 • 39min
5: Rails is Not Your Architecture
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 and rewards of learning new programming languages.
Rails Does Not Define Your Application Architecture
What the hell is a service object?
Fuzzy file finding with ctrl-p
Query Objects
Uncle Bob's Clean Architecture
Form Objects
Scala Play forms
Haskell Yesod Forms
But Pointfree Has More Points!
Support The Bike Shed

Dec 12, 2014 • 38min
4: Put Everything on the Front End
Derek and Sean discuss hunting Rails performance regressions and techniques for improving performance in your web applications.
Speeding Up Rails 4.2
StackProf
Flame Graphs
5 Reasons to Use Protocol Buffers Instead of JSON For Your Next Service
Key Frames
Binary Search Algorithm
Writing Fast Ruby from Erik Micahels-Ober
The select and pluck methods
Fragment Caching
Exposing CSRF token refresh in the jQuery UJS public API.
Postgres Explain Plans
Implementing Multi-Table Full Text Search with Postgres in Rails
Creating database views in Rails with Scenic
Tweet us @_bikeshed or send us email
Support The Bike Shed

Nov 28, 2014 • 26min
3: Flipping the Script
Sean and Derek take a fresh look at the tradeoffs in writing CoffeeScript and whether we should be using an ES6 transpiler instead.
destructiring assignment in JavaScript
function currying in CoffeeScript
The existential operator in CoffeeScript
Stockholm syndrome
CoffeeScript writes better JavaScript than you
ES5 Compatibility Chart: When can I use map, reduce and forEach?
Underscore.js removes fallbacks to native ES5 array functions
Safari's LLVM-optimized FTL JIT Compiler
ES6 Transpilers traceur and ESNext
ES6 Features
A plethora of JavaScript build tools
ES5 strict mode
Sprockets road map for source maps support
Support The Bike Shed

Nov 17, 2014 • 36min
2: Rails 4.2
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 to raise a clarification on one of Sandi's rules discussed in episode #1.
Ernie Miller's RailsConf Talk
The Rails 4.2 release notes.
Sean's work on the attributes API.
Aaron Patterson explains Adequate Record
Aaron Patterson discusses adequate record, rails, and other topics on Giant Robots #100.
Active Job
Global Id
Web Console
Foreigner and Immigrant are a good foreign key combination today with Foreigner subsumed by 4.2.
transform_values
Responders
Derek's unDRY Rails Commit.
Thanks to Rachel Cope and Reda Lemeden for our great artwork.
Support The Bike Shed

Oct 31, 2014 • 28min
1: Sandi & Derek's Rules
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 Rogues, episode #87, where Sandi tells us the rules at 1 hour, 18 minutes, 27 seconds in.
Practical Object Oriented Design in Ruby, or POODR, is an excellent book you should all check out.
God classes
thoughtbot's Ruby style guidelines wherein we disavow ternary operators and conditional modifiers.
The facade pattern
Guard clause
Ruby's method_added method.
Support The Bike Shed