

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 6, 2016 • 34min
46: Don't Breathe, Save the Planet
We discuss the maintenance burden of ActionCable and its dependencies on Rails 5, follow-up on Scenic issues, and discuss implementing migrations anew in Diesel.
Don't Breathe
DHH on The Bike Shed
DHH's ActionCable Demo
Fixing Scenic view dumping
Updatable materialized views in Scenic
A first pass at Diesel migrations
Teachable moments
Support The Bike Shed

Dec 23, 2015 • 48min
45: I Think I'd Prefer An Error to Nonsense
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 breaking changes in a library should be and look at some specific changes on tap for Scenic and whether they will or should carry a major version bump.
Scenic
Semantic Versioning - See points 4 and 5
Implementing Multi-Table Full Text Search with Postgres in Rails
Issue handling view dependencies in Scenic migrations and a potential partial solution
The trouble with SELECT * in Postgres views
Appraisal
Scenic smoke tests
Support The Bike Shed

Dec 17, 2015 • 47min
44: It Won't Crash... It Might Crash
Sean has shipped early versions of Diesel, an ORM for Rust! We discuss its semantic versioning, the ergonomics of use versus the complexities of implementation, early issues with the API and the road to Diesel 1.0.
Diesel
Semantic Versioning
SemVer for Library Maintainers by Richard Schneeman
Rust RFC 1122 - Language SemVer
Lobsters
API hole in diesel updates
Implementing IS NULL and IS NOT NULL for Diesel
Diesel issue for migrations
Crates.io PR for using Database behavior
Support The Bike Shed

Dec 9, 2015 • 51min
43: That's DOCTOR Internet Technologist
We talk about lessons learned from teachable moments both in the moment and decades later.
Teachable moment
Safe Operations for High Volume PostgreSQL by Paul Gross
How to Create Postgres Indexes Concurrently in ActiveRecord Migrations by Dan Croak
PostgreSQL COPY FROM
Guarding against truncating the production database in Suspenders
Have Some (Referential) Integrity with Foreign Keys
"Inheritance is not for sharing code" tweet from Sarah Mei
"Inheritance is for specialization, not for sharing code" from Sandi Metz' "Nothing is Something" talk at RailsConf
Let's Not by Joe Ferris
Mystery Guest by Dan Croak
A modem pool
Diesel née YAQB
Support The Bike Shed

Dec 2, 2015 • 38min
42: That's Incredibly Ambitious (Grayson Wright)
We speak to Grayson Wright about building Administrate, an open source Rails framework for administrative interfaces. What makes Administrate different than existing solutions and what are the challenges in maintaining high-level dependencies.
Announcing Administrate
Administrate on GitHub
Administrate Demo
Bourbon and Neat
Responsive tables
Spree
Keep A Changelog
Clearance's NEWS file
Code For America
Grayson on Twitter
Support The Bike Shed

Nov 25, 2015 • 35min
41: Ugh, I Have to Write Web Apps in This Thing
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 1.
The Elixir Programming Language
Phoenix Web Framework
Announcing Ex Machina
ex_machina on Github
touches are now batched in Rails 5
Basecamp 3 Source Code
Bullet and Rack MiniProfiler
Railing About Performance with Sam Saffron
A Client Project, Two Years Later
Derek at a Coworking Space
Support The Bike Shed

Nov 18, 2015 • 34min
40: ActiveRecord Deprecated Persistence
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 solution?
40
Prevent Information leaking In Rails
Different ways to update in Rails
The Perils of Uniqueness Validations
disable with is default in Rails 5
The Bike Shed #11: Forming Opinions
Support The Bike Shed

Nov 11, 2015 • 1h 7min
39: Okay with Instability (Yehuda Katz)
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 intuition leads us astray on web performance.
Remove The Stress, Pick a Deadline
Writing Software by DHH
Skylight
The Log Normal Reality - On how our statistical intuition leads us astray.
Yehuda on Twitter
Support The Bike Shed

Nov 3, 2015 • 41min
38: Ugh, Forms
Laila and Derek discuss how they have handled forms with complex validation requirements and how to make these forms have a smooth user experience.
HTML Form Validations
HTML5 Validation Browser Support
Parsely JS
Client Side Validations
SimpleForm
7 Ways Form Accessibility Can Boost Conversions
Support The Bike Shed

Oct 29, 2015 • 44min
37: The Web is Faster Without Garbage
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 fills us in on how dirty checking works in ActiveRecord and how he's making it faster and better in Rails 5.
Sean and his wife in a hot air balloon
iOS 9 Content Blockers
The Cost of Mobile Ads on 50 News Websites
Do No Track HTTP Header
ActiveModel Dirty API
ActiveRecord Dirty
Support The Bike Shed