Podcasts about circling

Share on
Share on Facebook
Share on Twitter
Share on Reddit
Copy link to clipboard
  • 508PODCASTS
  • 1,704EPISODES
  • 44mAVG DURATION
  • 2DAILY NEW EPISODES
  • Oct 24, 2021LATEST

POPULARITY

20112012201320142015201620172018201920202021


Best podcasts about circling

Latest podcast episodes about circling

Programmed to Chill
24 - Krupp Steel pt. 7, Gustav and Alfried Krupp, or, Vultures Circling Their Carrion

Programmed to Chill

Play Episode Listen Later Oct 24, 2021 37:28


Today we talk about the Krupp Steel empire during WWII, with both Gustav and his son Alfried Krupp. To start, we talk about Hjalmar Schacht's financial trickery to keep rearmament off Germany's books after the Nazis took power. Then we talk about Alfried Krupp, his interests and career up to that point, and how deranged his family was. We talk about Krupp's weapons during the Spanish Civil War, the case of Robert Rothschild, Gustav Krupp's senility, and the story of Artur Rümann, an art dealer who witnessed Alfried Krupp salivating and drooling over maps of soon-to-be expropriated factories across Europe. Then we introduce the topic of slave labor under Nazi Germany, including the theft of the Ukraine, culminating with the Battle of Kursk.

Billieve: a Buffalo Rumblings Podcast
Food for Thought: Things that make you "shout" with Matt Parrino of NYUP.com

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 23, 2021 83:29


On this episode of “Food for Thought” Bruce is joined by Matt Parrino of NYUP.com to discuss comfort food, the Buffalo Bills' loss to the Tennessee Titans, and bye week checklists. #Bills #goBills #BillsMafia Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Don't forget to subscribe and turn on notifications for the Buffalo Rumblings YouTube channel to get great shows like The Overreaction Podcast, Code of Conduct, Hump Day Hotline, Off Tackle with John Fina, Food for Thought, Time 2 Shine, and The Chop Up! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Editor's note: If you're viewing this in Apple News, you'll need to head to your podcast app or phone's web browser to hear the embedded audio file. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
BBR: A different reaction to the Bills bye week

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 22, 2021 13:29


The Bills lost - and I'm actually OK with that. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Editor's note: If you're viewing this in Apple News, you'll need to head to your podcast app or phone's web browser to hear the embedded audio file. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Buff Hub: The Brutal Buffalo Bills

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 22, 2021 57:41


In the episode, Steve and Anthony discuss how the Bills go into the bye week after a brutal loss to the Titans. Searching for answers to regain the AFC throne, trades, and rookie player development will be the topics of interest as so much hangs in the balance for the Bills to seize the #1 seed in the future for the playoffs. Some players mentioned are Matt Milano, Josh Allen, Derrick Henry, and Stefon Diggs. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Learn more about your ad choices. Visit podcastchoices.com/adchoices

The Kuhner Report
Is Biden Circling the Drain?

The Kuhner Report

Play Episode Listen Later Oct 21, 2021 31:56


Billieve: a Buffalo Rumblings Podcast
The Bruce Exclusive: Net Positives

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 21, 2021 40:53


On this episode of "The Bruce Exclusive", Bruce tackles the narratives that arose from the Bills/Titans Monday Night Football heartbreaker, including the fourth down call, Dion Dawkins, and Derrick Henry's big game. He discusses coping with losses and whether or not fandom is truly a net positive for a lot of people. #Bills #goBills #BillsMafia Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Editor's note: If you're viewing this in Apple News, you'll need to head to your podcast app or phone's web browser to hear the embedded audio file. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Jamie D & Big Newt: Going For It On Fourth

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 20, 2021 33:37


The Buffalo Bills lost to the Tennessee Titans in heartbreaking fashion, going for it on fourth down and being stopped. But was that the right call by head coach Sean McDermott? The hosts examine that along with how the loss will effect the team going forward. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTubeAsk Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Off Tackle with John Fina | BILLS vs Titans Look Back | Oct 20, 2021

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 20, 2021 54:55


Tough game to break down as the BILLS had a poor outing in the trenches on both offense and defense. But why? What went right? What went wrong? Was it game plan or technique? Join John Fina LIVE at 8pm EST for a special TUESDAY edition of the Off Tackle show and John will give us some insight as to what was really going on this game. Side note, Josh Allen had a stellar game in a loss and this offense seems to be finding itself and the question on everyone's mind today is "was going for it instead of kicking the FG the right call?" We all have opinions, jump in later to hear John's. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! #BUFFALOBILLS #BILLS #BILLSMAFIA #goBILLS Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Q&A: Interior OL options, Epenesa, more from Titans loss

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 20, 2021 22:27


This week we talk about why the Bills lost to the Titans, A.J. Epenesa being inactive, options for the interior offensive line and dealing with sadness. To have your Bills questions answered on the next podcast, you can call 24/7 and leave your questions at 716-508-0405, email us at BuffaloRumblings@SBnation.com, tweet us at @RumblingsQandA, send us Facebook or Instagram messages, or leave your comments in the show notes article on the website. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Overreaction Postgame Show | Heartachen But Not Heartbroken | BILLS vs TITANS

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 19, 2021 63:23


A lot to talk about in this football game. In the end, the BILLS drop a back and forth slug fest with the Tennessee TItans. Join Joe as he breaks down what he felt watching this game on the Overreaction Postgame Show. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
CTW: 4th and Oh No-- Bills Lose to Titans 34-31 in NashBill to go 4-2

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 19, 2021 64:31


In this episode, we discuss the Buffalo Bills' loss to the Tennessee Titans, 34-31 in the last seconds of the game on a 4th down call that didn't go the Bills' way. Was it the right call? Was it too aggressive? We discuss that, the defense's inability to stop Derrick Henry, the lack of pass rush on Ryan Tannehill, Josh Allen doing everything he could to put the team on his back and much more! We announce the winner this week's giveaway, and we discuss our general thoughts on the game, stats of the game, plays of the game (Sweet Sassy Molassy & Gettysburg), who goes on our Wall of Fame and who goes on the Wall of Shame (and turn to Twitter for some great reaction from our followers). Listen now and Go Bills! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Email us questions, comments, or Bills stories: ctwpod@gmail.com Follow us on Twitter: @CTWpod Like us on Facebook: Circling the Wagons: A Buffalo Bills Podcast Follow us on Instagram: CTWpod Check out our TeePublic Bills Store here Learn more about your ad choices. Visit podcastchoices.com/adchoices

The Tony Gates Morning Show
Show 10/18 - Hour Three Segment

The Tony Gates Morning Show

Play Episode Listen Later Oct 18, 2021 26:27


We have a winner for the best mullet in America now. Circling the drain or awesome? Travis and Tony differ on this one... Support the show: https://www.wlav.com/tonygwlav/ See omnystudio.com/listener for privacy information.

Billieve: a Buffalo Rumblings Podcast
#BillsMafia Time 2 Shine Pregame Show

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 18, 2021 55:20


Got a game prediction or a hot take? Want the world to hear your take? Click the link in the comment section when the show is LIVE and join host Joe Miller on the show as we talk about this week's matchup between the Buffalo Bills and the Tennessee Titans. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! #BILLS #BillsMafia #BuffaloBills #goBiLLS Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Billieve: Previewing Tennessee Titans and Week 6

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 17, 2021 38:13


The Buffalo Bills (4-1) are embarking on the next leg of their revenge tour when they travel to Nashville to take on the Tennessee Titans (3-2) on Monday Night Football. This is the third straight week when Buffalo has played a team that handed the Bills a painful loss over the past two seasons, and so far for the Bills, the revenge has been sweet, with Buffalo defeating the Houston Texans and the Kansas City Chiefs in consecutive weeks. On the latest episode of the Billieve Podcast, hosts John Boccacino and Jamie D'Amico have everything you need to know to get ready as Buffalo looks to make another statement before the national audience on Monday Night Football. Among the topics discussed: We take a moment to revel in the glory that was last week's 38-20 trouncing of the Chiefs on Sunday Night Football, including a dominant showing from the defense and Josh Allen keeping his cool and delivering a solid performance. Derrick Henry is arguably the most talented running back in the NFL, yet every time Leslie Frazier's defense goes up against the Titans, the Bills have had a plan for containing Henry. The important and difference-making role nose tackle Star Lotulelei plays on defense, especially in slowing Henry down. Why linebacker Matt Milano appears to be trending towards returning to action following his hamstring injury. Sean McDermott has some difficult decisions facing him concerning who is active and who is a healthy scratch when it comes to the wealth of talent along the defensive line. Can cornerback Levi Wallace handle the physicality of wide receivers Julio Jones and A.J. Brown? Tennessee's secondary has taken a big step back from the squad that made it to the 2020 AFC title game. Why Josh Allen and the Bills should look to run up the middle to take advantage of Tennessee's less-than-stellar pass rush. Predicting a breakout performance from wideout Stefon Diggs. Boccacino and D'Amico then offer up their score predictions for the game. Feel free to leave yours in the comments section. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Food for Thought: PB&W w/ Matt Verderame from FanSided

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 16, 2021 71:04


On this episode of "Food for Thought", Nate and Bruce talk PB&J sandwiches, schematic epiphanies, and the next thing w/ Matt Verderame from FanSided. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Don't forget to subscribe and turn on notifications for the Buffalo Rumblings YouTube channel to get great shows like The Overreaction Podcast, Code of Conduct, Hump Day Hotline, Off Tackle with John Fina, Food for Thought, Time 2 Shine, and The Chop Up! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Editor's note: If you're viewing this in Apple News, you'll need to head to your podcast app or phone's web browser to hear the embedded audio file. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
BBR: Gushing over Gregory Rousseau, AFC Defensive Player of the Week

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 15, 2021 15:21


Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Buff Hub: Hooked on a Feeling

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 15, 2021 59:16


The Bills seized power in the AFC, now they prepare for the Titans. Will they take down the Titans? This feels like the ultimate revenge tour and everyone in Bills Mafia is enjoying it to the fullest! How will the chips fall into the Bye Week? Listen here only on Buffalo Rumblings. Some players mentioned in this podcast are Matt Milano, Josh Allen, Derrick Henry, Ryan Tannehill, and Patrick Mahomes. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Learn more about your ad choices. Visit podcastchoices.com/adchoices

Music City Miracles: for Tennessee Titans fans

Monday Night Football is upon us! Sam and Nick break down the upcoming matchup against the red hot Bills. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Titans Brawl
Circling the Wagons

Titans Brawl

Play Episode Listen Later Oct 14, 2021 77:36


Monday Night Football is upon us! Sam and Nick break down the upcoming matchup against the red hot Bills. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
The Bruce Exclusive: Endgame

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 14, 2021 35:05


On this episode of "The Bruce Exclusive", Bruce talks the importance of the timing of the Buffalo Bills' win over the Kansas City Chiefs, why this game played out differently than the last two, and makes an argument for Zack Moss as RB1A. #Bills #goBills #BillsMafia Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Hump Day Hotline | The Revenge Tour Finishes in Nashville | Oct 14, 2021

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 14, 2021 63:21


The Buffalo Bills are on a revenge tour and next on the list are the Tennessee Titans, in Nashville this MONDAY NIGHT. However, before we get to that, let's close the door on the BILLS annihilation of the Kansas City Chiefs this past Sunday Night.  Groot has been named the AFC Defensive Player of the Week as he was a major factor on this defense as they secured 4 turnovers and held the Chiefs high powered offense to just 20 points. Special guest Joe Marino from the Draft Network and Locked On Bills joins the program and you will not want to miss it! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Scaling Up Business Podcast
281: Michelle Seiler Tucker — Sell Your Business and Exit Rich

Scaling Up Business Podcast

Play Episode Listen Later Oct 13, 2021 42:15


