POPULARITY
Joël is joined by some familiar faces in today's episode of the Bike Shed to help reveal some exciting changes to the show as he asks his new co-hosts, what's new in your world? — Thanks to our sponsors for this episode Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed) (check the link for your free gift!), and Scout Monitoring (https://www.scoutapm.com/). Joining Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/) as your new co-hosts are Aji Slater (https://www.linkedin.com/in/doodlingdev/)and Sally Hall (https://www.linkedin.com/in/sallyannahall). Get to know your hosts a little better by checking out Sally's recent episode on timezones (https://bikeshed.thoughtbot.com/457) or Aji's RailsConf Keynote (https://www.youtube.com/watch?v=2u0ysVA17Os) and handy list of previous keynotes (https://gist.github.com/DoodlingDev/b8a77aad7451b2f5d33c6b82de2e4bce). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël talks with Adam McCrea, founder of Judoscale (https://judoscale.com/), about the best ways to manage your queues and autoscaling. Adam discusses some tough lessons he learnt recently during a technical outage at Judoscale (https://judoscale.com/blog/upscaling-broken-post-mortem), what exactly autoscaling is and how it works, the best signals to assess when working with an autoscaler, and provides some simple tips to better organise your own queues. — You can connect with Adam via LinkedIn (https://www.linkedin.com/in/adamlogic/) or check out the work he does with Judoscale (https://judoscale.com/), who have also sponsored this episode of The Bike Shed. Be sure to claim your free gift (https://judoscale.com/bikeshed) if you haven't already! Thanks to the second sponsor of this episode Scout Monitoring (https://www.scoutapm.com/). Your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël and fellow thoughtbotter Jimmy Thigpen assess their AI workflows and question whether LLM partners really are as helpful as they claim to be. Joël points out the blindspots AI can have when processing certain requests, they each share the ways they utilise AI into their workflow and pros and cons of doing so, as well as looking at some of the areas of improvement they would each like to see made to various AI agents in the future. — Thanks to our sponsors for this episode Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed) (check the link for your free gift!), and Scout Monitoring (https://www.scoutapm.com/). Your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/), and you can connect with this week's guest Jimmy Thigpen over on LinkedIn (https://www.linkedin.com/in/thigpenjimmy/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël sits down with Tess Griffin as they take a moment to recap the very last RailsConf together. The pair discuss their favourite moments from final conference, how their love of D&D has crossed over to shape their experiences attending RailsConf, and the future of the show as a whole. — Thanks to our sponsors for this episode Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed) (check the link for your free gift!), and Scout Monitoring (https://www.scoutapm.com/). Your guest this week was Tess Griffin (https://www.linkedin.com/in/tess-griffin/) and your host for this episode has been thoughtbot's Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Today on the Stretch we are joined by Blackhawks legend, Patrick Kane. We start off the show by talking about 8/8 Day in Chicago and what it was like leaving this city (04:02). We tell stories from the Cup days when Big Cat was apart of the team for a day (11:55) and Kane's tribute and first return to the United Center (14:30). Kane talks about the amazing group he played alongside and how they all keep in touch now (17:48). We get into the powerhouse that the hawks were in the playoffs and being coached by Quenneville (22:03). Next we talk Four Nations, the Olympics, and Kane's future in hockey (28:58). Kane tells us about living with Stan bowman and how Scotty Bowman was a constant source of motivation for him (34:41). Lastly we ask Kane about our favorite parade clip and tell our favorite stories with the cup (38:03).You can find every episode of this show on Apple Podcasts, Spotify or YouTube. Prime Members can listen ad-free on Amazon Music. For more, visit barstool.link/redlineradio
Joël continues his preparations for the last RailsConf as he talks with Matheus about how to make the most of your time at the conference. Hear their tips to connect and communicate with other attendees, the different ways to take notes at the various talks you can attend, what to do when your discussions have a lull, as well as how to draw inspiration from others talks and using it to your advantage. — Don't miss out on the final RailsConf (https://railsconf.org/) which takes place July 8th - July 10th in Philadelphia, PA! Thanks to our sponsors for this episode Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed) (check the link for your free gift!), and Scout Monitoring (https://www.scoutapm.com/). You can connect with Matheus via LinkedIn (https://www.linkedin.com/in/matheus-richard/), or check out some of the topics he's written about over on his thoughtbot blog (https://thoughtbot.com/blog/authors/matheus-richard). Your host for this episode has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
As the final RailsConf draws near Joël and Aji Slater sit down to discuss its varied and interesting history of keynote presentations. The pair reminisce on their previous trips and talks at RailsConf, share some tips on creating the perfect keynote, as well as discussing the strong community that's rallied behind RailsConf for so many years and how to best connect with others at similar cons as an audience member. — Don't miss out on the final RailsConf (https://railsconf.org/) which takes place July 8th - July 10th in Philadelphia, PA! Get ready for by checking out Aji's recommenced keynotes from previous years 2022 (https://www.youtube.com/watch?v=DzyGdOd_6-Y) - 2017 (https://www.youtube.com/watch?v=V4fnzHxHXMI) Thanks to our sponsors for this episode Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed) (check the link for your free gift!), and Scout Monitoring (https://www.scoutapm.com/). You can connect with Aji via LinkedIn and GitHub (https://github.com/DoodlingDev), or check out some of the topics he's written about over on his thoughtbot blog You can connect with Aji via LinkedIn and GitHub (https://github.com/DoodlingDev), or check out some of the topics he's written about over on his thoughtbot blog (https://thoughtbot.com/blog/authors/aji-slater). Your host for this episode has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
The eye of the hockey world remain on the Panthers and Oilers as the Stanley Cup Final winds down. However, for 30 other clubs, the preparation for the 2025-26 season is well under way. One of those teams appearing to be on the rise is the Anaheim Ducks. General manager Pat Verbeek with join Neil and Vic to talk about a team with an intriguing mix of youth and veteran leadership and a new voice behind the bench.Needless to say, the hosts will focus on Game 6 as the Panthers look to lock down consecutive championships and they'll add some league news as well.The Human Side of the Story focuses on our guest but also addresses the path a former player needs to take in order to assume the role as GM.IN THIS EPISODE:[02:40] - Three Things You Need to Pay Attention To puts the spotlight on the Florida Panthers as they look to repeat as Stanley Cup champions. Meanwhile, the Edmonton Oilers need to rectify a couple of areas in order to force a seventh game.[10:11] - Before there was Brad Marchand, there was Pat Verbeek. As Neil opens the discussion, the similarities can't be mistaken.[11:04] - The growth of the Ducks during 2024-25 saw them improve by 21 points over the season before. Still, Verbeek shares why a coaching change was made from Greg Cronin to one second on the all time wins list. A change which should bring more positive results from the Ducks younger players.[13:51] - Whether Verbeek's past relationship with Joel Quenneville played a role in being selected as the Ducks new head coach.[16:13] - While Quenneville was available, Verbeek addresses making the hire only after a thorough vetting process and ownership approval following an incident with the Blackhawks in 2010. [19:35] - Quenneville's reputation with players around the league is expected to be a significant benefit to a Ducks team mixed with youth and veteran leadership.[20:13] - With the acquisition of Chris Kreider, there are now four former Rangers in the Anaheim lineup. [21:29] - Verbeek discusses the adaptation time for Trouba upon his arrival in Anaheim and the ability for him to simply come in and play without having to be a captain.[24:15] - Is the change in Trevor Zegras play sustainable in 2025-26? [26:22] - The Ducks have over $32 million in cap space. While no specifics to be shared, there is clearly an opportunity for Verbeek to upgrade his team further.[28:15] - The qualities the Oilers and Panthers have which Verbeek would like to see within his own team.[29:13] - Neil and Pat do some final reminiscing.[36:46] - Vic and Neil preview Game 6 of the Final [42:24] - Other NHL news[45:37] - The Human SIde of the Story looks back at the career of Pat Verbeek and also does a deeper dive into the work needed to be put in by a former player aspiring to be a GM.X: https://twitter.com/NHLWraparoundNeil Smith: https://twitter.com/NYCNeilVic Morren: https://www.linkedin.com/in/vic-morren-7038737/NHL Wraparound Instagram:https://www.instagram.com/nhlwraparound/#NHLWraparound #ShortShifts #NYCentric #StanleyCupdate #NeilSmith #VicMorren #NHL #AnaheimDucks # #BostonBruins #BuffaloSabres #CalgaryFlames #CarolinaHurricanes #ChicagoBlackhawks #ColoradoAvalanche #ColumbusBlueJackets #DallasStars #DetroitRedWings #EdmontonOilers #FloridaPanthers #LosAngelesKings #MinnesotaWild #MontrealCanadiens #NashvillePredators #NewJerseyDevils #NewYorkIslanders #NewYorkRangers #OttawaSenators #PhiladelphiaFlyers #PittsburghPenguins #StLouisBlues #SanJoseSharks #SeattleKraken #TampaBayLightning #TorontoMapleLeafs #UtahMammoth #VancouverCanucks #VegasGoldenKnights #WashingtonCapitals #WinnipegJets #PatVerbeek #MarkMessier #Bill Zito #SethJones #ConnorMcDavid #LeonDraisaitl #AdamHenrique #JeffSkinner #TrentFrederic #EvanderKane #MattiasJanmark #ViktorArvidsson #BradMarchand #EetuLuostarinen #AntonLundell...
Elaina Natario returns to talk with Joël about what makes good quality product design and the priorities that shape development. The pair discuss the importance of certain elements such as security and accessibility, maintaining certain standards throughout development, as well as judging the practical applications of prototypes within a project and the broad role they play. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! You can read more about about inaccessable prototypes here (https://localghost.dev/blog/ai-and-the-trouble-with-inaccessible-saas/), or listen to the episode Joël mentioned with Aji about different typescripts here (https://bikeshed.thoughtbot.com/458)! Your guest for this week has been Elaina Natario (https://www.linkedin.com/in/elainanatario/) and you host has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org
Joël and Rémy draw inspiration from the stars as they discuss Rémy's new open source Ruby gem, Astonoby (https://github.com/rhannequin/astronoby). Rémy reveals the challenges he faced in taking on this project, the scientific translation work that went into making it accessible for everyone, as well as the key lessons he learnt from modelling the cosmos. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! If you're enthusiastic about space and want to try out Rémy's new gem tool, you can find it here (https://github.com/rhannequin/astronoby). Alternatively you can read more about astronomical computing here (https://dev.to/rhannequin/series/17782). Your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/) and was accompanied by Rémy, who can be found over on LinkedIn (https://www.linkedin.com/in/rhannequin/?locale=en_US), or through social media (https://mastodon.social/@rhannequin@ruby.social) under the handle @rhannequin If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org
Join the Bruins Benders Podcast as they cover the HOTTEST topics in the Boston Bruins market, along with...- Tocchet and Quenneville hired? Who will the Bruins next coach be?- Should the Bruins target an RFA with an offer sheet?- Ryan Mougenel said Matt Poitras "played like a man" in the playoffs. Good sign?- Mitchy Marner to the Bruins?!& Much More!Bruins Benders Premium Hoodies $55https://shop.insidetherink.com/products/get-bent-premium-hoodieBruins Benders Long Sleeve Tee $40https://shop.insidetherink.com/products/bruins-benders-long-sleeve-tee-1Bruins Benders Tee $30https://shop.insidetherink.com/products/bruins-benders-t-shirt-1For more from us, visit: insidetherink.com/bruins-bendersBoston Bruins Trade Rumors, Boston Bruins News, Boston Bruins, Jeremy Swayman, Joonas Korpisalo, Charlie McAvoy, Brandon Carlo, Nikita Zadorov, Hampus Lindholm, Mason Lohrei, Andrew Peeke, Parker Wotherspoon, Johnny Beecher, Mark Kastelic, Justin Brazeau, Cole Koepke, Trent Frederic, Matthew Poitras, Charlie Coyle, Pavel Zacha, Morgan Geekie, Brad Marchand, David Pastrnak, Elias Lindholm, Oliver Wahlstrom, Fabian Lysell, Georgii Merkulov, Joe Sacco, Don Sweeney, Cam Neely, Brandon Carlo Trade#nhl #nhlbruins #hockey #bostonbruins #nhlplayoffs #bruins #nhlhockey #nhlmemes #boston #nhlallstar #nhldiscussion #nhlnews #nhledits #nhldraft #bruinsnation #nhlawards #nhltrade #hockeylife #tdgarden #nhlhighlights #bostonsports #bruinshockey #bruinsfan #nhlblackhawks #nhlglobalseries #nhlfi #nhlleafs #nhltrades #nhltradedeadline #nhlcanadiens #nhl #nhlnews #hockey #nhlhockey #nhlplayoffs #nhledits #nhldiscussion #nhlmemes #nhldraft #nhlallstar #hockeylife #hockeynews #hockeymemes #nhlhighlights #icehockey #sports #hockeyislife #nhlbruins #hockeyplayers #hockeyfan #hockeyplayer #hockeyedits #stanleycup #nhlawards #hockeygame #hockeyboys #hockeygram #hockeyfights #nhltrade #nhltrades
Mike Zeisberger, NHL.com's Toronto-based staff writer, joins co-hosts Dan Rosen and Shawn Roarke to break down the Eastern Conference Second Round, starting with Auston Matthews and the Leafs-Panthers series. The crew debates whether Matthew's scoring drought is concerning or if his impact in face-offs and other areas suggests he's still playing a key role. They also look at Matthew Tkachuk's influence on the series. The conversation shifts to the Hurricanes-Capitals series, where all three defend Carolina's disciplined style, with Shawn calling it “beautiful” and undeniably effective. Before the interview, Dan and Shawn dig into the Golden Knights-Oilers matchup, praising Edmonton's bounce-back Game 4 shutout after a defensive lapse in Game 3. They also touch on Miro Heiskanen's return, Mikko Rantanen's performance, and coaching changes around the league.
On this episode the boys are joined by the absolute definition of a guy you wanted on your team, current GM of the Anaheim Ducks, Pat Verbeek. We are joined for the 2nd time by the former Stanley cup champion to talk the hiring of Quenneville, the Ducks future including Zegras and more. Before the interview the boys talk Rantanen taking over, the Leafs slipping and much more. Check out our Sponsors!
Joël strikes up a dialogue with fellow thoughtboter Elaina Natario about the various use cases of modals. Together they discuss their pros and cons, the dos and don'ts, their functionality and accessibility to the end user as well as the subtle differences you'll notice when compared to dialogs. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! Your guest for this week has been Elaina Natario (https://www.linkedin.com/in/elainanatario/) and you host has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org
Join Chris and Conrad as they discuss Joel Quenneville getting back into the NHL, Gavin McKenna's record-setting game, and updates from the second round of the Stanley Cup Playoffs.
The Oilers earned a 2-0 series lead after winning a wild Game 2 OT thriller over Vegas, with McDavid and Draisaitl quiet until the game-winner, while depth continues to carry Edmonton. In Washington, Logan Thompson shut the door in the third to even the series with Carolina, who now head home to a rink where they’ve dominated all year. Toronto looks to take control of their series in Game 3 vs. Florida, with Nylander continuing his stellar play. Winnipeg hopes for a bounce-back in Game 2 against Dallas after a flat opener, while Mikko Rantanen stays red-hot for the Stars. Elsewhere, Joel Quenneville takes over as head coach in Anaheim, publicly owning his past failures in the 2010 Blackhawks scandal, and in New Jersey, Devils GM Tom Fitzgerald made it clear major roster changes are coming after a disappointing season.See omnystudio.com/listener for privacy information.
Josh and Thomas talk about the coaching chaos heating up as Quenneville lands in Anaheim and Tocchet draws serious interest. We break down the Leafs' hot start, Rantanen's playoff tear, and whether the Oilers can really go the distance. Plus, guest Adam Kierszenblat joins to talk Abbotsford standouts, Lekkerimaki's playoff potential, and why the Canucks should hold onto the 15th pick. This podcast is produced by Lina SetaghianThe views and opinions expressed in this podcast are those of the hosts and guests and do not necessarily reflect the position of Rogers Media Inc. or any affiliate.
Joël and Steve sit down to discuss the ins and outs of decomposition within their respective workflows and how they use it to their advantage when working on certain projects. Together they look at working with vertical slices over other decomposition methods, when and how to break down code as efficiently as possible, and Joël lays out his three key principles that help him write code dubbed “The Triangle of Separation”. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! Learn more about Joël's triangle of separation (https://thoughtbot.com/blog/triangle-of-separation) and working with vertical slices (https://thoughtbot.com/blog/break-apart-your-features-into-full-stack-slices)! Your guest this week has been Steve Polito (https://www.linkedin.com/in/steve-polito), and your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). You can find Steve's work over on GitHub (https://github.com/stevepolitodesign), or dive into more of his thought processes over on his thoughtbot's blogs (https://thoughtbot.com/blog/authors/steve-polito). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org (https://joystock.org)
Joel Quenneville - former Blachawks head coach involved in a scandal - is reportedly in serious consideration for the Ducks' coaching job. We go over Quenneville's history in Chicago, and whether the Ducks should hire him.Trigger Warning: Sexual assault is discussed.Support the show:Twitch: twitch.tv/crashthepondPatreon: patreon.com/crashthepondYoutube: youtube.com/crashthepondOr leave us a review on Apple Podcasts.
Joël talks with fellow thoughtboter Sara about the different ways developers can help one another across the various stages of an app's lifecycle. They highlight the importance of utilising notes early on to clarify your work for others who may need it later down the line, how tooling can aid with this at all stages of development, and what lessons can be learnt from coding decisions made by someone else. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! Check out Steve Polito's Hotwire essentials project (https://thoughtbot.com/blog/hotwire-essentials-is-here-learn-hotwire-by-building-a-podcast-player), featured in Episode 452 (https://bikeshed.thoughtbot.com/452). Your host for this episode has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/) and was accompanied by Sara Jackson (https://www.linkedin.com/in/saraejackson/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org (https://joystock.org)
Start taking notes in this episode as Joël and Valerie discuss the different ways in which they structure their note taking systems to improve their workflows. Together they cover the best ways to get started with serious note taking, how to best map out your thoughts so they make the most sense when you come back round to them, as well as examining the different use cases they have for them both over the course of a working day. — The Sponsor for this episode has been Judoscale - Autoscale the Right Way (https://judoscale.com/bikeshed). Check out the link for your free gift! Take notes like a pro with Obsidian (https://obsidian.md/) and then read what Joël has to say on his own note taking (https://thoughtbot.com/blog/my-note-taking-system-gives-me-constant-content-ideas). Your guest this week has been Valerie Burzynski, (https://www.linkedin.com/in/valerieburzynski/) and your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc. — Credit: Ad-read music by joystock.org
Joël and thoughtbot colleague Sally Hall set out to find an answer to the question, what exactly are the differences between paper data structures and digitals ones? They compare the different ways humans store and access data, from rolodexs to the dewey decimal system, browsing a system vs searching it, and how the digital age has changed the way we assess and look at data stored in those systems. — Change your organisational workflow and get yourself a Rolodex! (https://www.rolodex.com/contact-management.html) Find out more about the Dewey Decimal System (https://esu.libguides.com/dewey). Your guest this week has been Sally Hall (linkedin.com/in/sallyannahall), and your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - BlueSky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël and fellow thoughtboter Aji Slater examine the unfamiliar world of Typescript (https://www.typescriptlang.org/) and various ways of working within it's system. They lay out the pros and cons of Typescript over other environments such as Ruby and Elm and discuss their experience of adopting LLM partners to assist in their workflows. Utilising Chat GPT and Claude to verify code and trim down syntax, all while trying to appease the type checker. Discover the little tips, tricks and bad habits they picked up along the way while working with their LLM buddies in an effort to improve efficiency. — Check out Ruby2D (https://www.ruby2d.com) for all your 2D app needs! You can connect with Aji via LinkedIn (https://www.linkedin.com/in/doodlingdev/), or check out some of the topics he's written about over on his thoughtbot blog (https://thoughtbot.com/blog/authors/aji-slater). Your host for this episode has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Bluesky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël enlists the help of thoughtbot colleague Sally Hall as they dive into the complex world of time zones, daylight savings, measurements and coding. Together they discuss their struggles with daylight savings throwing off their recent project reporting, the constant struggles of writing for different time zones and why writing your own code is never worth the hassle, and the similar battle of writing for different units of measurement. — Check out the idea behind "If Hemingway Wrote Javascript (https://javascriptweblog.wordpress.com/2015/01/05/if-hemingway-wrote-javascript-explained/)" and how it could help you with your coding. Watch Tom Scott's (https://www.youtube.com/watch?v=-5wpm-gesOY) own slow decent into madness over timezones and coding. Your guest this week has been Sally Hall (https://www.linkedin.com/in/sallyannahall), and your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Bluesky (https://bsky.app/profile/thoughtbot.com) © 2025 thoughtbot, inc.
Joël turns to fellow thoughtboter Jimmy Thigpen as he looks to expand his knowledge about the wide world of Typescripts. Together they discuss the differences between Typescript and other common systems such as Elm and Javascript, how to best handle their edge cases and error flags, as well as the benefits of using Zod as your typescript library. — Just starting out in Typescript? Try enabling Strict Mode! (https://www.typescriptlang.org/tsconfig/#strict) Try out Zod for yourself (https://zod-playground.vercel.app/) in their browser playground, or check out Zod's homepage (https://zod.dev/) for more info. If you'd like to contact Jimmy about all things Typescript he can be found over on LinkedIn (https://www.linkedin.com/in/thigpenjimmy/) Your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2025 thoughtbot, inc.
Joël talks with fellow thoughtboter Fritz Meissner about the thinking process behind his latest kata project and the vast world of coding problems. Fritz explains why he developed the noisy animals kata and how it helped to better understand and streamline his code, the best ways to break down conditionals and how to clean them up efficiently within your workflow, as well as knowing where the limits of improvement are in each project you work on. — Refine your conditional logic technique with a copy of 99 Bottles of OOP (https://sandimetz.com/99bottles) and then test your skills with Fritz's Noisy Animals Kata (https://github.com/thoughtbot/noisy-animals-kata). Compare notes with Joël (https://github.com/JoelQ/noisy-animals-kata) and Fritz (https://github.com/thoughtbot/noisy-animals-kata/blob/fm-refactored-v3/noisy_animal.rb) to see how you stack up once you're done! Listen to Joël's RailsConf talk The Math Every Programmer Needs (https://www.youtube.com/watch?v=wzYYT40T8G8) or check out some previous episodes for a refresher on some of the logic and math topics discussed in this show - Ep 398 (https://bikeshed.thoughtbot.com/398) - Ep 353 (https://bikeshed.thoughtbot.com/353) - Ep 418 (https://bikeshed.thoughtbot.com/418) - Ep 428 (https://bikeshed.thoughtbot.com/428) If you'd like to contact Fritz about his Kata or anything else programming related he can be found via LinkedIn (https://www.linkedin.com/in/fritz-meissner-057a4a6/) Your host for this episode has been thoughtbot's own Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2025 thoughtbot, inc.
Sanny lyrisk över Holm och Svensson tar ner Bryggmanspekulationerna.
Joël is joined by fellow thoughtboter Aji Slater as they discuss their previous experiences in designing content for workshops. Learn how to best structure your workshop for an audience, the benefits of a workshop over a talk and vice versa, as well as how to tackle the different hurdles your audience might face when working through your presentation. — Try your hand at Joël's recommendation of visualising your Git Branching (https://learngitbranching.js.org/). You can watch Ali's Enigma Machine workshop here (https://www.youtube.com/watch?v=KrLVIf-pS4g), Or connect with him via LinkedIn (https://www.linkedin.com/in/doodlingdev/) Your host for this episode has been Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2025 thoughtbot, inc.
Happy New Year from The Bike Shed! Tune in to the one wrapped edition that really matters this holiday season, The Bike Shed Wrapped! Recap the year with Joël and Stephanie as they reminisce over their favourite moments of 2024. The pair discuss ways they've stepped outside their comfort zone to gain a different perspective on their work, the growth they've each achieved as a result, and their ambitions for 2025 and beyond. Discover Joël and Stephanie's favourite episodes from the year as well as Joël's favourite blog post of 2024 (https://thoughtbot.com/blog/flesh-out-your-conference-talk-idea-using-a-rubric). — Re-listen to Joël and Stephanie's top four episodes of 2024 432: The Semantics and Meaning of Nil (https://bikeshed.thoughtbot.com/432) 435: Cohesive Code with Jared Norman (https://bikeshed.thoughtbot.com/435) 421: The Idealistic Vs. Pragmatic Programmer (https://bikeshed.thoughtbot.com/421) 441: The Pickaxe Book with Noel Rappin (https://bikeshed.thoughtbot.com/441) Want to hear Joël's gnome voice? Watch his RailsConf Talk! (https://www.youtube.com/watch?v=T7GdshXgQZE) Prefer to hear Stephanie give a talk like a regular human? Watch her RailsConf Talk! (https://www.youtube.com/watch?v=VmWCJFiU1oM) Your hosts for this episode have been thoughtbot's own Stephanie Minn and Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - YouTube (https://www.youtube.com/@thoughtbot/streams) - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2024 thoughtbot, inc.
It's officially the holidays at the Bike Shed! Defrag your hard drives and take a break with Joël and Stephanie as they breakdown different ways to manage your focus during the day. The pair discuss separating coding time from thinking time when working, the pros and cons of blocking out time for different tasks and clever ways to move seamlessly from one project to the next without losing momentum. Joël has some more timezone facts to share, while Stephanie reveals her worst enemy when it comes to productivity. — Try out the Pomodoro system (https://en.wikipedia.org/wiki/Pomodoro_Technique) in your workflow and let us know if it works for you! Your hosts for this episode have been thoughtbot's own Stephanie Minn and Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2024 thoughtbot, inc.
Joël and Stephanie go back to fundamentals as they pick apart some recent conversations they've been having around the office. Together they discuss the advantages of GraphQL over a REST API, how they utilise JSONB over a regular column or table, and the use-cases for and against a frontend framework like React. But what's the theme that ties all these conversations together? — The article mentioned in this episode was Why I'm over GraphQL (https://bessey.dev/blog/2024/05/24/why-im-over-graphql/) Your hosts for this episode have been thoughtbot's own Stephanie Minn and Joël Quenneville (https://www.linkedin.com/in/joel-quenneville-96b18b58/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://bikeshed.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@bikeshed.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2024 thoughtbot, inc.
One of the most challenging things about starting out as a developer is how much you need to master all at once. And with so much to learn, it can be difficult for experts to guide fresh developers and advise them on where to focus first. Luckily, some skills will always be useful, no matter what language you're coding in. In today's episode, Stephanie and Joël tackle this topic by unpacking several key evergreen skills that will always be valuable, from reading error messages to deciphering a stack trace. They break down how new-ish developers can start acquiring these skills, key obstacles they're likely to encounter, and how to ask for help when you hit a block. Their conversation covers the ins and outs of debugging, how to feel comfortable in your editor as a new developer, the art of asking for help, and much more. They also share plenty of valuable tips to help you on your journey – including one that will help you commit more frequently. Tune in now to hear it all! Key Points From This Episode: Stephanie's time at the Ruby Conference in Chicago. The challenges of advising new-ish developers as an expert. Broad evergreen skills that are always valuable to learn. Tips on mastering debugging as a core skill. How to improve your ability to read error messages. Our approach to resolving errors and isolating what is wrong. Advice for learning to read a stack trace (even though it's intimidating). Strategies for fixing different types of bugs. The value of editor mastery and version history. Tips on how to commit more frequently as a new developer. Learning to ask for help when you hit a block. The art of structuring your questions when asking for help. Breaking down large tasks into smaller sections. Learning to find focus as a new developer. Links Mentioned in Today's Episode: What technologies should I learn? (https://thoughtbot.com/blog/what-technologies-should-i-learn) Debugging blog post series (https://thoughtbot.com/blog/tags/debugging-series-2021) Asking about solutions rather than problems (https://xyproblem.info/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot) Mailtrap (https://l.rw.rw/the_bike_shed) WorkOS (workos.com/)
How can tests serve beyond just catching bugs in code? In this episode, Stephanie and Joël dive into the various roles that tests can play in a developer's toolkit. Covering all the fundamentals, from aiding knowledge transfer and documentation to ensuring accountability in code reviews, they explore the unexpected ways that tests support developer workflows. They also explain the balance between writing detailed tests for documentation and managing complex code, and how effective testing practices can help developers become more confident and informed in their work. Gain insights about the impact of test suites on team collaboration, code readability, and project handoffs, and discover how tests can provide a “living specification” that evolves with your application. Join us to learn how to make the most of your tests and unlock new ways to elevate your development process. Tune in now! How test suites can act as living documentation that changes with the codebase. Using tests to document complex code before handing off a project. How backfilling tests can reveal critical edge cases in legacy code. The benefits of tests for developers working with complex code areas. Why a balance between comprehensive coverage and “good enough” testing is essential. Challenges associated with reading tests as documentation in certain codebases. Techniques for improving the readability of test suites for documentation. Advantages of using tests as a tool for accountability in code reviews. The concept of test-first code reviews to improve understanding of pull requests. Links Mentioned in Today's Episode: Mailtrap (https://l.rw.rw/the_bike_shed) 'Unlock the value of tests in understanding your codebase' (https://thoughtbot.com/blog/unlock-the-value-of-tests-in-understanding-your-codebase) Good Enough Testing (https://goodenoughtesting.com/) 'RailsConf 2024: So writing tests feels painful. What now? by Stephanie Minn' (https://youtu.be/t5MnS20adG4) 'Algorithms we develop software by' (https://grantslatton.com/software-pathfinding#algorithms-we-develop-software-by) Exercism (exercism.io) WorkOS (https://workos.com/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
The Detroit Red Wings freefalling, Derek Lalonde's seat getting hotter, Jim Montgomery fired in Boston...is change coming in Hockeytown? Tune in as we start with an ugly overtime loss for the Red Wings in San Jose, including Dylan Larkin's 50 goal pace, Marco Kasper continuing to improve, Simon Edvinsson slotting in and scaring us all, Cam Talbot's tough night (as well as Compher), Alex DeBrincat, Lucas Raymond, Patrick Kane, Moritz Seider, and the Red Wings power play keeping things alive, Rasmussen's awkward goal, and the lacklustre effort in a must-win game (6:05). After that, a discussion on where this leaves the Red Wings season, if Detroit is destined to fire their coach, the schedule ahead, and an overall analysis on how this affects the "Yzerplan" as Steve Yzerman seeks to balance the rebuild (with Sandin Pellikka, Brandsegg-Nygard, Cossa, Augustine, Danielson, Buchelnikov, & others in the pipeline) with this tough season (15:00). Next, an analysis on where Derek Lalonde is at in terms of his time as the Detroit Red Wings coach, Jim Montgomery firedby Sweeney and the Boston Bruins & how he changes things, Tanguay, Gallant, Quenneville, keeping Newsy, & other options (36:21). We then discuss possible Red Wings trade target like David Jiricek and Trevor Zegras, as well as quick news on Jack Campbell, as well as NHL news including Martin Necas' insane pace (54:05) before we take your questions & comments in our Overtime segment (1:04:35) - enjoy! Head over to wingedwheelpodcast.com to find all the ways to listen, how to support the show, and so much more! WWP NIGHT w/ the DETROIT RED WINGS (Mar. 29th - barber pole jersey) tickets: wingedwheelpodcast.com/redwings WWP NIGHT w/ the GRAND RAPIDS GRIFFINS (Jan. 18th - Griffins beanie) tickets: https://griffinshockey.com/wwp Get $20 on the Gametime app (or Gametime.co) using code WINGEDWHEEL at checkout! Hot Stove Rounding the Bases: https://jamiedanielsfoundation.org/featured-event/hot-stove-stories-rounding-the-bases-with-mike-tirico/ Head to bit.ly/labatt_wingedwheelpodcast to find Labatt in stores near you today! Must be 21+. Always Enjoy Responsibly. #ad
For developers, impersonation can be a powerful tool, but with great power comes great responsibility. In today's episode, hosts Stephanie and Joël explore the complexities of implementing impersonation features in software development, giving you the ability to take over someone's account and act as the user. They delve into the pros and cons of impersonation, from how it can help with debugging and customer support to its prime drawbacks regarding security and auditing issues. Discover why the need for impersonation is often a sign of poor admin tooling, alternative solutions to true impersonation, and the scenarios where impersonation might be the most pragmatic approach. You'll also learn why they advocate for understanding the root problem and considering alternative solutions before implementing impersonation. Tune in today for a deep dive into impersonation and the best ways to use it (or not use it)! Key Points From This Episode: What's new in Stephanie's world: how Notion Calendar is helping her manage her schedule. Joël's quest to find a health plan: how he used a spreadsheet to compare his options. A client request to build an impersonation feature, and why Joël has mixed feelings about it. What an impersonation tool does: it allows you to take over someone's account. When it's useful to use implementation as a feature, like for debugging and support. Potential risks and responsibilities associated with impersonation. Why the need for impersonation often indicates poor admin tooling. Technical and security implications of impersonation. Solutions for logging the audit trail when you're doing impersonation. Differentiating between the logged-in user and the user you're rendering views for. Building an app that isn't as tightly coupled to the “current user.” Suggested alternatives to true impersonation. The value of cross-functional teams and collaborative problem-solving. Links Mentioned in Today's Episode: Mailtrap (https://l.rw.rw/the_bike_shed) Notion Calendar (https://www.notion.com/product/calendar) 'Implementing Impersonation' (https://jamie.ideasasylum.com/2018/09/29/implementing-impersonation) Sustainable Web Development with Ruby on Rails (https://sustainable-rails.com/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot) WorkOS (https://workos.com/)
Do the Detroit Red Wings need to make a change? Tune in as we start by discussing Detroit's brutal loss to Treovr Zegras and the Anaheim Ducks as they kicked their road trip off in the worst way, including Marco Kasper's 1st career NHL goal, Jonatan Berggren striking again, DeBrincat finding Lucas Raymond to break his slump, Alex Lyon's rough return, Simon Edvinsson leaving with an injury, and Derek Lalonde's squad's ugly loss (4:15). After that, a predictable loss to Cam Talbot's former team in the Los Angeles Kings, including another lopsided affair where only Dylan Larkin's goal could at all spoil the show as Moritz Seider had to contend without his defensive partner (13:40). After that, what Simon Edvinsson being out would mean for Steve Yzerman's Hockeytown team and what the game against San Jose means for them (Hagens? Martone? Misa?) (20:25). Next, we have the big discussion: does Steve Yzerman need to consider firing Derek Lalonde? How much of the defensive woes are on Lalonde vs. Yzerman bringing in the likes of Gustafsson, Holl, Petry, and others? Who would replace him - Quenneville? McLellan? Montgomery? Sullivan? Can this be turned around? All of that and lots more as the Detroit Red Wings and their fans look for answers (27:05). After that, more Red Wings news including Jack Campbell returning and being waived to the Grand Rapids Griffins, Larkin's goal pace, the stellar play of Nate Danielson, Dmitri Buchelnikov, Emmitt Finnie, & more (48:50) before we get into NHL news including the rising salary cap (& what it means for Detroit's core), Pittsburgh's whole team being sick, & more (55:40). All of that & plenty more before we take your questions & comments in our Overtime segment (1:03:15) - enjoy! Head over to wingedwheelpodcast.com to find all the ways to listen, how to support the show, and so much more! WWP NIGHT w/ the GRAND RAPIDS GRIFFINS TICKETS: https://griffinshockey.com/wwp Get $20 on the Gametime app (or Gametime.co) using code WINGEDWHEEL at checkout! Hot Stove Rounding the Bases: https://jamiedanielsfoundation.org/featured-event/hot-stove-stories-rounding-the-bases-with-mike-tirico/ Head to bit.ly/labatt_wingedwheelpodcast to find Labatt in stores near you today! Must be 21+. Always Enjoy Responsibly. #ad
WWP NIGHT w/ the GRAND RAPIDS GRIFFINS TICKETS: https://griffinshockey.com/wwp SIMON EDVINSSON DOES IT ALL (0:30)! Tune in as we start by discussing the Detroit Red Wings beating Sidney Crosby and the Penguins thanks to Edvinsson's overtime winner in Pittsburgh, including a hot start from Derek Lalonde's squad, Jonatan Berggren finally scoring his 1st goal of the season with his line of Kasper and Tarasenko, Lucas Raymond, Dylan Larkin, and Patriock Kane connecting on the red-hot power play, Cam Talbot's outstanding performance again, and DeBrincat feeding Edvinsson for the overtime winner (5:00). We then discuss team statistics through the first 15 games for Steve Yzerman's Hockeytown team, how Seider and Edvinsson are leading the defense, penalty kill woes, and power play highs, amazing goaltending from Talbot (Team Canada-bound?) and Lyon, and how the Red Wings may have some optimism moving forward (17:25). After that, more Detroit news as Ville Husso is sent down to Grand Rapids where Nate Danielson is tearing it up for the Griffins in the AHL, former Wings going through it as Mantha is out and Athanasiou is waived, and Henrik Zetterberg's case to follow Pavel Datsyuk to the Hockey Hall of Fame (32:55). Finally, big NHL news as Kyle Dubas may look to tear down the Penguins roster around Crosby, Malkin, and Letang, thoughts on acquiring a young right-shot defenseman like Drysdale or Jiricek, Quenneville, McLellan, and Montgomery's names floating around the NHL coaching carousel, Ken Holland news, and thoughts on the GMs potentially wanting shorter max contracts (44:20). All of that & more before we take your questions & comments in our Overtime segment (59:25) - enjoy! Head over to wingedwheelpodcast.com to find all the ways to listen, how to support the show, and so much more! Get $20 on the Gametime app (or Gametime.co) using code WINGEDWHEEL at checkout! Hot Stove Rounding the Bases: https://jamiedanielsfoundation.org/featured-event/hot-stove-stories-rounding-the-bases-with-mike-tirico/ Head to bit.ly/labatt_wingedwheelpodcast to find Labatt in stores near you today! Must be 21+. Always Enjoy Responsibly. #ad
When is it time for a rewrite? How do you justify it? If you're tasked with one, how do you approach it? In today's episode of The Bike Shed, we dive into the tough question of software rewrites, sharing firsthand experiences that reveal why these projects are often more complicated and risky than they first appear. We unpack critical factors that make or break a rewrite, from balancing developer satisfaction with business value to managing stakeholder expectations when costs and timelines stretch unexpectedly. You'll hear about real-world rewrite pitfalls like downtime and reintroducing bugs, as well as strategies for achieving similar improvements through incremental changes or refactoring instead. If you're a developer or team lead considering a rewrite, this conversation offers a pragmatic perspective that could save your team time, effort, and potential setbacks. Tune in to learn how to make the best call for your codebase and find out when a rewrite might actually be necessary! Key Points From This Episode: Accessible selectors versus test IDs: best practices in Capybara and React Testing Library. Balancing test coverage with pragmatism and risk tolerance with Good Enough Testing. Software rewrites and the tough questions around deciding when they're necessary. The importance of prioritizing business value over frustrations with the current codebase. Drawbacks of rewrites, such as downtime, data loss, and reintroducing past bugs. Risks of “grass is greener” thinking and using mocked data in demos. Unrealistic expectations of full feature parity and why an MVP approach is better. How incremental refactoring can achieve similar goals to a complete rewrite. The appeal and hubris of a “fresh start” and why it's much more complex than that. Balancing innovation with practicality: ways to introduce new elements without rewriting. An example that illustrates when a rewrite might actually be necessary. Reasons that early prototypes and test builds are the best candidates for rewrites. Links Mentioned in Today's Episode: Matt Brictson: ‘Simplify your Capybara selectors' (https://mattbrictson.com/blog/simplify-capybara-selectors) React Testing Library Guidelines (https://testing-library.com/docs/queries/about/#priority) Capybara Accessibility Selectors (https://github.com/citizensadvice/capybara_accessible_selectors) Good Enough Testing (https://goodenoughtesting.com/) ‘RailsConf 2023: The Math Every Programmer Needs by Joël Quenneville' (https://youtu.be/fMetBx77vKY) ‘Testing Your Edge Cases' (https://thoughtbot.com/blog/testing-your-edge-cases) 'Working Iteratively' (https://thoughtbot.com/blog/working-iteratively) 'Technical Considerations to Help Scale Your Product' (https://thoughtbot.com/blog/technical-considerations-when-scaling-your-application) Dan McKinley: ‘Choose Boring Technology' (https://mcfunley.com/choose-boring-technology) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
Does having smaller, more frequent iterations help to ease your cognitive load? During this episode, we discuss the benefits and challenges of working iteratively and whether or not it can prevent costly errors. You'll hear about juggling individual pieces effectively, factors that incentivize and de-incentivize working iteratively, and how Joël gauges whether or not a project should be broken up into smaller tasks. It can be hard to adopt small iterations, and this conversation also touches on the idea of ‘good enough code' and discusses how agility can reduce the cost of making changes. Tuning in, you'll hear about some of the challenges of keeping up with changes as they evolve and why it is beneficial to do so. You will also be equipped with a thought experiment involving elephant carpaccio to build your understanding of working iteratively, explore the challenge of keeping up with evolving changes, and more. Thanks for listening. Key Points From This Episode: Stephanie shares a recent mishap that happened at work and what she learned from it. Unpacking pressures and other aspects that may have contributed to the error. Joël's recent travels and his fresh appreciation for fall. The cost of an incident occurring, how this increases, and the role of code review. Benefits and pitfalls of more regular code review. Why working with smaller chunks of work is helpful for Joël's focus. Juggling individual pieces effectively. Factors that de-incentivize working iteratively such as waiting on 24-hour quality control processes. How working iteratively can facilitate better communication. Why Joël feels that work that spans a few days should be broken up into smaller chunks. The idea of ‘good enough code'. How agility can reduce the cost of making changes. Using the elephant carpaccio exercise to bolster your understanding of working iteratively. The challenge of keeping up with changes as they evolve and why it is beneficial to do so. Involvement from the team and the capacity to change course. Links Mentioned in Today's Episode: Working Incrementally (https://bikeshed.thoughtbot.com/361) Working Iteratively (https://thoughtbot.com/blog/working-iteratively) Elephant Carpaccio Exercise (https://docs.google.com/document/u/1/d/1TCuuu-8Mm14oxsOnlk8DqfZAA1cvtYu9WGv67Yj_sSk/pub) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
What's the difference between solving problems and recognizing patterns, and why does it matter for developers? In this episode, Stephanie and Joël discuss transitioning from collecting solutions to identifying patterns applicable to broader contexts in software development. They explore the role of heuristics, common misconceptions among junior and intermediate developers, and strategies for leveling up from a solution-focused mindset to thinking in patterns. They also discuss their experiences of moving through this transition during their careers and share advice for upcoming software developers to navigate it successfully. They explore how learning abstraction, engaging in code reviews, and developing a strong intuition for code quality help developers grow. Uncover the issue of over-applying patterns and gain insights into the benefits of broader, reusable approaches in code development. Join us to discover how to build your own set of coding heuristics, the pitfalls of pattern misuse, and how to become a more thoughtful developer. Tune in now! Key Points From This Episode: Stephanie unpacks the differences between patterns and solutions. The role of software development experience in recognizing patterns. Why transitioning from solving problems to recognizing patterns is crucial. Joël and Stephanie talk about the challenges of learning abstraction. Hear pragmatic strategies for implementing patterns effectively. How junior developers can build their own set of heuristics for code quality. Discover valuable tools and techniques to identify patterns in your work. Find out about approaches to documenting, learning, and sharing patterns. Gain insights into the process of refactoring a solution into a pattern. Outlining the common mistakes developers make and the pitfalls to avoid. Steps for navigating disagreements and feedback in a team environment. Links Mentioned in Today's Episode: RubyConf 2021 - The Intro to Abstraction I Wish I'd Received (https://www.youtube.com/watch?v=m0dC5RmxcFk) 'Ruby Science' (https://thoughtbot.com/ruby-science/introduction.html) Refactoring.Guru (https://refactoring.guru/) Thoughtbot code review guide (https://github.com/thoughtbot/guides/blob/main/code-review/README.md) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
Learning from other developers is an important ingredient to your success. During this episode, Joël Quenneville is joined by Stefanni Brasil, Senior Developer at Thoughtbot, and core maintainer of faker-ruby. To open our conversation, she shares the details of her experience at the Rails World conference in Toronto and the projects she enjoyed seeing most. Next, we explore the challenge of Mac versus Windows and how these programs interact with Ruby on Rails and dive into Stefanni's involvement in Open Source for Thoughtbot and beyond; what she loves about it, and how she is working to educate others and expand the current limitations that people experience. This episode is also dedicated to the upcoming Open Source Summit that Stefanni is planning on 25 October 2024, what to expect, and how you can get involved. Thanks for listening! Key Points From This Episode: Introducing and catching up with Thoughtbot Senior Developer and maintainer of faker-ruby, Stefanni Brasil. Her experience at the Rails World conference in Toronto and the projects she found most inspiring. Why accessibility remains a key topic. How Ruby on Rails translates on Mac and Windows. Stefanni's involvement in Open Source and why she enjoys it. Her experience as core maintainer at faker-ruby. Ideas she is exploring around Jeremy Evans' book Polished Ruby Programming and the direction of Faker. Involvement in Thoughtbot's Open Source and how it drew her in initially. The coaching series on Open Source that she participated in earlier this year. What motivated her to create a public Google doc on Open Source maintenance. An upcoming event: the Open Source Summit. The time commitment expected from attendees. How Stefanni intends to interact with guests and the talk that she will give at the event. Why everyone is welcome to engage at any level they are comfortable with. Links Mentioned in Today's Episode: Stefanni Brasil (https://www.stefannibrasil.me/) Stefanni Brasil on X (https://x.com/stefannibrasil) Thoughtbot Open Summit (https://thoughtbot.com/events/open-summit) Open Source Issues doc (https://docs.google.com/document/d/1zok6snap6T6f4Z1H7mP9JomNczAvPEEqCEnIg42dkU4/edit#heading=h.rq72izdz9oh6) Open Source at Thoughtbot (https://thoughtbot.com/open-source) Polished Ruby Programming (https://www.packtpub.com/en-us/product/polished-ruby-programming-9781801072724) Faker Gem (https://github.com/faker-ruby/faker) Rails World (https://rubyonrails.org/world/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/)
What is a program? Your answer to this question will determine the paradigm through which you view programming. During this episode, you'll come to understand how things change once you develop an awareness of your paradigm, and what. To kick off this episode, Stephanie shares key insights she took from Planet Argon's 2024 Ruby on Rails survey and dives deeper into her history with Ruby on Rails. Next, we dive into the definition of a paradigm and unpack three different paradigms you might hold as a developer: procedural, object-oriented, and functional. Considering how each of these impacts the way that you might approach your work as a developer, and what you can learn from the ones that are less familiar to you. Joël describes his scripting style and evaluates the concept of pure functions and their place in development, and we close by digging deeper into how your paradigm might impact the code that you write. Tune in to hear all this and more. Key Points From This Episode: The EPI feature that Joël has started to build out for his client. Why Stephanie is excited about the results of Planet Argon's 2024 Ruby on Rails community survey. What a procedural program is: programming envisions a program as a series of instructions to a computer. Defining an object-oriented paradigm: programming envisions a program as the behavior that emerges from objects talking to each other. How a functional paradigm envisions a program as a series of data transformations. Alan Turing and Alonzo Church's approach to understanding this. How a lot of the foundations of computer science came to be built before we had computers. Using Ruby to make judgments and assessing whether or not this is a procedural habit. Why Joël describes his scripting style as being very procedural. Unpacking the meaning of functional programming. Evaluating the concept of pure functions. Considering how your paradigm may impact the Ruby code that you write. Links Mentioned in Today's Episode: 2024 Ruby on Rails Community Survey (https://railsdeveloper.com/survey/2024/) Church-Turing Thesis (https://ocw.mit.edu/courses/24-242-logic-ii-spring-2004/489f7e42fb619645158d7c21a8fb83ad_chuh_trng_thesis.pdf) Dynamic type systems are not inherently more open (https://lexi-lambda.github.io/blog/2020/01/19/no-dynamic-type-systems-are-not-inherently-more-open/) What is Functional Programming? (blog.jenkster.com/2015/12/what-is-functional-programming.html) Blocks as an abstraction vs for loops (https://thoughtbot.com/blog/special-cases) Functional core imperative shell (https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell) Testing objects with a functional mindset (https://thoughtbot.com/blog/functional-viewpoints-on-testing-objectoriented-code) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
For a long time, Programming Ruby was the authority in the developing world. Now, a much-needed update has been published. During this conversation, we are joined by Noel Rappin, who shares how his frustration at the idea of static type in Ruby motivated him to investigate why he felt this way, as he published his findings in The Pickaxe Book. We discuss how this book differs from previous material he has published, explore a recent blog post series that explored the idea of failing fast, and address the widespread opinion that developers should take a simpler approach that is more accessible. Noel also explores the responsibility of understanding how readers consume material and the importance of providing thorough context as an author, how Programming Ruby became the most significant programming reference, and the surprising journey that led Noel to realize he was able to provide an updated version of the theory in it. Next, we dive into some of the more opinionated blog posts Noel has posted and the harshest feedback he has received in response to them. You'll also hear about his research and learning during the act of writing the book. Join us today to hear all this and more. Key Points From This Episode: Noel Rappin's recently published work, The Pickaxe Book, on current versions of Ruby. The inception of the book during discussions about the collision of Sorbet and Ruby. How his background made him comfortable with the idea that there are no static types. A recent blog post series and how it answered a question about failing fast. Considering whether developers pursue simpler things that are more accessible to a wider range of coders. The problem of thoroughness and longevity in writing instructional material. Developing awareness of how readers consume and contextualize theory and opinion. How Programming Ruby became the most significant programming reference. Noel's updated version of this material in his latest book. His blog posts on real-life applications of Ruby and the feedback he receives. How he goes about framing blog posts as opinion or instruction. Determining what community consensus is. The bewilderment that often accompanies onboarding sessions. Research and learning leading up to writing and publishing the book. Feedback and reviews on the book. Links Mentioned in Today's Episode: Noel Rappin (Noel Rappin) Noel Rappin on X (Noel Rappin on X) Programming Ruby (Programming Ruby) How Not to Use Static Typing in Ruby (How Not to Use Static Typing in Ruby) David Copeland Talk (David Copeland Talk) Better Know a Ruby Thing (Better Know a Ruby Thing) How To Manage Duplicate Test Setup, Or Can I Interest You in Weird RSpec? (How To Manage Duplicate Test Setup, Or Can I Interest You in Weird RSpec?) Better Know a Ruby Thing: On The Use of Private Methods (Better Know a Ruby Thing: On The Use of Private Methods) Standardrb (Standardrb) Rails Test Prescriptions (Rails Test Prescriptions) Programming Ruby: A Pragmatic Programmer's Guide (Programming Ruby: A Pragmatic Programmer's Guide) The Bike Shed (The Bike Shed) Joël Quenneville on LinkedIn (Joël Quenneville on LinkedIn) Support The Bike Shed (Support The Bike Shed)
When does it make sense to step away from Rails conventions? What are the limits of convention over configuration? While Rails conventions provide a solid foundation, there are times when customization is necessary to meet specific project needs. In this episode, Joël and Stephanie dive into the tradeoffs of breaking away from Rails defaults. They explore the limits of convention over configuration and share their experiences with customizing beyond the typical Rails setup. Joël offers insights from a recent project where the client opted for all dry-rb objects, and they unpack the benefits and potential challenges of this approach. Stephanie talks about why people tend to shy away from certain Ruby features and her lessons regarding leveraging callbacks for code development. Explore different testing frameworks, the situations when following Ruby defaults is better, the benefits of the ActiveModel ecosystem, and more! Whether you are a Rails purist or looking to bend the rules, this episode will help you understand the pros and cons of stepping outside the Ruby on Rails box. Don't miss it! Key Points From This Episode: Joël shares details about a large-scale refactoring initiative he has been working on. Stephanie's recent legacy-code production problem and lessons from her experience. What Joël would have done differently when building his refactoring initiative. The problems of renaming background applications during code development. Why the open-close principle is valuable for making class changes to a system. Reasons that a migration strategy is vital for navigating new and legacy code. Explore approaches for overcoming synchronization issues between systems. Learn about the concept of connascence for coupling systems together. Considerations for using asynchronous tools with a connascence approach. Practical ways to maintain naming consistency during code development. The importance of differentiating between web and business-logic layers. Situations where relying on callbacks for connascence becomes problematic. Other issues that callback problems can reveal during code development. Joël unpacks the scenarios where he deviates from the Ruby on Rails standard. Frameworks for testing code and final takeaways from Joël and Stephanie. Links Mentioned in Today's Episode: 'Refactoring Legacy Code with the Strangler Fig Pattern' (https://shopify.engineering/refactoring-legacy-code-strangler-fig-pattern) Connascence of Name (CoN) (https://thoughtbot.com/blog/connascence-as-a-vocabulary-to-discuss-coupling#connascence-of-name-con) ActiveModel docs (https://guides.rubyonrails.org/active_model_basics.html) GitHub | activemodel (https://github.com/rails/rails/tree/main/activemodel) 'Vanilla Rails is plenty' (https://dev.37signals.com/vanilla-rails-is-plenty/) GitHub | minitest (https://github.com/seattlerb/minitest) GitHub | test-unit (https://github.com/test-unit/test-unit) Episode 435: Cohesive Code with Jared Norman (https://bikeshed.thoughtbot.com/435) Ruby on Rails The Bike Shed (https://rubyonrails.org) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
How can asynchronous programming transform your Ruby on Rails applications? Today, Stephanie sits down with Hello Weather co-creator Trevor Turk to unpack asynchronous programming in Ruby on Rails. Trevor Turk is a seasoned software developer known for his work on Hello Weather, a minimalist weather app that delivers essential weather data quickly and precisely. He's also the creator of Weather Machine, an advanced weather data platform designed to serve reliable and highly accurate forecasts via API. With a background that includes work at innovative tech companies, Trevor brings years of experience in developing intuitive, user-friendly digital tools. Trevor talks about the focus of his API work, the complexity of web-based apps, and what makes Hello Weather unique. He explains the fundamentals of asynchronous programming within the Ruby on Rails framework and why it is an approach all programmers should consider. Explore the nuances of programming for different data sources, how he leverages fibers and threads for the Hello Weather platform, and why asynchronous programming is not a silver bullet for application development. Discover how to start using asynchronous methods, the various asynchronous tools available in Ruby, and why experimenting with concurrent programming is essential. Join us to gain insights into why including asynchronous tools is vital for the Ruby on Rails ecosystem, improving platforms through open-source development, how to help improve the adoption of asynchronous tools in Ruby, and more. Tune in now! Key Points From This Episode: Introduction to Turk and his background in Ruby on Rails. Details about his companies Hello Weather and Weather Machine. The innovative features that the Hello Weather platform offers. Hear how Hello Weather transitioned from a web-based to an application. Why he needed to alter his programming approach to scale the company. How he came across the concept of asynchronous programming. Discover how using fibers is different from using threads in Ruby. Find out about the different use cases of asynchronous programming. Learn about the benefits of implementing concurrent programming. Trevor shares the challenges of working with different versions of Ruby. His role in enhancing asynchronous methods within the Ruby framework. Common misconceptions of working with Ruby on Rails. Final takeaways for those interested in asynchronous programming. Links Mentioned in Today's Episode: Trevor Turk on LinkedIn (https://www.linkedin.com/in/trevorturk/) Trevor Turk on X (https://x.com/trevorturk) Trevor Turk on Threads (https://www.threads.net/@trevorturk) Hello Weather (https://helloweather.com/) Weather Machine (https://weathermachine.io) GitHub | async gem (https://github.com/socketry/async) GitHub | falcon gem (https://github.com/socketry/falcon) 'Async Ruby on Rails' (https://thoughtbot.com/blog/async-ruby-on-rails) load_async (https://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-load_async) Episode 437: Contributing to Open Source in the Midst of Daily Work with Steve Polito (https://bikeshed.thoughtbot.com/437) GitHub | Action Cable server adapter (https://github.com/rails/rails/pull/50979) ActiveRecord connection checkout caching (https://github.com/rails/rails/pull/50793) Ruby on Rails The Bike Shed (https://rubyonrails.org/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
Writing abstractions in tests can be surprisingly similar to storytelling. The most masterful stories are those where the author has stripped away all of the extra information, and given you just enough knowledge to be immersed and aware of what is going on. But striking that balance can be tricky, both in storytelling and abstractions in tests. Too much information and you risk overwhelming the reader. Too little and they won't understand why things are operating the way they are. Today, Stephanie and Joël get into some of the more controversial practices around testing, why people use them, and how to strike the right balance with your information. They discuss the most common motivations for introducing abstractions, from improved readability to simplifying the test's purpose and the types of tests where they are most likely to introduce abstractions. Our hosts also reflect on how they feel about different abstractions in tests – like custom matchers and shared examples – outlining when they reach for them, and the tradeoffs and benefits that come with each. To learn more about how to find the perfect level of abstraction, be sure to tune in! Key Points From This Episode: What's new in Joël's world; mocking out screens for processes or a new bit of UI. The new tool Stephanie's using for reading on the web: Reader by Readwise. Today's topic: controversial practices around testing. How Stephanie and Joël feel about looping through arrays and having IT blocks for each. The most common motivations for introducing abstractions or helper methods into your tests. Pros and cons of factories as abstractions in testing. Types of tests where Joël and Stephanie are more likely to introduce abstractions. Using page objects in system tests to improve user experience. Finding the balance between too little and too much information with abstraction in testing. Why Stephanie has been enjoying fancier matchers like RSpecs. Top uses of custom matchers, especially for specialized error messaging. Why Stephanie prefers custom matchers over shared examples. Using helper methods as a lighter version of abstraction. Differences and similarities between abstractions in tests versus application code. A reminder to keep your goals in mind when using abstraction. Links Mentioned in Today's Episode: Reader by Readwise (https://readwise.io/read) Why factories (https://thoughtbot.com/blog/why-factories) Why not factories (https://thoughtbot.com/blog/speed-up-tests-by-selectively-avoiding-factory-bot) Capybara at a single level of abstraction (https://thoughtbot.com/blog/acceptance-tests-at-a-single-level-of-abstraction) Writing custom RSpec matchers (https://thoughtbot.com/blog/acceptance-tests-at-a-single-level-of-abstraction) Value objects shared examples (https://thoughtbot.com/blog/value-object-semantics-in-ruby) 'DRY is about knowledge' (https://verraes.net/2014/08/dry-is-about-knowledge/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/)
Are you passionate about open source but struggling to find time amidst your daily work? Today on the podcast, Joël Quenneville sits down with Steve Polito to discuss practical strategies for making meaningful contributions to the open-source community, even when your schedule is packed. Steve is a developer with extensive experience in the open-source world seamlessly. He's known for his ability to integrate open-source contributions into his daily workflow, all while maintaining high productivity in his professional role. In our conversation, we explore balancing professional responsibilities with open-source contributions. Steve walks us through his process, from the importance of keeping notes to leveraging Rails issue templates. Discover strategies for contributing to open-source work during work hours, the benefits of utilizing existing processes, and why extending the success of your work to the larger developer community is essential. Join us to hear recommendations for handling pull requests with Ruby on Rails, tips for using reproduction scripts, why you should release reports early and often, and much more. Tune in and learn how to seamlessly integrate open-source contributions into your daily workflow with Steve Polito! Key Points From This Episode: Joël and Steve catch up and share what they are currently working on. Transitioning synchronous processing in a web request to the background. An update on Steve's “building in public” approach and its reception at thoughtbot. How Steve chooses to document and track his development process. Find out how he uses templates to enhance and increase productivity. Why open-source work does not need to be done during your free time. Ways you can contribute to open-source projects during normal work hours. The benefits of sharing troubleshooting solutions with the open-source community. Pull request lessons from his time working with Ruby on Rails. Reasons why issues have a lower barrier to entry with Ruby on Rails. His unique approach of using issues, pull requests, and suspenders. Identifying aspects of everyday work that are suitable for open-source projects. Links Mentioned in Today's Episode: Steve Polito Steve Polito on X Episode 351: Learning in Public Rails issue templates Suspenders Mermaid Ruby on Rails WorkOS thoughtbot The Bike Shed Joel Quenneville on LinkedIn Support The Bike Shed
On this episode of The Steve Dangle Podcast, the Leafs lose a scout to the Penguins (00:00), Quenneville, Bowman, MacIsaac reinstated by NHL today (24:30), New Era & the NHL (35:00), VictoryPlus (41:00), Merulo exits Arizona (52:45), former Nashville Predator Greg Johnson posthumously diagnosed with CTE (56:00), marketing stars and NHL EDGE (1:03:00), Bettman's retirement (1:05:30), McDavid's wood stick (1:08:00), and the 24-25 Metro Div (1:14:00). Join SDP VIP: YouTube: https://www.youtube.com/channel/UC0a0z05HiddEn7k6OGnDprg/join Apple Podcasts: https://apple.co/thestevedanglepodcast Spotify: https://podcasters.spotify.com/pod/show/sdpvip/subscribe Visit this episode's sponsors: If you want to take ownership of your health, it starts with AG1. Try AG1 and get a FREE 1-year supply of Vitamin D3K2 AND 5 free AG1 Travel Packs with your first purchase at https://drinkag1.com/sdp. Follow us on Twitter: @Steve_Dangle, @AdamWylde, & @JesseBlake Follow us on Instagram: @SteveDangle, @AdamWylde, & @Jesse.Blake Join us on Discord: https://discord.com/invite/MtTmw9rrz7 For general inquiries email: info@sdpn.ca Reach out to https://www.sdpn.ca/sales to connect with our sales team and discuss the opportunity to integrate your brand within our content! Learn more about your ad choices. Visit megaphone.fm/adchoices
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. Our hosts also explore the three-state Boolean problem, illustrating the pitfalls of using nullable Booleans, and why you should use default values in your database. Joël then shares insights from the Elm community and how it encourages rigorous checks and structured data modeling to manage nil values effectively. They advocate for using nil only to represent truly optional data, cautioning against overloading nil with additional meanings that can compromise code clarity and reliability. Joël also shares a fun example of modeling a card deck, explaining why you might be tempted to add extra semantics onto nil, and why the joker always inevitably ends up causing chaos! Key Points From This Episode The project Joël is working on and why he's concerned about bugs and readability. Potential solutions for a confusing constant definition in a nested module. A client work update from Stephanie: cleaning up code and removing dead dependencies. How she used Figjam to discover dependencies and navigate her work. Today's topic: how programmers project extra semantics onto nil. What makes nil really tricky to use, like forcing you to go down a default path. How nil sweeps the cases you don't want to think too hard about under the rug. Extra semantics that accompany nil (that you might not know about) like a guest session. Examples of how these semantics mean different things in different contexts. How these can lead to bugs, hard-to-find knowledge, confusion, and poor user experiences. Introducing objects to replace extra nil semantics, improve readability, and other solutions. Some of the reasons why programmers tend to project extra semantics onto nil. How to notice that nil has additional meanings, and when to model it differently. The implications of excessive guard clauses in code. An overview of the three-state Boolean problem with nullable Booleans. Connecting with the Elm community: how it can help you conduct more rigorous checks. Some of the good reasons to have nil as a value in your database. The benefits of using nil only to represent truly optional data. Links Mentioned in Today's Episode Figjam (https://www.figma.com/figjam/) Miro (https://miro.com/) 'Working Iteratively' blog post (https://thoughtbot.com/blog/working-iteratively) Mermaid.js (https://mermaid.js.org/) Draw.io (https://draw.io/) Check your return values (web) (https://thoughtbot.com/blog/check-return-values-web) Check your return values (API) (https://thoughtbot.com/blog/check-return-values-api) Primitive obsession (https://wiki.c2.com/?PrimitiveObsession) 'Avoid the Three-state Boolean Problem' (https://thoughtbot.com/blog/avoid-the-threestate-boolean-problem) Elm Community (https://elm-lang.org/community) 'The Shape of Data': Modeling a deck of cards (https://thoughtbot.com/blog/modeling-with-union-types#the-shape-of-data) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/)
On this episode of The Steve Dangle Podcast, the sign 3 depth pieces (00:00), Nick Robertson's trade request (08:30), Jani Hakanpää hasn't signed yet (40:00), will JT's captaincy be giving to Auston? (1:06:30), Tarasenko not to the Penguins (1:15:00), did JBB treat Stamkos fairly? (1:18:00), the NYPost Jacob Trouba story (1:32:00), the Leafs schedule (1:39:00), and Bowman, MacIsaac and Quenneville reinstated (1:47:00). Join SDP VIP: YouTube: https://www.youtube.com/channel/UC0a0z05HiddEn7k6OGnDprg/join Apple Podcasts: https://apple.co/thestevedanglepodcast Spotify: https://podcasters.spotify.com/pod/show/sdpvip/subscribe Visit this episode's sponsors: Go to http://shadyrays.com and use code SDP for 50% off 2 or more pairs of polarized sunglasses. Visit https://www.betterhelp.com/sdp today to get 10% off your first month. That's https://www.betterhelp.com/sdp. Follow us on Twitter: @Steve_Dangle, @AdamWylde, & @JesseBlake Follow us on Instagram: @SteveDangle, @AdamWylde, & @Jesse.Blake Join us on Discord: https://discord.com/invite/MtTmw9rrz7 For general inquiries email: info@sdpn.ca Reach out to https://www.sdpn.ca/sales to connect with our sales team and discuss the opportunity to integrate your brand within our content! Learn more about your ad choices. Visit megaphone.fm/adchoices