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.
506: The Muppet Software Team
It’s time to play the music, it’s time to… get Aji and Sally together again. This week’s episode is a radical one, and a listener suggestion no less; let’s Muppet-cast a software development team!
Who would you hire as the content designer? Which of the Muppets would do their best work as the QA? And the most important question of all - which role would be played by the human?!
—
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
Don't forget you can now also watch episodes of The Bike Shed over on YouTube!
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
506: The Muppet Software Team
The Bike Shed • 1 minute
It’s time to play the music, it’s time to… get Aji and Sally together again. This week’s episode is a radical one, and a listener suggestion no less; let’s Muppet-cast a software development team!
Who would you hire as the content designer? Which of the Muppets would do their best work as the QA? And the most important question of all - which role would be played by the human?!
—
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
Don't forget you can now also watch episodes of The Bike Shed over on YouTube!
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
505: What is a “principal” or “staff” engineer?
Sally and Joël join forces to discuss the different ways to interpret the role of a ‘principle’ or ‘staff’ engineer, and the handwaving around what those titles mean in terms of the gradation.
Whilst Joël dives into career progression within the industry, what a staff engineer does and the different archetypes within it, Sally talks about the importance of having principle engineers in the room during AI discussions, and her previous positive experiences working with principle engineers.
—
Joel used the Staff Archetypes page from staffeng.com during this episode’s discussion.
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
Don't forget you can now watch every episode of The Bike Shed over on YouTube!
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
505: What is a “principal” or “staff” engineer?
The Bike Shed • less than a minute
Sally and Joël join forces to discuss the different ways to interpret the role of a ‘principle’ or ‘staff’ engineer, and the handwaving around what those titles mean in terms of the gradation.
Whilst Joël dives into career progression within the industry, what a staff engineer does and the different archetypes within it, Sally talks about the importance of having principle engineers in the room during AI discussions, and her previous positive experiences working with principle engineers.
—
Joel used the Staff Archetypes page from staffeng.com during this episode’s discussion.
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
Don't forget you can now watch every episode of The Bike Shed over on YouTube!
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
504: AI Ethics (with guests!)
Aji is joined by thoughtbot’s own Tess Griffin and Jimmy Thigpen, two members of the recently established AI Ethics Taskforce, to talk about what kind of conversations are going on in the company around AI.
With AI becoming an omnipresent entity in the industry, Tess and Jimmy take a deep dive into how and why the taskforce got started, figuring out what thoughtbot’s stance is around AI in terms of ethics and workflows, and how it relates to their clients.
—
As mentioned in the episode:
Blastoff Rails June 11 - 12, 2026 (past) Albuquerque, New Mexico
Freddy discovers America during the World Cup
Your guests for this episode have been Tess Griffin and Jimmy Thigpen and your host was thoughtbot’s own Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
504: AI Ethics (with guests!)
The Bike Shed • less than a minute
Aji is joined by thoughtbot’s own Tess Griffin and Jimmy Thigpen, two members of the recently established AI Ethics Taskforce, to talk about what kind of conversations are going on in the company around AI.
With AI becoming an omnipresent entity in the industry, Tess and Jimmy take a deep dive into how and why the taskforce got started, figuring out what thoughtbot’s stance is around AI in terms of ethics and workflows, and how it relates to their clients.
—
As mentioned in the episode:
Blastoff Rails June 11 - 12, 2026 (past) Albuquerque, New Mexico
Freddy discovers America during the World Cup
Your guests for this episode have been Tess Griffin and Jimmy Thigpen and your host was thoughtbot’s own Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
503: Seeing the Graph for the Trees
Aji and Joël join forces to discuss graph and tree structures, and their connection to the emergent properties, attributes and qualities you can find from a largely connected group of data.
Joël dives into their recent graphs and tree work through a contracting system, whilst Aji looks back at when he previously tried to serialise a graph or tree to a database.
—
Watch Joël’s Blue Ridge Ruby talk here, or Matheus’ Ruby Internal talk from last year here.
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
503: Seeing the Graph for the Trees
The Bike Shed • less than a minute
Aji and Joël join forces to discuss graph and tree structures, and their connection to the emergent properties, attributes and qualities you can find from a largely connected group of data.
Joël dives into their recent graphs and tree work through a contracting system, whilst Aji looks back at when he previously tried to serialise a graph or tree to a database.
—
Watch Joël’s Blue Ridge Ruby talk here, or Matheus’ Ruby Internal talk from last year here.
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
502: Apps That Make Our Work Go
Aji and Sally are back together again, this time to discuss the different apps they use to make their workflows and To Do lists easier and quicker to achieve.
Sally dives into the Notion calendar system which she uses to coordinate her many Google calendars, Aji looks back on using Jira to co-ordinate their international move, before they both reminisce about the benefits of using Alfred as people with ADHD.
—
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
502: Apps That Make Our Work Go
The Bike Shed • 1 minute
Aji and Sally are back together again, this time to discuss the different apps they use to make their workflows and To Do lists easier and quicker to achieve.
Sally dives into the Notion calendar system which she uses to coordinate her many Google calendars, Aji looks back on using Jira to co-ordinate their international move, before they both reminisce about the benefits of using Alfred as people with ADHD.
—
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
501: What makes for good technical writing?
Sally and Joël get technical as they lay out their thoughts on blog posts.
Our hosts pick apart what makes a good technical blog post, why consistent terms are more important than you might think when communicating with your audience, and how to improve your own writing to ensure your reader remains engaged.
—
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
501: What makes for good technical writing?
The Bike Shed • less than a minute
Sally and Joël get technical as they lay out their thoughts on blog posts.
Our hosts pick apart what makes a good technical blog post, why consistent terms are more important than you might think when communicating with your audience, and how to improve your own writing to ensure your reader remains engaged.
—
There’s still time to secure your place at thoughtbot’s upcoming UK meet ups over the next month.
London Tech Leader Meetup - Tuesday June 23rd
Brighton Tech Leader Meetup - Wednesday June 24th
Brighton Ruby - Thursday June 25th
Evolve - Friday June 26th
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
500: Celebrating with past hosts
The Bike Shed celebrates its 500th episode with hosts new and old as they reflect on the show’s history and ask, what’s new in your world?
Our past hosts look back at their time on the show, their favourite moments while hosting, what they took away from producing the Bike Shed, and what they might do today if they were still in the hosting chair.
—
Your hosts for this special episode of The Bike Shed have been Joël Quenneville, Sally Hall and Aji Slater. Joining them have been our returning hosts Derek Prior, Sage Griffin, Stephanie Viccari, Chris Toomey and Stephanie Minn.
Listen back to some of our guest’s highlighted episodes
Bike Shed 14: An Acceptable Level of Hassle with David Heinemeier Hanson
Bike Shed 172: What I Believe About Software
Bike Shed 180: A Citizen of the Internet with John Resig
Bike Shed 302: Observability with Charity Majors
Bike Shed 325: Pranting
Bike Shed 404: Estimation
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
500: Celebrating with past hosts
The Bike Shed • less than a minute
The Bike Shed celebrates its 500th episode with hosts new and old as they reflect on the show’s history and ask, what’s new in your world?
Our past hosts look back at their time on the show, their favourite moments while hosting, what they took away from producing the Bike Shed, and what they might do today if they were still in the hosting chair.
—
Your hosts for this special episode of The Bike Shed have been Joël Quenneville, Sally Hall and Aji Slater. Joining them have been our returning hosts Derek Prior, Sage Griffin, Stephanie Viccari, Chris Toomey and Stephanie Minn.
Listen back to some of our guest’s highlighted episodes
Bike Shed 14: An Acceptable Level of Hassle with David Heinemeier Hanson
Bike Shed 172: What I Believe About Software
Bike Shed 180: A Citizen of the Internet with John Resig
Bike Shed 302: Observability with Charity Majors
Bike Shed 325: Pranting
Bike Shed 404: Estimation
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
BikeTube ShedTacular!
Take a trip through Joël and Aji’s YouTube recommended list as they go over the media that has inspired their work the most over the course of their careers.
Our hosts highlight different creators that feature regularly in their YouTube rotation, the long standing channels that have had the most impact on them, the video essays that inspire their work, as well as a small detour Into the world of history videos.
—
Here’s a handful of Joël and Ali’s personal recommendations:
VSauce - Veritasium - Jet Lag the Game - The Coding Train - Tom Scott - Kings and Generals - Daniel Steiner - Assassin’s Creed: Echoes of History - Jay Foreman / Map Men - Practical Engineering - Hannah Morris - Computerphile
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
BikeTube ShedTacular!
The Bike Shed • 1 minute
Take a trip through Joël and Aji’s YouTube recommended list as they go over the media that has inspired their work the most over the course of their careers.
Our hosts highlight different creators that feature regularly in their YouTube rotation, the long standing channels that have had the most impact on them, the video essays that inspire their work, as well as a small detour Into the world of history videos.
—
Here’s a handful of Joël and Ali’s personal recommendations:
VSauce - Veritasium - Jet Lag the Game - The Coding Train - Tom Scott - Kings and Generals - Daniel Steiner - Assassin’s Creed: Echoes of History - Jay Foreman / Map Men - Practical Engineering - Hannah Morris - Computerphile
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
499: BikeTube ShedTacular!
Take a trip through Joël and Aji’s YouTube recommended list as they go over the media that has inspired their work the most over the course of their careers.
Our hosts highlight different creators that feature regularly in their YouTube rotation, the long standing channels that have had the most impact on them, the video essays that inspire their work, as well as a small detour Into the world of history videos.
—
Here’s a handful of Joël and Ali’s personal recommendations:
VSauce - Veritasium - Jet Lag the Game - The Coding Train - Tom Scott - Kings and Generals - Daniel Steiner - Assassin’s Creed: Echoes of History - Jay Foreman / Map Men - Practical Engineering - Hannah Morris - Computerphile
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
499: BikeTube ShedTacular!
The Bike Shed • 1 minute
Take a trip through Joël and Aji’s YouTube recommended list as they go over the media that has inspired their work the most over the course of their careers.
Our hosts highlight different creators that feature regularly in their YouTube rotation, the long standing channels that have had the most impact on them, the video essays that inspire their work, as well as a small detour Into the world of history videos.
—
Here’s a handful of Joël and Ali’s personal recommendations:
VSauce - Veritasium - Jet Lag the Game - The Coding Train - Tom Scott - Kings and Generals - Daniel Steiner - Assassin’s Creed: Echoes of History - Jay Foreman / Map Men - Practical Engineering - Hannah Morris - Computerphile
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
498: Season 2 Recap
Our hosts come together to wrap up season 2 and share some of their highlights along the way.
Our trio expand and recap on some key topics covered over the last few months, Sally and Joël provide updates on their work with typescripts and LLMs, and Aji accidentally stumbles into an idea for a new keynote topic.
—
Your hosts for this episode have been thoughtbot’s own Joël Quenneville, Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
498: Season 2 Recap
The Bike Shed • less than a minute
Our hosts come together to wrap up season 2 and share some of their highlights along the way.
Our trio expand and recap on some key topics covered over the last few months, Sally and Joël provide updates on their work with typescripts and LLMs, and Aji accidentally stumbles into an idea for a new keynote topic.
—
Your hosts for this episode have been thoughtbot’s own Joël Quenneville, Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
497: Diagrams we love
Aji and Joël get into a flow as they discuss the different diagrams that help guide their thought processes when working.
Together they compare their go to diagrams and why they find them so useful, the different analysis tools a diagram can offer and the alternative perspective on your work it provides, as well as how using diagrams can help communicate your mental models more effectively with your colleagues.
—
Be sure to check out these resources on diagrams and conditionals for some wider reading on today’s episode - BeautifulMermaid Repo - Visualising RSepc - Structuring Conditionals
You can also find our hosts speaking at various conferences over the next few months - Haggis Ruby - Blue Ridge Ruby
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
497: Diagrams we love
The Bike Shed • 1 minute
Aji and Joël get into a flow as they discuss the different diagrams that help guide their thought processes when working.
Together they compare their go to diagrams and why they find them so useful, the different analysis tools a diagram can offer and the alternative perspective on your work it provides, as well as how using diagrams can help communicate your mental models more effectively with your colleagues.
—
Be sure to check out these resources on diagrams and conditionals for some wider reading on today’s episode - BeautifulMermaid Repo - Visualising RSepc - Structuring Conditionals
You can also find our hosts speaking at various conferences over the next few months - Haggis Ruby - Blue Ridge Ruby
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
496: Test suite performance
Joël and Sally cover all the bases as they look at improving their test suite performances times.
Our hosts lay out some spicy takes on various different test suites, comparing the key differences across the different forms of testing, where you might encounter pitfalls in each method, and how to make the most of each test.
—
Interested in exploring different test suites to see if they could improve your projects? Check out these articles on everything our hosts discussed today, as well as Joël’s talk on slow tests.
Avoiding Factory Bot - Why Factories? - Parallelisation in Testing - Joël’s Talk
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
496: Test suite performance
The Bike Shed • 1 minute
Joël and Sally cover all the bases as they look at improving their test suite performances times.
Our hosts lay out some spicy takes on various different test suites, comparing the key differences across the different forms of testing, where you might encounter pitfalls in each method, and how to make the most of each test.
—
Interested in exploring different test suites to see if they could improve your projects? Check out these articles on everything our hosts discussed today, as well as Joël’s talk on slow tests.
Avoiding Factory Bot - Why Factories? - Parallelisation in Testing - Joël’s Talk
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
495: A shortcut to years of experience
Sally and Aji flick through thoughtbot’s guide to best practices in a bid to brush up on their coding habits.
Our hosts discuss key ideas from the guides that stand out to them the most, why they’re considered to be good practice, as well as reviewing the cons of complex writing and the benefits of simple coding.
—
Be sure to check out Sally’s new repo Michel if you’re looking to create an appointment database, and check out the thoughtbot guides for more general coding advice.
If you’ve got some spare time and want to hear Aji’s talk on breaking the enigma code you can watch that here.
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
495: A shortcut to years of experience
The Bike Shed • less than a minute
Sally and Aji flick through thoughtbot’s guide to best practices in a bid to brush up on their coding habits.
Our hosts discuss key ideas from the guides that stand out to them the most, why they’re considered to be good practice, as well as reviewing the cons of complex writing and the benefits of simple coding.
—
Be sure to check out Sally’s new repo Michel if you’re looking to create an appointment database, and check out the thoughtbot guides for more general coding advice.
If you’ve got some spare time and want to hear Aji’s talk on breaking the enigma code you can watch that here.
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
494: Primitive Obsession
Joël and Sally examine the simpler components of programming and why using basic data structures may not always be the best approach to solving a problem.
Our hosts cover all the telltale signs and symptoms of primitive obsession, what it is, it’s drawbacks and limitations, and how to avoid it creeping into your own work.
—
Want to learn more about primitive obsession and readability in programming? Check out these links for some wider reading, including a talk from Joël! - Design Patterns and Null - thoughtbot blog on primitive obsession - Define User
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
494: Primitive Obsession
The Bike Shed • 1 minute
Joël and Sally examine the simpler components of programming and why using basic data structures may not always be the best approach to solving a problem.
Our hosts cover all the telltale signs and symptoms of primitive obsession, what it is, it’s drawbacks and limitations, and how to avoid it creeping into your own work.
—
Want to learn more about primitive obsession and readability in programming? Check out these links for some wider reading, including a talk from Joël! - Design Patterns and Null - thoughtbot blog on primitive obsession - Define User
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Sally Hall.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
493: Suspenders with Steve Polito
Joël talks with guest thoughtbotter Steve Polito about his recent work rewriting Suspenders, an old thoughtbot gem from the 2000s.
Steve discusses his role on the rewrite and the steps he took in optimising it for modern rails, Joël dives into some of the new features found in the gem, before discussing with Steve the use cases for Suspenders and why you might choose it over other rails starter apps.
—
Want to learn more about our gem Suspenders? Check out some of these links to get yourself up to speed and try it for yourself.
Suspenders Gem - Suspenders Feature List - thoughtbot’s guide for programming
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Steve Polito.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
493: Suspenders with Steve Polito
The Bike Shed • 1 minute
Joël talks with guest thoughtbotter Steve Polito about his recent work rewriting Suspenders, an old thoughtbot gem from the 2000s.
Steve discusses his role on the rewrite and the steps he took in optimising it for modern rails, Joël dives into some of the new features found in the gem, before discussing with Steve the use cases for Suspenders and why you might choose it over other rails starter apps.
—
Want to learn more about our gem Suspenders? Check out some of these links to get yourself up to speed and try it for yourself.
Suspenders Gem - Suspenders Feature List - thoughtbot’s guide for programming
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Steve Polito.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
492: Defining value within your team
Sally and Aji assess some common metrics for success when working a project and how they may not always provide the clearest picture of how things are going.
Together they discuss how to communicate effectively with stakeholders who are less technical to fully appreciate certain decisions and choices being made on a project, as well as the different metrics you can use to better reflect success and setbacks on a project.
—
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
492: Defining value within your team
The Bike Shed • 1 minute
Sally and Aji assess some common metrics for success when working a project and how they may not always provide the clearest picture of how things are going.
Together they discuss how to communicate effectively with stakeholders who are less technical to fully appreciate certain decisions and choices being made on a project, as well as the different metrics you can use to better reflect success and setbacks on a project.
—
Your hosts for this episode have been thoughtbot’s own Sally Hall and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
491: Influences that shaped our thinking
Joël and Aji reference their personal bibliographies as they compare the different influences that have shaped their programmer world view.
Our hosts discuss their most influential programming material, from books, talks and video, and how it’s impacted the way they write code, Joël hones in on the importance of confidence and dealing with uncertainty of objects in a project, while Aji dips into his knowledge of RailConf talks to find his biggest inspiration.
—
Take a leaf out of our hosts book and discover some of the material that influenced them and their work for yourself - POODR - Confident Ruby - RailsConf 2014 Talk - Take Smart Notes - Working Effectively with Legacy Code
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
491: Influences that shaped our thinking
The Bike Shed • less than a minute
Joël and Aji reference their personal bibliographies as they compare the different influences that have shaped their programmer world view.
Our hosts discuss their most influential programming material, from books, talks and video, and how it’s impacted the way they write code, Joël hones in on the importance of confidence and dealing with uncertainty of objects in a project, while Aji dips into his knowledge of RailConf talks to find his biggest inspiration.
—
Take a leaf out of our hosts book and discover some of the material that influenced them and their work for yourself - POODR - Confident Ruby - RailsConf 2014 Talk - Take Smart Notes - Working Effectively with Legacy Code
Your hosts for this episode have been thoughtbot’s own Joël Quenneville and Aji Slater.
If you would like to support the show, head over to our GitHub page, or check out our website.
Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm
This has been a thoughtbot podcast.
Stay up to date by following us on social media - YouTube - LinkedIn - Mastodon - BlueSky
© 2026 thoughtbot, inc.
490: Large Language Misadventure
490: Large Language Misadventure
The Bike Shed • less than a minute
489: What makes a codebase welcoming
489: What makes a codebase welcoming
The Bike Shed • less than a minute
488: The Playful Portland Programming Paradigm
488: The Playful Portland Programming Paradigm
The Bike Shed • 1 minute
487: ActiveModel custom attributes
487: ActiveModel custom attributes
The Bike Shed • less than a minute
486: ActiveModel Everywhere
486: ActiveModel Everywhere
The Bike Shed • less than a minute
485: HTTP Basic Auth
485: HTTP Basic Auth
The Bike Shed • 1 minute
484: The Season 1 Recap
484: The Season 1 Recap
The Bike Shed • less than a minute
483: Comparing notes on note-taking
483: Comparing notes on note-taking
The Bike Shed • 1 minute
482: Labels for our job
482: Labels for our job
The Bike Shed • 1 minute
481: Dev Horror Stories
481: Dev Horror Stories
The Bike Shed • less than a minute
480: The President's Doctor with Jared Turner
480: The President's Doctor with Jared Turner
The Bike Shed • less than a minute
479: Hardly Strictly Remotely In-Person
479: Hardly Strictly Remotely In-Person
The Bike Shed • 1 minute
478: ADHD at work
478: ADHD at work
The Bike Shed • 1 minute
477: Change Management
477: Change Management
The Bike Shed • less than a minute
476: Green Flags for Code
476: Green Flags for Code
The Bike Shed • 1 minute
475: Invisible Mentorship
475: Invisible Mentorship
The Bike Shed • less than a minute
474: Board games and programming
474: Board games and programming
The Bike Shed • less than a minute
473: Mental models for browsers
473: Mental models for browsers
The Bike Shed • less than a minute
472: What is the skill in software development?
472: What is the skill in software development?
The Bike Shed • less than a minute
471: New Hosts Join the Show
471: New Hosts Join the Show
The Bike Shed • less than a minute
470: All about queues with Adam McCrea
470: All about queues with Adam McCrea
The Bike Shed • less than a minute
469: How are we using AI? with Jimmy Thigpen
469: How are we using AI? with Jimmy Thigpen
The Bike Shed • 1 minute
468: RailsConf Recap with Tess Griffin
468: RailsConf Recap with Tess Griffin
The Bike Shed • 1 minute
467: How to get the most out of attending a conference with Matheus Richard
467: How to get the most out of attending a conference with Matheus Richard
The Bike Shed • less than a minute
466: All about keynotes with Aji Slater
466: All about keynotes with Aji Slater
The Bike Shed • 1 minute
465: What is quality software with Elaina Natario
465: What is quality software with Elaina Natario
The Bike Shed • 1 minute
464: Modelling the stars with Rémy Hannequin
464: Modelling the stars with Rémy Hannequin
The Bike Shed • 1 minute
463: All about modals with Elaina Natario
463: All about modals with Elaina Natario
The Bike Shed • 1 minute
462: Decomposition as a key developer skill with Steve Polito
462: Decomposition as a key developer skill with Steve Polito
The Bike Shed • less than a minute
461: Writing new vs existing code with Sara Jackson
461: Writing new vs existing code with Sara Jackson
The Bike Shed • less than a minute
460: Programer Productivity with Valerie Burzynski
460: Programer Productivity with Valerie Burzynski
The Bike Shed • less than a minute
459: Paper Data Structures with Sally Hall
459: Paper Data Structures with Sally Hall
The Bike Shed • less than a minute
458: Learning Typescript with Aji Slater
458: Learning Typescript with Aji Slater
The Bike Shed • 1 minute
457: Time Zones with Sally Hall
457: Time Zones with Sally Hall
The Bike Shed • less than a minute
456: Typescript with Jimmy Thigpen
456: Typescript with Jimmy Thigpen
The Bike Shed • less than a minute
455: Noisy Animals Kata with Fritz Meissner
455: Noisy Animals Kata with Fritz Meissner
The Bike Shed • less than a minute
454: Workshop design with Aji Slater
454: Workshop design with Aji Slater
The Bike Shed • 1 minute
453: The Bike Shed Wrapped 2024
453: The Bike Shed Wrapped 2024
The Bike Shed • 1 minute
452: Hotwire Essentials with Steve Polito
452: Hotwire Essentials with Steve Polito
The Bike Shed • 1 minute
451: Making Time for and Managing Focus
451: Making Time for and Managing Focus
The Bike Shed • less than a minute
450: Javascript-Driven Development?
450: Javascript-Driven Development?
The Bike Shed • 1 minute
449: Evergreen skills for new-ish developers
449: Evergreen skills for new-ish developers
The Bike Shed • 1 minute
448: Other Uses for Tests
448: Other Uses for Tests
The Bike Shed • 1 minute
447: How to (not) implement impersonation
447: How to (not) implement impersonation
The Bike Shed • 1 minute
446: All about rewrites
446: All about rewrites
The Bike Shed • 1 minute
445: Working Iteratively
445: Working Iteratively
The Bike Shed • less than a minute
444: From Solutions To Patterns
444: From Solutions To Patterns
The Bike Shed • 1 minute
443: Rails World and Open Source with Stefanni Brasil
443: Rails World and Open Source with Stefanni Brasil
The Bike Shed • less than a minute
442: Paradigms - What is a Program?
442: Paradigms - What is a Program?
The Bike Shed • less than a minute
441: The Pickaxe Book with Noel Rappin
441: The Pickaxe Book with Noel Rappin
The Bike Shed • 1 minute
440: When we stray from Rails defaults
440: When we stray from Rails defaults
The Bike Shed • 1 minute
439: Async Ruby & Rails with Trevor Turk
439: Async Ruby & Rails with Trevor Turk
The Bike Shed • less than a minute
438: Writing abstractions in tests
438: Writing abstractions in tests
The Bike Shed • less than a minute
437: Contributing to Open Source in the Midst of Daily Work with Steve Polito
437: Contributing to Open Source in the Midst of Daily Work with Steve Polito
The Bike Shed • less than a minute
436: Creating Conditions For Your Best Work with Steph Viccari
436: Creating Conditions For Your Best Work with Steph Viccari
The Bike Shed • less than a minute
435: Cohesive Code with Jared Norman
435: Cohesive Code with Jared Norman
The Bike Shed • 1 minute
434: Git and GitHub Workflows
434: Git and GitHub Workflows
The Bike Shed • 1 minute
433: Riffing with Kasper Timm Hansen
433: Riffing with Kasper Timm Hansen
The Bike Shed • less than a minute
432: The Semantics and Meaning of Nil
432: The Semantics and Meaning of Nil
The Bike Shed • less than a minute
431: Developers Are Professional Question Askers
431: Developers Are Professional Question Askers
The Bike Shed • 1 minute
430: Test Suite Pain & Anti-Patterns
430: Test Suite Pain & Anti-Patterns
The Bike Shed • 1 minute
429: Transforming Experience Into Growth
429: Transforming Experience Into Growth
The Bike Shed • 1 minute
428: Ruminating on Ruby Enumerators
428: Ruminating on Ruby Enumerators
The Bike Shed • 1 minute
427: RailsConf Recap and Conversing About Coupling
427: RailsConf Recap and Conversing About Coupling
The Bike Shed • less than a minute
426: Bringing "Our Selves" to Work
426: Bringing "Our Selves" to Work
The Bike Shed • less than a minute
425: Modeling Associations in Rails
425: Modeling Associations in Rails
The Bike Shed • 1 minute
424: The Spectrum of Automated Processes for Your Dev Team
424: The Spectrum of Automated Processes for Your Dev Team
The Bike Shed • 1 minute
423: Cognitive Strategies for Coders
423: Cognitive Strategies for Coders
The Bike Shed • 1 minute
422: Listener Topics Grab Bag
422: Listener Topics Grab Bag
The Bike Shed • less than a minute
421: The Idealistic vs. Pragmatic Programmer
421: The Idealistic vs. Pragmatic Programmer
The Bike Shed • less than a minute
420: Test Database Woes
420: Test Database Woes
The Bike Shed • less than a minute
419: What's New in Your World? (Extended Edition)
419: What's New in Your World? (Extended Edition)
The Bike Shed • less than a minute
418: Mental Models For Reduce Functions
418: Mental Models For Reduce Functions
The Bike Shed • 1 minute
417: Module Docs
417: Module Docs
The Bike Shed • 1 minute
416: Multi-Dimensional Numbers
416: Multi-Dimensional Numbers
The Bike Shed • 1 minute
415: Codebase Calibration
415: Codebase Calibration
The Bike Shed • 1 minute
414: Spike Tasks
414: Spike Tasks
The Bike Shed • 1 minute
413: Developer Tales of Package Management
413: Developer Tales of Package Management
The Bike Shed • 1 minute
412: Vertical Slices
412: Vertical Slices
The Bike Shed • less than a minute
411: Celebrating and Recapping 2023!
411: Celebrating and Recapping 2023!
The Bike Shed • 1 minute
410: All About Documentation
410: All About Documentation
The Bike Shed • less than a minute
409: Support & Maintenance and Rotating Developers
409: Support & Maintenance and Rotating Developers
The Bike Shed • less than a minute
408: Work Device Management
408: Work Device Management
The Bike Shed • 1 minute
407: Tech Opinions Online with Edward Loveall
407: Tech Opinions Online with Edward Loveall
The Bike Shed • 1 minute
406: Working Solo
406: Working Solo
The Bike Shed • less than a minute
405: Retro: Sandi Metz Rules
405: Retro: Sandi Metz Rules
The Bike Shed • 1 minute
404: Estimation
404: Estimation
The Bike Shed • 1 minute
403: Productivity Tricks
403: Productivity Tricks
The Bike Shed • 1 minute
402: Musings on Mentorship
402: Musings on Mentorship
The Bike Shed • 1 minute
401: Making the Right Thing Easy
401: Making the Right Thing Easy
The Bike Shed • less than a minute
400: How To Search
400: How To Search
The Bike Shed • less than a minute
399: Scaling Code Ownership and Accountability
399: Scaling Code Ownership and Accountability
The Bike Shed • less than a minute
398: Developing Heuristics For Writing Software
398: Developing Heuristics For Writing Software
The Bike Shed • less than a minute
397: Dependency Graphs
397: Dependency Graphs
The Bike Shed • 1 minute
396: Build vs. Buy
396: Build vs. Buy
The Bike Shed • 1 minute
395: Human Connection in a Virtual (Work) World
395: Human Connection in a Virtual (Work) World
The Bike Shed • 1 minute
394: Submitting a Conference Talk Proposal from Start to Finish
394: Submitting a Conference Talk Proposal from Start to Finish
The Bike Shed • 1 minute
393: Is REST the Best? APIs and Domain Modeling
393: Is REST the Best? APIs and Domain Modeling
The Bike Shed • 1 minute
392: Managing Changing Business Requirements
392: Managing Changing Business Requirements
The Bike Shed • less than a minute
391: Learn with APPL
391: Learn with APPL
The Bike Shed • 1 minute
390: The Truth about Truthiness
390: The Truth about Truthiness
The Bike Shed • 1 minute
389: Review Season
389: Review Season
The Bike Shed • 1 minute
388: Empowering Other Departments Within a Company
388: Empowering Other Departments Within a Company
The Bike Shed • less than a minute
387: RubyKaigi 2023 with Mina Slater
387: RubyKaigi 2023 with Mina Slater
The Bike Shed • less than a minute
386: Value Objects Revisited: The `Tally` Edition
386: Value Objects Revisited: The `Tally` Edition
The Bike Shed • less than a minute
385: The Boring Parts of Tech
385: The Boring Parts of Tech
The Bike Shed • 1 minute
384: Not All Numbers Are Numbers
384: Not All Numbers Are Numbers
The Bike Shed • 1 minute
383: Code as Storytelling with Nicole Zhu
383: Code as Storytelling with Nicole Zhu
The Bike Shed • less than a minute
382: Domain-Specific Languages
382: Domain-Specific Languages
The Bike Shed • less than a minute
381: To TDD or Not to TDD?
381: To TDD or Not to TDD?
The Bike Shed • 1 minute
380: Remote Work Life
380: Remote Work Life
The Bike Shed • less than a minute
379: Feature Flags
379: Feature Flags
The Bike Shed • 1 minute
378: Leadership and Impact as an Individual Contributor
378: Leadership and Impact as an Individual Contributor
The Bike Shed • less than a minute
377: Error Handling
377: Error Handling
The Bike Shed • less than a minute
376: Success and Fulfillment
376: Success and Fulfillment
The Bike Shed • less than a minute
375: Deleting Code
375: Deleting Code
The Bike Shed • less than a minute
374: Discrete Math
374: Discrete Math
The Bike Shed • 1 minute
373: Empathy, Community and Gender Bias in Tech with Andrea Goulet
373: Empathy, Community and Gender Bias in Tech with Andrea Goulet
The Bike Shed • less than a minute
372: Onboarding (Well!) Onto a Project
372: Onboarding (Well!) Onto a Project
The Bike Shed • 1 minute
371: The "Fundamentals"
371: The "Fundamentals"
The Bike Shed • 1 minute
370: Creative Expression in Software Development
370: Creative Expression in Software Development
The Bike Shed • 1 minute
369: Most Impactful Articles of 2022
369: Most Impactful Articles of 2022
The Bike Shed • less than a minute
368: Sustainable Web Development
368: Sustainable Web Development
The Bike Shed • less than a minute
367: Value Objects
367: Value Objects
The Bike Shed • less than a minute
366: Componentization and Branching Strategies
366: Componentization and Branching Strategies
The Bike Shed • 1 minute
365: Career Progression
365: Career Progression
The Bike Shed • 1 minute
364: Constructive vs Predicative Data
364: Constructive vs Predicative Data
The Bike Shed • less than a minute
363: Deployments
363: Deployments
The Bike Shed • less than a minute
362: Prioritizing Learning
362: Prioritizing Learning
The Bike Shed • 1 minute
361: Working Incrementally
361: Working Incrementally
The Bike Shed • less than a minute
360: ActiveRecord Models
360: ActiveRecord Models
The Bike Shed • 1 minute
359: Serializers
359: Serializers
The Bike Shed • less than a minute
358: Class Methods
358: Class Methods
The Bike Shed • 1 minute
357: Notetaking For Developers
357: Notetaking For Developers
The Bike Shed • 1 minute
356: The Value of Specialized Vocabulary
356: The Value of Specialized Vocabulary
The Bike Shed • less than a minute
355: Test Performance
355: Test Performance
The Bike Shed • 1 minute
354: The History of Computing
354: The History of Computing
The Bike Shed • less than a minute
353: Mental Models
353: Mental Models
The Bike Shed • less than a minute
352: Case Expressions
352: Case Expressions
The Bike Shed • less than a minute
351: Learning in Public
351: Learning in Public
The Bike Shed • less than a minute
350: 21 Bell Salute
350: 21 Bell Salute
The Bike Shed • less than a minute
349: Unpopular Opinions
349: Unpopular Opinions
The Bike Shed • less than a minute
348: Breaking News
348: Breaking News
The Bike Shed • less than a minute
347: Tracking Velocity
347: Tracking Velocity
The Bike Shed • 1 minute
346: Occasional Biscuits
346: Occasional Biscuits
The Bike Shed • less than a minute
345: Fire Drill
345: Fire Drill
The Bike Shed • less than a minute
344: Spinner Armageddon
344: Spinner Armageddon
The Bike Shed • 1 minute
343: Opt-In To Oversharing
343: Opt-In To Oversharing
The Bike Shed • 1 minute
342: Sky Icing
342: Sky Icing
The Bike Shed • 1 minute
341: Fundamentals and Weird Stuff
341: Fundamentals and Weird Stuff
The Bike Shed • less than a minute
340: Solving People Problems with Rob Whittaker
340: Solving People Problems with Rob Whittaker
The Bike Shed • 1 minute
339: What About Pictures?
339: What About Pictures?
The Bike Shed • less than a minute
338: Meticulously Wrong
338: Meticulously Wrong
The Bike Shed • 1 minute
337: Oh, Henry
337: Oh, Henry
The Bike Shed • 1 minute
336: Million Dollar Password
336: Million Dollar Password
The Bike Shed • less than a minute
335: Start Messy
335: Start Messy
The Bike Shed • 1 minute
334: Name That Bike
334: Name That Bike
The Bike Shed • less than a minute
333: Tapas
333: Tapas
The Bike Shed • 1 minute
332: Ludicrous Speed
332: Ludicrous Speed
The Bike Shed • less than a minute
331: Git Down
331: Git Down
The Bike Shed • less than a minute
330: Bikeshed Baby
330: Bikeshed Baby
The Bike Shed • 1 minute
329: Fire Mode
329: Fire Mode
The Bike Shed • 1 minute
328: Terrible Simplicity
328: Terrible Simplicity
The Bike Shed • 1 minute
327: Estimate Crafting
327: Estimate Crafting
The Bike Shed • 1 minute
326: Dongle Life
326: Dongle Life
The Bike Shed • less than a minute
325: Pranting
325: Pranting
The Bike Shed • less than a minute
324: Coding Time!
324: Coding Time!
The Bike Shed • less than a minute
323: Doing Things
323: Doing Things
The Bike Shed • 1 minute
322: Toxic Traits
322: Toxic Traits
The Bike Shed • less than a minute
321: Leaving Breadcrumbs
321: Leaving Breadcrumbs
The Bike Shed • less than a minute
320: Remember The Fun: 2021 Recap
320: Remember The Fun: 2021 Recap
The Bike Shed • less than a minute
319: Wins & Losses
319: Wins & Losses
The Bike Shed • less than a minute
318: Successful Skills with Edward Loveall
318: Successful Skills with Edward Loveall
The Bike Shed • less than a minute
317: Burn The Ships!
317: Burn The Ships!
The Bike Shed • 1 minute
316: Constrain and Refactor
316: Constrain and Refactor
The Bike Shed • 1 minute
315: Emotions Are A Pendulum
315: Emotions Are A Pendulum
The Bike Shed • less than a minute
314: Communication, Testing, and Accountability
314: Communication, Testing, and Accountability
The Bike Shed • 1 minute
313: Forty-Seven Percent
313: Forty-Seven Percent
The Bike Shed • less than a minute
312: Spooky Stories
312: Spooky Stories
The Bike Shed • 1 minute
311: Marketing Matters
311: Marketing Matters
The Bike Shed • 1 minute
310: Schedule Shut Down, Complete
310: Schedule Shut Down, Complete
The Bike Shed • less than a minute
309: Naming the Change
309: Naming the Change
The Bike Shed • less than a minute
308: That’s Picante
308: That’s Picante
The Bike Shed • less than a minute
307: Walking Contradictions
307: Walking Contradictions
The Bike Shed • 1 minute
306: If You Want To Go Far, Go Together
306: If You Want To Go Far, Go Together
The Bike Shed • less than a minute
305: Burnout & Bugs
305: Burnout & Bugs
The Bike Shed • less than a minute
304: MEGA Crossover Episode (The Bike Shed x Rails with Jason x Remote Ruby x Ruby on Rails Podcast)
304: MEGA Crossover Episode (The Bike Shed x Rails with Jason x Remote Ruby x Ruby on Rails Podcast)
The Bike Shed • 1 minute
303: Dear Mr. Grumpy Goose
303: Dear Mr. Grumpy Goose
The Bike Shed • 1 minute
302: Observability with Charity Majors
302: Observability with Charity Majors
The Bike Shed • 1 minute
301: Ants in the Cookie Store
301: Ants in the Cookie Store
The Bike Shed • less than a minute
300: Mozzarella Sticks & Knowledge Silos
300: Mozzarella Sticks & Knowledge Silos
The Bike Shed • less than a minute
299: Is Agile Over?
299: Is Agile Over?
The Bike Shed • less than a minute
298: Jawsification
298: Jawsification
The Bike Shed • 1 minute
297: We’re Making A Pixar Movie!
297: We’re Making A Pixar Movie!
The Bike Shed • 1 minute
296: Speedy Performance with Nate Berkopec
296: Speedy Performance with Nate Berkopec
The Bike Shed • less than a minute
295: To the Left, to the Left
295: To the Left, to the Left
The Bike Shed • 1 minute
294: Perfect Duplication
294: Perfect Duplication
The Bike Shed • 1 minute
293: Sportstaphors
293: Sportstaphors
The Bike Shed • less than a minute
292: Debugging with Joël Quenneville
292: Debugging with Joël Quenneville
The Bike Shed • less than a minute
291: All Things Inertia.js with Jonathan Reinink
291: All Things Inertia.js with Jonathan Reinink
The Bike Shed • less than a minute
290: Can You See My Secrets?
290: Can You See My Secrets?
The Bike Shed • 1 minute
289: Have You Ever Ridden a Horse?
289: Have You Ever Ridden a Horse?
The Bike Shed • 1 minute
288: 10x Puppy
288: 10x Puppy
The Bike Shed • 1 minute
287: Turn it up to Eleven
287: Turn it up to Eleven
The Bike Shed • 1 minute
286: Time After Time
286: Time After Time
The Bike Shed • 1 minute
285: Tell a Cohesive, Testable Story
285: Tell a Cohesive, Testable Story
The Bike Shed • 1 minute
284: Lovely, Wonderful Spam
284: Lovely, Wonderful Spam
The Bike Shed • 1 minute
283: Who's The User?
283: Who's The User?
The Bike Shed • less than a minute
282: What is Normal?
282: What is Normal?
The Bike Shed • 1 minute
281: Finding That Middle Ground
281: Finding That Middle Ground
The Bike Shed • less than a minute
280: Stable New New
280: Stable New New
The Bike Shed • 1 minute
279: Seeking Calm
279: Seeking Calm
The Bike Shed • less than a minute
278: Beliefs in the Firmware
278: Beliefs in the Firmware
The Bike Shed • less than a minute
277: Making Communication Easier
277: Making Communication Easier
The Bike Shed • 1 minute
276: Ride-Along Files
276: Ride-Along Files
The Bike Shed • 1 minute
275: In Search of An Acronym
275: In Search of An Acronym
The Bike Shed • less than a minute
274: Top 10 Review for 2020
274: Top 10 Review for 2020
The Bike Shed • less than a minute
273: Revisiting 2019, A Top 10 Review
273: Revisiting 2019, A Top 10 Review
The Bike Shed • less than a minute
272: Hacking the Gibson
272: Hacking the Gibson
The Bike Shed • less than a minute
271: Is That Your Final Answer?
271: Is That Your Final Answer?
The Bike Shed • 1 minute
270: Both Nothing and Deeply Special
270: Both Nothing and Deeply Special
The Bike Shed • 1 minute
269: Things are Knowable (Gary Bernhardt)
269: Things are Knowable (Gary Bernhardt)
The Bike Shed • less than a minute
268: Getting Your First-Through-N Jobs
268: Getting Your First-Through-N Jobs
The Bike Shed • 1 minute
267: Shiny New Things
267: Shiny New Things
The Bike Shed • less than a minute
266: Spring is My Least Favorite Season
266: Spring is My Least Favorite Season
The Bike Shed • 1 minute
265: There Are No Free Lunches
265: There Are No Free Lunches
The Bike Shed • less than a minute
264: How to Win Friends and Influence Processes
264: How to Win Friends and Influence Processes
The Bike Shed • 1 minute
263: Keeping The Night Brain At Bay (Dave Rupert)
263: Keeping The Night Brain At Bay (Dave Rupert)
The Bike Shed • less than a minute
262: Good Idea, Terrible Idea?
262: Good Idea, Terrible Idea?
The Bike Shed • 1 minute
261: A Jenga Tower of Lets and Context
261: A Jenga Tower of Lets and Context
The Bike Shed • 1 minute
260: N+1s For Days
260: N+1s For Days
The Bike Shed • 1 minute
259: That's Not How Numbers Work
259: That's Not How Numbers Work
The Bike Shed • 1 minute
258: Digital Gardeners
258: Digital Gardeners
The Bike Shed • less than a minute
257: How Late On a Friday Can You Deploy?
257: How Late On a Friday Can You Deploy?
The Bike Shed • less than a minute
256: Rational Pessimism
256: Rational Pessimism
The Bike Shed • 1 minute
255: Aiming for 'Capable'
255: Aiming for 'Capable'
The Bike Shed • 1 minute
254: Listener Mailbag Roundup Rodeo
254: Listener Mailbag Roundup Rodeo
The Bike Shed • less than a minute
253: Find Yourself Through The Art of Podcast
253: Find Yourself Through The Art of Podcast
The Bike Shed • 1 minute
252: I'm a Designer Now
252: I'm a Designer Now
The Bike Shed • 1 minute
251: Absent-Minded Whistling
251: Absent-Minded Whistling
The Bike Shed • less than a minute
250: To Infinity and Beyond
250: To Infinity and Beyond
The Bike Shed • less than a minute
249: What Would You Say You Do Here?
249: What Would You Say You Do Here?
The Bike Shed • less than a minute
248: Here Be Dragons
248: Here Be Dragons
The Bike Shed • less than a minute
247: Acronyms By Moonlight
247: Acronyms By Moonlight
The Bike Shed • less than a minute
246: A True Movement (Pariss Athena)
246: A True Movement (Pariss Athena)
The Bike Shed • less than a minute
245: Developer Therapy (German Velasco)
245: Developer Therapy (German Velasco)
The Bike Shed • less than a minute
244: Existential JavaScript
244: Existential JavaScript
The Bike Shed • 1 minute
243: I'm Not a Couch Worker
243: I'm Not a Couch Worker
The Bike Shed • less than a minute
242: As Few Consonants as Possible
242: As Few Consonants as Possible
The Bike Shed • 1 minute
241: What If We Just Put a Phone Number?
241: What If We Just Put a Phone Number?
The Bike Shed • 1 minute
240: A Framework in Motion Tends to Stay in Motion
240: A Framework in Motion Tends to Stay in Motion
The Bike Shed • less than a minute
239: Admins All the Way Down
239: Admins All the Way Down
The Bike Shed • less than a minute
238: All the Single Quotes
238: All the Single Quotes
The Bike Shed • less than a minute
237: I Love The Squiggles
237: I Love The Squiggles
The Bike Shed • less than a minute
236: What's GNU With You?
236: What's GNU With You?
The Bike Shed • less than a minute
235: Take a Deep Breath
235: Take a Deep Breath
The Bike Shed • less than a minute
234: No More Weird Stuff
234: No More Weird Stuff
The Bike Shed • less than a minute
233: Software Development in Ancient Rome (Joël Quenneville)
233: Software Development in Ancient Rome (Joël Quenneville)
The Bike Shed • 1 minute
232: I'm Not Allowed to Play With Other Shells
232: I'm Not Allowed to Play With Other Shells
The Bike Shed • less than a minute
231: Fun and Useful
231: Fun and Useful
The Bike Shed • less than a minute
230: The Broken Road
230: The Broken Road
The Bike Shed • less than a minute
229: Nothing but Positive Fire
229: Nothing but Positive Fire
The Bike Shed • 1 minute
228: Friends and Food (George Brocklehurst)
On this week's episode, Steph is joined by George Brocklehurst, a Development Director in the NYC thoughtbot office. Steph and George chat about the variety of projects and technologies that caught their attention during thoughtbot's recent internal hackathon. They also dive into Gitsh, a dedicated shell for Git commands, as they chat about preferred git workflows and George shares his recent adventure in updating Gitsh to support tab completion.
228: Friends and Food (George Brocklehurst)
The Bike Shed • less than a minute
On this week's episode, Steph is joined by George Brocklehurst, a Development Director in the NYC thoughtbot office. Steph and George chat about the variety of projects and technologies that caught their attention during thoughtbot's recent internal hackathon. They also dive into Gitsh, a dedicated shell for Git commands, as they chat about preferred git workflows and George shares his recent adventure in updating Gitsh to support tab completion.
227: Hacks and Cheats
On this week's episode, Chris and Steph discuss their recent holiday hackathon efforts building a game in Elm. They discuss their experiences with Elm and the broader prospects of using Elm in more production applications. They also discuss the new git subcommands "git switch" and "git restore", and round things out with a listener question concerning FactoryBot and "minimum viable factories".
227: Hacks and Cheats
The Bike Shed • 1 minute
On this week's episode, Chris and Steph discuss their recent holiday hackathon efforts building a game in Elm. They discuss their experiences with Elm and the broader prospects of using Elm in more production applications. They also discuss the new git subcommands "git switch" and "git restore", and round things out with a listener question concerning FactoryBot and "minimum viable factories".
226: Bespoke Nonsense
On this week's episode, in celebration of the new year, Thom shares the 2019 blooper reel! Words are hard and here's the audio to prove it. Listen to all of the silly mishaps, goofs, and general nonsense captured in between the moments of "professional podcasting". Chris and Steph also reflect on their top themes of 2019 and discuss New Year Systems vs New Year Resolutions.
226: Bespoke Nonsense
The Bike Shed • 1 minute
On this week's episode, in celebration of the new year, Thom shares the 2019 blooper reel! Words are hard and here's the audio to prove it. Listen to all of the silly mishaps, goofs, and general nonsense captured in between the moments of "professional podcasting". Chris and Steph also reflect on their top themes of 2019 and discuss New Year Systems vs New Year Resolutions.
225: Pepper in Some Security
On this week's episode, Steph gets Chris to share his biggest developer regrets over the years. They also revisit a favorite topic of estimation and story points, and round out the conversation with some details from the world of application security.
225: Pepper in Some Security
The Bike Shed • 1 minute
On this week's episode, Steph gets Chris to share his biggest developer regrets over the years. They also revisit a favorite topic of estimation and story points, and round out the conversation with some details from the world of application security.
224: The One Manhattan Rule
On this week's episode, Chris catches us up on his latest keyboard adventures and Steph shares her first impression of working with Ember.
They also dive into Chris's experience triaging errors Sentry, their love for Elm, how teams achieve a consistent velocity, and Steph's upcoming workshop on how to stay agile when building a healthcare product. To bring it home, they respond to a listener who's wondering when is it a good idea to convert a loose data structure (e.g.: hash) into a class?
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
224: The One Manhattan Rule
The Bike Shed • 1 minute
On this week's episode, Chris catches us up on his latest keyboard adventures and Steph shares her first impression of working with Ember.
They also dive into Chris's experience triaging errors Sentry, their love for Elm, how teams achieve a consistent velocity, and Steph's upcoming workshop on how to stay agile when building a healthcare product. To bring it home, they respond to a listener who's wondering when is it a good idea to convert a loose data structure (e.g.: hash) into a class?
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
223: Terrible and Easy
223: Terrible and Easy
The Bike Shed • 1 minute
222: That Eureka Moment
On this week's episode, Steph and Chris dive into the world of crafting pull requests for optimal code review, as well as the flip side of providing code review. How can we make it easy for reviewers, and as reviewers, how can we make it easy for our teammates to incorporate our suggestions?
They also discuss the world of testing, from integration to visual to unit testing, and some of the tools an practices they use at each level.
Lastly, they discuss Steph's continued pairing adventures and possibly finding her max on the pairing front, a quick update on mechanical keyboards, and Steph shares a teaser of an upcoming workshop she'll be hosting around how to stay agile when building health tech products.
This episode of The Bike Shed is sponsored by Honeybadger.
- XKCD - Crazy Straws Fractal Subgroups
- Keyboard Maestro
- Brett Terpstra - Hyper Key
- Brett Terpstra - A Useful Caps Lock Key
- Vimium chrome extension
- Tuple app
- testcafe
- Cypress
- Percy.io
- Jest screenshots
- React Testing Library
- Enzyme
- React hooks
- thoughtbot Health Tech Online Workshop (hosted by Steph!)
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
222: That Eureka Moment
The Bike Shed • less than a minute
On this week's episode, Steph and Chris dive into the world of crafting pull requests for optimal code review, as well as the flip side of providing code review. How can we make it easy for reviewers, and as reviewers, how can we make it easy for our teammates to incorporate our suggestions?
They also discuss the world of testing, from integration to visual to unit testing, and some of the tools an practices they use at each level.
Lastly, they discuss Steph's continued pairing adventures and possibly finding her max on the pairing front, a quick update on mechanical keyboards, and Steph shares a teaser of an upcoming workshop she'll be hosting around how to stay agile when building health tech products.
This episode of The Bike Shed is sponsored by Honeybadger.
- XKCD - Crazy Straws Fractal Subgroups
- Keyboard Maestro
- Brett Terpstra - Hyper Key
- Brett Terpstra - A Useful Caps Lock Key
- Vimium chrome extension
- Tuple app
- testcafe
- Cypress
- Percy.io
- Jest screenshots
- React Testing Library
- Enzyme
- React hooks
- thoughtbot Health Tech Online Workshop (hosted by Steph!)
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
221: An Informed Opinion
On this week's episode, Chris and Steph catch up on recent client adventures, revisit their feelings on using let in rspec, and spend a bit of time outside their respective comfort zones. There's also some talk about nearly full-time pairing, mechanical keyboards, debugging thorny datetime issues, and how we interact with our developer tools and workflows.
This episode of The Bike Shed is sponsored by Honeybadger.
- Tuple (remote pairing app)
- Leopold 660 with Cherry MX Browns
- Husky - "git hooks made easy"
- Cassidy Williams eslint video tweet
- Flipper "disable fun mode"
- Let’s Not - Rspec blog post
- The Zen of Python
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
221: An Informed Opinion
The Bike Shed • less than a minute
On this week's episode, Chris and Steph catch up on recent client adventures, revisit their feelings on using let in rspec, and spend a bit of time outside their respective comfort zones. There's also some talk about nearly full-time pairing, mechanical keyboards, debugging thorny datetime issues, and how we interact with our developer tools and workflows.
This episode of The Bike Shed is sponsored by Honeybadger.
- Tuple (remote pairing app)
- Leopold 660 with Cherry MX Browns
- Husky - "git hooks made easy"
- Cassidy Williams eslint video tweet
- Flipper "disable fun mode"
- Let’s Not - Rspec blog post
- The Zen of Python
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
220: Adequately Fun
On this week's episode, Chris and Steph chat about their new client projects, VimScript, and ways to automate refreshing materialized views in tests. They also play the game Overrated/Underrated, created by Tyler Owen, and respond to a CS student who is feeling overwhelmed by the various technologies and looking to transition from tutorials to meaningful projects.
This episode of The Bike Shed is sponsored by Honeybadger.
- thoughtbot dotfiles
- ctrlp.vim
- FZF
- Learn Vimscript the Hard Way
- thoughtbot laptop script
- scenic
- Conversations with Tyler
- ShopTalk Show
- Deadlines
- The Real Story Behind Story Points
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
220: Adequately Fun
The Bike Shed • less than a minute
On this week's episode, Chris and Steph chat about their new client projects, VimScript, and ways to automate refreshing materialized views in tests. They also play the game Overrated/Underrated, created by Tyler Owen, and respond to a CS student who is feeling overwhelmed by the various technologies and looking to transition from tutorials to meaningful projects.
This episode of The Bike Shed is sponsored by Honeybadger.
- thoughtbot dotfiles
- ctrlp.vim
- FZF
- Learn Vimscript the Hard Way
- thoughtbot laptop script
- scenic
- Conversations with Tyler
- ShopTalk Show
- Deadlines
- The Real Story Behind Story Points
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
219: Seeking That Middle Option
On this week's episode, Steph catches us up on her ever-growing collection of mechanical keyboards, Chris talks about his recent purchase of an apple watch, and they follow up a previous discussion around case-sensitivity (or insensitivity) in URLs and email addresses. They round out the discussion with a chat about writing blog posts and some postgres fun, and finally discuss the merits and drawbacks of monorepos.
This episode of The Bike Shed is sponsored by Honeybadger.
- MechanicalKeyboards.com
- Frozen LLama Ducky Keyboard
- Apple Watch
- Withings Watch
- Postgres Citext (Case-Insensitive text field type)
- Chris's blog post on Sharing Query Logic Within ActiveRecord Models
- Matt Sumner's Post on Deadlines
- On Writing by Stephen King
- The War of Art
- Monorepos: Please don’t!
- Monorepo: please do!
- Lerna - toll for monorepo management in javascript
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
219: Seeking That Middle Option
The Bike Shed • less than a minute
On this week's episode, Steph catches us up on her ever-growing collection of mechanical keyboards, Chris talks about his recent purchase of an apple watch, and they follow up a previous discussion around case-sensitivity (or insensitivity) in URLs and email addresses. They round out the discussion with a chat about writing blog posts and some postgres fun, and finally discuss the merits and drawbacks of monorepos.
This episode of The Bike Shed is sponsored by Honeybadger.
- MechanicalKeyboards.com
- Frozen LLama Ducky Keyboard
- Apple Watch
- Withings Watch
- Postgres Citext (Case-Insensitive text field type)
- Chris's blog post on Sharing Query Logic Within ActiveRecord Models
- Matt Sumner's Post on Deadlines
- On Writing by Stephen King
- The War of Art
- Monorepos: Please don’t!
- Monorepo: please do!
- Lerna - toll for monorepo management in javascript
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
218: Finesse in Quitting (Brittany Martin)
On this week's episode, Steph is joined by Brittany Martin, an avid Rubyist and the host of the Ruby on Rails Podcast. They discuss Brittany's passion for roller derby and her upcoming Ruby conference talk: "Hire Me, I'm Excellent at Quitting." They also discuss using AWS Serverless, troubleshooting Postgress connection errors and working with Google Pay and Apple Wallet to introduce digital tickets.
- @BrittJMartin - Brittany on Twitter
- Ruby on Rails Podcast
- RubyConf 2019 - Hire Me: I'm Excellent at Quitting
- Bikeshedding with Steph Viccari
- TN Inspire! "Ramping Up With Roller Derby"
- RubyConf MY - Rails Against the Machine
- Ruby on Rails on Windows is not just possible, it's fabulous using WSL2 and VS Code
- Amazon Aurora Serverless
- Nate Berkopec - Speed Shop
218: Finesse in Quitting (Brittany Martin)
The Bike Shed • 1 minute
On this week's episode, Steph is joined by Brittany Martin, an avid Rubyist and the host of the Ruby on Rails Podcast. They discuss Brittany's passion for roller derby and her upcoming Ruby conference talk: "Hire Me, I'm Excellent at Quitting." They also discuss using AWS Serverless, troubleshooting Postgress connection errors and working with Google Pay and Apple Wallet to introduce digital tickets.
- @BrittJMartin - Brittany on Twitter
- Ruby on Rails Podcast
- RubyConf 2019 - Hire Me: I'm Excellent at Quitting
- Bikeshedding with Steph Viccari
- TN Inspire! "Ramping Up With Roller Derby"
- RubyConf MY - Rails Against the Machine
- Ruby on Rails on Windows is not just possible, it's fabulous using WSL2 and VS Code
- Amazon Aurora Serverless
- Nate Berkopec - Speed Shop
217: A Vote For Reasonableness
On this week's episode, Steph shares an update on her mechanical keyboard adventures and provides a summary for the Ruby pipeline operator being reverted. Chris gets Steph's opinion on a possible improvement around using materialized views in tests and describes a recent debugging adventure he and Steph went on. They also discuss a listener question regarding encouraging companies to use Ruby and Rails and asking how we identify ourselves as developers. Finally, they round out the conversation with a clarification around public vs private GraphQL APIs.
- Leopold 660 Keyboard
- Topre Silent Keys
- Keychron K2
- Postgres Materialized Views
- Scenic - Database Views Library for Rails
- Rails Cache Null Store
- Ruby Pipeline Operator Reverted
- ActiveModel::Model
- Spring Rails Preloader
- Ruby
:methodsource_location
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
217: A Vote For Reasonableness
The Bike Shed • 1 minute
On this week's episode, Steph shares an update on her mechanical keyboard adventures and provides a summary for the Ruby pipeline operator being reverted. Chris gets Steph's opinion on a possible improvement around using materialized views in tests and describes a recent debugging adventure he and Steph went on. They also discuss a listener question regarding encouraging companies to use Ruby and Rails and asking how we identify ourselves as developers. Finally, they round out the conversation with a clarification around public vs private GraphQL APIs.
- Leopold 660 Keyboard
- Topre Silent Keys
- Keychron K2
- Postgres Materialized Views
- Scenic - Database Views Library for Rails
- Rails Cache Null Store
- Ruby Pipeline Operator Reverted
- ActiveModel::Model
- Spring Rails Preloader
- Ruby
:methodsource_location
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
216: I'm Not the Best Criminal
On this week's episode, Steph recounts an issue with an email client that lowercases URLs and Chris ponders the art of logging and using structured logs. They also highlight a plugin that improves TypeScript support in Vim, how the Pinterest team celebrates the "retirement" of code, and respond to a listener who is debating between refactoring their app or investing in a full rewrite.
- Topre
- Leopold FC660C Keyboard
- Cherry MX Switches
- ActiveSupport::MessageVerifier
- Clearance
- Devise
- ActiveSupport Message verifier with double slash trouble
- OWASP
- React Podcast - Chris Toomey on TypeScript, GraphQL, and Product Thinking
- We Will Never Know Enough (Michael Chan)
- ActiveSupport::TaggedLogging
- Structured Logging
- Conquer of Completion - Make your vim/neovim as smart as VSCode
- The Dead Code Society
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
216: I'm Not the Best Criminal
The Bike Shed • less than a minute
On this week's episode, Steph recounts an issue with an email client that lowercases URLs and Chris ponders the art of logging and using structured logs. They also highlight a plugin that improves TypeScript support in Vim, how the Pinterest team celebrates the "retirement" of code, and respond to a listener who is debating between refactoring their app or investing in a full rewrite.
- Topre
- Leopold FC660C Keyboard
- Cherry MX Switches
- ActiveSupport::MessageVerifier
- Clearance
- Devise
- ActiveSupport Message verifier with double slash trouble
- OWASP
- React Podcast - Chris Toomey on TypeScript, GraphQL, and Product Thinking
- We Will Never Know Enough (Michael Chan)
- ActiveSupport::TaggedLogging
- Structured Logging
- Conquer of Completion - Make your vim/neovim as smart as VSCode
- The Dead Code Society
If you're enjoying The Bike Shed, we'd love it if you could give it a rating or review on iTunes. Thanks!
215: Start With People
On this week's episode, Steph returns from vacation and Chris makes some noise about a fantastic new button. They discuss Steph's continued adventures in search of the perfect mechanical keyboard and then dig into two listener questions on landing a first job as a developer and what frameworks and languages to focus on, as well as discussing some of the common objections to GraphQL.
215: Start With People
The Bike Shed • less than a minute
On this week's episode, Steph returns from vacation and Chris makes some noise about a fantastic new button. They discuss Steph's continued adventures in search of the perfect mechanical keyboard and then dig into two listener questions on landing a first job as a developer and what frameworks and languages to focus on, as well as discussing some of the common objections to GraphQL.
214: Have You Tried Refreshing the Page?
On this week's episode, Matt Sumner guest stars to discuss his recent adventures on a project that uses React, TypeScript and GraphQL. Along the way, Matt and Chris discuss VS Code features, Apollo caching and reflect upon their first year as Development Directors.
214: Have You Tried Refreshing the Page?
The Bike Shed • 1 minute
On this week's episode, Matt Sumner guest stars to discuss his recent adventures on a project that uses React, TypeScript and GraphQL. Along the way, Matt and Chris discuss VS Code features, Apollo caching and reflect upon their first year as Development Directors.
213: Admins Matter Too
On this week's episode, Steph discusses a mini design sprint she led to help validate an internal admin tool while Chris muses on the merits of net negative lines of code on a project. They dig into the idea that while code can certainly be an asset, it may also be a liability. They investigate ActiveSupport::MessageVerifier for secure time-sensitive tokens. Steph shares details about her recent visit to the Ruby on Rails Podcast and Chris shares the recording for a talk he gave on understanding technology choices. Lastly, they round out the conversation with a listener question about build times and lock files and how to organize and split up our tests.
213: Admins Matter Too
The Bike Shed • less than a minute
On this week's episode, Steph discusses a mini design sprint she led to help validate an internal admin tool while Chris muses on the merits of net negative lines of code on a project. They dig into the idea that while code can certainly be an asset, it may also be a liability. They investigate ActiveSupport::MessageVerifier for secure time-sensitive tokens. Steph shares details about her recent visit to the Ruby on Rails Podcast and Chris shares the recording for a talk he gave on understanding technology choices. Lastly, they round out the conversation with a listener question about build times and lock files and how to organize and split up our tests.
212: Award Winning Sheds
On this week's episode, Steph and Chris share the news that The Bike Shed won the Best Dev Podcast on the Hackernoon Noonies awards! After a bit of celebration, they get back to their normal adventures with a discussion around onboarding covering the importance, approach, and pitfalls that they've seen in their time joining countless teams. They also touch on the relevance and increasing ease of SSL everywhere, and they answer a listener question about technical debt and rewriting applications.
212: Award Winning Sheds
The Bike Shed • less than a minute
On this week's episode, Steph and Chris share the news that The Bike Shed won the Best Dev Podcast on the Hackernoon Noonies awards! After a bit of celebration, they get back to their normal adventures with a discussion around onboarding covering the importance, approach, and pitfalls that they've seen in their time joining countless teams. They also touch on the relevance and increasing ease of SSL everywhere, and they answer a listener question about technical debt and rewriting applications.
211: I'm Not a Lawyer, But...
On this week's episode, Chris and Steph discuss their preferred strategy when building an admin portal (spoiler: it's not using a client-side technology), separating our identity from our preferred technology, coding styles that require greater mental effort, and answer a listener's question about deleting migrations.
211: I'm Not a Lawyer, But...
The Bike Shed • less than a minute
On this week's episode, Chris and Steph discuss their preferred strategy when building an admin portal (spoiler: it's not using a client-side technology), separating our identity from our preferred technology, coding styles that require greater mental effort, and answer a listener's question about deleting migrations.
210: Stop Trying to Make Fetch Happen
On this week's episode, Steph and Chris discuss mechanical keyboards, combating error fatigue, the joy of admin features and respond to two listener questions about typed vs dynamic languages and various ways to "speed up" third-party API calls.
- AppSignal
- New Relic - Six Steps to Combat Alert Fatigue
- Details and Summary HTML elements
- Elm
- Scala
- Typescript
- Active Job
- Action Cable
- Stimulus
- Ajax
- Typheous
- Rails HTTP Streaming
- JQuery
Become a Sponsor of The Bike Shed!
210: Stop Trying to Make Fetch Happen
The Bike Shed • 1 minute
On this week's episode, Steph and Chris discuss mechanical keyboards, combating error fatigue, the joy of admin features and respond to two listener questions about typed vs dynamic languages and various ways to "speed up" third-party API calls.
- AppSignal
- New Relic - Six Steps to Combat Alert Fatigue
- Details and Summary HTML elements
- Elm
- Scala
- Typescript
- Active Job
- Action Cable
- Stimulus
- Ajax
- Typheous
- Rails HTTP Streaming
- JQuery
Become a Sponsor of The Bike Shed!
209: We Will Never Know Enough (Michael Chan)
On this week's episode Chris is joined by Michael Chan aka @chantastic, host of the React Podcast and prolific maker and sharer throughout the internets. They discuss Micheal's work on the React Podcast and themes in open source in general, Michael's focus on communication and delivering value, and the honest take that no one has all the answers or a silver bullet.
- Michael Chan
- @chantastic - Michael on twitter
- React Podcast
- Michael's Blog
- Michael's writing on dev.to
- Hot Garbage - the Death Of Clean Code
- War of Art
- Sandi Metz
- Styled Components
- Emotion
- CSS Variables
- React: CSS in JS - talk by Christopher "vjeux" Chedeau
- BEM
- Lerna
- Web components
- Paul Henschel on React Spring - React Podcast episode
209: We Will Never Know Enough (Michael Chan)
The Bike Shed • less than a minute
On this week's episode Chris is joined by Michael Chan aka @chantastic, host of the React Podcast and prolific maker and sharer throughout the internets. They discuss Micheal's work on the React Podcast and themes in open source in general, Michael's focus on communication and delivering value, and the honest take that no one has all the answers or a silver bullet.
- Michael Chan
- @chantastic - Michael on twitter
- React Podcast
- Michael's Blog
- Michael's writing on dev.to
- Hot Garbage - the Death Of Clean Code
- War of Art
- Sandi Metz
- Styled Components
- Emotion
- CSS Variables
- React: CSS in JS - talk by Christopher "vjeux" Chedeau
- BEM
- Lerna
- Web components
- Paul Henschel on React Spring - React Podcast episode
208: Goldilocks and the Three Monitors
On this week's episode, Chris and Steph weigh-in on curved monitors, discuss how pairing improves productivity and team morale, and respond to two listener questions inquiring what makes Rails successful and new project nerves.
Vote for us for 'Best Dev' Podcast in this year's Noonie Awards.
208: Goldilocks and the Three Monitors
The Bike Shed • 1 minute
On this week's episode, Chris and Steph weigh-in on curved monitors, discuss how pairing improves productivity and team morale, and respond to two listener questions inquiring what makes Rails successful and new project nerves.
Vote for us for 'Best Dev' Podcast in this year's Noonie Awards.
207: Very-Bad, Or Just Normal-Bad?
On this week's episode, Steph and Chris discuss a handful of utilities that help with their workflows and GitHub, and then dive into a handful of ActiveRecord, SQL, and postgres-related topics. They discuss safe vs unsafe migrations when dealing with larger volumes of data, adding an index safely in migration without downtime, and bringing postgres enums into Rails.
Vote for us for 'Best Dev Podcast' in this year's Noonie Awards.
This episode of The Bike Shed is sponsored by Indeed Prime
- GitHub beta jump to definition
- ESlint
- Rubocop
- Refined GitHub
- Sindresorhus
- Paper Cuts team at github
- GitHub permalinks
- Tell Me When It Closes
- GitHub "Custom thread subscriptions" - TMWIC native on GitHub
- Apollo codegen
- ActiveRecord safer migrations gem
- Strong migrations gem
- Strong migrations README summary of unsafe operations
- Postgres add index concurrently
- ActiveRecord::PGEnum
207: Very-Bad, Or Just Normal-Bad?
The Bike Shed • 1 minute
On this week's episode, Steph and Chris discuss a handful of utilities that help with their workflows and GitHub, and then dive into a handful of ActiveRecord, SQL, and postgres-related topics. They discuss safe vs unsafe migrations when dealing with larger volumes of data, adding an index safely in migration without downtime, and bringing postgres enums into Rails.
Vote for us for 'Best Dev Podcast' in this year's Noonie Awards.
This episode of The Bike Shed is sponsored by Indeed Prime
- GitHub beta jump to definition
- ESlint
- Rubocop
- Refined GitHub
- Sindresorhus
- Paper Cuts team at github
- GitHub permalinks
- Tell Me When It Closes
- GitHub "Custom thread subscriptions" - TMWIC native on GitHub
- Apollo codegen
- ActiveRecord safer migrations gem
- Strong migrations gem
- Strong migrations README summary of unsafe operations
- Postgres add index concurrently
- ActiveRecord::PGEnum
206: No-One Wants to be the Canary
On this week's episode, Steph and Chris discuss working with Django, Angular, and explore the new features released in Ruby 2.7.0-preview1! They also respond to a listener's question regarding the trade-offs of using client state management tools like NgRx and Redux.
Vote for us for 'Best Dev' Podcast in this year's Noonie Awards.
- Python
- Django
- Angular
- TypeScript
- MySQL
- GraphQL
- Ruby
- Ruby 2.7.0-preview1
- Manual Compaction for MRI's GC submitted by Aaron Patterson
- IRB - Interactive Ruby Shell
- A Brief History of Pipeline Operator
- Using yield_self for composable ActiveRecord relations
- Ruby trunk - roadmap
- Elixir
- Elm
- NgRx
- React
- Redux
- Redux thunk
- Flux
- Redux Hooks
206: No-One Wants to be the Canary
The Bike Shed • less than a minute
On this week's episode, Steph and Chris discuss working with Django, Angular, and explore the new features released in Ruby 2.7.0-preview1! They also respond to a listener's question regarding the trade-offs of using client state management tools like NgRx and Redux.
Vote for us for 'Best Dev' Podcast in this year's Noonie Awards.
- Python
- Django
- Angular
- TypeScript
- MySQL
- GraphQL
- Ruby
- Ruby 2.7.0-preview1
- Manual Compaction for MRI's GC submitted by Aaron Patterson
- IRB - Interactive Ruby Shell
- A Brief History of Pipeline Operator
- Using yield_self for composable ActiveRecord relations
- Ruby trunk - roadmap
- Elixir
- Elm
- NgRx
- React
- Redux
- Redux thunk
- Flux
- Redux Hooks
205: Won't Somebody Think of The Jokes (Aaron Patterson)
On this week's episode, Chris is joined in a live recording from RailsConf by the one and only Aaron Patterson. They discuss Aaron's many RailsConf keynotes, his recent work on Rails view rendering and his three-year-long effort to bring more advanced garbage collection to Ruby which will finally be seeing the light of day. And of course, plenty of puns.
This episode of The Bike Shed is sponsored by Indeed Prime
- Aaron’s Closing Keynote - RailsConf 2019
- Aaron on GitHub
- Aaron on Twitter
- DHHs Keynote - RailsConf 2019
- Nokogiri
- libxml2
- George Brocklehurst - Intro to Machine Learning (with fizzbuzz)
- MRI
- JVM
- The GC Handbook
- Compacting Garbage Collector in Ruby
- Peter Principle
- Subversion
- CVS
- Puma Web Server
- Perl 6
- Dave Thomas
205: Won't Somebody Think of The Jokes (Aaron Patterson)
The Bike Shed • less than a minute
On this week's episode, Chris is joined in a live recording from RailsConf by the one and only Aaron Patterson. They discuss Aaron's many RailsConf keynotes, his recent work on Rails view rendering and his three-year-long effort to bring more advanced garbage collection to Ruby which will finally be seeing the light of day. And of course, plenty of puns.
This episode of The Bike Shed is sponsored by Indeed Prime
- Aaron’s Closing Keynote - RailsConf 2019
- Aaron on GitHub
- Aaron on Twitter
- DHHs Keynote - RailsConf 2019
- Nokogiri
- libxml2
- George Brocklehurst - Intro to Machine Learning (with fizzbuzz)
- MRI
- JVM
- The GC Handbook
- Compacting Garbage Collector in Ruby
- Peter Principle
- Subversion
- CVS
- Puma Web Server
- Perl 6
- Dave Thomas
204: I Don't Like Rest
In this week's episode, Steph and Chris discuss ways to unplug and protect personal downtime, RESTful sorting, altering production data within a Rails migration vs a rake task, adopting Unicode characters, and respond to a listener's question about how they approach client relationships and share thoughtbot's Agile-like process.
- Slack
- GitHub - Pull Request Review
- React
- Angular
- Postgres
- MySQL
- REST
- RPC
- GraphQL
- PostGraphile
- Ruby
- PostGraphile
- Pair programming
- Agile Manifesto
- Extreme Programming- Kent Beck
- Unicode Consortium - Adopt a Character
- The Real Story Behind Story Points
- Active Record Migrations
- Rails Custom Rake Task
- Pepperjuice
204: I Don't Like Rest
The Bike Shed • 1 minute
In this week's episode, Steph and Chris discuss ways to unplug and protect personal downtime, RESTful sorting, altering production data within a Rails migration vs a rake task, adopting Unicode characters, and respond to a listener's question about how they approach client relationships and share thoughtbot's Agile-like process.
- Slack
- GitHub - Pull Request Review
- React
- Angular
- Postgres
- MySQL
- REST
- RPC
- GraphQL
- PostGraphile
- Ruby
- PostGraphile
- Pair programming
- Agile Manifesto
- Extreme Programming- Kent Beck
- Unicode Consortium - Adopt a Character
- The Real Story Behind Story Points
- Active Record Migrations
- Rails Custom Rake Task
- Pepperjuice
203: A Blessed Monkeypatch (Eileen M. Uchitelle)
On this week's episode, we revisit RailsConf 2019 for another live recording, this time with Eileen M. Uchitelle, GitHubber and rails core team member. Eileen joins Chris to discuss her RailsConf talk on how GitHub maintained a custom fork of Rails for years, how they finally moved off it, and what lessons we can take away from their experience. They also discussed Eileen's recent work on automatic database switching coming in Rails 6, microservices and monoliths, and getting into working on Rails.
This episode of The Bike Shed is sponsored by Indeed Prime
- Eileen M. Uchitelle - eileencodes
- Eileen's talk - The Past, Present, and Future of Rails at GitHub
- Rails 6 connection switching for databases
- Circuit break pattern
- ActiveJob
- Resque
- The Success of Open Source
- ActiveRecord Enums
- ActionCable
- S3 Service Disruption Indident
- IOT DDOS on DNS
- Aaron Patterson
203: A Blessed Monkeypatch (Eileen M. Uchitelle)
The Bike Shed • 1 minute
On this week's episode, we revisit RailsConf 2019 for another live recording, this time with Eileen M. Uchitelle, GitHubber and rails core team member. Eileen joins Chris to discuss her RailsConf talk on how GitHub maintained a custom fork of Rails for years, how they finally moved off it, and what lessons we can take away from their experience. They also discussed Eileen's recent work on automatic database switching coming in Rails 6, microservices and monoliths, and getting into working on Rails.
This episode of The Bike Shed is sponsored by Indeed Prime
- Eileen M. Uchitelle - eileencodes
- Eileen's talk - The Past, Present, and Future of Rails at GitHub
- Rails 6 connection switching for databases
- Circuit break pattern
- ActiveJob
- Resque
- The Success of Open Source
- ActiveRecord Enums
- ActionCable
- S3 Service Disruption Indident
- IOT DDOS on DNS
- Aaron Patterson
202: I Left it All on The Dance Floor
In this week's episode, Chris and Steph discuss how working with typed-languages influences their work with dynamic languages. They also chat about the benefits of pair programming, tracking performance events using Rails' Instrumentation API and respond to a listener's question about how to structure code that doesn't fit neatly within the default Rails' structure.
- Elm
- React
- TypeScript
- Scala
- JavaScript
- "Making Impossible States Impossible" by Richard Feldman
- "Working with Maybe" by Joël Quenneville
- Functional programming
- Object-oriented programming
- Ruby
- TypeScript 3 - Unknown Type
- Pair programming
- ActiveSupport::Notifications
- AppSignal
- Segment
- MixPanel
- Drip
- KissMetrics
- Graphana
- Rails
- API
202: I Left it All on The Dance Floor
The Bike Shed • less than a minute
In this week's episode, Chris and Steph discuss how working with typed-languages influences their work with dynamic languages. They also chat about the benefits of pair programming, tracking performance events using Rails' Instrumentation API and respond to a listener's question about how to structure code that doesn't fit neatly within the default Rails' structure.
- Elm
- React
- TypeScript
- Scala
- JavaScript
- "Making Impossible States Impossible" by Richard Feldman
- "Working with Maybe" by Joël Quenneville
- Functional programming
- Object-oriented programming
- Ruby
- TypeScript 3 - Unknown Type
- Pair programming
- ActiveSupport::Notifications
- AppSignal
- Segment
- MixPanel
- Drip
- KissMetrics
- Graphana
- Rails
- API
201: Artisanally Indented Code (Kevin Deisz)
On this week's episode, Chris is joined by Kevin Deisz, CTO of CultureHQ, live from RailsConf. They discuss Kevin's RailsConf talk on preevalution in Ruby, but dig further into Kevin's core philosophies that drive his work on tools like preval. They round out the discussion with Kevin's work on prettier-plugin Ruby, an automated code formatter to finally tame the wild west of Ruby syntax, and the hopeful path to a v1.0 in the not too distant future.
- Kevin on Twitter
- Kevin's RailsConf 2019 talk - Pre-evaluation in Ruby
- Preval - Kevin's pre-evaluation Ruby optimize
- Bret Victor Inventing on Principle
- Fasterer static analysis in ruby
- Rubocop
- Ripper
- Prototype.js
- Ruby Refinements
- Elm format
- PEP 8
- Prettier
- Prettier-plugin ruby
- Visual Studio Code
- Codemods
- Don’t parse HTML with regex
- Prepack
- The Zen of Python
- RailsConf 2019 - Opening Keynote by David Heinemeier Hansson
- rubyfmt
- rufo
201: Artisanally Indented Code (Kevin Deisz)
The Bike Shed • 1 minute
On this week's episode, Chris is joined by Kevin Deisz, CTO of CultureHQ, live from RailsConf. They discuss Kevin's RailsConf talk on preevalution in Ruby, but dig further into Kevin's core philosophies that drive his work on tools like preval. They round out the discussion with Kevin's work on prettier-plugin Ruby, an automated code formatter to finally tame the wild west of Ruby syntax, and the hopeful path to a v1.0 in the not too distant future.
- Kevin on Twitter
- Kevin's RailsConf 2019 talk - Pre-evaluation in Ruby
- Preval - Kevin's pre-evaluation Ruby optimize
- Bret Victor Inventing on Principle
- Fasterer static analysis in ruby
- Rubocop
- Ripper
- Prototype.js
- Ruby Refinements
- Elm format
- PEP 8
- Prettier
- Prettier-plugin ruby
- Visual Studio Code
- Codemods
- Don’t parse HTML with regex
- Prepack
- The Zen of Python
- RailsConf 2019 - Opening Keynote by David Heinemeier Hansson
- rubyfmt
- rufo
200: FOMO for Hallway Track (200th Episode!)
On this very special Bike Shed, Steph and Chris celebrate reaching the 200th episode. They discuss the origins of the show and thank some of the wonderful folks who helped make it happen (thanks Derek, Sean, Amanda, Laila, and of course Thom!). They discuss Chris's recent trip to RailsConf and some strategies for making the most of conference attendance. Also, Steph's recent work hosting an intro to web development course. They wrap things up with a series of questions captured live from RailsConf at the community meetup covering career growth, naming, graphql, joy, and more.
- Sandi & Derek's Rules - The Bike Shed's first episode, from Oct 31 2014.
- New Podcast Hosts!
- Derek Prior
- Sean Griffin
- Laila Winner
- Amanda Adams (Amanda Hill at the time)
- Intercom
- Pacman rule - Eric Holscher
- Girl Develop It
- Women Who Code
- "What happens when you type google.com into your browser's address box and press enter?"
- Atom
- Neocities
- Netlify
- Heroku
- Minneapolis Sculpture Garden
- Dependabot
- Semisonic - Sculpture Garden
200: FOMO for Hallway Track (200th Episode!)
The Bike Shed • 1 minute
On this very special Bike Shed, Steph and Chris celebrate reaching the 200th episode. They discuss the origins of the show and thank some of the wonderful folks who helped make it happen (thanks Derek, Sean, Amanda, Laila, and of course Thom!). They discuss Chris's recent trip to RailsConf and some strategies for making the most of conference attendance. Also, Steph's recent work hosting an intro to web development course. They wrap things up with a series of questions captured live from RailsConf at the community meetup covering career growth, naming, graphql, joy, and more.
- Sandi & Derek's Rules - The Bike Shed's first episode, from Oct 31 2014.
- New Podcast Hosts!
- Derek Prior
- Sean Griffin
- Laila Winner
- Amanda Adams (Amanda Hill at the time)
- Intercom
- Pacman rule - Eric Holscher
- Girl Develop It
- Women Who Code
- "What happens when you type google.com into your browser's address box and press enter?"
- Atom
- Neocities
- Netlify
- Heroku
- Minneapolis Sculpture Garden
- Dependabot
- Semisonic - Sculpture Garden
199: Pave That Path
On this week's episode, Steph and Chris talk about PR sizing, load testing (the weird way), and ponder the merits and pitfalls of personal style in code. They also discuss Hertz suing Accenture for undelivered software and the belief that engineers should talk to users! This one truly has something for everyone.
199: Pave That Path
The Bike Shed • less than a minute
On this week's episode, Steph and Chris talk about PR sizing, load testing (the weird way), and ponder the merits and pitfalls of personal style in code. They also discuss Hertz suing Accenture for undelivered software and the belief that engineers should talk to users! This one truly has something for everyone.
198: In Terms of Tradeoffs (Glenn Vanderburg)
On this week's episode, Chris is joined by Glenn Vanderburg, VP of Engineering at First.io, live from RailsConf. They discuss Glenn's RailsConf talk, "The 30-Month Migration", covering distributed data models, refactoring, and the wonders of postgres. They also discuss Glenn's famous talk, "Real Software Engineering", and what the term "software engineering" means within our communities.
- Glenn on Twitter
- Glenn's RailsConf talk - The 30-Month Migration
- Glenn's blog
- First.io
- Postgres
- MySQL
- Postgres Common Table Expressions (CTEs)
- Swanand Pagnis - It's 2017, and I still want to sell you a graph database!
- GraphQL
- Glenn Vanderburg - Real Software Engineering
- Agile Manifesto
- Extreme Programming
- Rust Language
- Kathleen Fisher
- Kathleen Fisher, High Assurance Systems
- AWS Firecracker
- Bike Shed with Lin Clark & Till Schneidereit on WebAssembly & WASI
- Fastly Lucet
- Chaos Engineering
- Chaos Monkey
- Joe Armstrong
- Erlang
- Property Based Testing
- Erlang Actor Model
- Clojure
- ClojureScript
- Functional Core, Imperative Shell
- Sorbet - Stripe library for gradual static typing in Ruby
198: In Terms of Tradeoffs (Glenn Vanderburg)
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Glenn Vanderburg, VP of Engineering at First.io, live from RailsConf. They discuss Glenn's RailsConf talk, "The 30-Month Migration", covering distributed data models, refactoring, and the wonders of postgres. They also discuss Glenn's famous talk, "Real Software Engineering", and what the term "software engineering" means within our communities.
- Glenn on Twitter
- Glenn's RailsConf talk - The 30-Month Migration
- Glenn's blog
- First.io
- Postgres
- MySQL
- Postgres Common Table Expressions (CTEs)
- Swanand Pagnis - It's 2017, and I still want to sell you a graph database!
- GraphQL
- Glenn Vanderburg - Real Software Engineering
- Agile Manifesto
- Extreme Programming
- Rust Language
- Kathleen Fisher
- Kathleen Fisher, High Assurance Systems
- AWS Firecracker
- Bike Shed with Lin Clark & Till Schneidereit on WebAssembly & WASI
- Fastly Lucet
- Chaos Engineering
- Chaos Monkey
- Joe Armstrong
- Erlang
- Property Based Testing
- Erlang Actor Model
- Clojure
- ClojureScript
- Functional Core, Imperative Shell
- Sorbet - Stripe library for gradual static typing in Ruby
197: Don't Go Chasing Waterfalls
Steph and Chris discuss Redux, integration testing strategies, scoping data for React components, and take a question from a listener about improving process and reducing bugs in a complex service-oriented system with a hint of waterfall in their workflow.
- Angular
- Apollo
- Capybara
- CircleCI
- CircleCI Orbs
- Cypress
- Docker
- Enzyme
- GraphQL
- HTTP
- Heroku Buildpack
- Mystery Guests
- Nightmare.js
- Normalizer
- RSpec
- React
- Redux
- Reselect
- SOA - Service Oriented Architecture
- Selenium
- Swagger
- The Real Story Behind Story Points
- Thunk
- json schema
- lunar
- npm
- react-testing-library
197: Don't Go Chasing Waterfalls
The Bike Shed • less than a minute
Steph and Chris discuss Redux, integration testing strategies, scoping data for React components, and take a question from a listener about improving process and reducing bugs in a complex service-oriented system with a hint of waterfall in their workflow.
- Angular
- Apollo
- Capybara
- CircleCI
- CircleCI Orbs
- Cypress
- Docker
- Enzyme
- GraphQL
- HTTP
- Heroku Buildpack
- Mystery Guests
- Nightmare.js
- Normalizer
- RSpec
- React
- Redux
- Reselect
- SOA - Service Oriented Architecture
- Selenium
- Swagger
- The Real Story Behind Story Points
- Thunk
- json schema
- lunar
- npm
- react-testing-library
196: I Can Be Wrong on the Internet
196: I Can Be Wrong on the Internet
The Bike Shed • less than a minute
On this week's episode, Chris welcomes Steph as the new co-host of The Bike Shed! Chris and Steph discuss their experiences using React, TypeScript, and Angular.
195: WebAssembly & WASI (Lin Clark & Till Schneidereit)
On this week's episode, Chris is joined by Lin Clark and Till Schneidereit of Mozilla to discuss all things WebAssembly. Lin and Till are helping to lead the development and advocacy around WebAssembly and in this conversation they discuss the current state of WASM, new developments like the WebAssembly System Interface (WASI), and the longer term possibilities and goals for WASM.
- Lin Clark
- Till Schneidereit
- Code Cartoons
- WebAssembly
- Rust
- TC39 JavaScript committee
- W3C
- WebAssembly WebIDL
- Rust wasm toolchain
- Babel
- Emscripten
- Asm.js
- Figma
- WASI Web Assembly System Interface
- wasmtime
- Fastly CDN
- Lucet - Fastly's WASM Runtime
- Solomon Hykes tweet re: Docker & WASM+WASI
- The Birth & Death of JavaScript
- Lin’s post on Post MVP future for WASM
- Mozilla hacks blog
- WebAssembly's Post MVP Future talk by Lin Clark and Till Schneidereit
195: WebAssembly & WASI (Lin Clark & Till Schneidereit)
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Lin Clark and Till Schneidereit of Mozilla to discuss all things WebAssembly. Lin and Till are helping to lead the development and advocacy around WebAssembly and in this conversation they discuss the current state of WASM, new developments like the WebAssembly System Interface (WASI), and the longer term possibilities and goals for WASM.
- Lin Clark
- Till Schneidereit
- Code Cartoons
- WebAssembly
- Rust
- TC39 JavaScript committee
- W3C
- WebAssembly WebIDL
- Rust wasm toolchain
- Babel
- Emscripten
- Asm.js
- Figma
- WASI Web Assembly System Interface
- wasmtime
- Fastly CDN
- Lucet - Fastly's WASM Runtime
- Solomon Hykes tweet re: Docker & WASM+WASI
- The Birth & Death of JavaScript
- Lin’s post on Post MVP future for WASM
- Mozilla hacks blog
- WebAssembly's Post MVP Future talk by Lin Clark and Till Schneidereit
194: My PGP Shame
On this week's episode, Chris is joined by Mike Burns, developer in our New York studio, to discuss the ins and outs of application security. Mike recently added a comprehensive Application Security Guide to the thoughtbot guides, and in this chat they discuss some of the high points of the guide, some of the low points of common security holes, and some of the fantastically specific workflows and approaches Mike has for his personal information and security management.
- Mike Burns on Mastodon
- Mike Burns on the thoughtbot blog
- Application Security Guide
- YAML
- JSON
- TOML
- Bcrypt
- Scrypt
- TLS Handshake explained with paint colors
- NIST - Digital Identity Guidelines
- Clearance
- DKIM & SPF for email verification
- PGP Signing of Emails
- PGP Signing git Commits
- Facebook Stored Millions Of Passwords In Plaintext
- PhishMe (now Cofense)
- Mutt email client
- YubiKey
- Pass
- pwgen
- LastPass
- Perfect Forward Secrecy
- Tarsnap
194: My PGP Shame
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Mike Burns, developer in our New York studio, to discuss the ins and outs of application security. Mike recently added a comprehensive Application Security Guide to the thoughtbot guides, and in this chat they discuss some of the high points of the guide, some of the low points of common security holes, and some of the fantastically specific workflows and approaches Mike has for his personal information and security management.
- Mike Burns on Mastodon
- Mike Burns on the thoughtbot blog
- Application Security Guide
- YAML
- JSON
- TOML
- Bcrypt
- Scrypt
- TLS Handshake explained with paint colors
- NIST - Digital Identity Guidelines
- Clearance
- DKIM & SPF for email verification
- PGP Signing of Emails
- PGP Signing git Commits
- Facebook Stored Millions Of Passwords In Plaintext
- PhishMe (now Cofense)
- Mutt email client
- YubiKey
- Pass
- pwgen
- LastPass
- Perfect Forward Secrecy
- Tarsnap
193: A Thing I Know Almost Nothing About
On this week's episode, Chris is joined by Edward Loveall, former thoughtbot design apprentice and now thoughtbot developer. After a quick chat about Edward's thoughtbot origin story, podcasts, and DNS, they dig into the heart of the conversation talking about their respective "must have" developer tools on new machines.
- edwardloveall.com
- thoughtbot apprenticeship
- Domain Name Sanity
- Heroku
- DNSimple
- Amazon Route53
- Giant Robots podcast
- Edward's episode on Giant Robots talking about the apprenticeship
- Tweet about using a podcast as internal onboarding
- Hammerspoon
- Slate
- Spectacle
- Divvy
- Vim
- Tmux
- VSCode Live share
- tmate
- Alfred
- Alfred clipboard
- AppleScript
- Arch Linux
- Jeff Goldblum iMac Commercials
- Feedly
- Feedbin
- ReadKit
- JSON Feed
- CSS & Privacy - Why can’t I set the font size of a visited link?
- Lobsters
Thank you to CircleCI for sponsoring this episode.
193: A Thing I Know Almost Nothing About
The Bike Shed • 1 minute
On this week's episode, Chris is joined by Edward Loveall, former thoughtbot design apprentice and now thoughtbot developer. After a quick chat about Edward's thoughtbot origin story, podcasts, and DNS, they dig into the heart of the conversation talking about their respective "must have" developer tools on new machines.
- edwardloveall.com
- thoughtbot apprenticeship
- Domain Name Sanity
- Heroku
- DNSimple
- Amazon Route53
- Giant Robots podcast
- Edward's episode on Giant Robots talking about the apprenticeship
- Tweet about using a podcast as internal onboarding
- Hammerspoon
- Slate
- Spectacle
- Divvy
- Vim
- Tmux
- VSCode Live share
- tmate
- Alfred
- Alfred clipboard
- AppleScript
- Arch Linux
- Jeff Goldblum iMac Commercials
- Feedly
- Feedbin
- ReadKit
- JSON Feed
- CSS & Privacy - Why can’t I set the font size of a visited link?
- Lobsters
Thank you to CircleCI for sponsoring this episode.
192: I Don't Want to Think That Hard
On this week's episode, Chris is joined by Sid Raval, developer in our New York studio. Chris and Sid chat about functional programming, strong types, and accessibility. Along the way they touch on TypeScript, Haskell, Scala, Elm, and plenty in between. They round out the conversation with a discussion around accessibility and developer tools.
- Ruby
- Haskell
- Scala
- Elm
- GHCJS
- Reflex (frp library for Hasekll)
- Scala.js
- TypeScript
- How Elm Slays a UI Antipattern
- RemoteData library in Elm
- Sid's blog post on gradually adding flow
- QuickCheck library for haskell
- Sorbet - Ruby static type annotations
- Sids' blog post - Grouping elements for better accessibility
Thank you to CircleCI for sponsoring this episode.
192: I Don't Want to Think That Hard
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Sid Raval, developer in our New York studio. Chris and Sid chat about functional programming, strong types, and accessibility. Along the way they touch on TypeScript, Haskell, Scala, Elm, and plenty in between. They round out the conversation with a discussion around accessibility and developer tools.
- Ruby
- Haskell
- Scala
- Elm
- GHCJS
- Reflex (frp library for Hasekll)
- Scala.js
- TypeScript
- How Elm Slays a UI Antipattern
- RemoteData library in Elm
- Sid's blog post on gradually adding flow
- QuickCheck library for haskell
- Sorbet - Ruby static type annotations
- Sids' blog post - Grouping elements for better accessibility
Thank you to CircleCI for sponsoring this episode.
191: Open Source is Created By Humans (Devon Zuegel)
Chris is joined by Devon Zuegel who recently joined GitHub in the new Open Source Product Manager role. Devon and Chris discuss the complexities inherent to open source including funding models, managing motivation and burnout, different open source models, and end with a discussion around how we can be better open source citizens, both as consumers and maintainers.
- Devon on Twitter
- Devon's Blog
- Nadia Eghbal - Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure
- Patreon
- Sindre Sorhus on Patreon
- Open Collective
- ESLint on Open Collective
- Webpack on Open Collective
- Babel on Open Collective
- Sidekiq Pro
- GraphQL Pro
- GitHub related issues
- Clojure
- Rich Hickey
- Elm
- Evan Czaplicki
- Matz replies to post around Ruby moving slowly
- Open Source Maintainers Group on GitHub
Thank you to CircleCI for sponsoring this episode.
191: Open Source is Created By Humans (Devon Zuegel)
The Bike Shed • 1 minute
Chris is joined by Devon Zuegel who recently joined GitHub in the new Open Source Product Manager role. Devon and Chris discuss the complexities inherent to open source including funding models, managing motivation and burnout, different open source models, and end with a discussion around how we can be better open source citizens, both as consumers and maintainers.
- Devon on Twitter
- Devon's Blog
- Nadia Eghbal - Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure
- Patreon
- Sindre Sorhus on Patreon
- Open Collective
- ESLint on Open Collective
- Webpack on Open Collective
- Babel on Open Collective
- Sidekiq Pro
- GraphQL Pro
- GitHub related issues
- Clojure
- Rich Hickey
- Elm
- Evan Czaplicki
- Matz replies to post around Ruby moving slowly
- Open Source Maintainers Group on GitHub
Thank you to CircleCI for sponsoring this episode.
190: Going Steady With a Platform
On this week's episode, Chris is joined by Alex Sullivan, mobile developer in our Boston office. Alex takes Chris on a tour of the mobile landscape comparing the core native platforms (Android and iOS), the languages, developer tooling and IDEs, and fundamental thinking. They also dip into a discussion around React Native highlighting some of its strengths, as well as areas where native still clearly wins. Finally they touch on Flutter, the newest entrant into the mobile space to round out the discussion.
- Runkeeper
- Android
- iOS
- ViewModel
- Room
- Java
- Kotlin
- Objective C
- Swift
- Scala
- JetBrains
- Type erasure
- Reified types
- Android Studio
- Xcode
- AppCode
- Gary Bernhardt
- React Native
- Xamarin
- Flutter
- Dart
- Alex's post comparing performance of native, Flutter, and React Native
Thank you to CircleCI for sponsoring this episode.
190: Going Steady With a Platform
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Alex Sullivan, mobile developer in our Boston office. Alex takes Chris on a tour of the mobile landscape comparing the core native platforms (Android and iOS), the languages, developer tooling and IDEs, and fundamental thinking. They also dip into a discussion around React Native highlighting some of its strengths, as well as areas where native still clearly wins. Finally they touch on Flutter, the newest entrant into the mobile space to round out the discussion.
- Runkeeper
- Android
- iOS
- ViewModel
- Room
- Java
- Kotlin
- Objective C
- Swift
- Scala
- JetBrains
- Type erasure
- Reified types
- Android Studio
- Xcode
- AppCode
- Gary Bernhardt
- React Native
- Xamarin
- Flutter
- Dart
- Alex's post comparing performance of native, Flutter, and React Native
Thank you to CircleCI for sponsoring this episode.
189: It's Gonna Work, Definitely, No Problems Whatsoever
On this week's episode, Chris is joined by Steph Viccari to chat about Steph's recent experience working on the Hubspot API ruby wrapper as a client project. They discuss strategies for testing third-party APIs, focusing on VCR and some of the benefits and trade-offs inherent to that style of API testing. Following that they chat about using exceptions for control flow, digging into why this seems to be a common pattern in Ruby API wrappers, what the alternatives are, and even a quick tour to React-land where this pattern is being used for interesting effect.
189: It's Gonna Work, Definitely, No Problems Whatsoever
The Bike Shed • 1 minute
On this week's episode, Chris is joined by Steph Viccari to chat about Steph's recent experience working on the Hubspot API ruby wrapper as a client project. They discuss strategies for testing third-party APIs, focusing on VCR and some of the benefits and trade-offs inherent to that style of API testing. Following that they chat about using exceptions for control flow, digging into why this seems to be a common pattern in Ruby API wrappers, what the alternatives are, and even a quick tour to React-land where this pattern is being used for interesting effect.
188: A Function by Any Other Name
On this week's episode, Chris is joined by German Velasco for a conversation
that fully lives up to the name of the show with plenty of opinions and
impressively deep dives on topics that folks outside the world of programming
would never think could warrant this much discussion.
How much duplication should we have? Is there such a thing as too DRY? Is there
ever a need for code comments, really? Lest you worry that Chris & German spend
the whole episode just volleying opinions, have no fear: the episode is balanced
out with plenty of pointed suggestions and useful anecdotes to make sure
everyone will enjoy it.
188: A Function by Any Other Name
The Bike Shed • less than a minute
On this week's episode, Chris is joined by German Velasco for a conversation
that fully lives up to the name of the show with plenty of opinions and
impressively deep dives on topics that folks outside the world of programming
would never think could warrant this much discussion.
How much duplication should we have? Is there such a thing as too DRY? Is there
ever a need for code comments, really? Lest you worry that Chris & German spend
the whole episode just volleying opinions, have no fear: the episode is balanced
out with plenty of pointed suggestions and useful anecdotes to make sure
everyone will enjoy it.
187: Convincing People Not to Build Software
On this week's episode, Chris is joined by Matt Sumner, development director in our Boston Studio. Chris & Matt start with a quick update on Matt's crypto adventures, and then transition to the core of the conversation as Matt describes the past few weeks of starting a new project and all the decisions that come with that.
The project kicked off with a product design sprint to help determine the initial direction for MVP. From there, Matt describes some of the thinking that went into the technology choices for the app, as well as describing his experience thus far working in a novel ecosystem for him with Scala & GraphQL.
187: Convincing People Not to Build Software
The Bike Shed • 1 minute
On this week's episode, Chris is joined by Matt Sumner, development director in our Boston Studio. Chris & Matt start with a quick update on Matt's crypto adventures, and then transition to the core of the conversation as Matt describes the past few weeks of starting a new project and all the decisions that come with that.
The project kicked off with a product design sprint to help determine the initial direction for MVP. From there, Matt describes some of the thinking that went into the technology choices for the app, as well as describing his experience thus far working in a novel ecosystem for him with Scala & GraphQL.
186: Let's Duplicate Stuff
On this week's episode, Chris is joined by Daniel Colson, developer in our New York studio and current maintainer of all things FactoryBot. Chris & Daniel discuss Daniel's work as maintainer of one of thoughtbot's most popular open source projects and some of the parallels to thoughtbot's consulting work. They then discuss a bit more on the specifics of FactoryBot and what's in store for upcoming versions.
To round out the conversation Daniel and Chris also dig into some of the testing related best practices and patterns common to thoughtbot projects, linting and formatting tools, and even dip into the age old discussion around single quotes vs double quotes (just a tiny bit).
- factory_bot
- factory_bot_rails
- How to be an open source gardener
- Mystery Guest
- Let's Not
- "What's the most painful thing you've ever had to do with RSpec?"
- Standard - Ruby style guide, linter, and formatter
- Prettier - opinionated code formatter
- Rufo
- Speed Up Tests by Selectively Avoiding Factory Girl
Thank you to One Month for sponsoring this episode.
186: Let's Duplicate Stuff
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Daniel Colson, developer in our New York studio and current maintainer of all things FactoryBot. Chris & Daniel discuss Daniel's work as maintainer of one of thoughtbot's most popular open source projects and some of the parallels to thoughtbot's consulting work. They then discuss a bit more on the specifics of FactoryBot and what's in store for upcoming versions.
To round out the conversation Daniel and Chris also dig into some of the testing related best practices and patterns common to thoughtbot projects, linting and formatting tools, and even dip into the age old discussion around single quotes vs double quotes (just a tiny bit).
- factory_bot
- factory_bot_rails
- How to be an open source gardener
- Mystery Guest
- Let's Not
- "What's the most painful thing you've ever had to do with RSpec?"
- Standard - Ruby style guide, linter, and formatter
- Prettier - opinionated code formatter
- Rufo
- Speed Up Tests by Selectively Avoiding Factory Girl
Thank you to One Month for sponsoring this episode.
185: The Transactional Fallacy (Avdi Grimm)
On this week's episode, Chris is joined by Ruby Hero Avdi Grimm. They discuss Avdi's history of guiding the Ruby and broader programming communities, his thoughts about where we're at with object-oriented programming, and where he's looking to next for our industry.
This conversation touches on a variety of topics both technical and personal. Avdi shares some of his thinking around where we've failed with our approaches to object-oriented programming and viewing the world as transactional, and instead offers ideas around modeling our systems as processes.
Avdi & Chris also chat about some of Avdi's my recent explorations into the world of JavaScript & React, as well as the growing "resilience engineering" mindset.
- Ruby Rouges Podcast
- Confident Code
- Avdi's Keep Ruby Weird Keynote
- Alan Kay - Creator of Object Oriented Programming
- Actor Model
- Kafka
- Ruby Tapas - Avdi's Weekly Ruby Screencast Series
- Greater Than Code Podcast
- Mastering the Object Oriented Mindset
- Pair Program With Me
- Avdi - Ruby Duck Sessions
- Avdi and Jess stumble through modern web development
- Glitch
- TypeScript
- Australian Disaster Resilience Conference
- Chaos Monkey from Netflix
- avdi.codes
Thank you to One Month for sponsoring this episode.
185: The Transactional Fallacy (Avdi Grimm)
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Ruby Hero Avdi Grimm. They discuss Avdi's history of guiding the Ruby and broader programming communities, his thoughts about where we're at with object-oriented programming, and where he's looking to next for our industry.
This conversation touches on a variety of topics both technical and personal. Avdi shares some of his thinking around where we've failed with our approaches to object-oriented programming and viewing the world as transactional, and instead offers ideas around modeling our systems as processes.
Avdi & Chris also chat about some of Avdi's my recent explorations into the world of JavaScript & React, as well as the growing "resilience engineering" mindset.
- Ruby Rouges Podcast
- Confident Code
- Avdi's Keep Ruby Weird Keynote
- Alan Kay - Creator of Object Oriented Programming
- Actor Model
- Kafka
- Ruby Tapas - Avdi's Weekly Ruby Screencast Series
- Greater Than Code Podcast
- Mastering the Object Oriented Mindset
- Pair Program With Me
- Avdi - Ruby Duck Sessions
- Avdi and Jess stumble through modern web development
- Glitch
- TypeScript
- Australian Disaster Resilience Conference
- Chaos Monkey from Netflix
- avdi.codes
Thank you to One Month for sponsoring this episode.
184: Fun, Interesting, and I Wouldn't Recommend It
On this week's episode, Chris is joined by Eebs Kobeissi, a developer in our Boston studio, for a discussion encompassing the front end, back end, and everything in between. They start by discussing Eebs' recent work with both Elm & TypeScript, and the relative merits of these two strongly typed languages for the front end. From there they move on to a discussion around the different communities and rates of change in each.
Shifting gears, Chris then asks Eebs about his experience with more distributed systems and technologies like JSON Web Tokens, ElasitcSearch, RabbitMQ, Kafka, and more.
They round out the conversation with a discussion around some recent security discussions in package managers and their collective surprise that things work at all.
- chruby
- asdf
- Matz replies to post around Ruby moving slowly
- TypeScript
- Elm
- TypeScript Growing Popularity on State of JS 2018
- JSON Web Tokens (JTW)
- RSA Public Key Cryptography
- OAuth
- RabbitMQ
- ElasitcSearch
- Postgres Full Text Search
- Kafka
- Event Sourcing
- Details about the event-stream incident
- Heartbleed
- Transcendence and the Future of React with Laurie Voss
Thank you to One Month for sponsoring this episode.
184: Fun, Interesting, and I Wouldn't Recommend It
The Bike Shed • less than a minute
On this week's episode, Chris is joined by Eebs Kobeissi, a developer in our Boston studio, for a discussion encompassing the front end, back end, and everything in between. They start by discussing Eebs' recent work with both Elm & TypeScript, and the relative merits of these two strongly typed languages for the front end. From there they move on to a discussion around the different communities and rates of change in each.
Shifting gears, Chris then asks Eebs about his experience with more distributed systems and technologies like JSON Web Tokens, ElasitcSearch, RabbitMQ, Kafka, and more.
They round out the conversation with a discussion around some recent security discussions in package managers and their collective surprise that things work at all.
- chruby
- asdf
- Matz replies to post around Ruby moving slowly
- TypeScript
- Elm
- TypeScript Growing Popularity on State of JS 2018
- JSON Web Tokens (JTW)
- RSA Public Key Cryptography
- OAuth
- RabbitMQ
- ElasitcSearch
- Postgres Full Text Search
- Kafka
- Event Sourcing
- Details about the event-stream incident
- Heartbleed
- Transcendence and the Future of React with Laurie Voss
Thank you to One Month for sponsoring this episode.
183: Former Robots Smashing Into Other Giant Robots (Ben Orenstein)
On this episode of the Bike Shed, Chris is joined by former thoughtbotter Ben Orenstein. Ben & team are currently feverishly working towards launching Tuple.app, an app for remote pair programming. The conversation covers the unique technical challenges inherent to building this sort of app (WebRTC & firewalls, oh my), as well as a discussion around the merits and value of pair programming. To round out the conversation, Ben checks in on whether Chris is still "nerding out hard on Vim".
- Giant Robots
- Art of Product Podcast
- Tuple App
- WebRTC
- Tuple - Pair Programming Guide
- Infamous Hacker News Comment about the initial version Dropbox
- Let's Encrypt
- Red Hat - Enterprise Linux
- fzf - generic fuzzy finder
- VS Code
- Mastering the Vim Language
- @r00k - Ben on twitter
Thank you to One Month for sponsoring this episode.
183: Former Robots Smashing Into Other Giant Robots (Ben Orenstein)
The Bike Shed • less than a minute
On this episode of the Bike Shed, Chris is joined by former thoughtbotter Ben Orenstein. Ben & team are currently feverishly working towards launching Tuple.app, an app for remote pair programming. The conversation covers the unique technical challenges inherent to building this sort of app (WebRTC & firewalls, oh my), as well as a discussion around the merits and value of pair programming. To round out the conversation, Ben checks in on whether Chris is still "nerding out hard on Vim".
- Giant Robots
- Art of Product Podcast
- Tuple App
- WebRTC
- Tuple - Pair Programming Guide
- Infamous Hacker News Comment about the initial version Dropbox
- Let's Encrypt
- Red Hat - Enterprise Linux
- fzf - generic fuzzy finder
- VS Code
- Mastering the Vim Language
- @r00k - Ben on twitter
Thank you to One Month for sponsoring this episode.
182: What's it in the Service Of?
Chris is joined by Eric Bailey, thoughtbot designer and champion for all things accessibility on the web. Chris & Eric chat about how Eric approaches accessibility and works to include it throughout the design process, design systems, functional CSS, CSS in JS, and more.
- Eric's recent accessibility talk
- Shifting Left
- Vimium
- Salesforce Lightning Design System
- Shadow DOM
- Introducing the CSS Cascade
- The element
- Heydon Pickering - Reluctant Gatekeeping: The Problem With Full Stack
- Nicole Sulivan - Object Oriented CSS
- CSS in JS
- BEM CSS Methodology
- Tachyons
- Tailwind CSS
- Sass Lang
- shame.css
- Reach.tech - Accessible foundation for React component design system
- JAWS Screen Reader
- ericwbailey.design
182: What's it in the Service Of?
The Bike Shed • less than a minute
Chris is joined by Eric Bailey, thoughtbot designer and champion for all things accessibility on the web. Chris & Eric chat about how Eric approaches accessibility and works to include it throughout the design process, design systems, functional CSS, CSS in JS, and more.
- Eric's recent accessibility talk
- Shifting Left
- Vimium
- Salesforce Lightning Design System
- Shadow DOM
- Introducing the CSS Cascade
- The element
- Heydon Pickering - Reluctant Gatekeeping: The Problem With Full Stack
- Nicole Sulivan - Object Oriented CSS
- CSS in JS
- BEM CSS Methodology
- Tachyons
- Tailwind CSS
- Sass Lang
- shame.css
- Reach.tech - Accessible foundation for React component design system
- JAWS Screen Reader
- ericwbailey.design
181: Strong Types and a Functional Flair
On this episode of the Bike Shed, Chris is joined by thoughtbot CTO Joe Ferris. Chris & Joe start by talking about all things data. More and more we're building applications that need to manage medium to large data sets, combining data from multiple sources, and our approaches and frameworks need to evolve to match these needs. Joe provides the low down on how this can shape the way we build our applications.
As part of the discussion around data they dig into the idea of event logs, most notably discussing Apache Kafka and it's unique approach to capturing state by storing an immutable event log, and the resulting architecture that falls out of this.
Lastly they chat about the Scala language both in relation to data and streaming applications, but also more generally as an example of an approachable yet powerful strongly typed language.
181: Strong Types and a Functional Flair
The Bike Shed • 1 minute
On this episode of the Bike Shed, Chris is joined by thoughtbot CTO Joe Ferris. Chris & Joe start by talking about all things data. More and more we're building applications that need to manage medium to large data sets, combining data from multiple sources, and our approaches and frameworks need to evolve to match these needs. Joe provides the low down on how this can shape the way we build our applications.
As part of the discussion around data they dig into the idea of event logs, most notably discussing Apache Kafka and it's unique approach to capturing state by storing an immutable event log, and the resulting architecture that falls out of this.
Lastly they chat about the Scala language both in relation to data and streaming applications, but also more generally as an example of an approachable yet powerful strongly typed language.
180: A Citizen of the Internet (John Resig)
On this episode of the Bike Shed, we're thrilled to welcome special guest John Resig, creator of jQuery and front-end architect at Khan Academy. The conversation begins with a discussion around John's work on jQuery, one of the most influential libraries in the history of the web. From there the discussion shifts to John's role as front-end architect at Khan Academy and how he balances feature development and paying down tech debt or exploring new technologies.
John and Chris then discuss the rate of change of front-end technologies, and John provides wonderfully pragmatic guidance distinguishing the rate of innovation from the perceived needed rate of adoption. The conversation also ventures into discussions around the trade-offs involved in open sourcing internal projects. Lastly, they touch briefly on the topic of GraphQL based on John's work at Kahn Academy, as well as his in-progress book, The GraphQL Guide.
A little bit of everything with one of the most influential web developers of
the past 15 years. What more could you ask for?
180: A Citizen of the Internet (John Resig)
The Bike Shed • less than a minute
On this episode of the Bike Shed, we're thrilled to welcome special guest John Resig, creator of jQuery and front-end architect at Khan Academy. The conversation begins with a discussion around John's work on jQuery, one of the most influential libraries in the history of the web. From there the discussion shifts to John's role as front-end architect at Khan Academy and how he balances feature development and paying down tech debt or exploring new technologies.
John and Chris then discuss the rate of change of front-end technologies, and John provides wonderfully pragmatic guidance distinguishing the rate of innovation from the perceived needed rate of adoption. The conversation also ventures into discussions around the trade-offs involved in open sourcing internal projects. Lastly, they touch briefly on the topic of GraphQL based on John's work at Kahn Academy, as well as his in-progress book, The GraphQL Guide.
A little bit of everything with one of the most influential web developers of
the past 15 years. What more could you ask for?
179: We CAN Just Use a Form!
On this episode of the Bike Shed, Matt Sumner returns to chat with Chris about their recent adventures. They start by discussing Matt's ongoing work building an open source Ethereum implementation in Elixir and the joys of a test suite guiding your work. From there, Matt asks Chris about Chris's recent trip to speak at GraphQL Summit and his take on the current state of affairs in the GraphQL world (hint, it's good).
Matt and Chris then discussed the progress they've made on simpler form handling in React applications and consider how far they could go with this, and then discuss the recent announcement of React Hooks.
And finally, they discuss the fact that thoughtbot is hiring, and we think you should apply! Head on over to thoughtbot.com/jobs and drop us a line :)
- Mana - ethereum
- Heroku SSH
- Erlang OTP
- GraphQL Summit 2018
- GraphQL Foundation
- Apollo GraphQL
- Prisma
- Graph.cool
- Falcor (Netflix GraphQL-like library)
- JSON Graph
- Lee Byron
- Nick Schrock
- Shopify GraphQL Design Tutorial
- Chris Toomey: React & GraphQL – Bringing Simplicity to Client Side Development video
- CodeSandbox Proof of Concept - Simple React Form Handling
- Formik & Yup
- React -- Introducing Hooks
- React Hooks RFC (now merged)
179: We CAN Just Use a Form!
The Bike Shed • 1 minute
On this episode of the Bike Shed, Matt Sumner returns to chat with Chris about their recent adventures. They start by discussing Matt's ongoing work building an open source Ethereum implementation in Elixir and the joys of a test suite guiding your work. From there, Matt asks Chris about Chris's recent trip to speak at GraphQL Summit and his take on the current state of affairs in the GraphQL world (hint, it's good).
Matt and Chris then discussed the progress they've made on simpler form handling in React applications and consider how far they could go with this, and then discuss the recent announcement of React Hooks.
And finally, they discuss the fact that thoughtbot is hiring, and we think you should apply! Head on over to thoughtbot.com/jobs and drop us a line :)
- Mana - ethereum
- Heroku SSH
- Erlang OTP
- GraphQL Summit 2018
- GraphQL Foundation
- Apollo GraphQL
- Prisma
- Graph.cool
- Falcor (Netflix GraphQL-like library)
- JSON Graph
- Lee Byron
- Nick Schrock
- Shopify GraphQL Design Tutorial
- Chris Toomey: React & GraphQL – Bringing Simplicity to Client Side Development video
- CodeSandbox Proof of Concept - Simple React Form Handling
- Formik & Yup
- React -- Introducing Hooks
- React Hooks RFC (now merged)
178: Friday is For Spikes
On this episode of the Bike Shed Chris is joined by Derek Prior, former
thoughtbotter and previous host of this very podcast. Derek has recently moved
on from thoughtbot to try out a new role as an engineering manager at GitHub.
During their conversation they talk about Derek's experience shipping the
"Suggested Changes" feature on github.com, and the MVP process Derek brought to
the planning and development of the feature. They also touch on the architecture
of GitHub and where services and monoliths fit in the world of larger systems
like GitHub. Lastly they discuss Chris & Derek's respective transitions into
more roles with a bit less code and a bit more management. As usual, this one
has a little bit of everything!
178: Friday is For Spikes
The Bike Shed • 1 minute
On this episode of the Bike Shed Chris is joined by Derek Prior, former
thoughtbotter and previous host of this very podcast. Derek has recently moved
on from thoughtbot to try out a new role as an engineering manager at GitHub.
During their conversation they talk about Derek's experience shipping the
"Suggested Changes" feature on github.com, and the MVP process Derek brought to
the planning and development of the feature. They also touch on the architecture
of GitHub and where services and monoliths fit in the world of larger systems
like GitHub. Lastly they discuss Chris & Derek's respective transitions into
more roles with a bit less code and a bit more management. As usual, this one
has a little bit of everything!
177: Tricking Computers Into Doing Things
On this episode of the Bike Shed, Chris is joined by Christina Entcheva, developer from thoughtbot's New York studio who has been a product manager and designer previously in her career, but has since settled in to her role as a developer.
Chris & Christina share a conversation ranging from their shared love of "boring Rails apps", Christina's recent work with headless CMSs like Contentful & Prismic, and a discussion around Rails performance. Throughout the conversation they touch on theme's of keeping a focus on user needs throughout the work of developing applications.
- Contentful
- Prismic
- Essential Scala book
- Nate Berkopec
- The Complete Guide to Rails Performance
- Mark/Compact GC in MRI - Aaron Patterson
- Benchmark module in Ruby
- Postgres Table Partitioning
- Getting Real book by Basecamp
- It Doesn't Have to Be Crazy at Work
- Upcase is now Free!
- Testing Interaction with 3rd-party APIs on Upcase
- Composition Over Inheritance on Upcase
177: Tricking Computers Into Doing Things
The Bike Shed • less than a minute
On this episode of the Bike Shed, Chris is joined by Christina Entcheva, developer from thoughtbot's New York studio who has been a product manager and designer previously in her career, but has since settled in to her role as a developer.
Chris & Christina share a conversation ranging from their shared love of "boring Rails apps", Christina's recent work with headless CMSs like Contentful & Prismic, and a discussion around Rails performance. Throughout the conversation they touch on theme's of keeping a focus on user needs throughout the work of developing applications.
- Contentful
- Prismic
- Essential Scala book
- Nate Berkopec
- The Complete Guide to Rails Performance
- Mark/Compact GC in MRI - Aaron Patterson
- Benchmark module in Ruby
- Postgres Table Partitioning
- Getting Real book by Basecamp
- It Doesn't Have to Be Crazy at Work
- Upcase is now Free!
- Testing Interaction with 3rd-party APIs on Upcase
- Composition Over Inheritance on Upcase
176: The Machines Will Learn
On this episode of the Bike Shed Chris is joined by George Brocklehurst, development director in thoughtbot's New York studio. The conversation starts with a discussion around progressive enhancement and the state of the modern web, and then shifts to focus on George's recent explorations of machine learning. This episode is a perfect introduction to the topic of ML, and provides a great summary of why you might want to start working with it and how to go about that.
- Does Progressive Enhancement Have a Place in Today's Web?
- Vue.js
- Electron
- React Native
- React Native for Desktop
Frameworks and Tools For Exploring Machine Learning
Getting Started with Machine Learning:
176: The Machines Will Learn
The Bike Shed • less than a minute
On this episode of the Bike Shed Chris is joined by George Brocklehurst, development director in thoughtbot's New York studio. The conversation starts with a discussion around progressive enhancement and the state of the modern web, and then shifts to focus on George's recent explorations of machine learning. This episode is a perfect introduction to the topic of ML, and provides a great summary of why you might want to start working with it and how to go about that.
- Does Progressive Enhancement Have a Place in Today's Web?
- Vue.js
- Electron
- React Native
- React Native for Desktop
Frameworks and Tools For Exploring Machine Learning
Getting Started with Machine Learning:
175: Tell Me When It's Real
On this episode of the Bike Shed, Chris is joined by Josh Clayton, thoughtbot's managing director in our Boston studio. Chris and Josh spend the episode discussing the various patterns and trends they see in the world of web development. Specifically, they touch on server side frameworks like Ruby on Rails and Phoenix in the Elixir world. In addition, they discuss a variety of front end trends including the move towards typed languages like ReasonML, TypeScript, Elm, PureScript, and Scala.js, as well as frameworks like React, Ember, Angular, and Vue.js.
- Bike Shed 20 w/ Josh Clayton: Intentionally Excruciatingly Painful
- Google Lighthouse
- Beyond React 16 by Dan Abramov - JSConf Iceland
- AirBnB Moving Away from React Native
- Josh Steiner - Elm native UI in production
- Announcing Purple Train
- ReasonML
- Elm
- TypeScript
- PureScript
- Scala.js
- Software disenchantment blog post
- 166: Are Services the New Rewrite?
- Apollo Client
- Vue.js
- Thoughtworks Technology Radar
- Parcel Bundler
- Terser javascript minifier
- Rufo - Ruby autoformatter
175: Tell Me When It's Real
The Bike Shed • less than a minute
On this episode of the Bike Shed, Chris is joined by Josh Clayton, thoughtbot's managing director in our Boston studio. Chris and Josh spend the episode discussing the various patterns and trends they see in the world of web development. Specifically, they touch on server side frameworks like Ruby on Rails and Phoenix in the Elixir world. In addition, they discuss a variety of front end trends including the move towards typed languages like ReasonML, TypeScript, Elm, PureScript, and Scala.js, as well as frameworks like React, Ember, Angular, and Vue.js.
- Bike Shed 20 w/ Josh Clayton: Intentionally Excruciatingly Painful
- Google Lighthouse
- Beyond React 16 by Dan Abramov - JSConf Iceland
- AirBnB Moving Away from React Native
- Josh Steiner - Elm native UI in production
- Announcing Purple Train
- ReasonML
- Elm
- TypeScript
- PureScript
- Scala.js
- Software disenchantment blog post
- 166: Are Services the New Rewrite?
- Apollo Client
- Vue.js
- Thoughtworks Technology Radar
- Parcel Bundler
- Terser javascript minifier
- Rufo - Ruby autoformatter
174: I've Watched a Lot of Vim Courses
In this special crossover episode, Chris is joined by Chad Pytel, Co-founder & CEO of thoughtbot and host of Giant Robots Smashing Into Other Giant Robots podcast, to discuss the content, history, and the process of making Upcase, thoughtbot's online learning platform, FREE.
174: I've Watched a Lot of Vim Courses
The Bike Shed • 1 minute
In this special crossover episode, Chris is joined by Chad Pytel, Co-founder & CEO of thoughtbot and host of Giant Robots Smashing Into Other Giant Robots podcast, to discuss the content, history, and the process of making Upcase, thoughtbot's online learning platform, FREE.
173: A Combinatoric Explosion of Nulls
Joël Quenneville joins Chris to discuss Elm, the strongly typed functional programming language for writing reliable client side web apps. They discuss recent changes from the 0.19 release including reduced bundle size from dead code elimination, the somewhat controversial removal of custom operators. Anecdotally, Joël and team saw a reduction from 31.5K to 16.6K in bundle size going from 0.18 to 0.19 and felt no pain from the custom operators removal, so a big net win for them with this new version.
Along the way Joël and Chris detour into the complexity of managing a project and community like Elm's and discuss Joël‘s recent work with the thoughtbot apprentice program. To round things out, Joël and Chris discuss the power of using a type system like Elm's to constrain the valid states of your application and make your apps more robust and maintainable.
- Elm - A delightful language for reliable webapps.
- Elm 0.19 Release Notes
- Webpacker
- Elm 0.19 - Dead Code Elimination
- Scala.js
- The reasoning behind removing user-defined operators
- Minesweeper for JavaScript Equality
- WebAssembly
- Linus Torvalds - "I am going to take time off and get some assistance..."
- Also Linus, on the importance of "trivial patches" as entry points for new kernal developers
- Derek Prior - Implementing a Strong Code-Review Culture
- thoughtbot code review guidelines
- thoughtbot apprentice program
- How Elm Slays a UI Antipattern
- "Making Impossible States Impossible" talk by Richard Feldman
- "Working with Maybe" talk by Joël Quenneville
- "Confident Code" talk by Avdi Grimm
- "Nothing is Something" talk by Sandi Metz
- The Zen of Python
- Breakable Toys
- Joel’s many posts on the Giant Robots blog
- Stop Coding and Start Drawing
173: A Combinatoric Explosion of Nulls
The Bike Shed • less than a minute
Joël Quenneville joins Chris to discuss Elm, the strongly typed functional programming language for writing reliable client side web apps. They discuss recent changes from the 0.19 release including reduced bundle size from dead code elimination, the somewhat controversial removal of custom operators. Anecdotally, Joël and team saw a reduction from 31.5K to 16.6K in bundle size going from 0.18 to 0.19 and felt no pain from the custom operators removal, so a big net win for them with this new version.
Along the way Joël and Chris detour into the complexity of managing a project and community like Elm's and discuss Joël‘s recent work with the thoughtbot apprentice program. To round things out, Joël and Chris discuss the power of using a type system like Elm's to constrain the valid states of your application and make your apps more robust and maintainable.
- Elm - A delightful language for reliable webapps.
- Elm 0.19 Release Notes
- Webpacker
- Elm 0.19 - Dead Code Elimination
- Scala.js
- The reasoning behind removing user-defined operators
- Minesweeper for JavaScript Equality
- WebAssembly
- Linus Torvalds - "I am going to take time off and get some assistance..."
- Also Linus, on the importance of "trivial patches" as entry points for new kernal developers
- Derek Prior - Implementing a Strong Code-Review Culture
- thoughtbot code review guidelines
- thoughtbot apprentice program
- How Elm Slays a UI Antipattern
- "Making Impossible States Impossible" talk by Richard Feldman
- "Working with Maybe" talk by Joël Quenneville
- "Confident Code" talk by Avdi Grimm
- "Nothing is Something" talk by Sandi Metz
- The Zen of Python
- Breakable Toys
- Joel’s many posts on the Giant Robots blog
- Stop Coding and Start Drawing
172: What I Believe About Software
Steph Viccari joins Chris for a conversation starting with a discussion of some deployment and orchestration issues Chris was helping out with, followed by some of Steph's recent experiences with JSONB in postgres and the relative trade-offs of unstructured data.
The heart of the conversation revolves around the core processes we use to develop software touching on sprint planning & story points, deadlines, the place for refactoring and code review in the regular cadence of development, and the often lamented retrospective meeting.
- Aptible - PAAS with strong security and HIPAA compliance
- Heroku Shield
- Google hiding www in URLs
- Auth0 - Identity management and auth as a service
- ActiveStorage - Rails's built in filie attachment framework
- Postgres JSON & JSONB Types
- The Real Story Behind Story Points
- Laurie Young Post on His Use of Story Points
- Deadlines
- XKCD - And Check Whether the Photo is of a Bird
- Headspace meditation
172: What I Believe About Software
The Bike Shed • 1 minute
Steph Viccari joins Chris for a conversation starting with a discussion of some deployment and orchestration issues Chris was helping out with, followed by some of Steph's recent experiences with JSONB in postgres and the relative trade-offs of unstructured data.
The heart of the conversation revolves around the core processes we use to develop software touching on sprint planning & story points, deadlines, the place for refactoring and code review in the regular cadence of development, and the often lamented retrospective meeting.
- Aptible - PAAS with strong security and HIPAA compliance
- Heroku Shield
- Google hiding www in URLs
- Auth0 - Identity management and auth as a service
- ActiveStorage - Rails's built in filie attachment framework
- Postgres JSON & JSONB Types
- The Real Story Behind Story Points
- Laurie Young Post on His Use of Story Points
- Deadlines
- XKCD - And Check Whether the Photo is of a Bird
- Headspace meditation
171: What If We Just Used a Form?
Matt Sumner joins Chris for a discussion around Matt's recent adventures with the block chain and Ethereum, as well as tackling the thorny issue of server rendered vs client side apps. They cover a bit of history, a bit of opinion, and some practical considerations to keep in mind when tackling rich client development.
171: What If We Just Used a Form?
The Bike Shed • 1 minute
Matt Sumner joins Chris for a discussion around Matt's recent adventures with the block chain and Ethereum, as well as tackling the thorny issue of server rendered vs client side apps. They cover a bit of history, a bit of opinion, and some practical considerations to keep in mind when tackling rich client development.
170: Less Charted Territory
Chris is joined by Paul Smith to discuss Crystal, a statically-typed and compiled language with a Ruby inspired syntax. Paul has spent much of the past few years exploring Crystal and building a new web framework called Lucky.
Paul's infectious enthusiasm for the Crystal language shines through in this discussion covering some of the unique features of Crystal & Lucky, but there is plenty to enjoy even if you're not specifically interested in Crystal.
With Lucky, Paul has done a great job of taking the best of what has been built in other frameworks and bring it to Crystal, drawing inspiration from Ruby & Rails, Elixir & Phoenix, and even PHP and the Laravel framework. There's something in this episode for everyone!
- Crystal
- If You Gaze Into nil, nil Gazes Also Into You
- Elm
- Scala
- Elixir
- Elixir Phoenix
- Laravel
- Laravel Mix
- Lucky on GitHub
- Render HTML pages in Lucky
- Actions and Routing in Lucky
- Browser tests with LuckyFlow
- Dusk selectors
- Guido Van Rossum, Python BDFL, Stepping down
- VS Code
- BikeShed episode w/ German Velasco disucssing Elixir
170: Less Charted Territory
The Bike Shed • less than a minute
Chris is joined by Paul Smith to discuss Crystal, a statically-typed and compiled language with a Ruby inspired syntax. Paul has spent much of the past few years exploring Crystal and building a new web framework called Lucky.
Paul's infectious enthusiasm for the Crystal language shines through in this discussion covering some of the unique features of Crystal & Lucky, but there is plenty to enjoy even if you're not specifically interested in Crystal.
With Lucky, Paul has done a great job of taking the best of what has been built in other frameworks and bring it to Crystal, drawing inspiration from Ruby & Rails, Elixir & Phoenix, and even PHP and the Laravel framework. There's something in this episode for everyone!
- Crystal
- If You Gaze Into nil, nil Gazes Also Into You
- Elm
- Scala
- Elixir
- Elixir Phoenix
- Laravel
- Laravel Mix
- Lucky on GitHub
- Render HTML pages in Lucky
- Actions and Routing in Lucky
- Browser tests with LuckyFlow
- Dusk selectors
- Guido Van Rossum, Python BDFL, Stepping down
- VS Code
- BikeShed episode w/ German Velasco disucssing Elixir
169: Fear Driven Development
Chris is joined by Kane Baccigalupi, development director from thoughtbot's San Francisco office to discuss Kane's history in government working for 18F and California State and how those experiences have informed Kane's work since.
Throughout the conversation Chris and Kane discuss their shared desire to hide all implementation details and their love of Ruby for how it allows us to do
that, testing vs test driven development, and approaches for refactoring large
untested systems.
- 18F - A consulting team within the government helping to introduce modern
software development practices. - Kane's tweet about the enjoyment of the refactoring and design parts of the process.
- Sarah Mei on The Bike Shed
- Uniform Access Principle
- Observations on the testing culture of Test Driven Development - TDD
article that introduces the phrase "calling the shot" for the practice of TDD. - Convenience class methods on service objects
- Testing Pyramid - A way to think about the cost and value of the
various types of tests. - Therapeutic Refactoring by Katrina Owen
- Katrina Owen on The Bike Shed
- Strangler Pattern - A systematic approach to refactoring and decomposing
large-scale - The encasement strategy: on legacy systems and the importance of APIs
- Martin Fowler on the Strangler Pattern
169: Fear Driven Development
The Bike Shed • 1 minute
Chris is joined by Kane Baccigalupi, development director from thoughtbot's San Francisco office to discuss Kane's history in government working for 18F and California State and how those experiences have informed Kane's work since.
Throughout the conversation Chris and Kane discuss their shared desire to hide all implementation details and their love of Ruby for how it allows us to do
that, testing vs test driven development, and approaches for refactoring large
untested systems.
- 18F - A consulting team within the government helping to introduce modern
software development practices. - Kane's tweet about the enjoyment of the refactoring and design parts of the process.
- Sarah Mei on The Bike Shed
- Uniform Access Principle
- Observations on the testing culture of Test Driven Development - TDD
article that introduces the phrase "calling the shot" for the practice of TDD. - Convenience class methods on service objects
- Testing Pyramid - A way to think about the cost and value of the
various types of tests. - Therapeutic Refactoring by Katrina Owen
- Katrina Owen on The Bike Shed
- Strangler Pattern - A systematic approach to refactoring and decomposing
large-scale - The encasement strategy: on legacy systems and the importance of APIs
- Martin Fowler on the Strangler Pattern
168: An Escape Rope of Learning
Chris is joined by Rachel Mathew to discuss Rachel's recent experiences with
Scala on a handful of client and side projects. They discuss the benefits of
working within a type system, learning to work with a compiler, and the process
of getting to know a new language and paradigm.
Along they way they dip into the complexity of twitter as a platform for
discussion and making improvements to development workflows.
- Scala
- Scala implicits
- Kotlin
- Four stages of competence
- Scala Play - Full-featured Scala web framework, comparable to Rails
- http4s - Lower level Scala web framework
- SOAP - An approach to building APIs popular before the focus on REST APIs
- WSDL - Schemas in the land of SOAP
- Sangria - Scala GraphQL library
- neo4j - An example of a graph database
- Are Services the New Rewrite? - recent Bike Shed episode discussion
microservice architecture - 283: Overcoming Awkward Data (Joe Ferris) - Recent Giant Robots episode
with Joe Ferris discussing "awkward data" - GraphQL Code Generation
- Purple Train App
168: An Escape Rope of Learning
The Bike Shed • less than a minute
Chris is joined by Rachel Mathew to discuss Rachel's recent experiences with
Scala on a handful of client and side projects. They discuss the benefits of
working within a type system, learning to work with a compiler, and the process
of getting to know a new language and paradigm.
Along they way they dip into the complexity of twitter as a platform for
discussion and making improvements to development workflows.
- Scala
- Scala implicits
- Kotlin
- Four stages of competence
- Scala Play - Full-featured Scala web framework, comparable to Rails
- http4s - Lower level Scala web framework
- SOAP - An approach to building APIs popular before the focus on REST APIs
- WSDL - Schemas in the land of SOAP
- Sangria - Scala GraphQL library
- neo4j - An example of a graph database
- Are Services the New Rewrite? - recent Bike Shed episode discussion
microservice architecture - 283: Overcoming Awkward Data (Joe Ferris) - Recent Giant Robots episode
with Joe Ferris discussing "awkward data" - GraphQL Code Generation
- Purple Train App
167: I Feel Like We Should've Solved This By Now
Chris is joined by German Velasco for a discussion ranging from German's
recent transition to remote working to the wonders of the Elixir language and
the Erlang platform, blockchain, Ethereum, TypeScript, the Language Server
Protocol, and more!
- tmate - shared terminal sessions via a special build of tmux
- Sneak - Human contact for remote teams (persistent video chat for teams)
- Ryan Tomayko - Your team should work like an open source project - great
post with actionable advice for teams adopting the remote life - How to Create a Distributed Work Culture
- 5 Things that Suck about Remote Work
- Taking the Pain Out of Video Conferences
- thoughtbot.com/jobs - Come work with us!
- Elixir - The language German loves!
- Pattern matching in Elixir
- Hindley–Milner type system
- dialyzer - Erlang static analysis
- Erlang OTP - a set of Erlang libraries & principles that carry over to
Elixir - Erlang "Let It Crash"
- Blockchain
- Ethereum
- Proof of Authority
- GraphQL
- VS Code
- Language Server Protocol
- TypeScript 3.0
167: I Feel Like We Should've Solved This By Now
The Bike Shed • 1 minute
Chris is joined by German Velasco for a discussion ranging from German's
recent transition to remote working to the wonders of the Elixir language and
the Erlang platform, blockchain, Ethereum, TypeScript, the Language Server
Protocol, and more!
- tmate - shared terminal sessions via a special build of tmux
- Sneak - Human contact for remote teams (persistent video chat for teams)
- Ryan Tomayko - Your team should work like an open source project - great
post with actionable advice for teams adopting the remote life - How to Create a Distributed Work Culture
- 5 Things that Suck about Remote Work
- Taking the Pain Out of Video Conferences
- thoughtbot.com/jobs - Come work with us!
- Elixir - The language German loves!
- Pattern matching in Elixir
- Hindley–Milner type system
- dialyzer - Erlang static analysis
- Erlang OTP - a set of Erlang libraries & principles that carry over to
Elixir - Erlang "Let It Crash"
- Blockchain
- Ethereum
- Proof of Authority
- GraphQL
- VS Code
- Language Server Protocol
- TypeScript 3.0
166: Are Services the New Rewrite?
Chris & Derek discuss the world of services, exploring the various forms SOA can take, the oft stated benefits, and some of the pitfalls they commonly see in the
wild. The discussion ranges from alternative architectures, guidelines for how to think about services within your platform, and even includes an anecdote about thoughtbot's foray into the world of SOA on Upcase.
166: Are Services the New Rewrite?
The Bike Shed • less than a minute
Chris & Derek discuss the world of services, exploring the various forms SOA can take, the oft stated benefits, and some of the pitfalls they commonly see in the
wild. The discussion ranges from alternative architectures, guidelines for how to think about services within your platform, and even includes an anecdote about thoughtbot's foray into the world of SOA on Upcase.
165: The Tables Have Turned
Chris & Derek talk about beginnings and ends, borrowing from their consulting mindset for a conversation spanning CI, deployment, communication, team structure, and everything in between.
165: The Tables Have Turned
The Bike Shed • 1 minute
Chris & Derek talk about beginnings and ends, borrowing from their consulting mindset for a conversation spanning CI, deployment, communication, team structure, and everything in between.
164: A Piece of My Identity
164: A Piece of My Identity
The Bike Shed • less than a minute
163: Insert Some Colons For Me
After Sean confronts some breaking changes to Diesel, we discuss what we like about Visual Studio Code and how changing your tools can change your perspective.
163: Insert Some Colons For Me
The Bike Shed • 1 minute
After Sean confronts some breaking changes to Diesel, we discuss what we like about Visual Studio Code and how changing your tools can change your perspective.
162: You Have Ruined Your Rails App (Sam Phippen)
Sam Phippen joins us to discuss the maintenance burden of supporting old Rubies, service oriented architecture, and explorations of GraphQL and graph databases.
- Sam Phippen on Twitter
- RFC: rspec-rails versioning strategy
- Mix deps documentation
- NP-hardness
bundle update --conservativedocs- Use create_or_find_by to avoid race condition in Rails 6.0
- Dgraph — A Distributed, Fast Graph Database
- 100: Nouns You Can Verb | The Bike Shed - Sam's previous discussion of GRPC on the podcast
- PostgreSQL: WITH Queries (Common Table Expressions)
- Work at DigitalOcean
- Jobs - thoughtbot
- Careers and Jobs at Shopify
162: You Have Ruined Your Rails App (Sam Phippen)
The Bike Shed • less than a minute
Sam Phippen joins us to discuss the maintenance burden of supporting old Rubies, service oriented architecture, and explorations of GraphQL and graph databases.
- Sam Phippen on Twitter
- RFC: rspec-rails versioning strategy
- Mix deps documentation
- NP-hardness
bundle update --conservativedocs- Use create_or_find_by to avoid race condition in Rails 6.0
- Dgraph — A Distributed, Fast Graph Database
- 100: Nouns You Can Verb | The Bike Shed - Sam's previous discussion of GRPC on the podcast
- PostgreSQL: WITH Queries (Common Table Expressions)
- Work at DigitalOcean
- Jobs - thoughtbot
- Careers and Jobs at Shopify
161: Re-Incoherence
Rails performance, rebalancing coherence, and themes from career advice requests.
161: Re-Incoherence
The Bike Shed • 1 minute
Rails performance, rebalancing coherence, and themes from career advice requests.
160: Praise Hands Emoji 🙌 (Vaidehi Joshi)
We're joined by Vaidehi Joshi to discuss her multimedia empire, conference talk prep, getting started with computer science, and the applicability of a computer science education in every day development work. We wrap the episode with live Q&A from our RailsConf audience.
- Vaidehi Joshi on Twitter
- Base CS – The Blog Posts
- Base CS - The Podcast
- Base CS - The Video Series
- RailsConf 2018: Re-graphing The Mental Model of The Rails Router by Vaidehi Joshi
- Deckset for Mac: Presentations from Markdown
- RustConf 2017 - Type System Tips for the Real World by Sean Griffin
- EmberConf 2018: Closing Keynote by Saron Yitbarek & Vaidehi Joshi
- Conway's Game of Life
- Understanding Computation: From Simple Machines to Impossible Programs: Tom Stuart
- Announcing Skylight for Open Source!
160: Praise Hands Emoji 🙌 (Vaidehi Joshi)
The Bike Shed • 1 minute
We're joined by Vaidehi Joshi to discuss her multimedia empire, conference talk prep, getting started with computer science, and the applicability of a computer science education in every day development work. We wrap the episode with live Q&A from our RailsConf audience.
- Vaidehi Joshi on Twitter
- Base CS – The Blog Posts
- Base CS - The Podcast
- Base CS - The Video Series
- RailsConf 2018: Re-graphing The Mental Model of The Rails Router by Vaidehi Joshi
- Deckset for Mac: Presentations from Markdown
- RustConf 2017 - Type System Tips for the Real World by Sean Griffin
- EmberConf 2018: Closing Keynote by Saron Yitbarek & Vaidehi Joshi
- Conway's Game of Life
- Understanding Computation: From Simple Machines to Impossible Programs: Tom Stuart
- Announcing Skylight for Open Source!
159: Confusing and Hard to Use
An ORM that's a pleasure to use with raw SQL when needed? Sean discusses how that can be. Plus, Derek shares a new and exciting way for migrations to break!
159: Confusing and Hard to Use
The Bike Shed • 1 minute
An ORM that's a pleasure to use with raw SQL when needed? Sean discusses how that can be. Plus, Derek shares a new and exciting way for migrations to break!
158: This is How I Ruin Meetings (Aaron Patterson)
We're joined by Aaron Patterson for puns. Aaron also updates us on compacting GC for Ruby and Ruby 2.6's JIT compiler before telling us how he really feels about functional programming.
- Aaron Patterson (@tenderlove) on Twitter
- Parkinson's Law of Triviality (The Bike Shed Effect)
- Cargo Cult
- Building a Compacting GC for MRI by Aaron Patterson
- Allison McMillan on Twitter
- CAR and CDR
- Honeypot
- The method JIT compiler for Ruby 2.6
- Closing Keynote by Aaron Patterson
- Opening Keynote: FIXME by David Heinemeier Hansson
- The Future of Rails 6: Scalable by Default by Eileen Uchitelle
- The Crystal Programming Language
158: This is How I Ruin Meetings (Aaron Patterson)
The Bike Shed • less than a minute
We're joined by Aaron Patterson for puns. Aaron also updates us on compacting GC for Ruby and Ruby 2.6's JIT compiler before telling us how he really feels about functional programming.
- Aaron Patterson (@tenderlove) on Twitter
- Parkinson's Law of Triviality (The Bike Shed Effect)
- Cargo Cult
- Building a Compacting GC for MRI by Aaron Patterson
- Allison McMillan on Twitter
- CAR and CDR
- Honeypot
- The method JIT compiler for Ruby 2.6
- Closing Keynote by Aaron Patterson
- Opening Keynote: FIXME by David Heinemeier Hansson
- The Future of Rails 6: Scalable by Default by Eileen Uchitelle
- The Crystal Programming Language
157: Whiz-Bangy Frontend Thing (Chris Toomey)
Chris Toomey joins Derek to talk about their shared experience in Elm and their excitement about GraphQL.
157: Whiz-Bangy Frontend Thing (Chris Toomey)
The Bike Shed • less than a minute
Chris Toomey joins Derek to talk about their shared experience in Elm and their excitement about GraphQL.
156: It's a Commercial Enterprise (Olivier Lacan)
We speak with Olivier Lacan about KeepAChangelog.com, tooling improvements for better developer experience, and the emotional impact of shutting down CodeSchool.com
- Keep a Changelog
- RubyGems Specification Reference
- Why Won't Bundle Update?
- bundler-stats
- The Life and Death of a Rails App by Olivier Lacan
- Online Learning Service Pluralsight Acquires Code School For $36 Million
- Human Errors by Olivier Lacan
- Log the original call site for an ActiveRecord query
- Olivier on Twitter
156: It's a Commercial Enterprise (Olivier Lacan)
The Bike Shed • less than a minute
We speak with Olivier Lacan about KeepAChangelog.com, tooling improvements for better developer experience, and the emotional impact of shutting down CodeSchool.com
- Keep a Changelog
- RubyGems Specification Reference
- Why Won't Bundle Update?
- bundler-stats
- The Life and Death of a Rails App by Olivier Lacan
- Online Learning Service Pluralsight Acquires Code School For $36 Million
- Human Errors by Olivier Lacan
- Log the original call site for an ActiveRecord query
- Olivier on Twitter
155: Abstractions on Abstractions (Alex Sullivan)
Amanda is joined by Alex Sullivan, Android developer at thoughtbot, to discuss the state of React Native and its new competitor from Google, Flutter.
155: Abstractions on Abstractions (Alex Sullivan)
The Bike Shed • less than a minute
Amanda is joined by Alex Sullivan, Android developer at thoughtbot, to discuss the state of React Native and its new competitor from Google, Flutter.
154: We All Have Work to Do (Eileen Uchitelle)
Eileen Uchitelle joins us live from RailsConf to talk about exciting improvements coming to Rails 6, problems encountered by larger Rails apps, strategies for upgrading Rails and more!
- Eileen on Twitter
- The Future of Rails 6: Scalable by Default - Eileen's RailsConf Keynote
- The Bike Shed #22: No Capes! (Eileen Uchitelle)
- ActiveSupport::PerThreadRegistry
- Parallel Tests
- Test Queue
- DatabaseCleaner
- LHM: Online MySQL schema migrations
- GH-ost: GitHub's Online Schema Migrations for MySQL
- pt-online-schema-change
- Eileen removes dead code from GitHub after the Rails 4.2 upgrade
- Ruby on Rails: Security
- Long term support for Ruby on Rails 3.2 and Rails 2.3
154: We All Have Work to Do (Eileen Uchitelle)
The Bike Shed • less than a minute
Eileen Uchitelle joins us live from RailsConf to talk about exciting improvements coming to Rails 6, problems encountered by larger Rails apps, strategies for upgrading Rails and more!
- Eileen on Twitter
- The Future of Rails 6: Scalable by Default - Eileen's RailsConf Keynote
- The Bike Shed #22: No Capes! (Eileen Uchitelle)
- ActiveSupport::PerThreadRegistry
- Parallel Tests
- Test Queue
- DatabaseCleaner
- LHM: Online MySQL schema migrations
- GH-ost: GitHub's Online Schema Migrations for MySQL
- pt-online-schema-change
- Eileen removes dead code from GitHub after the Rails 4.2 upgrade
- Ruby on Rails: Security
- Long term support for Ruby on Rails 3.2 and Rails 2.3
153: 🎶 I Would Lose 3,000 Crates, and I Would Lose 12,000 More 🎶
Is the bug in Postgres? Sean takes over operations of crates.io and keeps himself very busy. We also wrap up our experience at RailsConf.
- Logical Replication in PostgreSQL 10
- Heroku Error Codes: H12
- Materialized view
- Run a query with a LIMIT/OFFSET and also get the total number of rows
- ActiveRecord: retrieving records in batches
See open positions at thoughtbot!
Become a Sponsor of The Bike Shed!
153: 🎶 I Would Lose 3,000 Crates, and I Would Lose 12,000 More 🎶
The Bike Shed • 1 minute
Is the bug in Postgres? Sean takes over operations of crates.io and keeps himself very busy. We also wrap up our experience at RailsConf.
- Logical Replication in PostgreSQL 10
- Heroku Error Codes: H12
- Materialized view
- Run a query with a LIMIT/OFFSET and also get the total number of rows
- ActiveRecord: retrieving records in batches
See open positions at thoughtbot!
Become a Sponsor of The Bike Shed!
152: I Look For Stories (Nickolas Means)
We catch up with Nick Means at RailsConf and discuss storytelling, "human error", advice for job seekers, and the idea of licensing software developers.
- Nick on Twitter
- The Bike Shed #71: It's a Total Hack - Our earlier episode discussing Nick's previous keynote at RailsConf
- Skunk Works by Nickolas Means
- Skunk Works: A Personal Memoir of My Years at Lockheed
- The Field Guide to Understanding 'Human Error'
- Atomic Accidents: A History of Nuclear Meltdowns and Disasters
- Retro Report | Go or no Go: The Challenger Legacy
- Three Mile Island accident
- Southwest’s Fatal Accident Prompts Scrutiny of Engine Inspections
- People wearing oxygen masks wrong
- xkcd: Compiling
- The Making of the Atomic Bomb: 25th Anniversary Edition
- Don't Get Distracted - Caleb Thompson
152: I Look For Stories (Nickolas Means)
The Bike Shed • less than a minute
We catch up with Nick Means at RailsConf and discuss storytelling, "human error", advice for job seekers, and the idea of licensing software developers.
- Nick on Twitter
- The Bike Shed #71: It's a Total Hack - Our earlier episode discussing Nick's previous keynote at RailsConf
- Skunk Works by Nickolas Means
- Skunk Works: A Personal Memoir of My Years at Lockheed
- The Field Guide to Understanding 'Human Error'
- Atomic Accidents: A History of Nuclear Meltdowns and Disasters
- Retro Report | Go or no Go: The Challenger Legacy
- Three Mile Island accident
- Southwest’s Fatal Accident Prompts Scrutiny of Engine Inspections
- People wearing oxygen masks wrong
- xkcd: Compiling
- The Making of the Atomic Bomb: 25th Anniversary Edition
- Don't Get Distracted - Caleb Thompson
151: Scheming About Schema
Derek & Sean discuss their final preparations for RailsConf, the role of Diesel's schema.rs is in comparison to schema.rb in Rails, and how Derek took down production.
151: Scheming About Schema
The Bike Shed • less than a minute
Derek & Sean discuss their final preparations for RailsConf, the role of Diesel's schema.rs is in comparison to schema.rb in Rails, and how Derek took down production.
150: I Fight For the Users
Derek and Sean discuss ethical concerns in software development and the prospect of licensing software developers.
- XFINITY Data Usage Center
- Reply All: A Pirate in Search of a Judge
- Design’s Lost Generation
- Cambridge Analytica scandals, explained
- Blogger Bobbie Duncan Recalls Getting Outed Accidentally On Facebook
- Tesla Criticized for Blaming Autopilot Death on Model X Driver
- Self-Driving Mercedes-Benzes Will Prioritize Occupant Safety over Pedestrians
- GDPR
- The Bike Shed at RailsConf 2018
150: I Fight For the Users
The Bike Shed • less than a minute
Derek and Sean discuss ethical concerns in software development and the prospect of licensing software developers.
- XFINITY Data Usage Center
- Reply All: A Pirate in Search of a Judge
- Design’s Lost Generation
- Cambridge Analytica scandals, explained
- Blogger Bobbie Duncan Recalls Getting Outed Accidentally On Facebook
- Tesla Criticized for Blaming Autopilot Death on Model X Driver
- Self-Driving Mercedes-Benzes Will Prioritize Occupant Safety over Pedestrians
- GDPR
- The Bike Shed at RailsConf 2018
149: E With an Umlaut
Sean experiences a frustrating Ruby bug while building tooling to enforce module boundaries in Shopfiy's monolith. Derek deprecates Rails functionality instead of preparing his talk.
149: E With an Umlaut
The Bike Shed • less than a minute
Sean experiences a frustrating Ruby bug while building tooling to enforce module boundaries in Shopfiy's monolith. Derek deprecates Rails functionality instead of preparing his talk.
148: Baseball is a Legacy App
Amanda and Sean discuss Flutter, modeling the game of baseball, and the state of persistence and networking in Android.
148: Baseball is a Legacy App
The Bike Shed • 1 minute
Amanda and Sean discuss Flutter, modeling the game of baseball, and the state of persistence and networking in Android.
147: Is a Lambda a Sandwich?
Derek shares his experiences with new features in Ruby 2.5 before we turn our ire towards daylight savings time and timezones once more.
- Using
yield_selffor composable ActiveRecord relations - What is the difference between a block, a proc, and a lambda in ruby?
- Ruby 2.5 prints backtrace and error message in reverse order
- ActiveRecord
#merge - Sean's Formulas
- Changed Timezones (The West Wing)
- Could New England actually change time zones?
- Pi Day - Wikipedia
- PostgreSQL Date/Time Functions and Operators
147: Is a Lambda a Sandwich?
The Bike Shed • 1 minute
Derek shares his experiences with new features in Ruby 2.5 before we turn our ire towards daylight savings time and timezones once more.
- Using
yield_selffor composable ActiveRecord relations - What is the difference between a block, a proc, and a lambda in ruby?
- Ruby 2.5 prints backtrace and error message in reverse order
- ActiveRecord
#merge - Sean's Formulas
- Changed Timezones (The West Wing)
- Could New England actually change time zones?
- Pi Day - Wikipedia
- PostgreSQL Date/Time Functions and Operators
146: --YOLO
Amanda, Derek, and Sean discuss style guides, automated code formatting, and the cycle of disillusionment in development work.
146: --YOLO
The Bike Shed • 1 minute
Amanda, Derek, and Sean discuss style guides, automated code formatting, and the cycle of disillusionment in development work.
145: The Internet is Ruined
Derek and Sean commiserate about the latest generation of MacBooks, Slack, and the state of the Web.
- SoftRAM
- thoughtbot/laptop: A shell script to set up a macOS laptop for web and mobile development.
- derekprior/dotfiles
- Salon.com wants to use your PC to mine cryptocurrency
- Brave: Secure, Fast & Private Web Browser with Adblocker
- iOS 11 Safari View Controller cookie passthrough
- Purpose-built - thoughtbot
- Internet2
145: The Internet is Ruined
The Bike Shed • 1 minute
Derek and Sean commiserate about the latest generation of MacBooks, Slack, and the state of the Web.
- SoftRAM
- thoughtbot/laptop: A shell script to set up a macOS laptop for web and mobile development.
- derekprior/dotfiles
- Salon.com wants to use your PC to mine cryptocurrency
- Brave: Secure, Fast & Private Web Browser with Adblocker
- iOS 11 Safari View Controller cookie passthrough
- Purpose-built - thoughtbot
- Internet2
144: Fisher Price™ Tools
We talk about everyone's favorite Fisher-Price web framework and a small upcoming change to it before pivoting to discuss Derek's experience with his first Elm PR.
144: Fisher Price™ Tools
The Bike Shed • less than a minute
We talk about everyone's favorite Fisher-Price web framework and a small upcoming change to it before pivoting to discuss Derek's experience with his first Elm PR.
143: It's Hard to Have a Secret Rocket
We chat about the Falcon Heavy launch before discussing a couple of issues Derek encountered when upgrading to Rails 5.2
143: It's Hard to Have a Secret Rocket
The Bike Shed • 1 minute
We chat about the Falcon Heavy launch before discussing a couple of issues Derek encountered when upgrading to Rails 5.2
142: What if We Didn't Do Any of This?
Derek and Sean debate the value provided by database migrations written in your programming language of choice versus those written in SQL.
- RailsConf 2018
- MySQL Automatic Updating for TIMESTAMP and DATETIME
- CockroachDB - the open source, cloud-native SQL database.
- Lucky Migrations in Crystal
- ActiveRecord::Migration
reversible - ActiveRecord::Migration
revert - Parity: Shell commands for development, staging, and production parity for Heroku apps
142: What if We Didn't Do Any of This?
The Bike Shed • less than a minute
Derek and Sean debate the value provided by database migrations written in your programming language of choice versus those written in SQL.
- RailsConf 2018
- MySQL Automatic Updating for TIMESTAMP and DATETIME
- CockroachDB - the open source, cloud-native SQL database.
- Lucky Migrations in Crystal
- ActiveRecord::Migration
reversible - ActiveRecord::Migration
revert - Parity: Shell commands for development, staging, and production parity for Heroku apps
141: Go Baby, Go
We discuss the challenges in parallelizing development work and also take a look at what's coming soon in Rails 5.2.
141: Go Baby, Go
The Bike Shed • less than a minute
We discuss the challenges in parallelizing development work and also take a look at what's coming soon in Rails 5.2.
140: A Sign of... Stability?
Sean and Derek argue the semantics of versioning and opine for automated reporting on more structured changelogs as a feature of future package managers.
140: A Sign of... Stability?
The Bike Shed • less than a minute
Sean and Derek argue the semantics of versioning and opine for automated reporting on more structured changelogs as a feature of future package managers.
139: Red, Green, Refactor (Alex Clark & Sean Doyle)
Derek is joined by coworker Sean Doyle and Codecademy’s Alex Clark to discuss the process of test-driven development and the development of a new TDD course for Codecademy.
- Testing Rails
- Four-Phase Test
- Test-Driven Development Course on Codecademy
- Red-Green-Refactor
- Chai
- WebdriverIO - WebDriver bindings for Node.js
- SuperTest - Super-agent driven library for testing node.js HTTP servers using a fluent API
139: Red, Green, Refactor (Alex Clark & Sean Doyle)
The Bike Shed • less than a minute
Derek is joined by coworker Sean Doyle and Codecademy’s Alex Clark to discuss the process of test-driven development and the development of a new TDD course for Codecademy.
- Testing Rails
- Four-Phase Test
- Test-Driven Development Course on Codecademy
- Red-Green-Refactor
- Chai
- WebdriverIO - WebDriver bindings for Node.js
- SuperTest - Super-agent driven library for testing node.js HTTP servers using a fluent API
138: I Don't Know How the World Works Anymore
We chat about how shared global state in tests can cause you to doubt foundational truths of the universe, some issues with Rails system tests, and recent changes in browser behavior.
- Announcing Diesel 1.0 - Congratulations to Sean and all committers.
- Where do Rubyists Go?
- Testing apps that use Geocoder
- PostgreSQL Mailing List Archives
- Respect user-set
Capybara.serverwith Rails system tests - Default Puma to non-clustered mode with Rails system tests
- Suspenders
- Chrome 63 forces .dev domains to HTTPS via preloaded HSTS
- Mozilla faces blowback after slipping Mr Robot plugin into Firefox - The Verge
- Firefox 57 delays requests to tracking domains
138: I Don't Know How the World Works Anymore
The Bike Shed • less than a minute
We chat about how shared global state in tests can cause you to doubt foundational truths of the universe, some issues with Rails system tests, and recent changes in browser behavior.
- Announcing Diesel 1.0 - Congratulations to Sean and all committers.
- Where do Rubyists Go?
- Testing apps that use Geocoder
- PostgreSQL Mailing List Archives
- Respect user-set
Capybara.serverwith Rails system tests - Default Puma to non-clustered mode with Rails system tests
- Suspenders
- Chrome 63 forces .dev domains to HTTPS via preloaded HSTS
- Mozilla faces blowback after slipping Mr Robot plugin into Firefox - The Verge
- Firefox 57 delays requests to tracking domains
137: What's Up, Docs
Who should library documentation be written for? How do you, as an author, know what your users will need to know? Should you have long form guides in addition to API documentation? We ask and answer these questions in the context of Sean's work to document Diesel 1.0.
Stick around for the spoiler-filled after show about Star Wars: The Last Jedi.
137: What's Up, Docs
The Bike Shed • 1 minute
Who should library documentation be written for? How do you, as an author, know what your users will need to know? Should you have long form guides in addition to API documentation? We ask and answer these questions in the context of Sean's work to document Diesel 1.0.
Stick around for the spoiler-filled after show about Star Wars: The Last Jedi.
136: Propagating Conspiracy Theories
Amanda joins Derek to discuss KotlinConf, powerful IDEs, our Ralphapalooza hackathon, and the React Native experience from a native mobile developer's perspective.
- A View State Machine for Network Calls on Android - Amanda's KotlinConf talk
- How to Build a React App in Kotlin by Dave Ford
- Kotlin Static Analysis with Android Lint by Tor Norbye
- ReSharper: Visual Studio Extension for .NET Developers
- thoughtbot Trail Maps
- Lucky - a web framework for Crystal
- Frinkiac
- thoughtbot does screen printing
- The Pixar Theory
- MLB Twitter thinks something fishy is going on with Jeter trading Stanton to Yankees - CBSSports.com
- React Native Web
136: Propagating Conspiracy Theories
The Bike Shed • less than a minute
Amanda joins Derek to discuss KotlinConf, powerful IDEs, our Ralphapalooza hackathon, and the React Native experience from a native mobile developer's perspective.
- A View State Machine for Network Calls on Android - Amanda's KotlinConf talk
- How to Build a React App in Kotlin by Dave Ford
- Kotlin Static Analysis with Android Lint by Tor Norbye
- ReSharper: Visual Studio Extension for .NET Developers
- thoughtbot Trail Maps
- Lucky - a web framework for Crystal
- Frinkiac
- thoughtbot does screen printing
- The Pixar Theory
- MLB Twitter thinks something fishy is going on with Jeter trading Stanton to Yankees - CBSSports.com
- React Native Web
135: A Series of Unfortunate Examples
We discuss a possible ActiveRecord bug Derek encountered and explore the ambiguity of SQL formatting best practices.
135: A Series of Unfortunate Examples
The Bike Shed • less than a minute
We discuss a possible ActiveRecord bug Derek encountered and explore the ambiguity of SQL formatting best practices.
134: Fastributes
We share our favorite talks from RubyConf and discuss how Sean has made ActiveRecord attributes allocation significantly faster with Rust.
- Saving Ruby From the Apocalypse by Jason Charnes
- Esoteric, Obfuscated, Artistic Programming in Ruby by Yusuke Endoh
- The Impermanence of Software by Andy Croll
- Git Driven Refactoring by Ashley Ellis Pierce
- The Unbearable Vulnerability of Open Source by Eileen Uchitelle
- All The Great Talks from RubyConf
- thoughtbot Podcast Swag Sale
134: Fastributes
The Bike Shed • less than a minute
We share our favorite talks from RubyConf and discuss how Sean has made ActiveRecord attributes allocation significantly faster with Rust.
- Saving Ruby From the Apocalypse by Jason Charnes
- Esoteric, Obfuscated, Artistic Programming in Ruby by Yusuke Endoh
- The Impermanence of Software by Andy Croll
- Git Driven Refactoring by Ashley Ellis Pierce
- The Unbearable Vulnerability of Open Source by Eileen Uchitelle
- All The Great Talks from RubyConf
- thoughtbot Podcast Swag Sale
133: A Very Special Bike Shed
Sean is on to a significant ActiveRecord optimization using an extension written in Rust and Derek shares an overdue thanks to an excellent manager.
- Helix
- Fast Blank
- Turns out, Rails Fast Attributes might be more on the order of 2x faster!
- Bootsnap
- Do I need Database Cleaner?
- GraphQL Query Resolver
- PostGraphQL
- Headless Capybara!
- Working in Siebel… Ugh
- Rebecca wrote a book
- Upcase Crossroads
133: A Very Special Bike Shed
The Bike Shed • less than a minute
Sean is on to a significant ActiveRecord optimization using an extension written in Rust and Derek shares an overdue thanks to an excellent manager.
- Helix
- Fast Blank
- Turns out, Rails Fast Attributes might be more on the order of 2x faster!
- Bootsnap
- Do I need Database Cleaner?
- GraphQL Query Resolver
- PostGraphQL
- Headless Capybara!
- Working in Siebel… Ugh
- Rebecca wrote a book
- Upcase Crossroads
132: What Went Well?
We discuss patterns and anti-patterns encountered in agile retrospectives and revisit a favorite topic: form objects.
132: What Went Well?
The Bike Shed • 1 minute
We discuss patterns and anti-patterns encountered in agile retrospectives and revisit a favorite topic: form objects.
131: Nouns For Verbs Sake
We briefly discuss the renaming of factory_girl to factory_bot before diving in to the visitor pattern; what is it, and what are its inherent tradeoffs.
131: Nouns For Verbs Sake
The Bike Shed • less than a minute
We briefly discuss the renaming of factory_girl to factory_bot before diving in to the visitor pattern; what is it, and what are its inherent tradeoffs.
130: I Grew Up in Balloons
Is Database Cleaner necessary anymore? Tune in for our exciting play-by-play reporting on that issue and stick around for chatter on personal defaults for new Rails applications.
130: I Grew Up in Balloons
The Bike Shed • 1 minute
Is Database Cleaner necessary anymore? Tune in for our exciting play-by-play reporting on that issue and stick around for chatter on personal defaults for new Rails applications.
129: You Wanna Talk About GraphQL?
We discuss an issue in the interaction between Rails, Chrome, and the HTTP referrer policy before Derek shares his love for GraphQL.
129: You Wanna Talk About GraphQL?
The Bike Shed • less than a minute
We discuss an issue in the interaction between Rails, Chrome, and the HTTP referrer policy before Derek shares his love for GraphQL.
128: And Now for My Next Trick!
We discuss strategies for fighting back against project management overhead, refactoring workflows, and on-call rotations.
128: And Now for My Next Trick!
The Bike Shed • 1 minute
We discuss strategies for fighting back against project management overhead, refactoring workflows, and on-call rotations.
127: Bike Shed: Discovery
We discuss Bundler warning us to update to a prerelease version and other recent annoyances with our favorite dependency manager. We also wonder what GitHub diff stats can tell you about your contributions to a project and when they might be a smell. Stick around post credits for some spoiler-filled chatter about the first couple episodes of Star Trek: Discovery.
127: Bike Shed: Discovery
The Bike Shed • 1 minute
We discuss Bundler warning us to update to a prerelease version and other recent annoyances with our favorite dependency manager. We also wonder what GitHub diff stats can tell you about your contributions to a project and when they might be a smell. Stick around post credits for some spoiler-filled chatter about the first couple episodes of Star Trek: Discovery.
126: Speaking of Compilers...
We discuss a major change to Diesel's insert statements in advance of its 1.0 release and reexamine Contracts.ruby after Derek spends some time with it in use.
126: Speaking of Compilers...
The Bike Shed • less than a minute
We discuss a major change to Diesel's insert statements in advance of its 1.0 release and reexamine Contracts.ruby after Derek spends some time with it in use.
125: Less Bad Than Expected
We share and discuss some user feedback on fakes and mocks, discuss the benefits and drawbacks to FactoryGirl and share exasperation over the handling of the Equifax data breach.
125: Less Bad Than Expected
The Bike Shed • less than a minute
We share and discuss some user feedback on fakes and mocks, discuss the benefits and drawbacks to FactoryGirl and share exasperation over the handling of the Equifax data breach.
124: Nope. Nope. Nope. Nope.
We go inside the RubyConf CFP review process before turning our attention to questions about the impact of code review. Stick around post credits for some spoiler-filled, lukewarm Game of Thrones takes.
124: Nope. Nope. Nope. Nope.
The Bike Shed • 1 minute
We go inside the RubyConf CFP review process before turning our attention to questions about the impact of code review. Stick around post credits for some spoiler-filled, lukewarm Game of Thrones takes.
123: Too Many Parameters
Derek and Sean discuss the troubles encountered when code reuse is a goal above all others and strategies to have your reusable cake and eat it too.
123: Too Many Parameters
The Bike Shed • 1 minute
Derek and Sean discuss the troubles encountered when code reuse is a goal above all others and strategies to have your reusable cake and eat it too.
122: Name That Smell
Derek and Sean discuss going from zero to code on new projects, writing tests that deal with external services, and a tricky floating point precision bug Sean encountered in ActiveRecord.
122: Name That Smell
The Bike Shed • less than a minute
Derek and Sean discuss going from zero to code on new projects, writing tests that deal with external services, and a tricky floating point precision bug Sean encountered in ActiveRecord.
121: The Bike Log (Jerod Santo)
The Changelog's Jerod Santo joins the show to talk finding time for, sustaining, and funding open source development.
121: The Bike Log (Jerod Santo)
The Bike Shed • 1 minute
The Changelog's Jerod Santo joins the show to talk finding time for, sustaining, and funding open source development.
120: Free Apples
We do some follow-up on open source fundraising and discuss some interesting patterns in Derek's new client project.
- Sean is back from leave
- Patronizing Open Source by Devon C. Estes
- thoughtbot is hiring
- webpack on Open Collective
- How to Charge for your Open Source
- IBM uses JSLint for evil
- Notarize is hiring
- Contracts.ruby
methodadded- countercache called twice with after_create callback
- “Why, sometimes I've believed as many as six impossible things before breakfast.”
120: Free Apples
The Bike Shed • less than a minute
We do some follow-up on open source fundraising and discuss some interesting patterns in Derek's new client project.
- Sean is back from leave
- Patronizing Open Source by Devon C. Estes
- thoughtbot is hiring
- webpack on Open Collective
- How to Charge for your Open Source
- IBM uses JSLint for evil
- Notarize is hiring
- Contracts.ruby
methodadded- countercache called twice with after_create callback
- “Why, sometimes I've believed as many as six impossible things before breakfast.”
119: Questions Are For the Weak (Caleb Thompson & Matt Mongeau)
Sean and Derek are joined by Caleb Thompson and Matthew Mongeau for our annual live episode to discuss lessons learned from past projects, and speaking at conferences.
- Video Version
- myglu.com (The project being discussed)
- Sandi Metz' Rules for Developers
- Facade pattern
- Diesel's association API
has_many- The foreigner gem
- Goose talks about designing a programming language
- Service Objects
- Monban
- Why you shouldn't roll your own authentication
- Please send Caleb sunglasses.
- Rails 5.1 did ship while we were recording.
- How to Talk to Developers
119: Questions Are For the Weak (Caleb Thompson & Matt Mongeau)
The Bike Shed • less than a minute
Sean and Derek are joined by Caleb Thompson and Matthew Mongeau for our annual live episode to discuss lessons learned from past projects, and speaking at conferences.
- Video Version
- myglu.com (The project being discussed)
- Sandi Metz' Rules for Developers
- Facade pattern
- Diesel's association API
has_many- The foreigner gem
- Goose talks about designing a programming language
- Service Objects
- Monban
- Why you shouldn't roll your own authentication
- Please send Caleb sunglasses.
- Rails 5.1 did ship while we were recording.
- How to Talk to Developers
118: Nonsense In, Nonsense Out
We discuss the economics of remote work, ActionDispatch::SystemTest in RSpec, and the use of Patreon on open source projects.
118: Nonsense In, Nonsense Out
The Bike Shed • less than a minute
We discuss the economics of remote work, ActionDispatch::SystemTest in RSpec, and the use of Patreon on open source projects.
117: S.A.L.T. (Justin Searls)
We chat with Justin Searls about testing, programmer personality types, programming communities, and putting spreadsheets on the Internet.
117: S.A.L.T. (Justin Searls)
The Bike Shed • less than a minute
We chat with Justin Searls about testing, programmer personality types, programming communities, and putting spreadsheets on the Internet.
116: A More "WALL-E" Future
Amanda is joined by SF thoughtbot developers Tony, Josh, & Greg to discuss learning new languages (and whether developers should do that in their free time), machine learning, the future of AR/VR, and tech that strives to make a social difference.
116: A More "WALL-E" Future
The Bike Shed • less than a minute
Amanda is joined by SF thoughtbot developers Tony, Josh, & Greg to discuss learning new languages (and whether developers should do that in their free time), machine learning, the future of AR/VR, and tech that strives to make a social difference.
115: I Don't Need Another Google Hangout (Cecy Correa)
We talk with Cecy Correa about how to hire and get hired.
115: I Don't Need Another Google Hangout (Cecy Correa)
The Bike Shed • 1 minute
We talk with Cecy Correa about how to hire and get hired.
114: Reasonably Thread Safe
We discuss a tiny DOS caused when upgrading thoughtbot.com to Rails 5.1 and how Rails could better surface warnings that only occur in your production configuration. We also get an update on multi-table joins in Rust.
114: Reasonably Thread Safe
The Bike Shed • less than a minute
We discuss a tiny DOS caused when upgrading thoughtbot.com to Rails 5.1 and how Rails could better surface warnings that only occur in your production configuration. We also get an update on multi-table joins in Rust.
113: Have You Considered Rust? (Matt Casper)
We talk to Matt Casper about contributing to Diesel, Rust's ecosystem, and the next big thing.
113: Have You Considered Rust? (Matt Casper)
The Bike Shed • less than a minute
We talk to Matt Casper about contributing to Diesel, Rust's ecosystem, and the next big thing.
112: Lifecycles Are Dead, Long Live Lifecycles!
Amanda joins Sean to discuss all the Android news to come out of Google I/O, Kotlin as a "first class language", and features of Android "O"!
112: Lifecycles Are Dead, Long Live Lifecycles!
The Bike Shed • less than a minute
Amanda joins Sean to discuss all the Android news to come out of Google I/O, Kotlin as a "first class language", and features of Android "O"!
111: Trike Shed (Aaron Patterson)
We talk with Aaron Patterson about Ruby and Rails upgrades, and the goal of making Ruby 3 three times faster than Ruby 2.
111: Trike Shed (Aaron Patterson)
The Bike Shed • less than a minute
We talk with Aaron Patterson about Ruby and Rails upgrades, and the goal of making Ruby 3 three times faster than Ruby 2.
110: Green Chips
What’s the deal with green potato chips? Also: RailsConf wrap up and an AST pass refactor for Diesel.
- Green Potato Chips
- Baby Ruby Stickers
- Justin Searls - How to Program
- Eileen Uchitelle - Building Rails ActionDispatch::SystemTestCase Framework
- Alex Kitchens - Perusing the Rails Source Code - A Beginners Guide
- Abstract syntax tree
- Visitor Pattern
- Refactor the query builder to make it easier to add new AST passes
- Turn
to_sqlinto a standard AST pass
110: Green Chips
The Bike Shed • 1 minute
What’s the deal with green potato chips? Also: RailsConf wrap up and an AST pass refactor for Diesel.
- Green Potato Chips
- Baby Ruby Stickers
- Justin Searls - How to Program
- Eileen Uchitelle - Building Rails ActionDispatch::SystemTestCase Framework
- Alex Kitchens - Perusing the Rails Source Code - A Beginners Guide
- Abstract syntax tree
- Visitor Pattern
- Refactor the query builder to make it easier to add new AST passes
- Turn
to_sqlinto a standard AST pass
109: The Final Countdown
Follow up about Service Objects and Computer Engineering. Plus, RailsConf prep, code slide woes, and modal pop-ups.
- Sandi Metz- Gilded Rose Kata
- Ben Orenstein- How to Talk to Developers
- Sean @ RubyConf Portugal '15- With smoke machine and intro music
- Google's Intrusive Pop-Up Announcement
Thank you to our sponsor this week, SparkPost
109: The Final Countdown
The Bike Shed • 1 minute
Follow up about Service Objects and Computer Engineering. Plus, RailsConf prep, code slide woes, and modal pop-ups.
- Sandi Metz- Gilded Rose Kata
- Ben Orenstein- How to Talk to Developers
- Sean @ RubyConf Portugal '15- With smoke machine and intro music
- Google's Intrusive Pop-Up Announcement
Thank you to our sponsor this week, SparkPost
108: Have You Tried Rebooting?
Is your operating system hosed? That might be related to Rails! We also chat about the trend towards compiled languages.
- RailsConf Shirts- Please only order if you will be at RailsConf to pick up!
- The pre-show
- The listen gem breaks my laptop
- Interpreted Language
- LLVM
- Cambrian Explosion
- Crystal
- Rob Pike on Googlers
- Rob Pike on the programmer prerequisites
Thank you to our sponsor this week, SparkPost
108: Have You Tried Rebooting?
The Bike Shed • less than a minute
Is your operating system hosed? That might be related to Rails! We also chat about the trend towards compiled languages.
- RailsConf Shirts- Please only order if you will be at RailsConf to pick up!
- The pre-show
- The listen gem breaks my laptop
- Interpreted Language
- LLVM
- Cambrian Explosion
- Crystal
- Rob Pike on Googlers
- Rob Pike on the programmer prerequisites
Thank you to our sponsor this week, SparkPost
107: "Composition" Over Inheritance
Single table inheritance, polymorphic associations, state machines and service objects, oh my!
- RailsConf Shirts- Please only order if you will be at RailsConf to pick up!
- How to Win at Monopoly and Lose All Your Friends
- Touchdown! SpaceX’s 1st Reused Rocket Lands on Drone Ship
- Little Boy Blue
- Single Table Inheritance
- Polymorphic Associations
- Tagged Union
- Canada
- Snoo
Thank you to our sponsor this week, SparkPost
107: "Composition" Over Inheritance
The Bike Shed • 1 minute
Single table inheritance, polymorphic associations, state machines and service objects, oh my!
- RailsConf Shirts- Please only order if you will be at RailsConf to pick up!
- How to Win at Monopoly and Lose All Your Friends
- Touchdown! SpaceX’s 1st Reused Rocket Lands on Drone Ship
- Little Boy Blue
- Single Table Inheritance
- Polymorphic Associations
- Tagged Union
- Canada
- Snoo
Thank you to our sponsor this week, SparkPost
106: Nerd Sniping (Chris Toomey)
Chris Toomey joins to talk about Tell Me When It Closes, Haskell, and GraphQL.
- Chris Toomey - twitter, github
- Tell Me When It Closes
- RFactory
- Nerd Sniping
- Add an alias for
reverse_mergetowith_defaults - “I write Haskell because I’m dumb”
- GraphQL
- GitHub GraphQL API
- The $500,000 mruby Relase
- Curl is C
Thank you to our sponsor this week, SparkPost
106: Nerd Sniping (Chris Toomey)
The Bike Shed • less than a minute
Chris Toomey joins to talk about Tell Me When It Closes, Haskell, and GraphQL.
- Chris Toomey - twitter, github
- Tell Me When It Closes
- RFactory
- Nerd Sniping
- Add an alias for
reverse_mergetowith_defaults - “I write Haskell because I’m dumb”
- GraphQL
- GitHub GraphQL API
- The $500,000 mruby Relase
- Curl is C
Thank you to our sponsor this week, SparkPost
105: For Display Purposes Only
Complexity vs Functionality, Validations vs Database Constraints, plus whatever a Cap'n Proto is.
- Second Quests in Zelda Games
- 5 Useful Tips For A Better Commit Message
- Sean’s rocket equations
- Atlas Rocket Family
- Removed deprecated mathn extentions is targeted for Ruby 2.5
- Complexity and Strategy
- How to Build a Skyscrapper
- Rein - database constraints for Rails
- Scenic - database views for Rails
- Validation, Database Constraint, or Both?
- The Perils of Uniqueness Validations
- Ecto Validations and Constraints
- Cap’n Proto
- Protocol Buffer
- WSDL
105: For Display Purposes Only
The Bike Shed • 1 minute
Complexity vs Functionality, Validations vs Database Constraints, plus whatever a Cap'n Proto is.
- Second Quests in Zelda Games
- 5 Useful Tips For A Better Commit Message
- Sean’s rocket equations
- Atlas Rocket Family
- Removed deprecated mathn extentions is targeted for Ruby 2.5
- Complexity and Strategy
- How to Build a Skyscrapper
- Rein - database constraints for Rails
- Scenic - database views for Rails
- Validation, Database Constraint, or Both?
- The Perils of Uniqueness Validations
- Ecto Validations and Constraints
- Cap’n Proto
- Protocol Buffer
- WSDL
104: It's Dangerous to Refactor Alone!
Google's carrot-and-stick HTTPS policies and how playing The Legend of Zelda is like refactoring.
104: It's Dangerous to Refactor Alone!
The Bike Shed • less than a minute
Google's carrot-and-stick HTTPS policies and how playing The Legend of Zelda is like refactoring.
103: I Just Want to See Green Dots
When a hash isn't a hash, GitHub as your Résumé, and porting Crates.io to Diesel.
103: I Just Want to See Green Dots
The Bike Shed • less than a minute
When a hash isn't a hash, GitHub as your Résumé, and porting Crates.io to Diesel.
102: To the Moon!
Going "to" the moon, hidden type errors in our Rails apps, the process of talk prep, and the S3 outage.
102: To the Moon!
The Bike Shed • 1 minute
Going "to" the moon, hidden type errors in our Rails apps, the process of talk prep, and the S3 outage.
101: Hey, You Leaned!
Amanda and Sean discuss the evolving stages of open source projects, native apps vs web apps, and space.
- AppVeyor
- Electron
- Xamarin is the Microsoft-owned cross-platform mobile application company.
- NASA TRAPPIST 1 Announcement
- Spaceflight Now
- Write/Speak/Code
Thank you to our sponsor this week, FreshBooks
101: Hey, You Leaned!
The Bike Shed • 1 minute
Amanda and Sean discuss the evolving stages of open source projects, native apps vs web apps, and space.
- AppVeyor
- Electron
- Xamarin is the Microsoft-owned cross-platform mobile application company.
- NASA TRAPPIST 1 Announcement
- Spaceflight Now
- Write/Speak/Code
Thank you to our sponsor this week, FreshBooks
100: Nouns You Can Verb
Sam Phippen helps us celebrate episode 100, as we discuss Diesel bugs, REST, RPC, and more.
- Diesel
LEFT JOINSbug - Google Spanner
- Information Schema Standard
- Spanner Beta Paper
- HTML5
formaction - Must be Willing to Relocate to San Francisco
- GRPC
- Protocol Buffers
- The Listen gem breaks my laptop
Thank you to our sponsor this week, FreshBooks!
100: Nouns You Can Verb
The Bike Shed • 1 minute
Sam Phippen helps us celebrate episode 100, as we discuss Diesel bugs, REST, RPC, and more.
- Diesel
LEFT JOINSbug - Google Spanner
- Information Schema Standard
- Spanner Beta Paper
- HTML5
formaction - Must be Willing to Relocate to San Francisco
- GRPC
- Protocol Buffers
- The Listen gem breaks my laptop
Thank you to our sponsor this week, FreshBooks!
99: Just Sayin'
We go into the weeds with MySQL and discuss the virtues of database migrations written in SQL.
- Big and little endian
mysql_real_escape_string- Should we set
CLIENT_IGNORE_SIGPIPEfor MySQL? - Why Uber Switched From Postgres to MySQL
- Default Primary Keys Are Now BIGINT
- Using
reversiblein migrations - Gary's tweet
Thank you to our sponsor this week, FreshBooks!
99: Just Sayin'
The Bike Shed • less than a minute
We go into the weeds with MySQL and discuss the virtues of database migrations written in SQL.
- Big and little endian
mysql_real_escape_string- Should we set
CLIENT_IGNORE_SIGPIPEfor MySQL? - Why Uber Switched From Postgres to MySQL
- Default Primary Keys Are Now BIGINT
- Using
reversiblein migrations - Gary's tweet
Thank you to our sponsor this week, FreshBooks!
98: I Have Good Branch Hygiene
We discuss complexity and progressive disclosure, garbage collection, and the impenetrable nature of Git.
- Chris Lattner on Accidental Tech Podcase
- Simple Made Easy
- Garbage Collection was a feature of Objective-C 2.0
- The listen gem breaks my laptop
- Go GC: Prioritizing low latency and simplicity
- Modern Garbage Collection which calls out the tradeoffs of Go's approach
- WebKit’s Retreating Wavefront Concurrent Garbage Collector
- The Joel Test
- Tig: text-mode interface for Git
Thank you to our sponsor this week, FreshBooks!
98: I Have Good Branch Hygiene
The Bike Shed • 1 minute
We discuss complexity and progressive disclosure, garbage collection, and the impenetrable nature of Git.
- Chris Lattner on Accidental Tech Podcase
- Simple Made Easy
- Garbage Collection was a feature of Objective-C 2.0
- The listen gem breaks my laptop
- Go GC: Prioritizing low latency and simplicity
- Modern Garbage Collection which calls out the tradeoffs of Go's approach
- WebKit’s Retreating Wavefront Concurrent Garbage Collector
- The Joel Test
- Tig: text-mode interface for Git
Thank you to our sponsor this week, FreshBooks!
97: One Equals Zero
We wonder why writing parameterized associations in Rails is not easy, and discuss the difficulty in eliminating no-op queries in ActiveRecord. Plus, we discuss how you can give a great RailsConf talk proposal that doesn't have anything to do with Rails.
- RequestStore
- The IDs writer patch Derek sent Sean
- Skunk Works by Nickolas Means
- It’s a Total Hack The Bike Shed episode inspired by Skunk Works
- Hanami
Thank you to our sponsor this week, FreshBooks!
97: One Equals Zero
The Bike Shed • less than a minute
We wonder why writing parameterized associations in Rails is not easy, and discuss the difficulty in eliminating no-op queries in ActiveRecord. Plus, we discuss how you can give a great RailsConf talk proposal that doesn't have anything to do with Rails.
- RequestStore
- The IDs writer patch Derek sent Sean
- Skunk Works by Nickolas Means
- It’s a Total Hack The Bike Shed episode inspired by Skunk Works
- Hanami
Thank you to our sponsor this week, FreshBooks!
96: Who Stinks?
Baby Ruby, Ruby refinements, Rails discoverability, and annoying polyfills.
- Refinements
- Refinements in Rails
- Remove required field polyfill from Rails-UJS
- Safari is the New IE
- Safari isn't the new IE: it's the user-centric web
- "Send me onesies!"
Thank you to our sponsor this week, FreshBooks!
96: Who Stinks?
The Bike Shed • less than a minute
Baby Ruby, Ruby refinements, Rails discoverability, and annoying polyfills.
- Refinements
- Refinements in Rails
- Remove required field polyfill from Rails-UJS
- Safari is the New IE
- Safari isn't the new IE: it's the user-centric web
- "Send me onesies!"
Thank you to our sponsor this week, FreshBooks!
95: Click 'Cat' to go 'Home' (Morgane Santos)
Amanda is joined by Morgane Santos to discuss the experiences, technology, and development of Virtual Reality.
- VR For Burn Relief
- Vive
- Maya for Beginners
- GoogleVR Dev Resources
- GitHub Game Off
- Get Cardboard
- Gray Area
Thank you to our sponsor this week, FreshBooks!
95: Click 'Cat' to go 'Home' (Morgane Santos)
The Bike Shed • 1 minute
Amanda is joined by Morgane Santos to discuss the experiences, technology, and development of Virtual Reality.
- VR For Burn Relief
- Vive
- Maya for Beginners
- GoogleVR Dev Resources
- GitHub Game Off
- Get Cardboard
- Gray Area
Thank you to our sponsor this week, FreshBooks!
94: It's Not Supposed to Work
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 to bind parameters
- Rocket
- Diesel JSON data type
- Rust is More Than Safety
- Safety is Rust’s Fire Flower
- Fire Flowers and Marios: Marketing Rust
Thank you to our sponsor this week, FreshBooks!
94: It's Not Supposed to Work
The Bike Shed • less than a minute
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 to bind parameters
- Rocket
- Diesel JSON data type
- Rust is More Than Safety
- Safety is Rust’s Fire Flower
- Fire Flowers and Marios: Marketing Rust
Thank you to our sponsor this week, FreshBooks!
93: I Have Complex Feelings
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 Primary Keys to BIGINT
- The Rust Code of Conduct
- Ruby Code of Conduct issue
- Rails Code of Conduct
- thoughtbot Code of Conduct
- Disabling submit on invalid forms without JavaScript
- Purple Train
- Elm Native
- React Native
- Our earlier episode on Purple Train and React Native
- Homebrew SemVer issue
93: I Have Complex Feelings
The Bike Shed • 1 minute
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 Primary Keys to BIGINT
- The Rust Code of Conduct
- Ruby Code of Conduct issue
- Rails Code of Conduct
- thoughtbot Code of Conduct
- Disabling submit on invalid forms without JavaScript
- Purple Train
- Elm Native
- React Native
- Our earlier episode on Purple Train and React Native
- Homebrew SemVer issue
92: The Queen of Canada
We discuss the sneaky performance differences between present?, any?, blank? and empty? with ActiveRecord, when N+1 is a "feature", and the future of Diesel.
92: The Queen of Canada
The Bike Shed • less than a minute
We discuss the sneaky performance differences between present?, any?, blank? and empty? with ActiveRecord, when N+1 is a "feature", and the future of Diesel.
91: I Think It's a Fish
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 ES6. We also discuss the pain of deprecations in the upgrade to Rails 5.
91: I Think It's a Fish
The Bike Shed • less than a minute
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 ES6. We also discuss the pain of deprecations in the upgrade to Rails 5.
90: Freedom Units
We discuss adventures with shared mutable state in Elixir before turning to our thoughts on mocking HTTP interaction and how our approaches may differ depending on the language we’re using.
90: Freedom Units
The Bike Shed • 1 minute
We discuss adventures with shared mutable state in Elixir before turning to our thoughts on mocking HTTP interaction and how our approaches may differ depending on the language we’re using.
89: There Will Never Be One Right Way (Ashley Williams)
Ashley Williams joins the show to discuss NPM, Yarn, and the general package manager ecosystem.
- Ashley Williams
- Yarn
yarn install--flat- Peer Dependency
--overridefor Elixir dependencies- npm shrinkwrap
- Clarifying the Roles of the .gemspec and Gemfile
- Zero One Infinity READMEs
- mansplain
- CocoaPods' impact on GitHub
- npmCamp 2016 Panel - Package Managers: Before and After npm
- Node Together
- A Very Brief Intro to Rust
89: There Will Never Be One Right Way (Ashley Williams)
The Bike Shed • 1 minute
Ashley Williams joins the show to discuss NPM, Yarn, and the general package manager ecosystem.
- Ashley Williams
- Yarn
yarn install--flat- Peer Dependency
--overridefor Elixir dependencies- npm shrinkwrap
- Clarifying the Roles of the .gemspec and Gemfile
- Zero One Infinity READMEs
- mansplain
- CocoaPods' impact on GitHub
- npmCamp 2016 Panel - Package Managers: Before and After npm
- Node Together
- A Very Brief Intro to Rust
88: How Many Puppies Now?
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.
88: How Many Puppies Now?
The Bike Shed • 1 minute
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
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.
- Deprecate the behavior of AR::Dirty inside of after_(create|update|save) callbacks
- Distributed Denial of Service attack on DNS Provider Dyn
- What is an
ALIASRecord? ANAMErecords- Why can't a
CNAMErecord be used at the apex (aka root) of a domain? - Avoid using non-standard DNS entries
- Is Your Site Leaking Password Reset Links? with Comments from Hacker News
87: The Refrigerator Took Down Your Website
The Bike Shed • less than a minute
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.
- Deprecate the behavior of AR::Dirty inside of after_(create|update|save) callbacks
- Distributed Denial of Service attack on DNS Provider Dyn
- What is an
ALIASRecord? ANAMErecords- Why can't a
CNAMErecord be used at the apex (aka root) of a domain? - Avoid using non-standard DNS entries
- Is Your Site Leaking Password Reset Links? with Comments from Hacker News
86: Purple Train, Purrrple Train (Ian Anderson)
Derek chats with Ian Anderson about developing a mobile app for iOS and Android with React Native.
86: Purple Train, Purrrple Train (Ian Anderson)
The Bike Shed • 1 minute
Derek chats with Ian Anderson about developing a mobile app for iOS and Android with React Native.
85: Are We in a Black Hole?
We briefly ponder the very nature of our existence before discussing edge cases and interesting bugs encountered in ActiveRecord.
- Podcast Patreon Survey
- We May Be Living Inside a Black Hole
- Are We Living in a Computer Simulation?
- The R-7 Rocket Family
- Computing Glitch May Have Doomed Mars lander
- ActiveRecord’s
frommethod - ActiveRecord’s
where.notmethod - ActiveRecord’s
WhereClauseclass - Let’s fix
deepmunge - Object-relation impedance mismatch
85: Are We in a Black Hole?
The Bike Shed • less than a minute
We briefly ponder the very nature of our existence before discussing edge cases and interesting bugs encountered in ActiveRecord.
- Podcast Patreon Survey
- We May Be Living Inside a Black Hole
- Are We Living in a Computer Simulation?
- The R-7 Rocket Family
- Computing Glitch May Have Doomed Mars lander
- ActiveRecord’s
frommethod - ActiveRecord’s
where.notmethod - ActiveRecord’s
WhereClauseclass - Let’s fix
deepmunge - Object-relation impedance mismatch
84: Why Are Manhole Covers Round?
What do we look for when reviewing job applications, interviewing candidates, and pairing with prospective co-workers?
84: Why Are Manhole Covers Round?
The Bike Shed • 1 minute
What do we look for when reviewing job applications, interviewing candidates, and pairing with prospective co-workers?
83: Canadian Halloween
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 filed for Bundler, which is a lot like the previous CVE filed for Bundler.
83: Canadian Halloween
The Bike Shed • 1 minute
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 filed for Bundler, which is a lot like the previous CVE filed for Bundler.
82: I Just Want a Dog in a Spacesuit
We discuss the problems with getting a CVE and the new lightning fast search tool, ripgrep. Sandwiched between those topics, we dive into the colonization of Mars. Yes, that's right, Mars.
- Podcast Patreon Survey
- Clearance password reset fix
- iwantacve.org
- Over 6,000 vulnerabilities went unassigned by MITRE's CVE project in 2015
- Handling Security Issues in Open Source Projects by Tute Costa
- Elon Musk unveils plan to colonise Mars
- SpaceX Jobs
- Red Dragon Spacecraft
- NASA Orion
- Major Malfunction: Revisiting Challenger
- ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}
- 111 Rg
- A pleasant HackerNews comment thread
82: I Just Want a Dog in a Spacesuit
The Bike Shed • 1 minute
We discuss the problems with getting a CVE and the new lightning fast search tool, ripgrep. Sandwiched between those topics, we dive into the colonization of Mars. Yes, that's right, Mars.
- Podcast Patreon Survey
- Clearance password reset fix
- iwantacve.org
- Over 6,000 vulnerabilities went unassigned by MITRE's CVE project in 2015
- Handling Security Issues in Open Source Projects by Tute Costa
- Elon Musk unveils plan to colonise Mars
- SpaceX Jobs
- Red Dragon Spacecraft
- NASA Orion
- Major Malfunction: Revisiting Challenger
- ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}
- 111 Rg
- A pleasant HackerNews comment thread
81: Is This Really a CVE?
Derek and Sean talk through how to handle a security vulnerability that was reported for Clearance, a user authentication library.
81: Is This Really a CVE?
The Bike Shed • less than a minute
Derek and Sean talk through how to handle a security vulnerability that was reported for Clearance, a user authentication library.
80: Back to the Futures
What's appropriate for a web middleware stack to provide? Does Rack do too much? Plus, our thoughts on NeoVim and Vim 8.
80: Back to the Futures
The Bike Shed • less than a minute
What's appropriate for a web middleware stack to provide? Does Rack do too much? Plus, our thoughts on NeoVim and Vim 8.
79: Comments in Your Queries
Derek and Sean talk through some complex SQL before they examine the calluses developed from years of writing software on OS X.
79: Comments in Your Queries
The Bike Shed • less than a minute
Derek and Sean talk through some complex SQL before they examine the calluses developed from years of writing software on OS X.
78: I'm an Adult and I Choose Java
Sean and Amanda discuss the state of Android Development in 2016. Java, Kotlin, Dependency Injection, and Functional Reactive Programming, oh my!
- Amanda Hill on Twitter
- Android Debug Bridge (ADB)
- Android Studio - The Official IDE for Android
- JetBrains
- Kotlin
- Tropos Weather
- Runes: Monadic Functions in Swift
- Receiving Location Updates in Android
- Dagger: A fast dependency injector for Android
- Introducing ExpandingRecyclerView
- RxAndroid
- Marial Codex
78: I'm an Adult and I Choose Java
The Bike Shed • less than a minute
Sean and Amanda discuss the state of Android Development in 2016. Java, Kotlin, Dependency Injection, and Functional Reactive Programming, oh my!
- Amanda Hill on Twitter
- Android Debug Bridge (ADB)
- Android Studio - The Official IDE for Android
- JetBrains
- Kotlin
- Tropos Weather
- Runes: Monadic Functions in Swift
- Receiving Location Updates in Android
- Dagger: A fast dependency injector for Android
- Introducing ExpandingRecyclerView
- RxAndroid
- Marial Codex
77: The Floors Are Not Zero Indexed
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
- Clearance PR discussion driven by contributors
Module#prependis the end ofalias_method_chain- by Justin Weiss
77: The Floors Are Not Zero Indexed
The Bike Shed • 1 minute
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
- Clearance PR discussion driven by contributors
Module#prependis the end ofalias_method_chain- by Justin Weiss
76: The One With Laila & Brenda
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 thoughtbot's newest podcast, interviewing inspirational designers, developers, and other makers in tech, The Laila & Brenda Show!
Give their latest episode a listen here, and if you like it subscribe to their feed however you listen to podcasts!
76: The One With Laila & Brenda
The Bike Shed • 1 minute
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 thoughtbot's newest podcast, interviewing inspirational designers, developers, and other makers in tech, The Laila & Brenda Show!
Give their latest episode a listen here, and if you like it subscribe to their feed however you listen to podcasts!
75: I'm Not Sure That's Better
Derek and Sean discuss hunting down intermittently failing tests, finding unused code in your application, and why you should never ever change your test framework.
75: I'm Not Sure That's Better
The Bike Shed • 1 minute
Derek and Sean discuss hunting down intermittently failing tests, finding unused code in your application, and why you should never ever change your test framework.
74: A Dip in the Connection Pool
We talk through design considerations for a user-visible custom query builder for a high volume ecommerce system.
74: A Dip in the Connection Pool
The Bike Shed • 1 minute
We talk through design considerations for a user-visible custom query builder for a high volume ecommerce system.
73: Probably In My Other Pants
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.
73: Probably In My Other Pants
The Bike Shed • 1 minute
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.
72: Surprises Cut For Time (Aaron Patterson)
Aaron Patterson joins us from RailsConf for puns, performance improvements in Ruby, and AirDropping cats.
- Gorbypuff Virus
- UTF8 vs UTF16 vs UTF32
- What happened to the Rails 4 queue API?
- Koichi talks about AOT compilation
- Aaron hates encoding. This isn't a link, just a fact.
- Sean's terrifying test script, slightly out of date
- rails.vim, the tpope jam
72: Surprises Cut For Time (Aaron Patterson)
The Bike Shed • less than a minute
Aaron Patterson joins us from RailsConf for puns, performance improvements in Ruby, and AirDropping cats.
- Gorbypuff Virus
- UTF8 vs UTF16 vs UTF32
- What happened to the Rails 4 queue API?
- Koichi talks about AOT compilation
- Aaron hates encoding. This isn't a link, just a fact.
- Sean's terrifying test script, slightly out of date
- rails.vim, the tpope jam
71: It's a Total Hack
Inspired by Nickolas Means’ fantastic RailsConf keynote, we discuss the corollaries between Lockheed Martin’s Skunk Works projects and our software development projects.
- Sean’s DXRacer Chair
- Skunk Works by Nickolas Means
- Lockheed Martin F-35 Lightning II
- Big Design Up Front
- Kelly’s 14 Rules and Processes
- Rules Made Up by You - Kelly’s rules as applied to modern software development
- Factory, Workshop, Stage by Sarah Mei
- The Tyranny of Structurelessness
- How to Crash an Airplane by Nickolas Means
71: It's a Total Hack
The Bike Shed • less than a minute
Inspired by Nickolas Means’ fantastic RailsConf keynote, we discuss the corollaries between Lockheed Martin’s Skunk Works projects and our software development projects.
- Sean’s DXRacer Chair
- Skunk Works by Nickolas Means
- Lockheed Martin F-35 Lightning II
- Big Design Up Front
- Kelly’s 14 Rules and Processes
- Rules Made Up by You - Kelly’s rules as applied to modern software development
- Factory, Workshop, Stage by Sarah Mei
- The Tyranny of Structurelessness
- How to Crash an Airplane by Nickolas Means
70: Make Small Things (Sandi Metz)
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 speaking.
- The Bike Shed - Episode 1: Sandi and Derek's Rules
- Sandi Metz' Rules For Developers
- Sandi on the Ruby Rogues
- Don't Create Verb Classes
- Swift Proposal for Default Final
- GoRuCo 2009: SOLID Object-Oriented Design by Sandi Metz
- How to Talk to Developers by Ben Orenstein
- What Your Conference Proposal is Missing by Sarah Mei
A big thanks to everyone who came out to our live show! A video version of this episode is available on the thoughtbot YouTube Page.
70: Make Small Things (Sandi Metz)
The Bike Shed • less than a minute
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 speaking.
- The Bike Shed - Episode 1: Sandi and Derek's Rules
- Sandi Metz' Rules For Developers
- Sandi on the Ruby Rogues
- Don't Create Verb Classes
- Swift Proposal for Default Final
- GoRuCo 2009: SOLID Object-Oriented Design by Sandi Metz
- How to Talk to Developers by Ben Orenstein
- What Your Conference Proposal is Missing by Sarah Mei
A big thanks to everyone who came out to our live show! A video version of this episode is available on the thoughtbot YouTube Page.
69: No More Drills
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 Ecto 2.0.
69: No More Drills
The Bike Shed • 1 minute
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 Ecto 2.0.
68: Mostly Undocumented
Sean runs through a Rails bug that sits at the intersection of several magical and confusing Rails features.
68: Mostly Undocumented
The Bike Shed • less than a minute
Sean runs through a Rails bug that sits at the intersection of several magical and confusing Rails features.
67: Longtime Listener, First Time Caller (Rafael Franca)
Leading Rails contributor Rafael Franca joins us from RailsConf to talk about taking over Sprockets, the future of the asset pipeline in Rails, managing Rails dependencies, and the hard work of software maintenance.
- Rafael Franca
- Rails Contributors
- Sprockets
- Reintroducing gzip file generation in Sprockets
- LibSass is Sass in C (and fast)
- Spriting with Compass
- Rails Assets is not Dead
- turbograft
- TC39
Sean said you'd all "definitely" have the final build of Rails 5 by now. Whoops!
67: Longtime Listener, First Time Caller (Rafael Franca)
The Bike Shed • 1 minute
Leading Rails contributor Rafael Franca joins us from RailsConf to talk about taking over Sprockets, the future of the asset pipeline in Rails, managing Rails dependencies, and the hard work of software maintenance.
- Rafael Franca
- Rails Contributors
- Sprockets
- Reintroducing gzip file generation in Sprockets
- LibSass is Sass in C (and fast)
- Spriting with Compass
- Rails Assets is not Dead
- turbograft
- TC39
Sean said you'd all "definitely" have the final build of Rails 5 by now. Whoops!
66: Make Ruby Scripting Great Again (Terence Lee)
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 Believe It’s Not A Queue: Using Kafka with Rails - Terence’s RailsConf talk.
- mruby
- mruby-cli
- Traveling Ruby
- Keep Ruby Weird
66: Make Ruby Scripting Great Again (Terence Lee)
The Bike Shed • 1 minute
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 Believe It’s Not A Queue: Using Kafka with Rails - Terence’s RailsConf talk.
- mruby
- mruby-cli
- Traveling Ruby
- Keep Ruby Weird
65: Free as in Puppy (Katrina Owen)
While at RailsConf, we talk with Katrina Owen about finding metaphors for software development, the successes and mistakes of Exercism.io, and the benefits of providing code reviews.
65: Free as in Puppy (Katrina Owen)
The Bike Shed • 1 minute
While at RailsConf, we talk with Katrina Owen about finding metaphors for software development, the successes and mistakes of Exercism.io, and the benefits of providing code reviews.
64: Open Mic SF
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 investment time projects.
64: Open Mic SF
The Bike Shed • less than a minute
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 investment time projects.
63: Types Are Only Good If You Use Them
Derek and Sean discuss some recent issues with exciting language features like pattern matching, macros, and static types.
63: Types Are Only Good If You Use Them
The Bike Shed • less than a minute
Derek and Sean discuss some recent issues with exciting language features like pattern matching, macros, and static types.
62: Shipping is the Fastest Way to Get Somewhere
Sean celebrates Diesel reaching "faster than a SQL string" status before we chat about Rails 5 blockers and the clarity of focus and priorities that only shipping can bring.
62: Shipping is the Fastest Way to Get Somewhere
The Bike Shed • less than a minute
Sean celebrates Diesel reaching "faster than a SQL string" status before we chat about Rails 5 blockers and the clarity of focus and priorities that only shipping can bring.
61: I'm Not Telling You My Birthday
"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 computers. Also tricky for (some) computers: SELECT * FROM. Wait... what?
DATE_PARTorEXTRACT- Triggers
- Using
EXPLAIN - Using
ANALYZE VACUUM- Derek's (mostly useless) Approximately Gem
61: I'm Not Telling You My Birthday
The Bike Shed • less than a minute
"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 computers. Also tricky for (some) computers: SELECT * FROM. Wait... what?
DATE_PARTorEXTRACT- Triggers
- Using
EXPLAIN - Using
ANALYZE VACUUM- Derek's (mostly useless) Approximately Gem
60: Remote Control (Katherine Fellows)
KF (Katherine Fellows) joins the show to chat about successful BridgeFoundry events and creating environments where remote developers, junior and otherwise, can thrive.
60: Remote Control (Katherine Fellows)
The Bike Shed • less than a minute
KF (Katherine Fellows) joins the show to chat about successful BridgeFoundry events and creating environments where remote developers, junior and otherwise, can thrive.
59: I Wish They Wouldn't Do That
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 application author.
- Bash on Ubuntu on Windows
- I’ve Just Liberated My Modules by Azer Koçulu
- A discussion about the breaking of the internet (Kik’s side of the story) by Mike Roberts
- Kik, left-pad, and npm by Isaac Z. Schlueter from npm
- npm Package Hijacking: From the Hijackers Perspective by Nathan Johnson
- Is
gem yanka security concern? - Kill Your Dependencies by Mike Perham
- To gem, or not to gem by Elle Meredith
- changes to npm’s unpublish policy by Ashley Williams from npm
- ApplicationRecord in Rails 5
Thank you to Hired for sponsoring this episode!
59: I Wish They Wouldn't Do That
The Bike Shed • 1 minute
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 application author.
- Bash on Ubuntu on Windows
- I’ve Just Liberated My Modules by Azer Koçulu
- A discussion about the breaking of the internet (Kik’s side of the story) by Mike Roberts
- Kik, left-pad, and npm by Isaac Z. Schlueter from npm
- npm Package Hijacking: From the Hijackers Perspective by Nathan Johnson
- Is
gem yanka security concern? - Kill Your Dependencies by Mike Perham
- To gem, or not to gem by Elle Meredith
- changes to npm’s unpublish policy by Ashley Williams from npm
- ApplicationRecord in Rails 5
Thank you to Hired for sponsoring this episode!
58: Nobody Gets Fired For Buying IBM
Should you rewrite or refactor? What should you consider as you weigh this decision and what exactly constitutes a rewrite anyway?
- Things You Should Never Do, Part I - Joel Spolsky on Software Rewrites
- What does the phrase "Nobody ever got fired for choosing IBM" mean?
- When Understanding Means Rewriting by Jeff Atwood
- The Big Rewrite, revisited by DHH
Thank you to Hired for sponsoring this episode!
58: Nobody Gets Fired For Buying IBM
The Bike Shed • 1 minute
Should you rewrite or refactor? What should you consider as you weigh this decision and what exactly constitutes a rewrite anyway?
- Things You Should Never Do, Part I - Joel Spolsky on Software Rewrites
- What does the phrase "Nobody ever got fired for choosing IBM" mean?
- When Understanding Means Rewriting by Jeff Atwood
- The Big Rewrite, revisited by DHH
Thank you to Hired for sponsoring this episode!
57: Mutability Ruins the Whole Party (José Valim)
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é Valim on Twitter
- Introducing unifying calendar types to Elixir
- Falsehoods programmers believe about time and time zones by Lau Taarnskov
mix deps.treein Elixir 1.3mix app.treein Elixir 1.3Ecto.Query.preload- Working with Ecto Associations and Embeds by José Valim.
Ecto.Changeset- Ecto 2 beta is out, including concurrent database tests
github_ecto: An Ecto adapter for the GitHub API.- What Makes Phoenix Presence Special by Chris McCord
- ExMachina - test factories for Elixir
- GenRouter
- ElixirConf EU
- ElixirConf US
57: Mutability Ruins the Whole Party (José Valim)
The Bike Shed • 1 minute
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é Valim on Twitter
- Introducing unifying calendar types to Elixir
- Falsehoods programmers believe about time and time zones by Lau Taarnskov
mix deps.treein Elixir 1.3mix app.treein Elixir 1.3Ecto.Query.preload- Working with Ecto Associations and Embeds by José Valim.
Ecto.Changeset- Ecto 2 beta is out, including concurrent database tests
github_ecto: An Ecto adapter for the GitHub API.- What Makes Phoenix Presence Special by Chris McCord
- ExMachina - test factories for Elixir
- GenRouter
- ElixirConf EU
- ElixirConf US
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.
56: Most People Aren't Building Trello
The Bike Shed • 1 minute
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.
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
55: Hot Dog is Not a Dessert
The Bike Shed • 1 minute
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
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.
54: Argument Error
The Bike Shed • less than a minute
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.
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
53: Cache Machine
The Bike Shed • less than a minute
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
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?
52: You're an Elixir Developer Now
The Bike Shed • 1 minute
Derek and Laila discuss Derek's excitement for Elixir and Phoenix. Is Elixir as fun to write as Ruby? Is Phoenix a better Rails?
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
51: Is Sim City Running? (Steve Klabnik)
The Bike Shed • 1 minute
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
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.
-
Is Everyone Trying Their Best? - The Bike Shed on software quality
-
The Buffalo Bills` Playoff Drought - The longest current drought in sports
50: Open Mic
The Bike Shed • 1 minute
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.
-
Is Everyone Trying Their Best? - The Bike Shed on software quality
-
The Buffalo Bills` Playoff Drought - The longest current drought in sports
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!
49: A More Practical Haskell
The Bike Shed • 1 minute
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!
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.
48: Is Everyone Trying Their Best?
The Bike Shed • 1 minute
Software is broken. In this episode, Derek and Sean discuss why exactly it's broken, and what we can do to make it better.
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
#trymight not be doing what you think it’s doing by Avdi Grimm - The history of
tryin Rails a comment from Myron Marston - In Ruby,
&methodPasses You! Hash#dig- Hash Comparison in Ruby 2.3 by Olivier Lacan
did_you_meanby Yuki Nishijima.- Immutable Strings in Ruby 2.3 by Alexis Mas
- Multiline strings in Ruby 2.3 - the squiggly heredoc by Damir Svrtan
47: Star Wars Oranges
The Bike Shed • less than a minute
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
#trymight not be doing what you think it’s doing by Avdi Grimm - The history of
tryin Rails a comment from Myron Marston - In Ruby,
&methodPasses You! Hash#dig- Hash Comparison in Ruby 2.3 by Olivier Lacan
did_you_meanby Yuki Nishijima.- Immutable Strings in Ruby 2.3 by Alexis Mas
- Multiline strings in Ruby 2.3 - the squiggly heredoc by Damir Svrtan
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.
46: Don't Breathe, Save the Planet
The Bike Shed • less than a minute
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.
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.
45: I Think I'd Prefer An Error to Nonsense
The Bike Shed • 1 minute
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.
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.
44: It Won't Crash... It Might Crash
The Bike Shed • less than a minute
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.
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
43: That's DOCTOR Internet Technologist
The Bike Shed • 1 minute
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
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.
42: That's Incredibly Ambitious (Grayson Wright)
The Bike Shed • 1 minute
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.
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.
41: Ugh, I Have to Write Web Apps in This Thing
The Bike Shed • less than a minute
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.
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: ActiveRecord Deprecated Persistence
The Bike Shed • less than a minute
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?
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
39: Okay with Instability (Yehuda Katz)
The Bike Shed • less than a minute
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
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.
38: Ugh, Forms
The Bike Shed • 1 minute
Laila and Derek discuss how they have handled forms with complex validation requirements and how to make these forms have a smooth user experience.
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.
37: The Web is Faster Without Garbage
The Bike Shed • less than a minute
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.
36: Python Unchained
Derek and Laila talk about learning Python and Django and discuss how thoughtbot adopts new languages, frameworks, and libraries. What factors influence adoption? How do we share what works and doesn't work?
36: Python Unchained
The Bike Shed • less than a minute
Derek and Laila talk about learning Python and Django and discuss how thoughtbot adopts new languages, frameworks, and libraries. What factors influence adoption? How do we share what works and doesn't work?
35: GitHub Ate My Résumé
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 potential MRI proc optimizations.
- Set your Git email address to an address you own "forever".
- Git
.mailmap - Jobs at thoughtbot
- rest-client
- Ruby's
Kernel#raisedocumentation - Ruby's
Exception#causedocumentation - Spring overrides
raise, but feels uneasy about it. - Exceptional Ruby by Avdi Grim.
Proc#===documentation.- Upcase: 50% Off Your First Month For Bike Shed Listeners!
35: GitHub Ate My Résumé
The Bike Shed • less than a minute
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 potential MRI proc optimizations.
- Set your Git email address to an address you own "forever".
- Git
.mailmap - Jobs at thoughtbot
- rest-client
- Ruby's
Kernel#raisedocumentation - Ruby's
Exception#causedocumentation - Spring overrides
raise, but feels uneasy about it. - Exceptional Ruby by Avdi Grim.
Proc#===documentation.- Upcase: 50% Off Your First Month For Bike Shed Listeners!
34: README.md
Derek is joined by Laila Winner to discuss Neo4j, the importance of fantastic documentation, and the different types of documentation a project requires.
- PLIBMTTBHGATY
- Neo4j
- Teach, Don't Tell
- Let's talk about ecosystem documentation - Grading documentation of the top 40 crates in Rust.
- FactoryGirl Getting Started
- Clearance
SignInGuarddocumentation - Rails Security Guide
- Jobs at thoughtbot
- Laila on Twitter
34: README.md
The Bike Shed • 1 minute
Derek is joined by Laila Winner to discuss Neo4j, the importance of fantastic documentation, and the different types of documentation a project requires.
- PLIBMTTBHGATY
- Neo4j
- Teach, Don't Tell
- Let's talk about ecosystem documentation - Grading documentation of the top 40 crates in Rust.
- FactoryGirl Getting Started
- Clearance
SignInGuarddocumentation - Rails Security Guide
- Jobs at thoughtbot
- Laila on Twitter
33: Just Put it in a Module, Man
Sean and Derek take some listener questions, and dig into DRY.
- DRY
- Single Responsibility Principle (SRP)
- Inherited Resources
- Sandi Mets - All The Little Things
- Sign up for Sandi Metz's "Chainline" newsletter
- Sunk cost fallacy
- "Inheritence is not for sharing code"
- Eric Hayes' Rails PR
- Larry Bird
Thanks for sending us your questions and feedback. Got more? You can email us at hosts@bikeshed.fm or tweet us.
33: Just Put it in a Module, Man
The Bike Shed • less than a minute
Sean and Derek take some listener questions, and dig into DRY.
- DRY
- Single Responsibility Principle (SRP)
- Inherited Resources
- Sandi Mets - All The Little Things
- Sign up for Sandi Metz's "Chainline" newsletter
- Sunk cost fallacy
- "Inheritence is not for sharing code"
- Eric Hayes' Rails PR
- Larry Bird
Thanks for sending us your questions and feedback. Got more? You can email us at hosts@bikeshed.fm or tweet us.
32: Bug For Bug Compatibility
Derek and Sean discuss Microsoft's interest in open source, improving the Rails development story on Windows, and Sean's progress implementing an ORM in Rust.
32: Bug For Bug Compatibility
The Bike Shed • 1 minute
Derek and Sean discuss Microsoft's interest in open source, improving the Rails development story on Windows, and Sean's progress implementing an ORM in Rust.
31: Oxidizing an ORM
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 marker trait?
- Rust macros.
- Rust compiler plugins.
- hy·gien·ic ˌhī-ˈjē-nik, -ˈje- also -jē-ˈe-nik
- Sean's ORM query thoughts
31: Oxidizing an ORM
The Bike Shed • less than a minute
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 marker trait?
- Rust macros.
- Rust compiler plugins.
- hy·gien·ic ˌhī-ˈjē-nik, -ˈje- also -jē-ˈe-nik
- Sean's ORM query thoughts
30: Just Go to Slash Wibble
Derek and Sean discuss hypothetical changes to Rails routing before turning their attention toward hunting memory bloat and the proposal that strings be frozen by default in Ruby 3.
- The Bike Shed listeners make
disable_withdefault onsubmit_tag - Derek tries to explain the trouble with unrestricted routes to a client.
- The trouble with singular resources and
form_for - Use
derailed benchmarksto find memory leaks and bloat. - ActiveRecord memory bloat
- Matz: String literals frozen by default in Ruby 3
- The issue for discussion because Twitter is terrible for these things.
- The trouble with symbols
- Required keyword argument syntax is ugly.
30: Just Go to Slash Wibble
The Bike Shed • less than a minute
Derek and Sean discuss hypothetical changes to Rails routing before turning their attention toward hunting memory bloat and the proposal that strings be frozen by default in Ruby 3.
- The Bike Shed listeners make
disable_withdefault onsubmit_tag - Derek tries to explain the trouble with unrestricted routes to a client.
- The trouble with singular resources and
form_for - Use
derailed benchmarksto find memory leaks and bloat. - ActiveRecord memory bloat
- Matz: String literals frozen by default in Ruby 3
- The issue for discussion because Twitter is terrible for these things.
- The trouble with symbols
- Required keyword argument syntax is ugly.
29: Django Unchained (Mike Burns)
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 the Enemy talk from RailsConf 2013
- A False Midnight
- Python doctest
- Python Decorator Library
29: Django Unchained (Mike Burns)
The Bike Shed • less than a minute
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 the Enemy talk from RailsConf 2013
- A False Midnight
- Python doctest
- Python Decorator Library
28: Minisode 0.1.1
Did you know Rails has no integration test suite? What could go wrong?
28: Minisode 0.1.1
The Bike Shed • less than a minute
Did you know Rails has no integration test suite? What could go wrong?
27: I've Got 29.97 Problems (and codecs are some)
Sean and Derek circle back on HTTP before diving into unsafe rust, and finally the merits of a small standard library.
27: I've Got 29.97 Problems (and codecs are some)
The Bike Shed • 1 minute
Sean and Derek circle back on HTTP before diving into unsafe rust, and finally the merits of a small standard library.
26: My Cache is in the Cloud
This week, Sean and Derek discuss performance and inheriting code. In a stroke of complete madness, Derek decides that turbolinks isn't that bad.
26: My Cache is in the Cloud
The Bike Shed • 1 minute
This week, Sean and Derek discuss performance and inheriting code. In a stroke of complete madness, Derek decides that turbolinks isn't that bad.
25: Throwing the Schema Out With the SOAPy Bathwater (Gordon Fontenot)
Derek is joined by Gordon Fontenot for a discussion of the JSON API specification, problems consuming it from Swift, and the future of functional programming in Swift.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links / Show Notes
- JSON API
- Argo: Functional JSON parsing in Swift
- Swift Optionals
- Spine: A Swift JSON API client
- Curry: Swift framework for function currying.
- HAL: Hypertext Application Language
- SOAP
- JSON Schema
- Runes
- Build Phase- For more of Gordon's insight into baseball and iOS development
- Gordon on Twitter
- Cookie Clicker
- Swarm Sim
25: Throwing the Schema Out With the SOAPy Bathwater (Gordon Fontenot)
The Bike Shed • less than a minute
Derek is joined by Gordon Fontenot for a discussion of the JSON API specification, problems consuming it from Swift, and the future of functional programming in Swift.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links / Show Notes
- JSON API
- Argo: Functional JSON parsing in Swift
- Swift Optionals
- Spine: A Swift JSON API client
- Curry: Swift framework for function currying.
- HAL: Hypertext Application Language
- SOAP
- JSON Schema
- Runes
- Build Phase- For more of Gordon's insight into baseball and iOS development
- Gordon on Twitter
- Cookie Clicker
- Swarm Sim
24: You Look Good in a Lab Coat (Richard Schneeman)
Richard Schneeman joins The Bike Shed to discuss ruby memory use, horizontal scaling, and tackling open source issues big and small.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links & Show Notes
- Speed Science - Richard's Railsconf 2015 talk
mailgem memory usemime-typesmemory use- Deprecate
*_pathmethods in mailers - XKCD: Evey change breaks someone's workflow
- Why does 6 times 9 equal 42?
- The Language Strangeness Budget
- Code Triage
- Docs Doctor
- Ruby Together
- Keep Ruby Weird
- Richard on Twitter
24: You Look Good in a Lab Coat (Richard Schneeman)
The Bike Shed • less than a minute
Richard Schneeman joins The Bike Shed to discuss ruby memory use, horizontal scaling, and tackling open source issues big and small.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links & Show Notes
- Speed Science - Richard's Railsconf 2015 talk
mailgem memory usemime-typesmemory use- Deprecate
*_pathmethods in mailers - XKCD: Evey change breaks someone's workflow
- Why does 6 times 9 equal 42?
- The Language Strangeness Budget
- Code Triage
- Docs Doctor
- Ruby Together
- Keep Ruby Weird
- Richard on Twitter
23: Why Did They Call it Rust?!
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 online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
23: Why Did They Call it Rust?!
The Bike Shed • less than a minute
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 online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
22: No Capes! (Eileen Uchitelle)
Eileen Uchitelle joins the show to discuss performance improvements to ActiveRecord, speeding up integration tests, and contributing to or running open source projects.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links & Show Notes
- No Capes!
- CRUD! The Consequences of Not Understanding How ActiveRecord - Eileen's Midwest Ruby Talk
- fix delete_all to remove records directly
- How To Performance - Eileen's talk from GORUCO
- Breaking Down the Barrier: Demystifying Contributing to Rails - Eileen's lab from RailsConf
- Eileen on Twitter
22: No Capes! (Eileen Uchitelle)
The Bike Shed • less than a minute
Eileen Uchitelle joins the show to discuss performance improvements to ActiveRecord, speeding up integration tests, and contributing to or running open source projects.
This episode of The Bike Shed is sponsored by:
- Code School: Entertaining online learning for existing and aspiring developers. Leave a review on our iTunes page to be entered to win a free month of Code School.
Links & Show Notes
- No Capes!
- CRUD! The Consequences of Not Understanding How ActiveRecord - Eileen's Midwest Ruby Talk
- fix delete_all to remove records directly
- How To Performance - Eileen's talk from GORUCO
- Breaking Down the Barrier: Demystifying Contributing to Rails - Eileen's lab from RailsConf
- Eileen on Twitter
21: The "Best" Canada (Godfrey Chan)
Rails Core Team member Godfrey Chan joins the show to demystify rails bug hunting and contributing.
21: The "Best" Canada (Godfrey Chan)
The Bike Shed • 1 minute
Rails Core Team member Godfrey Chan joins the show to demystify rails bug hunting and contributing.
20: Intentionally Excruciatingly Painful
We're joined by Josh Clayton to discuss our differing strategies on testing view behavior, strategies for dealing with brittle feature specs, and what types of tests each of us favor.
- Verifying partial doubles
- Decent exposure
- Defining helpers directly on the view in view specs
- Don't stub the system under test
- Clearance Back Door
- Automatic form filling driven by i18n and Factory Girl with Formulaic
- Mystery guests
- Using data attributes to decouple data from presentation
- Testing pyramid
- Shoulda Matchers
- Consistency Fail
- Josh Clayton on Twitter
20: Intentionally Excruciatingly Painful
The Bike Shed • less than a minute
We're joined by Josh Clayton to discuss our differing strategies on testing view behavior, strategies for dealing with brittle feature specs, and what types of tests each of us favor.
- Verifying partial doubles
- Decent exposure
- Defining helpers directly on the view in view specs
- Don't stub the system under test
- Clearance Back Door
- Automatic form filling driven by i18n and Factory Girl with Formulaic
- Mystery guests
- Using data attributes to decouple data from presentation
- Testing pyramid
- Shoulda Matchers
- Consistency Fail
- Josh Clayton on Twitter
19: The Oncoming Storm (Sam Phippen)
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 matchers
- Spies were added to RSpec in 2.14
- Using
any_instanceto test legacy code - minitest
- RSpec's
stub_constmethod. - Don't Stub the System Under Test
assignsandassert_templateare deprecated in Rails 5- Sam's RailsConf talk: Understanding Rails Test Types in RSpec
- Fun & Plausible Solutions
- Sam on Twitter
19: The Oncoming Storm (Sam Phippen)
The Bike Shed • less than a minute
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 matchers
- Spies were added to RSpec in 2.14
- Using
any_instanceto test legacy code - minitest
- RSpec's
stub_constmethod. - Don't Stub the System Under Test
assignsandassert_templateare deprecated in Rails 5- Sam's RailsConf talk: Understanding Rails Test Types in RSpec
- Fun & Plausible Solutions
- Sam on Twitter
18: This Podcast is Rigged (But Not Animated)
Sean and Derek discuss rails asset dependencies before diving into an overview of animation techniques and C extensions.
18: This Podcast is Rigged (But Not Animated)
The Bike Shed • less than a minute
Sean and Derek discuss rails asset dependencies before diving into an overview of animation techniques and C extensions.
17: Railing About Performance (Sam Saffron)
We chat with Sam Saffron about performance, benchmarking, and database migration strategies.
- Sam Saffron
- Discourse
- rack-mini-profiler
- stackprof
- RubyBench
default_scope- SQL Views
- Scenic - Database view support in Rails
- Grafana
- Docker
- Types of Rails schema dumps
- Message Bus
- Logster
Feedback? You can tweet us, email us, or leave a comment on our website.
17: Railing About Performance (Sam Saffron)
The Bike Shed • 1 minute
We chat with Sam Saffron about performance, benchmarking, and database migration strategies.
- Sam Saffron
- Discourse
- rack-mini-profiler
- stackprof
- RubyBench
default_scope- SQL Views
- Scenic - Database view support in Rails
- Grafana
- Docker
- Types of Rails schema dumps
- Message Bus
- Logster
Feedback? You can tweet us, email us, or leave a comment on our website.
16: Wizards Are Hard to Kill
Grab Bag! Derek and Sean talk about math, augmented reality, RailsConf wrap up, Minimum Viable Products, Accessibility...
- Homography
- Isomorphism
- Homomorphism
- Sean's Augmented Reality PoC
- Kerbal Space Program
- Derek's talk on Cultivating Code Review Culture
- Sean's talk on Designing a Great Ruby API
- Attributes API documentation
- Minimum Viable Product
- Chandra Carney's talk on Programming with Accessibility in Mind
- Nothing is Something by Sandi Metz
- Sometimes a Controller is Just a Controller by Justin Searls
16: Wizards Are Hard to Kill
The Bike Shed • 1 minute
Grab Bag! Derek and Sean talk about math, augmented reality, RailsConf wrap up, Minimum Viable Products, Accessibility...
- Homography
- Isomorphism
- Homomorphism
- Sean's Augmented Reality PoC
- Kerbal Space Program
- Derek's talk on Cultivating Code Review Culture
- Sean's talk on Designing a Great Ruby API
- Attributes API documentation
- Minimum Viable Product
- Chandra Carney's talk on Programming with Accessibility in Mind
- Nothing is Something by Sandi Metz
- Sometimes a Controller is Just a Controller by Justin Searls
15: Might As Well Be About Trains (Sarah Mei)
Sean, Derek, and Sarah Mei talk about conference speaking, refactoring, and OO vs FP problems.
15: Might As Well Be About Trains (Sarah Mei)
The Bike Shed • less than a minute
Sean, Derek, and Sarah Mei talk about conference speaking, refactoring, and OO vs FP problems.
14: An Acceptable Level of Hassle (David Heinemeier Hansson)
This week, we're joined by DHH and discuss microservices, monoliths, shared abstractions, and the fate of Action Cable.
14: An Acceptable Level of Hassle (David Heinemeier Hansson)
The Bike Shed • 1 minute
This week, we're joined by DHH and discuss microservices, monoliths, shared abstractions, and the fate of Action Cable.
13: Begrudging Applause (Aaron Patterson)
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 questions.
13: Begrudging Applause (Aaron Patterson)
The Bike Shed • less than a minute
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 questions.
12: A Poor Man's binding.pry
Derek and Sean talk about naming, debugging, and the anxiety of conference talks.
- Sean fixes Android tooling in one line.
- Martin Fowler on naming objects after patterns
- Dash for OS X
- Alfred for OS X
- The beauty of Intellisense in Visual Studio
- Derek's
bundle searchcommand - Ruby Mine
- Sean's talk at windy city rails
- How to talk to Developers by Ben Orenstein
12: A Poor Man's binding.pry
The Bike Shed • 1 minute
Derek and Sean talk about naming, debugging, and the anxiety of conference talks.
- Sean fixes Android tooling in one line.
- Martin Fowler on naming objects after patterns
- Dash for OS X
- Alfred for OS X
- The beauty of Intellisense in Visual Studio
- Derek's
bundle searchcommand - Ruby Mine
- Sean's talk at windy city rails
- How to talk to Developers by Ben Orenstein
11: Form-ing Opinions
Sean and Derek talk about the state of Android tooling, refactoring journeys, and an approach to rails form objects.
11: Form-ing Opinions
The Bike Shed • less than a minute
Sean and Derek talk about the state of Android tooling, refactoring journeys, and an approach to rails form objects.
10: I Don't Get Functional Programming
Pat Brisbin joins Derek to discuss the many advantages of Haskell programming.
note: at 27:01 Pat says "referential integrity" when he meant "referential transparency"; he's very sorry.
- Maybe Haskell 50% off
- xmonad tiling window manager
- Learn You A Haskell
- Carnival - Open source, Haskell-powered commenting for the Giant Robots Blog
- Pointfree Style
- How to say dots and dollars
- The Maybe data type
- The Incomplete Guide to Lazy Evaluation (in Haskell)
- Building Haskell Projects with Halcyon
10: I Don't Get Functional Programming
The Bike Shed • 1 minute
Pat Brisbin joins Derek to discuss the many advantages of Haskell programming.
note: at 27:01 Pat says "referential integrity" when he meant "referential transparency"; he's very sorry.
- Maybe Haskell 50% off
- xmonad tiling window manager
- Learn You A Haskell
- Carnival - Open source, Haskell-powered commenting for the Giant Robots Blog
- Pointfree Style
- How to say dots and dollars
- The Maybe data type
- The Incomplete Guide to Lazy Evaluation (in Haskell)
- Building Haskell Projects with Halcyon
9: Monorails, For the Kids
Sean and Derek discuss Monoliths, Service Oriented Architecture, and the new Adapter Specific Type Registry in Rails 5.
- Guest Sean
- Furret
- Haskell and tmux Upcase trails.
- Hashie Considered Harmful
- Adapter Specific Type Registry
9: Monorails, For the Kids
The Bike Shed • 1 minute
Sean and Derek discuss Monoliths, Service Oriented Architecture, and the new Adapter Specific Type Registry in Rails 5.
- Guest Sean
- Furret
- Haskell and tmux Upcase trails.
- Hashie Considered Harmful
- Adapter Specific Type Registry
8: Attributes API, Relation#or, Paid Open Source
Derek and Sean discuss what the Attributes API enables, the addition of Relation#or and paid open source.
- Sean's attributes API is "finished"
- Attributes API documentation
- PostGIS ActiveRecord Adapter
composed_of- Yehuda's RailsConf Keynote on the power of shared abstractions.
- Ernie Miller's RailsConf talk on the consequences of Rails' abstractions.
load_schemamakes sense now.DelegateClass- Steve Klabnik tweets about companies not giving back significantly to Ruby open source
- Sean speeds up
&blockon MRI and jRuby
8: Attributes API, Relation#or, Paid Open Source
The Bike Shed • less than a minute
Derek and Sean discuss what the Attributes API enables, the addition of Relation#or and paid open source.
- Sean's attributes API is "finished"
- Attributes API documentation
- PostGIS ActiveRecord Adapter
composed_of- Yehuda's RailsConf Keynote on the power of shared abstractions.
- Ernie Miller's RailsConf talk on the consequences of Rails' abstractions.
load_schemamakes sense now.DelegateClass- Steve Klabnik tweets about companies not giving back significantly to Ruby open source
- Sean speeds up
&blockon MRI and jRuby
7: At the Car Wash
Derek and Sean talk trade schools, sneaky bugs, bad method names, before_filters, and the Superbowl.
- Turing School and Metis trade schools.
- "Car Wash" by Rose Royce
- Sean introduces
accessed_fieldsto the ActiveRecord Attributes API. - Peek for insights into your rails app.
- Bullet for hunting down N+1 queries and unused eager loading.
- What does Faraday middleware look like?
- The Clearance redirect loop Derek introduced and fixed.
before filterand its friends have been deprecated in Rails 5.0- The various ways people set instance variables in Rails controllers.
read_attribute_before_typecast- problems from _before_type_cast
- dirty checking causes errors
RangeErrors are hard (Sean's solution to the test placement problem was to not commit the test)
7: At the Car Wash
The Bike Shed • 1 minute
Derek and Sean talk trade schools, sneaky bugs, bad method names, before_filters, and the Superbowl.
- Turing School and Metis trade schools.
- "Car Wash" by Rose Royce
- Sean introduces
accessed_fieldsto the ActiveRecord Attributes API. - Peek for insights into your rails app.
- Bullet for hunting down N+1 queries and unused eager loading.
- What does Faraday middleware look like?
- The Clearance redirect loop Derek introduced and fixed.
before filterand its friends have been deprecated in Rails 5.0- The various ways people set instance variables in Rails controllers.
read_attribute_before_typecast- problems from _before_type_cast
- dirty checking causes errors
RangeErrors are hard (Sean's solution to the test placement problem was to not commit the test)
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.
6: Shh! Library Under Maintenance
The Bike Shed • less than a minute
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.
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!
5: Rails is Not Your Architecture
The Bike Shed • less than a minute
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!
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
4: Put Everything on the Front End
The Bike Shed • less than a minute
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
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,reduceandforEach? - 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
3: Flipping the Script
The Bike Shed • 1 minute
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,reduceandforEach? - 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
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.
2: Rails 4.2
The Bike Shed • 1 minute
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.
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_addedmethod.
1: Sandi & Derek's Rules
The Bike Shed • 1 minute
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_addedmethod.