You've grown your business to new heights and now you're ready to exit. When your business is on the line, how do you know if you've gotten every penny that it's worth? Today's episode is all about not leaving any money on the table. Michelle Seiler Tucker is the Founder and CEO of Seiler Tucker Incorporated. Michelle is the leading authority on buying, selling, and improving businesses, as well as increasing a business's revenue streams. Over the past decade, Michelle has sold several hundred businesses and franchises, and she outlines how she did it in her latest book, Exit Rich. 80% of businesses will never sell. The reason? Business owners often just want out. They're burned out and they don't want to think about it anymore. In fact, the worst time to sell your company is during a catastrophe. For many owners, they never even had a plan to sell, so when it's time to retire or move on to the next thing, they decide it's just simply easier to close their doors instead. Michelle specializes in buying, selling, fixing, and growing businesses. Throughout Michelle's career, she has found that so many businesses aren't actually sellable. They're often a glorified job for someone instead. Her focus is to help businesses owners have a sellable asset by the end of her client engagement. Circling back to the fact that 80% of businesses will not sell, that should be a huge wake-up call for any business owner currently. You have less than a 20% chance of success! So many business owners keep trucking along like everything is fine, but then hit a breaking point. Well, by the time you hit that breaking point, it's too late to sell your business strategically.   Interview Links: Sponsored by: Bit.ly/clariontech Exitrichbook.com Seilertucker.com Michelle on LinkedIn   Resources: Scaling Up Workshop: Interested in attending one of our workshops? We have a few $100 discounts for our loyal podcast listeners!Scaling Up for Business Growth Workshop: Take the first step to mastering the Rockefeller Habits by attending one of our workshops. Scaling Up Summits (Select Bill Gallagher as your coach during registration for a discount.) Bill on YouTube   Did you enjoy today's episode? If so, then head over to iTunes and leave a review. Help other business leaders discover the Scaling Up Business Podcast so they, too, can benefit from the ideas shared in these podcasts.   Scaling Up is the best-selling book by Verne Harnish and our team for Gazelles Coaching, on how the fastest-growing companies succeed where so many others fail. My name is Bill Gallagher, host of the Scaling Up Business Podcast and a leading Gazelles Coach. Gazelles is the term we use for fast-growing companies.   We help leadership teams with 4 Decisions around People, Strategy, Execution, and Cash so that they can Scale Up successfully and beat the odds of business growth success. Scaling Up for Gazelles companies is based on the Rockefeller Habits 2.0 (from Verne's original best-selling business book, Mastering the Rockefeller Habits).  

Billieve: a Buffalo Rumblings Podcast
Jamie D & Big Newt: What it Means to Beat the Chiefs

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 13, 2021 59:22


The Buffalo Bills overcame their 2020 obstacle with a resounding victory against the Kansas City Chiefs. While it only counts for one win in the standings, it means a lot more to both players and fans. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTubeAsk Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
CTW: Changing of the Guard; Bills Defeat Chiefs on Primetime 38-20

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 13, 2021 61:41


In this episode, we discuss the Buffalo Bills' statement win over the Kansas City Chiefs, 38-20 on Sunday Night Football in Arrowhead Stadium. We discuss Josh Allen's impressive performance, the Defense's continued dominance and confusing Patrick Mahomes all game, the terrible calls by the Officials, the insufferable bias of Al Michaels and Cris Collinsworth, weather delays, and much more! We announce the winner this week's giveaway, and we discuss our general thoughts on the game, stats of the game, plays of the game (Sweet Sassy Molassy & Gettysburg), who goes on our Wall of Fame and who goes on the Wall of Shame (and turn to Twitter for some great reaction from our followers). Listen now and Go Bills! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Email us questions, comments, or Bills stories: ctwpod@gmail.com Follow us on Twitter: @CTWpod Like us on Facebook: Circling the Wagons: A Buffalo Bills Podcast Follow us on Instagram: CTWpod Check out our TeePublic Bills Store here Learn more about your ad choices. Visit podcastchoices.com/adchoices

Under 10: Mini Podcasts on Intimacy with Dr. Jessica Tartaro
Episode 42 - Listening to Help Others Feel Less Alone

Under 10: Mini Podcasts on Intimacy with Dr. Jessica Tartaro

Play Episode Listen Later Oct 12, 2021 10:30


The hard times in life are unavoidable.  But feeling alone and isolated inside of them is not. How we listen when our loved ones are struggling can make all the difference. 1:21A hypothetical, low stakes conversation and three options for listening 2:20 Do you hear any difference across options? 2:59 The distinction between “attention out” and “attention in” 4:26 When the stakes get higher, this is the key to powerful listening. 4:39 A hypothetical, high stakes conversation and a fourth option for listening 5:46 “Getting someone else's world” 6:53 How “getting someone's world” works in practice. 8:45 The risks of isolation and the benefits of deep listening 9:28 This week's homework. Resources: I first learned the expression “getting someone's world” from the relational practice of Circling. You can read more about this practice here. Podcast produced by Sal DeRosalia Music composed and performed by Aimee Mia Kelley Photo by Dan Gribbin on Unsplash Contact Information Dr. Jessica Tartaro Intimacy Coach & Connection Facilitator Pronouns "She" + "Her" Telephone: 1 (480) 993-5562 Email: DrTartaro@gmail.com Website: https://www.drjessicatartaro.com/ “Contact me to schedule an initial, complimentary consultation – called an Exploratory – to explore the fit for coaching together.” Looking for tools you can immediately apply to improve your relationships? Tune into weekly installments of "Under 10: A Mini Intimacy Podcast with Dr. Jessica Tartaro".   

Billieve: a Buffalo Rumblings Podcast
Q&A: Bills win over Chiefs, penalties, Knox

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 12, 2021 26:00


This week, we play WWE promoter for Dawson Knox, discuss PB&J ratios, and also the Buffalo Bills' masterful defensive game plan against the Kansas City Chiefs and Matt's takeaways from the game.  To have your Bills questions answered on the next podcast, you can call 24/7 and leave your questions at 716-508-0405, email us at BuffaloRumblings@SBnation.com, tweet us at @RumblingsQandA, send us Facebook or Instagram messages, or leave your comments in the show notes article on the website. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Off Tackle With John Fina Show | BILLS vs Chiefs | Oct 12, 2021

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 12, 2021 68:32


Join John and Joe as they break down the game between the BILLS and the Chiefs. The Good, the Bad and what we as #BillsMafia should expect, we cover it all as always. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

The Bike Shed
312: Spooky Stories

The Bike Shed

Play Episode Listen Later Oct 12, 2021 38:50


