The Bike Shed
Episodes
-
445: Working Iteratively
October 29th, 2024 | 40 mins 6 secs
-
444: From Solutions To Patterns
October 15th, 2024 | 34 mins 58 secs
-
443: Rails World and Open Source with Stefanni Brasil
October 8th, 2024 | 32 mins 23 secs
-
442: Paradigms - What is a Program?
October 1st, 2024 | 42 mins 22 secs
-
441: The Pickaxe Book with Noel Rappin
September 24th, 2024 | 39 mins 44 secs
-
440: When we stray from Rails defaults
September 17th, 2024 | 42 mins 56 secs
-
439: Async Ruby & Rails with Trevor Turk
September 10th, 2024 | 34 mins 11 secs
-
438: Writing abstractions in tests
September 3rd, 2024 | 49 mins 8 secs
-
437: Contributing to Open Source in the Midst of Daily Work with Steve Polito
August 27th, 2024 | 35 mins 28 secs
-
436: Creating Conditions For Your Best Work with Steph Viccari
August 13th, 2024 | 43 mins 9 secs
-
435: Cohesive Code with Jared Norman
July 30th, 2024 | 28 mins 45 secs
-
434: Git and GitHub Workflows
July 23rd, 2024 | 47 mins 42 secs
-
433: Riffing with Kasper Timm Hansen
July 16th, 2024 | 37 mins 20 secs
-
432: The Semantics and Meaning of Nil
July 9th, 2024 | 38 mins 13 secs
The term ‘nil’ refers to the absence of value, but we often imbue it with much more meaning than just that. Today, hosts Joël and Stephanie discuss the various ways we tend to project extra semantics onto nil and the implications of this before unpacking potential alternatives and trade-offs. Joël and Stephanie highlight some of the key ways programmers project additional meaning onto nil (and why), like when it’s used to create a guest session, and how this can lead to bugs, confusion, and poor user experiences. They discuss solutions to this problem, like introducing objects for improved readability, before taking a closer look at the implications of excessive guard clauses in code.
-
431: Developers Are Professional Question Askers
July 2nd, 2024 | 38 mins 54 secs
Stephanie shares her newfound interest in naming conventions, highlighting a resource called "Classnames" that provides valuable names for programming and design. Joël, in turn, talks about using AI to generate names for D&D characters, emphasizing how AI can help provide inspiration and reasoning behind name suggestions. Then, they shift to Joël's interest in Roman history, where he discusses a blog by a Roman historian that explores distinctions between state and non-state peoples in the ancient Mediterranean.
Together, the hosts delve into the importance of asking questions as consultants and developers to understand workflows, question assumptions, and build trust for better onboarding. Stephanie categorizes questions by engagement stages and their social and technical aspects, while Joël highlights how questioning reveals implicit assumptions and speeds up learning. They stress maintaining a curious mindset, using questions during PR reviews, and working with junior developers to foster collaboration. They conclude with advice on documenting answers and using questions for continuous improvement and effective decision-making in development teams.
-
430: Test Suite Pain & Anti-Patterns
June 25th, 2024 | 40 mins 57 secs
Stephanie and Joël discuss the recent announcement of the call for proposals for RubyConf in November. Joël is working on his proposals and encouraging his colleagues at thoughtbot to participate, while Stephanie is excited about the conference being held in her hometown of Chicago!
The conversation shifts to Stephanie's recent work, including completing a significant client project and her upcoming two-week refactoring assignment. She shares her enthusiasm for refactoring code to improve its structure and stability, even when it's not her own. Joël and Stephanie also discuss the everyday challenges of maintaining a test suite, such as slowness, flakiness, and excessive database requests. They discuss strategies to balance the test pyramid and adequately test critical paths.
Finally, Joël emphasizes the importance of separating side effects from business logic to enhance testability and reduce complexity, and Stephanie highlights the need to address testing pain points and ensure tests add real value to the codebase.