Chris evaluates the pros and cons between using Sidekiq or Active Job with Sidekiq. He sees exceptions everywhere. Steph talks about an SSL error that she encountered recently. It's officially spooky season, y'all! sidekiq-symbols (https://github.com/aprescott/sidekiq-symbols) Transcript: CHRIS: Additional radiation just makes Spider-Man more powerful. STEPH: [laughs] Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Steph Viccari. CHRIS: And I'm Chris Toomey. STEPH: And together, we're here to share a bit of what we've learned along the way. Hey, Chris, what's new in your world? CHRIS: Fall is in the air. It's one of those, like, came out of nowhere. I knew it was coming. I knew it was going to happen. But now it's time for pumpkin beer and pumpkin spice lattes, and exclusively watching the movie Hocus Pocus for the next month or so or some variation of those themes. But unrelated to that, I did a thing that I do once, let's call it every year or so, where I had to make the evaluation between Sidekiq or Active Job with Sidekiq, as the actual implementation as the background job engine that is running. And I just keep running through this same cycle. To highlight it, Active Job is the background job system within Rails. It is a nice abstraction that allows you to connect to any of a number of them, so I think Delayed Job is one. Sidekiq is one. Resque is probably another. I'm sure there's a bunch of others. But historically, I've almost always used Sidekiq. Every project I've worked on has used Sidekiq. But the question is do you use Active Job with the adapter set to Sidekiq and then you're sort of living in both worlds, or do you lean in entirely and you use Sidekiq? And so that would mean that your jobs are defined to include Sidekiq::Worker because that's the actual thing that provides the magic as opposed to inheriting from Application Job. And then do you accept all of the trade-offs therein? And every time I go back and forth. And I'm like, well, but I want this feature, but I don't want that feature. But I want these things. So I've made a decision, but I want to talk ever so briefly through the decision points that were part of it. Have you done this back and forth? Are you familiar with the annoying choice that exists here? STEPH: It's been a while since I've had the opportunity to make that choice. I'm usually joining projects where that decision has already been made. So I can't think of a recent time that I've thought through it. And my current project is using that combination of where we are using Active Job and Sidekiq. CHRIS: So I think there's even a middle ground there where that was the configuration that I'd set up on the project that I'm working on. But you can exist in both worlds. And you can selectively opt for certain background jobs to be fully Sidekiq. And if you do that, then instead of saying, "Performlater," You say, "Performasync." And there are a couple of other configurations. It gives you access to the full Sidekiq API. And you can do things like hey, Sidekiq, here's the maximum number of retries or a handful of other things. But then you have to trade away a bunch of the niceties that Active Job gives. So as an example, one thing that Active Job provides that's really nice is the use of GlobalID. So GlobalID is a feature that they added to Rails a while back. And it's a way to uniquely identify a given record within your system such that when you say performlater, you can say, InvitationMailer.performlater and then pass it a user record so like an instance of a user model. And what will happen in the background is that gets serialized, but instead of serializing the whole user object because we don't actually want that, it will do the GlobalID magic. And so it'll turn into, I think it's GID:// so almost like a URL. But then it'll be, I think, your application name/model name down the road. And the Perform method actually gets invoked via the background system. Then you will just get handed that user record back, but it's not the same instance of the user record. It sort of freezes and thaws it. It's really nice. It's a wonderful little feature. Sidekiq wants nothing to do with that. STEPH: I'm so glad that you highlighted that feature because that was on my mind; I think this week where I was reviewing...somebody had made the comment where they were concerned about passing a record to a job and saying how that wouldn't play nicely with Sidekiq. And in the back of my mind, I'm like, yeah, that's right. But then I was also I'm pretty sure this got addressed, though. And I couldn't recall specifically if it was a Sidekiq enhancement or if it was a Rails enhancement. So you just cleared something up for me that I had not had time to confirm myself. So thanks. CHRIS: Well, to be clear, this works if you are using Active Job with Sidekiq as the adapter, but not if you are using a true Sidekiq worker. So if you opt-out of the Active Job flow, then you have to say, "Perform_async," and if you pass it a record, that's not going to work out particularly nicely. The other similar thing is that Sidekiq does not allow the use of keyword args, which, I'm going, to be honest, I really like keyword arguments, especially for background jobs or shuttling data through your system. And there's almost a lazy evaluation. I want some nicety to make sure that when I am putting something into a background job that I'm actually using the correct call signature, essentially passing the correct data in the correct shape. Am I passing a record, or am I passing the ID? Am I passing a list of options or a single option? Those sort of trade-offs that are really easy to subtly get wrong. I came around on this one because I realized although Active Job does support keyword arguments, the way it does that is it just has a JSON serialization format for them. So a keyword argument turns into a positional array with an associated hash that allows for the lookup or whatever. Basically, again, they handle the details. You get to use keyword args, which is great, with the exception that when you're actually calling performlater, that method performlater is a method missing type magic method. So it does not actually check the keyword arguments at that point. You're basically just passing an options hash as opposed to true keyword arguments that would error because they don't match up. And so when I figured that out, I was like, oh, never mind. This doesn't actually do the thing that I care about. It's a little bit nicer in terms of the signature of the method when you're defining your background job itself, but it doesn't actually do any logical checking. It doesn't give me any safety or robustness within my system. So I don't care about that. I did find a project called sidekiq-symbols, which does some things under the hood to how Sidekiq serializes and deserializes jobs, which I think gives largely the same behavior as Active Job. So I can now define my Sidekiq jobs with keyword arguments. Things will work. I can't use GlobalID. That's still out. But that's fine. I can do a little helper method that basically does the same thing as GlobalID or at least close approximation. But sidekiq-symbols lets me have keyword arg-like signatures in my methods; basically, it is. But again, it doesn't actually do any check-in when I'm enqueueing a job, and I am sad about that. STEPH: Yeah, that's another interesting distinction. And I'm unsurprisingly with you that I would favor having keyword args and having that additional safety in place. Okay, so I've been keeping track. And so far, it sounds like we have two points because I'm doing a little scorecard here between Active Job and Sidekiq. And we have two points in favor of Active Job because they offer a GlobalID, which then allows us to pass in a record, and then it takes care of the serialization for us. And then also, keyword args, which I agree with you that's a really nice feature to have in place as well. So I'm curious, so it sounded like you're leaning towards Active Job, but I don't want to spoil the ending. CHRIS: Yes, I could see why that's what you would be taking away from the conversation thus far. So again, just to reiterate, Active Job and Sidekiq with this sidekiq-symbols extension they both support keyword args, kind of. They support defining your job with keyword args and then enqueueing a job passing something that looks like keyword args. But it ends up...nobody's actually checking anything, so it's mostly like a syntactic nicety as opposed to any sort of correctness, which is still nicer, but it's not the thing that I actually want. Either way, nobody supports it, so it is not available to me. Therefore, it is not a consideration point. The GlobalID thing is nice, but it is really, again, it's a nicety more than anything. I have gone, and I'm leaning in the direction of full Sidekiq and Sidekiq everywhere as opposed to Active Job in most cases, but then Sidekiq when we need it. And that's because Sidekiq just has a lot more power and a lot more functionality. So, in particular, Sidekiq has a feature which allows you to say...it's a block that you put at the top of your Sidekiq job that says retries exhausted or something. I think Sidekiq retries exhausted is the actual full name of that at that point, which is really unfortunate in my mind, but anyway, I'll deal. At that point, you know that Sidekiq has exhausted all of the retries, and you can treat it as failed. I'm going, to be honest, I went on a quest to find a way to say, hey, I'm going to put some work into the background. It's really important for me to know if this work succeeds or if it fails. It's very easy to know if it succeeds because that just happens in-line in the method. But we can have an exception raised at basically any point; Sidekiq does a great job of catching those, of retrying, of having fundamental mechanisms there. But this is the best that I can get for this job failed. And so Active Job, as far as I can tell, does not have anything for this in order to say, yep, we are done. We are not going to keep working on this. This work has failed. It is dead. Dead is; actually, I think the more correct term for where we're at because failed is a temporary state, and then you retry after a failure. Whereas dead is, this has gone through all of its retries, and it will never be run again. Therefore, we should treat this as not having run. And in my case, the thing that I want to do is inform the user that this operation that we were trying to do on their behalf has not succeeded, will not succeed. And please reach out or otherwise deal with the fact that we were unable to do the thing that they asked us to do. That feels like a really important thing for me to be able to do, to be able to communicate back to my users. This is one of those situations where I'm looking at the available options, and I'm like, I feel like I can't be the only one who wants to know when something goes wrong. This feels like a thing that's important. But this is the best example that I've found, the Sidekiq retries exhausted block. And unfortunately, when I'm using it, it gets yielded the Sidekiq JSON blob deserialized, so it's like Ruby hash. But it's still like this blob of data. It's not the same data that gets passed into perform. And so, as a result, when I want to look up the record that was associated with it, I have to do this nested dig into the available hash of data. And it just feels like this is not a well-paved path. This is not something that is a deeply thought about or recommended use case. But again, I don't feel like I'm doing something weird here. Am I doing something weird, Steph, wanting to tell my users when I was unable to do the thing they asked me to do? [chuckles] STEPH: That feels like a very rhetorical question. [laughs] CHRIS: It does. I apologize. I'm leading the witness. But in your sincere heart of hearts, what do you think? STEPH: No, that certainly doesn't sound weird. I'm actually thinking back to some of the jobs that cause me stress in regards to knowing when they failed and then having that communication of knowing that we've exhausted all the retries. And, of course, knowing when those retries are exhausted is incredibly helpful. I am intrigued, though,, because you're highlighting that Active Job doesn't have the same option around setting the retry. And I'm trying to recall exactly how it's set. But I feel like I have set the retry count for Active Job. And maybe, as you mentioned before, that's because it's an abstraction, or I'm not sure if Active Job actually has that native support. So I feel a little confused there where I think my default instinct would have been Active Job does have that retry capability. But it sounds like you've discovered otherwise. CHRIS: I'm not actually sure what Active Jobs core retry logic or option looks like. So fundamentally, as far as I understand it, Active Job is an abstraction. And under the hood, you're always connecting an adapter. So it's either going to be Sidekiq, or Resque, or Delayed Job, or other. And each of those systems, whichever system you have as the adapter, is the one that's actually going to be managing retries. And so I know Sidekiq happens to have as a default 25 retries. And that spans, I think it's a two-week exponential back off. And Sidekiq has some very robust logic that they have implemented as the way retries exist within Sidekiq. I'm not sure what that would look like if you're trying to express it abstractly because it is slightly different. I know there was some good work that was done on Sidekiq to allow the Sidekiq options that's a method at the top level of the job, even if it's an Active Job job to express the retries. So that may be what you've seen, or there may be truly an abstraction that exists within Active Job, and then each adapter needs to know how to handle retries. But frankly, the what can Sidekiq do that Active Job can't? There's a whole bunch of stuff around limiting when you would retry limiting, enqueuing a job if there already exists one, when and how do those records get locked. There's a whole bunch of stuff. Sidekiq has a lot of power under the hood. And so if we want to be leaning into that, that's why I'm leaning towards let's just be Sidekiq all the time. Let's become Sidekiq experts. Let's accept that as a deep architectural decision within the app as opposed to just relying on the abstraction. Because fundamentally, if we're just using Active Job, we're not going to have access to the full power of Sidekiq or whatever the underlying system is, so sort of that decision that I'm making, but I don't know specifically around the retries. STEPH: Okay, thanks. That's really helpful. It's been a while since I've had to make this decision. I'm really enjoying you sharing your adventure because I'm trying to think what's the risk? If you don't use Active Job, what are the trade-offs? And you'd mentioned some of them around the GlobalID and keyword args, which are some niceties. But overall, if you don't go with the abstraction, if you lean into Sidekiq, the risk is then you want to migrate to a different enqueuing service. And something that we talk about is mitigating that risk, so then you can swap it out. That's also something I have never done or encountered where we've had to make that change. And it feels like a very low risk in my mind. CHRIS: Sidekiq feels like the thing you would migrate to, not a thing you would migrate from. It feels like it is the most powerful. And if anything, I expect at some point we'll be upgrading to Sidekiq pro or enterprise or whatever the higher versions that you pay for, but you get more features there. So in that sense, that is the calculation. That's the risk trade-off in my mind is that we're leaning into this technology and coupling ourselves more closely to it. But I don't see that as one that will reassess in the same way that people talk about Active Record and it being an ORM. And it's like, oh, we're abstracting the database underneath, and I'm like, no, I'm not. I'm always using Postgres. Please do not take Postgres. I'm not going to switch over to MySQL next week. That's totally fine if you start on MySQL. It's unlikely you're going to port over to Postgres. We may port to an entirely…like it's a Cassandra column store with a Kafka queue, I don't know, something weird down the road. But it's not going to be swapping out Postgres for MySQL or vice versa. Like you said, that's probably not a change that's going to happen. But that I think is the consideration. The other consideration I have in my mind is Active Job is the abstraction that exists within Rails. And so I can treat it as the lowest common denominator, and folks joining the project, it's nice to have that familiarity. So perform_later is the method on the Active Job jobs, and it has a certain shape to it. People may be familiar with that. Mailers will automatically use Active Job just implicitly under the hood. And so there's a familiarity, a discoverability. It's just kind of up the middle choice. And so if I can stick with that, I think there's a nicety there. But in this case, I think I'm choosing I would like the power and consistency on the Sidekiq side, and so I'm leaning into that. STEPH: Yeah, that makes a lot of sense to me. And I liked the other example you provided around things that were not likely to swap out and Postgres, MySQL, your database being one of them. And in favor of an example that I do have for something that...I do enjoy wrapping. It's not something that I adhere to strictly, but I do enjoy it when I have the space to make this choice. So I do enjoy wrapping HTTPClients, not just because then I can swap it out for a different HTTPClient, which frankly, that's also rare that I do that. Once I choose an HTTPClient, I'm probably pretty happy, and I don't need to swap it out. But I really like being able to extend to the API specifically if they don't handle error responses in a way that I would like to or if they raise, and then I want to change the API to have a more thoughtful interface and where I don't have to rescue those errors. But instead, I can interact with this object that then represents an error state. So that was just one example that came to mind for things that I do enjoy having an abstraction around and not just so I can swap it out because that feels like a very low risk, but more frankly, so I can extend the API. CHRIS: I definitely share the I almost always wrap APIs, or I try and hide whatever the implementation detail whether it be HTTPParty, or Faraday or whatever it is that I'm using and trying to hide that deeply within the system. And then I have whatever API client that we define. And that's what we're interacting with. It's interesting that you bring up errors and exceptions there because that's the one other thing that has caused me this...what I'm describing now seems perhaps like, oh, here's just a list of pros and cons, a simple decision was made, and there we are. This represents some real soul searching on my part, if we will. And one of the last things that I ran into that was just so frustrating is that Sidekiq is explicitly built around the idea of exceptions; Sidekiq retries if there is an exception raised in the job, otherwise, it treats it as success, and that's it. That is the entirety of it. That is the story. But if you raise an exception in a job, then you can't test that job because now it's raising an exception. You can't test retries or this retry exhausted block that I'm trying to lean into. I'm like, I want to put that in a feature spec and say, oh, this job goes in the background, but it's in a failure state, and therefore, the user sees the failure message. Sorry, I can't do that because the only way to actually fail a job is via an exception. And I've actually gone to some links in this application to try to introduce more structured data flow. I've talked a bunch about the command objects and the dry-monads and all those things. And I've really loved them where I've gotten to use them. But then I run into one of these edge cases where Sidekiq is like, no, no, no, you can't do that. And so now I have parts of my system that very purposefully return data as opposed to raising an exception. And I just have to turn around and directly raise that failure as an exception, and it just feels less expressive. I actually just ran into the identical thing with Pundit. They have a little bit better control over it; I can choose whether or not I want the raising version or not. But I see exceptions everywhere, and I want a little more discrete data flow. [chuckles] That is my dream. So anyway, I chose Sidekiq is the summary here. And slowly, we're going to migrate entirely to Sidekiq. And I'm going to be totally fine with it. And I'm done griping now. STEPH: This is your own little October Halloween movie, that I see exceptions everywhere. CHRIS: They're so spooky. STEPH: [laughs] That's cool about Pundit. I'm not sure I knew that, that you get to essentially turn on or off that exception flow behavior. On one hand, I'm like, that's nice. You get the option. On the other hand, I'm like, well, let's just not do it. Let's just never raise on people. But at least they give people options; that seems really cool. CHRIS: They do give the option. I think you can choose different strategies there. And also, if we're being honest, I'm newer to Pundit. And I used a different thing, which was to get the Policy Object and ask it a question. I wanted to ask, is this enabled or not? Can a user do this or not? That should not raise an exception. I'm just asking a question. We're just being real chill about this. I just want to know some information. Let's flow some data through our system. We don't need exceptions for that. STEPH: Why are you yelling at me? I just have a question. [laughs] CHRIS: Yeah. I figured out how to be easy on that front. Sidekiq apparently has no be easy mode, but that's fine. You know what? We're going to make it work, and it's going to be fine. But it is interesting deciding which of these facets of the system that I'm building do I really care about? Which are the ones where I'm like, whatever, just pick something, and we'll move forward, it's not a big deal? Versus, we're actually going to be doing a lot of work in the background. This is the thing that I care about deeply. I want to know about failure and success. I want to really understand that and have a robust answer to what our architecture looks like there. Similarly, Pundit for authorization. I believe that authorization will be a critical aspect of our system. It's typically a pretty important thing. But for us, I think we're going to have different types of users who can log in and see different subsets of data and having a consistent and concrete way that we have chosen to implement that we are able to test, that we're able to verify. I think that's another core competency within the app. But you only get to have so many of those. You can only be really good at a couple of things. And so I'm in that place where I'm like, which are our top five when I say are the things that I care a lot about? And then which are the things where I'm like, I don't know, whatever, just run with it? STEPH: Just a little bit ago, I came so close to singing because you said the I want to know phrase again. And that, I'm realizing, [laughs] is a trigger for me and a song where I want to sing. I held it back this time. CHRIS: It's smart. You got to learn anytime you sing on mic that is part of the permanent record. STEPH: Edward Loveall at thoughtbot, since I sang in a recent episode, did the delightful thing where then he grabbed that clip of where you talk a little bit, and then I sing and then encouraged everyone to go listen to it. And in which I responded, like, I would highly recommend that you save your ears and don't listen to it. But yes, singing on the mic is a thing. I do it from time to time. I can't hold it back. CHRIS: We all do. But since it doesn't seem that you're going to sing in this moment, I think I can probably wrap up my Odyssey of choosing between Sidekiq and Active Job. I hope those details were useful to anyone other than me. It was an adventure, so I figured I'd share it. But yeah, that about wraps it up on my side. Mid-roll Ad And now a quick break to hear from today's sponsor, Scout APM. Scout APM is leading-edge application performance monitoring that's designed to help Rails developers quickly find and fix performance issues without having to deal with the headache or overhead of enterprise platform feature bloat. With a developer-centric UI and tracing logic that ties bottlenecks to source code, you can quickly pinpoint and resolve those performance abnormalities like N+1 queries, slow database queries, memory bloat, and much more. Scout's real-time alerting and weekly digest emails let you rest easy knowing Scout's on watch and resolving performance issues before your customers ever see them. Scout has also launched its new error monitoring feature add-on for Python applications. Now you can connect your error reporting and application monitoring data on one platform. See for yourself why developers call Scout their best friend and try our error monitoring and APM free for 14 days; no credit card needed. And as an added-on bonus for Bike Shed listeners, Scout will donate $5 to the open-source project of your choice when you deploy. Learn more at scoutapm.com/bikeshed. That's scoutapm.com/bikeshed. STEPH: So, I would love to talk about an SSL error that I encountered recently. So one of the important processes in our application is sending data to another system. And while sending data to that other system, we started seeing the following error that the read "Certificate verify failed." And then in parens, it states, "Unable to get local issuer certificate." So upon seeing that error, I initially thought, okay, something is wrong with their SSL certificate or their SSL configuration. And that's not something that I have control over and can fix. So we should reach out and let them know to take a look at their SSL config. But it turns out that their team already knew about the issue. They had recently updated or renewed their SSL cert, and they saw our messages were no longer being processed, and they were reaching out to us for help. So at that point, I'm still pretty sure that it's related to something on their end, and it's not something that I can really fix on our end. But we can help them troubleshoot. Maybe there's a workaround that we can add to still get messages processing while they're looking into their SSL config. It seemed like they still just needed help. So it was something that was still worth diving into. So going back to the first error, I want to talk a little bit about it because I realized that I understand SSL just enough, just the surface to get by as a developer. But then, every time that I run into a specific error with it, then I really have to refresh my understanding as to what could be wrong, so then I can troubleshoot more effectively. So for anyone that could use a refresher on that certificate verification process, when your browser or your server is connecting to a site that uses SSL, then your browser server, whichever one you're using, is going to download that site certificate and verify a couple of things. So it's going to check does the certificate contain the domain name of the website? So essentially, you gave us a certificate. Is this your certificate? Does it match the site that we're connecting to? Is this cert issued by a trusted certificate authority? So did someone that we trust give you this certificate? And is the cert still valid, or has it expired? So that part is pretty straightforward. The second part, "Unable to get local issuer certificate," so that's the part I was less certain about. And I took this to mean that they had passed two of those three checks that their cert included the site's name, and it had not expired. But for some reason, we aren't able to determine if their cert was issued by someone that we should trust. So following that journey, my next question was, so what are they giving us? So this is a tool that I don't get to use very often, but I reached for OpenSSL and, specifically, the s_client command, which connects to a specified domain and prints all certificates in the certificate chain. You may already know this, but the certificate chain is basically a fancy way of saying, show me all the certificates necessary to prove your site certificate was authorized by a trusted certificate authority. CHRIS: I did not know that. STEPH: Okay, I honestly didn't either. [laughs] CHRIS: I liked that you thought I would, though. So thank you, but no. [chuckles] STEPH: Yeah, it's one of those areas of SSL where I know just enough. But that was something that was new to me. I thought there was a site certificate, and I didn't realize that there is this chain of certificates that has to be honored. So going back and looking through that output of the certificate chain, that's what highlighted to me that their server was giving us their certificate and saying, hey, you should trust our site certificate. It's legit because it was authorized by, let's say, XYZ certificate. And so if it were a proper certificate chain, then they would give us that XYZ cert. And essentially, we can use this chain of certificates to get back to a trusted authority that then everybody knows that we can trust. However, they weren't actually giving us a reference certificate; they were giving us something else. So essentially, they were saying, "Hey, look at our certificate and look at this very trustworthy reference that we have." But they're actually failing to give us that reference. So to bring it all home, we can download that intermediate certificate that they reference; that is something that is publicly accessible. That's why we're able to then verify each certificate that's provided in that chain. We could go and download that intermediate certificate from that certificate authority. We could combine that with their site-specific certificate, include that in our request to their system, and then complete the certificate chain. And boom, we're back in business. But it was quite a journey. CHRIS: That is quite the journey. And yeah, I definitely knew very little of that, although everything you're saying makes sense. And I have a bunch of cubbyholes in my brain for SSL knowledge. And the words you said all fit into the spaces that I have in my brain, but I didn't know a bunch of those pieces. So thank you for sharing that. SSL and cryptography, more generally or password hashing or things like that, occupy this special place in my brain where I'm both really interested in them. And I will occasionally research them. If I see a blog article, I'll be like, oh yeah, I want to read more about this password hashing. And what's a Salt? And what's a Pepper? And what are we doing there? And what is BCrypt versus SCrypt? What are all these things? This is cool. And almost the arms race on the two sides of how do we demonstrate trust in a secure manner on the internet? But at the same time, I am not allowed to do anything with this information. I outsource this as much as humanly possible because it's one of those things that you just should not do yourself and SSL perhaps even more so. So I have configured aspects of my password hashing. But I 100% just lean on the fact that Let's Encrypt exists in the world. And prior to that, it was a little more work. But frankly, earlier on in my career, I wasn't dealing with the SSL parts of things. But I'm so grateful to Let's Encrypt as a project that exists. And now, on almost every platform that I work with, there's just a checkbox for please do the SSL work for me, make it good, make it work, and then I will be happy. And I'm so glad that that organization exists and really pushed the envelope also. I forget what it was, but it was only like three years ago where SSL was not actually nearly as common as it is now. And now it is pervasive and everywhere. And all of the sites have it, and so that is a wonderful thing. But I don't actually know much. I know that I should have it. I must have it. I should force it. That's true. So I push that out… STEPH: Hello. CHRIS: Are you trying to get me to sing? [chuckles] STEPH: [laughs] No, but I did want to know if you get the reference, the Salt-N-Pepa. CHRIS: Push It Real Good the song? Yeah, okay. STEPH: Yeah, you got it. [chuckles] CHRIS: I will just say the lyrics. I shall not sing the lyrics. I would say that, though, that yes, yes, they do that. STEPH: Thank you for acknowledging my very terrible reference. Circling back just a little bit too in regards to...I'm with you; this is a world that is not one that I am very deeply technical in and something that I learned a fair amount while troubleshooting this particular SSL error. And it was very interesting. But there's also that concern where it's like, that was interesting. And we worked around the issue, but this also feels very fragile. So we still haven't fixed it on their end where they are sending the wrong certificate. So then that's why we had to do more investigative work, and then download the certificate that they meant to send us, and then send back a complete certificate chain so that we don't have this error anymore. But should they change anything about their certificate, should they renew anything like that, then suddenly, we're going to break again. And then, the next developer is going to have to go through the same journey. And this wasn't a light journey. This was a good half-day journey to figure out what was going on and to spend the time, and then to also get that fix out to production. So it's a meaningful task that I don't want anyone else to have to go through. But we are relying on someone else updating their configuration. So, on one hand, we're in a good spot until they are able to update. But on the other hand, I wrote a heck of a commit message for the next person just describing like, friend, just grab some coffee if we're going to chat. It's a very small code change, but you need to know the scoop. So should you need to replicate this because they've changed something, or if this happens…because we work with a number of systems that we send data to. So if someone else should run into a similar issue, they will understand some of the troubleshooting techniques that I used and be able to look up that chain and find out if there's a missing cert or something else they need to provide. So it feels like a win, but I'm also nervous for future selves, future developers. So there's another approach that I haven't mentioned yet, but it was often a top recommendation for when dealing with SSL errors. And specifically, it was turning off SSL verification. And I saw that, and I was like, well, that won't work. I'm definitely sending sensitive, important data. And I need to verify that who I'm sending this to is really the person that I want to send this data to. So that was not an option for me. But it made me very nervous how often that was an approach that people would recommend and be like, oh, it's okay, just turn off SSL. You'll be fine. Like, don't worry about it. CHRIS: I feel like this so perfectly fits into the...some of our work is finding the information and connecting the pieces together and making it work. But some of it is that heuristic sense, that voice in the back of your head that is like, wait, I'm sorry, what? You want me to just turn off the security perimeter and hope that the velociraptors won't come in? That doesn't seem like it's going to end well. I get that that's an easy option that we have available to us right now and will solve the immediate problem but then let's play this out. There are four or five Jurassic Park movies now that tell the story of that. So let's be careful. STEPH: It always ends super well, though, right? Like, it's totally fine. [laughs] CHRIS: [laughs] Exclusively. Although it's funny that you mentioned OpenSSL no verify because just this past week, I used that very same configuration. I think it was okay in my case; I'm pretty sure. But it is interesting because when I saw it, I was like, oh no, can't do that. Certainly not that. Don't turn off the security feature. That's the wrong way to deal with the issue. But in the particular case that I'm working with, I'm using Redis, Heroku Redis, in particular, in a Heroku configuration. And the nature of how Heroku configures the Redis instances and the connectivity to our app into our dyno...I forget why. I read an article. They wrote it; Heroku wrote it. I trust them; they're good. I've outsourced my trust to people that I do trust. The trust chain actually maps really well to the certificate trust chain. I trust that Heroku has taken security deeply seriously. And for some reason, their configuration of Redis requires that I turn on OpenSSL no verify mode. So I'm using this now both in Sidekiq, and then we're using our Redis instance for our Rails cache as well. So in both cases, I said, "It's fine. Don't worry about it." I used the Don't worry about it configuration. And I didn't love it but I think it's okay. And partly, I'm trying to say this into the internet radio right now just in case anyone's listening who's like, no, no, no, you can't do that. That's bad. So I'm willing to be deeply wrong on the internet in favor of someone telling me and then I get to get out in front of it. But I think it's fine. Pretty sure it's fine. It should be fine. STEPH: I love love love that you gave a very visual example of velociraptors, and then you're like, oh, but I turned it off. [laughs] So I'm going to start sending you a velociraptor gif each day. CHRIS: I hope you do. I hope the internet holds you accountable to that. STEPH: [laughs] CHRIS: And I really look forward to [laughs] moving forward because that's a great way to start the day. Well, it doesn't need to start the day, but I look forward to them. STEPH: [laughs] I am really intrigued because I'm with you. Like you said, there are certain entities that are in our trust chain where it's like, hey, you are running this for us, and so I do have faith and trust in you that you wouldn't steer me wrong and provide a bad recommendation. Someone on Stack Overflow telling me to turn off SSL verify uh; that's not my trust chain. Heroku or someone else telling me I'm going to take it a little more seriously. And so I'm also interested in hearing from...what'd you say? You're speaking into the internet phone. [laughs] What'd you say? CHRIS: I think I said internet radio. But yeah, in a way. I mean, we're recording over Skype right now. So in a manner of speaking, we're on the internet phone to make our internet radio show. STEPH: [laughs] Oh goodness, the internet radio. I'm also intrigued to hear if other people are like, oh, no, no, no. Yeah, that sounds like an interesting scenario. Because I would think you'd still want your connection to...you said it's for Redis. So you still want that connection to be verified. But then if Redis itself can't have a specific...yeah, we're testing the boundaries of my SSL knowledge here as to how the heck you would even establish that SSL connection or the verification process. CHRIS: Me too. And it also exists in an interesting space where Heroku is rather clear in their documentation about this. And it was a surprising claim when I saw it. And so, I don't expect them to be flippant about a thing that is important. Like, if they're like, "No, no, no, it is okay. You can turn off the security thing, don't worry." I trust that they're not just like, oh, we didn't think about it too much. But we figured why not? It's not a big deal. I'm sure that they have thought about it deeply because it is an important thing. And so in a weird way, my trust of them and the severity of what this thing represents, I'm like, oh yeah, I super trust that because you're not going to get a major thing wrong. You might get a minor, small, subtle thing wrong. But this is a pretty major configuration change. As I say it, I'm now getting more worried. I'm now like, I feel fine about this. This doesn't seem like a problem at all. But then I keep saying stuff, and I'm like, oh no. That's why I love having a podcast; I find out things about myself as I talk into a microphone to you. STEPH: We come here to share our deep, dark developer secrets. Chris: Spooky developer therapy. STEPH: But just to clarify, even though you've turned off the SSL verify, you're still connecting over SSL. CHRIS: Yes, I believe that's the case. And if I'm remembering, I think the nature of how this works is they're using a self-signed certificate because of shared infrastructure or something, something that made sense when I read it. But it was the idea that they are doing a self-signed certificate. Therefore, to what you were talking about earlier, there isn't the certificate authority in the chain of those because it's self-signed. And so, they are not a trusted certificate authority. Therefore, that certificate that they have generated would not be trusted. But it does still allow for the SSL handshake and then communication to happen over SSL. It's just that fundamental question of trust. I'm saying, in this case, for reasons, it's okay. Trust me that I trust them. We're good. Which, again, I don't feel great about, but I think yes, it is still SSL, but it is a self-signed certificate. So we have to make this configuration change. STEPH: Yeah, all of that makes sense. And it certainly sounds like you have been very thoughtful about that change and put in some investigative work. So on that note, I have a very unrelated bad joke for you. CHRIS: I'm very excited. STEPH: All right, here we go. All right, so what do you call an alligator wearing a vest? CHRIS: I don't know. What do you call an alligator wearing a vest? STEPH: An investigator. [laughter] On that note, shall we wrap up? CHRIS: Oh, let's wrap up. We should also include a link in the show notes to the episode where you told the joke about the elephant hiding in the trees because that's one of my favorite jokes. You slayed me with that one. [laughs] But on that note, yes, let us wrap up. The show notes for this episode can be found at bikeshed.fm. STEPH: This show is produced and edited by Mandy Moore. CHRIS: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes,,as it really helps other folks find the show. STEPH: If you have any feedback for this or any of our other episodes, you can reach us at @_bikeshed or reach me on Twitter @SViccari. CHRIS: And I'm @christoomey STEPH: Or you can reach us at hosts@bikeshed.fm via email. CHRIS: Thanks so much for listening to The Bike Shed, and we'll see you next week. All: Byeeeeeeeeee!!! Announcer: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

Billieve: a Buffalo Rumblings Podcast
Overreaction Post Game Show | BILLS Best the Chiefs | Oct 11, 2021

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 11, 2021 61:58


The Buffalo Bills went into Kansas City and forced the Chiefs to play their game, and it worked. Coming out on top 38-20, the BILLS have proven they are now the class of the AFC. Join Joe as he works through the game summary and his story of this football game, and of course, Joe reads the Mafia's tweets! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Circling the Cup » Podcasts
CTC Podcast 166 – A New Season (and a hot mic, oops)

Circling the Cup » Podcasts

Play Episode Listen Later Oct 11, 2021 83:06


Circling the Cup podcast begins its seventh (SEVENTH!) season of Sharks discussion after a long summer off. If, like us, the offseason has seemed jam-packed with drama and upheaval and you need a catch up on all of the changes, well, have we got the podcast for you. It’s a bit super-sized, but there is […]

Billieve: a Buffalo Rumblings Podcast
Billieve: Previewing Kansas City Chiefs and Week 5

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 10, 2021 43:10


When the 2021 NFL schedule came out, Buffalo Bills fans immediately circled Week 5 on their calendars, the week the Bills return to Arrowhead Stadium for a showdown with the Kansas City Chiefs in a rematch of the AFC Championship game. On the latest episode of the Billieve Podcast, hosts John Boccacino and Jamie D'Amico have everything you need to know to get ready as Buffalo looks to earn a statement win on Sunday Night Football. Among the topics discussed: Josh Allen had two of the worst performances of his career in losses to the Chiefs in 2020, including in the AFC title game. What can Allen do to settle into a groove and solve Chiefs defensive coordinator Steve Spagnuolo's aggressive defense? Is this a statement game for the Bills? Why, despite a matchup of two of the league's top aerial attacks, unlocking the ground game could hold the key to winning Sunday night's primetime clash. The important role that rookie offensive lineman Spencer Brown holds to unleashing Zack Moss, Devin Singletary and the rushing attack. How Buffalo's ground game has enjoyed a solid start to the season, and why the Bills should be able to run on the Chiefs. Why veteran wideout Emmanuel Sanders could help Allen avoid a repeat of the erratic performances from last year against the Chiefs. How it is important for Greg Rousseau, Jerry Hughes, Mario Addison, A.J. Epenesa and Buffalo's front four to generate pressure on Patrick Mahomes, without resorting to exotic blitzes. The X-factor to Buffalo's defensive successes so far through four weeks? Defensive tackle Star Lotulelei. What, if anything, the Bills can do to contain prolific tight end Travis Kelce. Whether defensive coordinator/assistant head coach Leslie Frazier should follow a similar game plan to last year, when the Bills allowed running back Clyde Edwards-Helaire to get his while sitting back and not allowing Mahomes to pick the D apart. Boccacino and D'Amico then offer up their score predictions for the game. Feel free to leave yours in the comments section. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Breaking: Buffalo Bills sign Taron Johnson to three-year contract extension

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 9, 2021 6:08


Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Editor's note: The embedded audio is stripped out in Apple News. Head over to your favorite podcast app or web browser to click play. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
BBR: An update on Matt Milano and the Bills injury report heading into Kansas City

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 8, 2021 11:29


Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Buffalo Rumblings: for Buffalo Bills fans
BBR: An update on Matt Milano and the Bills injury report heading into Kansas City

Buffalo Rumblings: for Buffalo Bills fans

Play Episode Listen Later Oct 8, 2021 11:29


Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Hump Day Hotline | BILLS/Chiefs/Texans and SQUIRRELS!!!!

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 8, 2021 82:04


Joe and JSpencetheKing hit everything in this one. Jump in and take a front row seat to one of the best debates they have had in a long time. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Buffalo Rumblings: for Buffalo Bills fans
Hump Day Hotline | BILLS/Chiefs/Texans and SQUIRRELS!!!!

Buffalo Rumblings: for Buffalo Bills fans

Play Episode Listen Later Oct 8, 2021 82:04


Joe and JSpencetheKing hit everything in this one. Jump in and take a front row seat to one of the best debates they have had in a long time. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Murder In Alliance
19: The Circling

Murder In Alliance

Play Episode Listen Later Oct 7, 2021 39:56


The team finally gets to speak with David Thorne himself and ask him about everything they've learned. However, the answers were not what they were looking for. Do you have information about who murdered Yvonne Layne? Call our anonymous tip line at 888-863-9550. All tips are anonymous and confidential. This Week's Sponsors: Ana Luisa - Treat yourself and your loved ones to beautiful, sustainable jewelry by going to analuisa.com/alliance and use code ALLIANCE for 10% off. HelloFresh - Go to HelloFresh.com/miamaggie14 and use code MIAMAGGIE14 for up to 14 free meals, including free shipping! Shudder - To try Shudder free for 30 days, go to shudder.com and use promo code MIA.

Billieve: a Buffalo Rumblings Podcast
The Bruce Exclusive: A quarter cup of STEW

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 7, 2021 23:40


On this episode of "The Bruce Exclusive", Bruce examines what is typically the quarter point of the NFL season with some shakeups on the Buffalo Bills' OL, a continued eye on some breakout players, and an examination of the QB STEW composite thus far in 2021. #Bills #goBills #BillsMafia Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Buffalo Rumblings: for Buffalo Bills fans
The Bruce Exclusive: A quarter cup of STEW

Buffalo Rumblings: for Buffalo Bills fans

Play Episode Listen Later Oct 7, 2021 23:40


On this episode of "The Bruce Exclusive", Bruce examines what is typically the quarter point of the NFL season with some shakeups on the Buffalo Bills' OL, a continued eye on some breakout players, and an examination of the QB STEW composite thus far in 2021. #Bills #goBills #BillsMafia Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Editor's Note: The embedded audio has been stripped from this article if you're using Apple News. Head to a full web browser or your favorite podcast app. Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Jamie D and Big Newt: Now it Gets Tough for the Buffalo Bills

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 7, 2021 47:46


After embarrassing the Houston Texans, the Buffalo Bills are headed to Kansas City to take on the Chiefs. The hosts discuss how last week will effect the upcoming Sunday night battle, and what it will mean to win. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Buffalo Rumblings: for Buffalo Bills fans
Jamie D and Big Newt: Now it Gets Tough for the Buffalo Bills

Buffalo Rumblings: for Buffalo Bills fans

Play Episode Listen Later Oct 7, 2021 47:46


After embarrassing the Houston Texans, the Buffalo Bills are headed to Kansas City to take on the Chiefs. The hosts discuss how last week will effect the upcoming Sunday night battle, and what it will mean to win. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Q&A: All about defending the Chiefs

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 5, 2021 25:38


This week, all of our questions center around defending the Kansas City Chiefs and keeping pace with that Patrick Mahomes offense. To have your Bills questions answered on the next podcast, you can call 24/7 and leave your questions at 716-508-0405, email us at BuffaloRumblings@SBnation.com, tweet us at @RumblingsQandA, send us Facebook or Instagram messages, or leave your comments in the show notes article on the website. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTube Ask Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

The Bike Shed
311: Marketing Matters

The Bike Shed

Play Episode Listen Later Oct 5, 2021 37:37


Longtime listener and friend of the show, Gio Lodi, released a book y'all should check out and Chris and Steph ruminate on a listener question about tension around marketing in open-source. Say No To More Process, Say Yes To Trust by German Velasco (https://thoughtbot.com/blog/say-no-to-more-process-say-yes-to-trust) Test-Driven Development in Swift with SwiftUI and Combine by Gio Lodi (https://tddinswift.com/) Transcript: CHRIS: Our golden roads. STEPH: All right. I am also golden. CHRIS: [vocalization] STEPH: Oh, I haven't listened to that episode where I just broke out in song in the middle. Oh, you're about to add the [vocalization] [chuckles]. CHRIS: I don't know why, though. Oh, golden roads, Golden Arches. STEPH: Golden Arches, yeah. CHRIS: Man, I did not know that my brain was doing that, but my brain definitely connected those without telling me about it. STEPH: [laughs] CHRIS: It's weird. People talk often about the theory that phones are listening, and then you get targeted ads based on what you said. But I'm almost certain it's actually the algorithms have figured out how to do the same intuitive leaps that your brain does. And so you'll smell something and not make the nine steps in between, but your brain will start singing a song from your childhood. And you're like, what is going on? Oh, right, because when I was watching Jurassic Park that one time, we were eating this type of chicken, and therefore when I smell paprika, Jurassic Park theme song. I got it, of course. STEPH: [laughs] CHRIS: And I think that's actually what's happening with the phones. That's my guess is that you went to a site, and the phones are like, cool, I got it, adjacent to that is this other thing, totally. Because I don't think the phones are listening. Occasionally, I think the phones are listening, but mostly, I don't think the phones are listening. STEPH: I definitely think the phones are listening. CHRIS: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Chris Toomey. STEPH: And I'm Steph Viccari. CHRIS: And together, we're here to share a bit of what we've learned along the way. So, Steph, what's new in your world? STEPH: Hey. So we have a bit of exciting news where we received an email from Gio Lodi, who is a listener of The Bike Shed. And Gio sent an email sharing with us some really exciting news that they have published a book on Test-Driven Development in Swift. And they acknowledge us in the acknowledgments of the book. Specifically, the acknowledgment says, "I also want to thank Chris Toomey and Steph Viccari, who keep sharing ideas on testing week after week on The Bike Shed Podcast." And that's just incredible. I'm so blown away, and I feel officially very famous. CHRIS: This is how you know you're famous when you're in the acknowledgments of a book. But yeah, Gio is a longtime listener and friend of the show. He's written in many times and given us great tips, and pointers, and questions, and things. And I've so appreciated Gio's voice in the community. And it's so wonderful, frankly, to hear that he has gotten value out of the show and us talking about testing. Because I always feel like I'm just regurgitating things that I've heard other people saying about testing and maybe one or two hard-learned truths that I've found. But it's really wonderful. And thank you so much, Gio. And best of luck for anyone out there who is doing Swift development and cares about testing or test-driven development, which I really think everybody should. Go check out that book. STEPH: I must admit my Swift skills are incredibly rusty, really non-existent at this point. It's been so long since I've been in that world. But I went ahead and purchased a copy just because I think it's really cool. And I suspect there are a lot of testing conversations that, regardless of the specific code examples, still translate. At least, that's the goal that you and I have when we're having these testing conversations. Even if they're not specific to a language, we can still talk about testing paradigms and strategies. So I purchased a copy. I'm really looking forward to reading it. And just to change things up a bit, we're going to start off with a listener question today. So this listener question comes from someone very close to the show. It comes from Thom Obarski. Hi, Thom. And Thom wrote in, "So I heard on a recent podcast I was editing some tension around marketing and open source. Specifically, a little perturbed at ReactJS that not only were people still dependent on a handful of big companies for their frameworks, but they also seem to be implying that the cachet of Facebook and having developer mindshare was not allowing smaller but potentially better solutions to shine through. In your opinion, how much does marketing play in the success of an open-source project framework rather than actually being the best tool for the job?" So a really thoughtful question. Thanks, Thom. Chris, I'm going to kick it over to you. What are your thoughts about this question? CHRIS: Yeah, this is a super interesting one. And thank you so much, Thom, although I'm not sure that you're listening at this point. But we'll send you a note that we are replying to your question. And when I saw this one come through, it was interesting. I really love the kernel of the discussion here, but it is, again, very difficult to tease apart the bits. I think that the way the question was framed is like, oh, there's this bad thing that it's this big company that has this big name, and they're getting by on that. But really, there are these other great frameworks that exist, and they should get more of the mindshare. And honestly, I'm not sure. I think marketing is a critically important aspect of the work that we do both in open source and, frankly, everywhere. And I'm going to clarify what I mean by that because I think it can take different shapes. But in terms of open-source, Facebook has poured a ton of energy and effort and, frankly, work into React as a framework. And they're also battle testing it on facebook.com, a giant website that gets tons of traffic, that sees various use cases, that has all permissions in there. They're really putting it through the wringer in that way. And so there is a ton of value just in terms of this large organization working on and using this framework in the same way that GitHub and using Rails is a thing that is deeply valuable to us as a community. So I think having a large organization associated with something can actually be deeply valuable in terms of what it produces as an outcome for us as consumers of that open-source framework. I think the other idea of sort of the meritocracy of the better framework should win out is, I don't know, it's like a Field of Dreams. Like, if you build it, they will come. It turns out I don't believe that that's actually true. And I think selling is a critical part of everything. And so if I think back to DHH's original video from so many years ago of like, I'm going to make a blog in 15 minutes; look at how much I'm not doing. That was a fantastic sales pitch for this new framework. And he was able to gain a ton of attention by virtue of making this really great sales pitch that sold on the merits of it. But that was marketing. He did the work of marketing there. And I actually think about it in terms of a pull request. So I'm in a small organization. We're in a private repo. There's still marketing. There's still sales to be done there. I have to communicate to someone else the changes that I'm making, why it's valuable to the system, why they should support this change, this code coming into the codebase. And so I think that sort of communication is as critical to the whole conversation. And so the same thing happens at the level of open source. I would love for the best framework to always win, but we also need large communities with Stack Overflow answers and community-supported plugins and things like that. And so it's a really difficult thing to treat marketing as just other, this different, separate thing when, in fact, I think they're all intertwined. And marketing is critically important, and having a giant organization behind something can actually have negative aspects. But I think overall; it really is useful in a lot of cases. Those are some initial thoughts. What do you think, Steph? STEPH: Yeah, those are some great initial thoughts. I really agree with what you said. And I also like how you brought in the comparison of pull requests and how sales is still part of our job as developers, maybe not in the more traditional sense but in the way that we are marketing and communicating with the team. And circling back to what you were saying earlier about a bit how this is phrased, I think I typically agree that there's nothing nefarious that's afoot in regards to just because a larger company is sponsoring an open-source project or they are the ones responsible for it, I don't think there's anything necessarily bad about that. And I agree with the other points that you made where it is helpful that these teams have essentially cultivated a framework or a project that is working for their team, that is helping their company, and then they have decided to open source it. And then, they have the time and energy that they can continue to invest in that project. And it is battle-tested because they are using it for their own projects as well. So it seems pretty natural that a lot of us then would gravitate towards these larger, more heavily supported projects and frameworks. Because then that's going to make our job easier and also give us more trust that we can turn to them when we do need help or have issues. Or, like you mentioned, when we need to look up documentation, we know that that's going to be there versus some of the other smaller projects. They may also be wonderful projects. But if they are someone that's doing this in their spare time just on the weekends and yet I'm looking for something that I need to be incredibly reliable, then it probably makes sense for me to go with something that is supported by a team that's getting essentially paid to work on that project, at least that they're backed by a larger company. Versus if I'm going with a smaller project where someone is doing some wonderful work, but realistically, they're also doing it more on the weekends or in their spare time. So boiling it down, it's similar to what you just said where marketing plays a very big part in open source, and the projects and frameworks that we adopt, and the things that we use. And I don't think that's necessarily a bad thing. CHRIS: Yeah. I think, if anything, it's possibly a double-edged sword. Part of the question was around does React get to benefit just by the cachet of Facebook? But Facebook, as a larger organization sometimes that's a positive thing. Sometimes there's ire that is directed at Facebook as an organization. And as a similar example, my experience with Google and Microsoft as large organizations, particularly backing open-source efforts, has almost sort of swapped over time, where originally, Microsoft there was almost nothing of Microsoft's open-source efforts that I was using. And I saw them as this very different shape of a company that I probably wouldn't be that interested in. And then they have deeply invested in things like GitHub, and VS Code, and TypeScript, and tons of projects that suddenly I'm like, oh, actually, a lot of what I use in the world is coming from Microsoft. That's really interesting. And at the same time, Google has kind of gone in the opposite direction for me. And I've seen some of their movements switch from like, oh Google the underdog to now they're such a large company. And so the idea that the cachet, as the question phrase, of a company is just this uniformly positive thing and that it's perhaps an unfair benefit I don't see that as actually true. But actually, as a more pointed example of this, I recently chose Svelte over React, and that was a conscious choice. And I went back and forth on it a few times, if we're being honest, because Svelte is a much smaller community. It does not have the large organizational backing that React or other frameworks do. And there was a certain marketing effort that was necessary to raise it into my visibility and then for me to be convinced that there is enough there, that there is a team that will maintain it, and that there are reasons to choose that and continue with it. And I've been very happy with it as a choice. But I was very conscious in that choice that I'm choosing something that doesn't have that large organizational backing. Because there's a nicety there of like, I trust that Facebook will probably keep investing in React because it is the fundamental technology of the front end of their platform. So yeah, it's not going to go anywhere. But I made the choice of going with Svelte. So it's an example of where the large organization didn't win out in my particular case. So I think marketing is a part of the work, a part of the conversation. It's part of communication. And so I am less negative on it, I think, than the question perhaps was framed, but as always, it depends. STEPH: Yeah, I'm trying to think of a scenario where I would be concerned about the fact that I'm using open source that's backed by a specific large company or corporation. And the main scenario I can think of is what happens when you conflict or if you have values that conflict with a company that is sponsoring that project? So if you are using an open-source project, but then the main community or the company that then works on that project does something that you really disagree with, then what do you do? How do you feel about that situation? Do you continue to use that open-source project? Do you try to use a different open-source project? And I had that conversation frankly with myself recently, thinking through what to do in that situation and how to view it. And I realize this may not be how everybody views it, and it's not appropriate for all situations. But I do typically look at open-source projects as more than who they are backed by, but the community that's actively working on that project and who it benefits. So even if there is one particular group that is doing something that I don't agree with, that doesn't necessarily mean that wholesale I no longer want to be a part of this community. It just means that I still want to be a part, but I still want to share my concerns that I think a part of our community is going in a direction that I don't agree with or I don't think is a good direction. That's, I guess, how I reason with myself; even if an open-source project is backed by someone that I don't agree with, either one, you can walk away. That seems very complicated, depending on your dependencies. Or two, you find ways to then push back on those values if you feel that the community is headed in a direction that you don't agree with. And that all depends on how comfortable you are and how much power you feel like you have in that situation to express your opinion. So it's a complicated space. CHRIS: Yeah, that is a super subtle edge case of all of this. And I think I aligned with what you said of trying to view an open-source project as more generally the community that's behind it as opposed to even if there's a strong, singular organization behind it. But that said, that's definitely a part of it. And again, it's a double-edged sword. It's not just, oh, giant company; this is great. That giant company now has to consider this. And I think in the case of Facebook and React, that is a wonderful hiring channel for them. Now all the people that use React anywhere are like, "Oh man, I could go work at Facebook on React? That's exciting." That's a thing that's a marketing tool from a hiring perspective for them. But it cuts both ways because suddenly, if the mindshare moves in a different direction, or if Facebook as an organization does something complicated, then React as a community can start to shift away. Maybe you don't move the current project off of it, but perhaps you don't start the next one with it. And so, there are trade-offs and considerations in all directions. And again, it depends. STEPH: Yeah. I think overall, the thing that doesn't depend is marketing matters. It is a real part of the ecosystem, and it will influence our decisions. And so, just circling back to Thom's question, I think it does play a vital role in the choices that we make. CHRIS: Way to stick the landing. STEPH: Thanks. Mid-roll Ad And now a quick break to hear from today's sponsor, Scout APM. Scout APM is leading-edge application performance monitoring that's designed to help Rails developers quickly find and fix performance issues without having to deal with the headache or overhead of enterprise platform feature bloat. With a developer-centric UI and tracing logic that ties bottlenecks to source code, you can quickly pinpoint and resolve those performance abnormalities like N+1 queries, slow database queries, memory bloat, and much more. Scout's real-time alerting and weekly digest emails let you rest easy knowing Scout's on watch and resolving performance issues before your customers ever see them. Scout has also launched its new error monitoring feature add-on for Python applications. Now you can connect your error reporting and application monitoring data on one platform. See for yourself why developers call Scout their best friend and try our error monitoring and APM free for 14 days; no credit card needed. And as an added-on bonus for Bike Shed listeners, Scout will donate $5 to the open-source project of your choice when you deploy. Learn more at scoutapm.com/bikeshed. That's scoutapm.com/bikeshed. STEPH: Changing topics just a bit, what's new in your world? CHRIS: Well, we had what I would call a mini perfect storm this week. We broke the build but in a pretty solid way. And it was a little bit difficult to get it back under control. And it has pushed me ever so slightly forward in my desire to have a fully optimized CI and deploy pipeline. Mostly, I mean that in terms of ratcheting. I'm not actually going to do anything beyond a very small set of configurations. But to describe the context, we use pull requests because that's the way that we communicate. We do code reviews, all that fun stuff. And so there was a particular branch that had a good amount of changes, and then something got merged. And this other pull request was approved. And that person then clicked the rebase and merge button, which I have configured the repository, so that merge commits are not allowed because I'm not interested in that malarkey in our history. But merge commits or rebase and merge. I like that that makes sense. In this particular case, we ran into the very small, subtle edge case of if you click the rebase and merge button, GitHub is now producing a new commit that did not exist before, a new version of the code. So they're taking your changes, and they are rebasing them onto the current main branch. And then they're attempting to merge that in. And A, that was allowed. B, the CI configuration did not require that to be in a passing state. And so basically, in doing that rebase and merge, it produced an artifact in the build that made it fail. And then attempting to unwind that was very complicated. So basically, the rebase produced...there were duplicate changes within a given file. So Git didn't see it as a conflict because the change was made in two different parts of the file, but those were conflicting changes. So Git was like, this seems like it's fine. I can merge this, no problem. But it turns out from a functional perspective; it did not work. The build failed. And so now our main branch was failing and then trying to unwind that it just was surprisingly difficult to unwind that. And it really highlighted the importance of keeping the main branch green, keeping the build always passing. And so, I configured a few things in response to this. There is a branch protection rule that you can enable. And let me actually pull up the specific configuration that I set up. So I now have enabled require status checks to pass before merging, which, if we're being honest, I thought that was the default. It turns out it was not the default. So we are now requiring status checks to pass before merging. I'm fully aware of the awkward, painful like, oh no, the build is failing but also, we have a bug. We need to deploy this. We must get something merged in. So hopefully, if and when that situation presents itself, I will turn this off or somehow otherwise work around it. But for now, I would prefer to have this as a yeah; this is definitely a configuration we want. So require status checks to pass before merging and then require branches to be up to date before merging. So the button that does the rebase and merge, I don't want that to actually do a rebase on GitHub. I want the branch to already be up to date. Basically, I only ever want fast-forward merges on our main branch. So all code should be ahead of main, and we are simply updating what main points at. We are not creating new code. That code has run on CI, that version of the code specifically. We are fully rebased and up to date on top of main, and that's how we're going. STEPH: All of that is super interesting. I have a question about the workflow. I want to make sure I'm understanding it correctly. So let's say that I have issued a PR, and then someone else has merged into the main branch. So now my PR is behind me, and I don't have that latest commit. With the new configuration, can I still use the rebase and merge, or will I need to rebase locally and then push up my branch before I can merge into main but at least using the GitHub UI? CHRIS: I believe that you would be forced to rebase locally, force push, and then CI would rebuild, and that's what it is. So I think that's what require branches to be up to date before merging means. So that's my hope. That is the intention here. I do realize that's complicated. So this requirement, which I like, because again, I really want the idea that no, no, no, we, the developers, are in charge of that final state. That final state should always run as part of a build of CI on our pull request/branch before going into main. So no code should be new. There should be no new commits that have never been tested before going into main. That's my strong belief. I want that world. I realize that's...I don't know. Maybe I'm getting pedantic, or I'm a micromanager of the Git history or whatever. I'm fine with any of those insults that people want to lob at me. That's fine. But that's what I feel. That said, this is a nuisance. I'm fully aware of that. And so imagine the situation where we got a couple of different things that have been in flight. People have been working on different...say there are three pull requests that are all coming to completion at the same time. Then you start to go to merge something, and you realize, oh no, somebody else just merged. So you rebase, and then you wait for CI to build. And just as the CI is completing, somebody else merges something, and you're like, ah, come on. And so then you have to one more time rebase, push, wait for the build to be green. So I get that that is not an ideal situation. Right now, our team is three developers. So there are a few enough of us that I feel like this is okay. We can manage this via human intervention and just deal with the occasional weight. But in the back of my mind, of course, I want to find a better solution to this. So what I've been exploring…there's a handful of different utilities that I'm looking at, but they are basically merged queues as an idea. So there are three that I'm looking at, or maybe just two, but there's mergify.io, which is a hosted solution that does this sort of thing. And then Shopify has a merge queue implementation that they're running. So the idea with this is when you as a developer are ready to merge something, you add a label to it. And when you add that label, there's some GitHub Action or otherwise some workflow in the background that sees that this has happened and now adds it to a merge queue. So it knows all of the different things that might want to be merged. And this is especially important as the team grows so that you don't get that contention. You can just say, "Yes, I would like my changes to go out into production." And so, when you label it, it then goes into this merge queue. And the background system is now going to take care of any necessary rebases. It's going to sequence them, so it's not just constantly churning all of the branches. It's waiting because it knows the order that they're ideally going to go out in. If CI fails for any of them because rebasing suddenly, you're in an inconsistent state; if your build fails, then it will kick you out of the merge queue. It will let you know. So it will send you a notification in some manner and say, "Hey, hey, hey, you got to come look at this again. You've been kicked out of the merge queue. You're not going to production." But ideally, it adds that layer of automation to, frankly, this nuisance of having to keep things up to date and always wanting code to be run on CI and on a pull request before it gets into main. Then the ideal version is when it does actually merge your code, it pings you in Slack or something like that to say, "Hey, your changes just went out to production." Because the other thing I'm hoping for is a continuous deployment. STEPH: The idea of a merge queue sounds really interesting. I've never worked with a process like that. And one of the benefits I can see is if I know I'm ready for something to go like if I'm waiting on a green build and I'm like, hey, as soon as this is green, I'd really like for it to get merged. Then currently, I'm checking in on it, so I will restart the build. And then, every so often, I'm going back to say, "Okay, are you green? Are you green? Can I emerge?" But if I have a merge queue, I can say, "Hey, merge queue, when this is green, please go and merge it for me." If I'm understanding the behavior correctly, that sounds really nifty. CHRIS: I think that's a distinct but useful aspect of this is the idea that when you as a developer decide this PR is ready to go, you don't need to wait for either the current build or any subsequent builds. If there are rebases that need to happen, you basically say, "I think this code's good to go. We've gotten the necessary approvals. We've got the buy-in and the teams into this code." So cool, I now market as good. And you can walk away from it, and you will be notified either if it fails to get merged or if it successfully gets merged and deployed. So yes, that dream of like, you don't have to sit there watching the pot boil anymore. STEPH: Yeah, that sounds nice. I do have to ask you a question. And this is related to one of the blog posts that you and I love deeply and reference fairly frequently. And it's the one that's written by German Velasco about Say No to More Process, and Say Yes to Trust. And I'm wondering, based on the pain that you felt from this new commit, going into main and breaking the main build, how do you feel about that balance of we spent time investigating this issue, and it may or may not happen again, and we're also looking into these new processes to avoid this from happening? I'm curious what your thought process is there because it seems like it's a fair amount of work to invest in the new process, but maybe that's justified based on the pain that you felt from having to fix the build previously. CHRIS: Oh, I love the question. I love the subtle pushback here. I love this frame of mind. I really love that blog post. German writes incredible blog posts. And this is one that I just keep coming back to. In this particular case, when this situation occurred, we had a very brief...well, it wasn't even that brief because actually unwinding the situation was surprisingly painful, and we had some changes that we really wanted to get out, but now the build was broken. And so that churn and slowdown of our build pipeline and of our ability to actually get changes out to production was enough pain that we're like, okay, cool. And then the other thing is we actually all were in agreement that this is the way we want things to work anyway, that idea that things should be rebased and tested on CI as part of a pull request. And then we're essentially only doing fast-forward merges on the main branch, or we're fast forward merging main into this new change. That's the workflow that we wanted. So this configuration was really just adding a little bit of software control to the thing that we wanted. So it was an existing process in our minds. This is the thing we were trying to do. It's just kind of hard to keep up with, frankly. But it turns out GitHub can manage it for us and enforce the process that we wanted. So it wasn't a new process per se. It was new automation to help us hold ourselves to the process that we had chosen. And again, it's minimally painful for the team given the size that we're at now, but I am looking out to the future. And to be clear, this is one of the many things that fall on the list of; man, I would love to have some time to do this, but this is obviously not a priority right now. So I'm not allowed to do this. This is explicitly on the not allowed to touch list, but someday. I'm very excited about this because this does fundamentally introduce some additional work in the pipeline, and I don't want that. Like you said, is this process worth it for the very small set of times that it's going to have a bad outcome? But in my mind, the better version, that down the road version where we have a merge queue, is actually a better version overall, even with just a tiny team of three developers that are maybe never even conflicting in our merges, except for this one standout time that happens once every three months or whatever. This is still nicer. I want to just be able to label a pull request and walk away and have it do the thing that we have decided as a team that we want. So that's the dream. STEPH: Oh, I love that phrasing, to label a pull request and be able to walk away. Going back to our marketing, that really sells that merge queue to me. [laughs] Mid-roll Ad And now we're going to take a quick break to tell you about today's sponsor, Orbit. Orbit is mission control for community builders. Orbit offers data analytics, reporting, and insights across all the places your community exists in a single location. Orbit's origins are in the open-source and developer relations communities. And that continues today with an active open-source culture in an accessible and documented API. With thousands of communities currently relying on Orbit, they are rapidly growing their engineering team. The company is entirely remote-first with team members around the world. You can work from home, from an Orbit outpost in San Francisco or Paris, or find yourself a coworking spot in your city. The tech stack of the main orbit app is Ruby on Rails with JavaScript on the front end. If you're looking for your next role with an empathetic product-driven team that prides itself on work-life balance, professional development, and giving back to the larger community, then consider checking out the Orbit careers page for more information. Bonus points if working in a Ruby codebase with a Ruby-oriented team gives you a lot of joy. Find out more at orbit.love/weloveruby. CHRIS: To be clear, and this is to borrow on some of Charity Majors' comments around continuous deployment and whatnot, is a developer should stay very close to the code if they are merging it. Because if we're doing continuous deployment, that's going to go out to production. If anything's going to happen, I want that individual to be aware. So ideally, there's another set of optimizations that I need to make on top of this. So we've got the merge queue, and that'll be great. Really excited about that. But if we're going to lean into this, I want to optimize our CI pipeline and our deployment pipeline as much as possible such that even in the worst case where there's three different builds that are fighting for contention and trying to get out, the longest any developer might go between labeling a pull request and saying, "This is good to go," and it getting out to production, again, even if they're contending with other PRs, is say 10, 15 minutes, something like that. I want Slack to notify them and them to then re-engage and keep an eye on things, see if any errors pop up, anything like that that they might need to respond to. Because they're the one that's got the context on the code at that point, and that context is decaying. The minute you've just merged a pull request and you're walking away from that code, the next day, you're like, what did I work on? I don't remember that at all. That code doesn't exist anymore in my brain. And so,,, staying close to that context is incredibly important. So there's a handful of optimizations that I've looked at in terms of the CircleCI build. I've talked about my not rebuilding when it actually gets fast-forward merged because we've already done that build on the pull request. I'm being somewhat pointed in saying this has to build on a pull request. So if it did just build on a pull request, let's not rebuild it on main because it's identically the same commit. CircleCI, I'm looking at you. Give me a config button for that, please. I would really love that config button. But there are a couple of other things that I've looked at. There's RSpec::Retry from NoRedInk, which will allow for some retry semantics. Because it will be really frustrating if your build breaks and you fall out of the merge queue. So let's try a little bit of retry logic on there, particularly around feature specs, because that's where this might happen. There's Knapsack Pro which is a really interesting thing that I've looked at, which does parallelization of your RSpec test suite. But it does it in a different way than say Circle does. It actually runs a build queue, and each test gets sent over, and they have build agents on their side. And it's an interesting approach. I'm intrigued. I think it could use some nice speed-ups. There's esbuild on the Heroku side so that our assets build so much more quickly. There are lots of things. I want to make it very fast. But again, this is on the not allowed to do it list. [laughs] STEPH: I love how most of the world has a to-do list, and you have this not-allowed to-do list that you're adding items to. And I'm really curious what all is on the not allowed to touch lists or not allowed to-do list. [laughs] CHRIS: I think this might be inherent to being a developer is like when I see a problem, I want to fix it. I want to optimize it. I want to tweak it. I want to make it so that that never happens again. But plenty of things...coming back to German's post of Say No to More Process, some things shouldn't be fixed, or the cost of fixing is so much higher than the cost of just letting it happen again and dealing with it manually at that moment. And so I think my inherent nature as a developer there's a voice in my head that is like, fix everything that's broken. And I'm like, sorry. Sorry, brain, I do not have that kind of time. And so I have to be really choosy about where the time goes. And this extends to the team as well. We need to be intentional around what we're building. Actually, there's a feeling that I've been feeling more acutely than ever, but it's the idea of this trade-off or optimization between speed and getting features out into the world and laying the right fundamentals. We're still very early on in this project, and I want to make sure we're thinking about things intentionally. I've been on so many projects where it's many years after it started and when I ask someone, "Hey, why do your background jobs work that way? That's a little weird." And they're like, "Yeah, that was just a thing that happened, and then it never changed. And then, we copied it and duplicated, and that pattern just got reinforced deeply within the app. And at this point, it would cost too much to change." I've seen that thing play out so many times at so many different organizations that I'm overwhelmed with that knowledge in the back of my head. And I'm like, okay, I got to get it just right. But I can't take the time that is necessary to get it, quote, unquote, "Just right." I do not have that kind of time. I got to ship some features. And this tension is sort of the name of the game. It's the thing I've been doing for my entire career. But now, given the role that I have with a very early-stage startup, I've never felt it more acutely. I've never had to be equally as concerned with both sides of that. Both matter all the more now than they ever have before, and so I'm kind of existing in that space. STEPH: I really like that phrasing of that space because that deeply resonates with me as well. And that not allowed to-do list I have a similar list. For me, it's just called a wishlist. And so it's a wishlist that I will revisit every so often, but honestly, most things on there don't get done. And then I'll clear it out every so often when I feel it's not likely that I'm going to get to it. And then I'll just start fresh. So I also have a similar this is what I would like to do if I had the time. And I agree that there's this inclination to automate as well. As soon as we have to do something that felt painful once, then we feel like, oh, we should automate it. And that's a conversation that I often have with myself is at what point is the cost of automation worthwhile versus should we just do this manually until we get to that point? So I love those nuanced conversations around when is the right time to invest further in this, and what is the impact? And what is the cost of it? And what are the trade-offs? And making that decision isn't always clear. And so I think that's why I really enjoy these conversations because it's not a clear rubric as to like, this is when you invest, and this is when you don't. But I do feel like being a consultant has helped me hone those skills because I am jumping around to different teams, and I'm recognizing they didn't do this thing. Maybe they didn't address this or invest in it, and it's working for them. There are some oddities. Like you said, maybe I'll ask, "Why is this? It seems a little funky. What's the history?" And they'll be like, "Yeah, it was built in a hurry, but it works. And so there hasn't been any churn. We don't have any issues with it, so we have just left it." And that has helped reinforce the idea that just because something could be improved doesn't mean it's worthwhile to improve it. Circling back to your original quest where you are looking to improve the process for merging and ensuring that CI stays green, I do like that you highlighted the fact that we do need to just be able to override settings. So that's something that has happened recently this week for me and my client work where we have had PRs that didn't have a green build because we have some flaky tests that we are actively working on. But we recognize that they're flaky, and we don't want that to block us. I'm still shipping work. So I really appreciate the consideration where we want to optimize so that everyone has an easy merging experience. We know things are green. It's trustworthy. But then we also have the ability to still say, "No, I am confident that I know what I'm doing here, and I want to merge it anyways, but thank you for the warning." CHRIS: And the constant pendulum swing of over-correcting in various directions I've experienced that. And as you said, in the back of my mind, I'm like, oh, I know that this setting I'm going to need a way to turn this setting off. So I want to make sure that, most importantly, I'm not the only one on the team who can turn that off because the day that I am away on vacation and the build is broken, and we have a critical bug that we need to fix, somebody else needs to be able to do that. So that's sort of the story in my head. At the same time, though, I've worked on so many teams where they're like, oh yeah, the build has been broken for seven weeks. We have a ticket in the backlog to fix that. And it's like, no, the build has to not be broken for that long. And so I agree with what you were saying of consulting has so usefully helped me hone where I fall on these various spectrums. But I do worry that I'm just constantly over-correcting in one direction or the other. I'm never actually at an optimum. I am just constantly whatever the most recent thing was, which is really impacting my thinking on this. And I try to not do that, but it's hard. STEPH: Oh yeah. I'm totally biased towards my most recent experiences, and whatever has caused me the most pain or success recently. I'm definitely skewed in that direction. CHRIS: Yeah, I definitely have the recency bias, and I try to have a holistic view of all of the things I've seen. There's actually a particular one that I don't want to pat myself on the back for because it's not a good thing. But currently, our test suite, when it runs, there's just a bunch of noise. There's a bunch of other stuff that gets printed out, like a bunch of it. And I'm reminded of a tweet from Kevin Newton, a friend of the show, and I just pulled it up here. "Oh, the lengths I will go to avoid warnings in my terminal, especially in the middle of my green dots. Don't touch my dots." It's a beautiful beauty. He actually has a handful about the green dots. And I feel this feel. When I run my test suite, I just want a sea of green dots. That's all I want to see. But right now, our test suite is just noise. It's so much noise. And I am very proud of...I feel like this is a growth moment for me where I've been like, you know what? That is not the thing to fix today. We can deal with some noise amongst the green dots for now. Someday, I'm just going to lose it, and I'm going to fix it, and it's going to come back to green dots. [chuckles] STEPH: That sounds like such a wonderful children's book or Dr. Seuss. Oh, the importance of green dots or, oh, the places green dots will take you. CHRIS: Don't touch my dots. [laughter] STEPH: Okay. Maybe a slightly aggressive Dr. Seuss, but I still really like it. CHRIS: A little more, yeah. STEPH: On that note of our love of green dots, shall we wrap up? CHRIS: Let's wrap up. The show notes for this episode can be found at bikeshed.fm. STEPH: This show is produced and edited by Mandy Moore. CHRIS: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes, as it really helps other folks find the show. STEPH: If you have any feedback for this or any of our other episodes, you can reach us at @_bikeshed or reach me on Twitter @SViccari. CHRIS: And I'm @christoomey STEPH: Or you can reach us at hosts@bikeshed.fm via email. CHRIS: Thanks so much for listening to The Bike Shed, and we'll see you next week. All: Byeeeeeee!!! Announcer: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

Billieve: a Buffalo Rumblings Podcast
CTW: Another Day, Another Shut Out; Bills Win Big 40-0 Over Texans

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 5, 2021 65:54


In this episode, we discuss the Buffalo Bills' shut out victory over the Houston Texans 40-0. We discuss the second shut out in 3 weeks, the stifling Bills Defense, the Offense coming to form with Devin Singletary and Zack Moss leading the way, while dealing with the weather, and much more! We announce the winner this week's giveaway, and we discuss our general thoughts on the game, stats of the game, plays of the game (Sweet Sassy Molassy & Gettysburg), who goes on our Wall of Fame and who goes on the Wall of Shame (and turn to Twitter for some great reaction from our followers). Listen now and Go Bills! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Email us questions, comments, or Bills stories: ctwpod@gmail.com Follow us on Twitter: @CTWpod Like us on Facebook: Circling the Wagons: A Buffalo Bills Podcast Follow us on Instagram: CTWpod Check out our TeePublic Bills Store here Check out our Bills FOCO site here and get 10% Off everything with promo code: CTWOctober10 Learn more about your ad choices. Visit podcastchoices.com/adchoices

Buffalo Rumblings: for Buffalo Bills fans
CTW: Another Day, Another Shut Out; Bills Win Big 40-0 Over Texans

Buffalo Rumblings: for Buffalo Bills fans

Play Episode Listen Later Oct 5, 2021 65:54


In this episode, we discuss the Buffalo Bills' shut out victory over the Houston Texans 40-0. We discuss the second shut out in 3 weeks, the stifling Bills Defense, the Offense coming to form with Devin Singletary and Zack Moss leading the way, while dealing with the weather, and much more! We announce the winner this week's giveaway, and we discuss our general thoughts on the game, stats of the game, plays of the game (Sweet Sassy Molassy & Gettysburg), who goes on our Wall of Fame and who goes on the Wall of Shame (and turn to Twitter for some great reaction from our followers). Listen now and Go Bills! Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! Email us questions, comments, or Bills stories: ctwpod@gmail.com Follow us on Twitter: @CTWpod Like us on Facebook: Circling the Wagons: A Buffalo Bills Podcast Follow us on Instagram: CTWpod Check out our TeePublic Bills Store here Check out our Bills FOCO site here and get 10% Off everything with promo code: CTWOctober10 Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Off Tackle With John Fina Show | BILLS vs TEXANS Wrap Up

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 5, 2021 67:05


Join host Joe Miller and former Buffalo Bills Offensive Tackle, John Fina as they break down the game on Sunday against the Houston Texans. Another shut out in the books on a very rainy and weathery day. Despite a couple small hiccups early, the Offense balled out and that Defense came to play all day having no trouble with the Davis Mills or that Texans team. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! #BILLS #goBILLS #BillsMafia #BUFFALOBILLS Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Overreaction Postgame Show | Double Donuts | Oct 4, 2021

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 4, 2021 61:22


The Buffalo Bills defeated the Houston Texans and Joe Miller is breaking down the good and the bad from game for all of BillsMafia. How did Josh Allen look? Did the BILLS defense keep it rolling against a Rookie QB in Davis Mills on his first road start in his career? Were there moments you overreacted or did you keep your emotions in check? Join Joe every week at 9pm LIVE on the Buffalo Rumblings multicast network. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone Ask Alexa or Google Home to play the Buffalo Rumblings podcast! #BILLS #Texans #BUFFALO #BuffaloBills #BillsMafia #Mafia #goBILLS Learn more about your ad choices. Visit podcastchoices.com/adchoices

Billieve: a Buffalo Rumblings Podcast
Billieve: Houston Texans Preview

Billieve: a Buffalo Rumblings Podcast

Play Episode Listen Later Oct 3, 2021 32:50


The Houston Texans take on the Buffalo Bills in Week Four, and the Billieve hosts tell you everything you need to know to get ready for the game. They provide a scouting report as well as a prediction of who will win and why. Subscribe to the Buffalo Rumblings podcast channel featuring Billieve, Buffalo Rumblings Q&A, Breaking Buffalo Rumblings, Code of Conduct with J. Spence, The Bruce Exclusive, The Buff Hub, Jamie D. & Big Newt, The Overreaction Podcast, Food For Thought, The Chop Up, Hump Day Hotline, Off Tackle with John Fina, Bills Mafia Time 2 Shine and Circling the Wagons: Apple Podcasts | Stitcher | Google Play | Spotify | Podbean | iHeartRadio | TuneIn | Megaphone | YouTubeAsk Alexa or Google Home to play the Buffalo Rumblings podcast! If you like our show, tell a friend and spread the word! Learn more about your ad choices. Visit podcastchoices.com/adchoices

The Morning Stream
TMS 2182: Ann Hyphen Margaret.

The Morning Stream

Play Episode Listen Later Sep 30, 2021 104:00


Emotional Support Wine. SHAT IN SPACE. How About A Boober? Shaving Our Legs with Gidgit. Teacup Little Shithead Things. Stick it in the Leggy Bum. Apply old Pedro to new Virginia. Circling the 80s Sitcom Drain. Phantom ball pain. Free flashdrive with purchase of a Kiss coffin. Aardvark Animation. Anubis Is A DUDE! Ring! Ring! Squid Game Calling! Canada says, Sorry no lube. The Blue Mountains ARE Blue! Your calls and more on this episode of The Morning Stream.

The FrogPants Studios Ultra Feed!
TMS 2182: Ann Hyphen Margaret.

The FrogPants Studios Ultra Feed!

Play Episode Listen Later Sep 30, 2021 104:00


Emotional Support Wine. SHAT IN SPACE. How About A Boober? Shaving Our Legs with Gidgit. Teacup Little Shithead Things. Stick it in the Leggy Bum. Apply old Pedro to new Virginia. Circling the 80s Sitcom Drain. Phantom ball pain. Free flashdrive with purchase of a Kiss coffin. Aardvark Animation. Anubis Is A DUDE! Ring! Ring! Squid Game Calling! Canada says, Sorry no lube. The Blue Mountains ARE Blue! Your calls and more on this episode of The Morning Stream.