
North Meets South Web Podcast
Jake Bennett and Michael Dyrynda conquer a 14.5 hour time difference to talk about life as web developers.
Jacob Bennett and Michael Dyrynda · Michael Dyrynda
Show overview
North Meets South Web Podcast has been publishing since 2016, and across the 10 years since has built a catalogue of 196 episodes, alongside 1 trailer or bonus episode. That works out to roughly 150 hours of audio in total. Releases follow a monthly cadence.
Episodes typically run thirty-five to sixty minutes — most land between 38 min and 54 min — though episode length varies meaningfully from one episode to the next. None of the episodes are flagged explicit by the publisher. It is catalogued as a EN-language Technology show.
The show is actively publishing — the most recent episode landed 1 weeks ago, with 10 episodes already out so far this year. Published by Michael Dyrynda.
From the publisher
Jake Bennett and Michael Dyrynda conquer a 14.5 hour time difference to talk about life as web developers
Latest Episodes
View all 196 episodesFast Laravel with Jason McCreary
Laracon AU CFP, developer storytelling, and audience engagement
Unused APIs, Passport testing traps, and local AI bottlenecks
Gents on Gent with David Hemphill
Ep 190Flight booking mistakes, Laracon AU, and dead letters
In this episode, Michael and Jake catch up ahead of Laracon and share a wild travel story involving flight changes, third-party booking headaches, and expensive rebooking.Jake then shares a fun personal highlight: attending the NCAA Men's Basketball Championship and watching Michigan win.The conversation shifts into development work, where Jake dives into building a centralised system for managing failed Laravel jobs across multiple applications. He explains the challenges of aggregating failed jobs without Horizon, how they built a custom package to expose APIs for inspecting and retrying jobs, and the nuances of Laravel's queue system.They also explore ideas for turning this work into a Laracon talk, emphasising practical, experience-driven content over purely technical deep dives.Show LinksLaracon AULaravel HorizonSentryDead Letter Queue (00:00) - Introduction and road to episode 200 (01:00) - Laracon plans and travel setup (02:00) - Flight booking disaster and schedule change (06:00) - Rebooking flights and unexpected costs (09:00) - Lessons learned with third-party bookings (10:00) - Michigan wins NCAA championship (12:30) - Midwest geography and personal background (12:45) - Building a centralized failed jobs system (15:30) - Challenges with retries and tracking failures (16:40) - The "Dead Letter" package and API approach (23:20) - Turning real-world problems into Laracon talks (48:20) - Wrapping up and outro
Ep 189OIDC, bastion hosts, and production safety
In this episode, Jake and Michael dive into modern infrastructure security practices, sparked by an annual audit and the painful process of rotating AWS IAM tokens. That experience leads into a broader discussion on why long-lived credentials in GitHub Actions are risky, and how OIDC (OpenID Connect) enables a more secure, short-lived, role-based alternative.Show linksScout SuiteOpenID Connect (OIDC)Laravel ForgeLaravel HorizonScrambleClaudeLoRA (Low-Rank Adaptation)
Ep 188Worktree structures, workflow events, and enum metadata
In this episode, we discuss using `claude --worktree` to spin up parallel feature work, and the unexpected friction that can arise when your editor doesn’t play nicely with nested worktrees.Jake shares his experience running multiple Claude agents in parallel and problems that surfaced in PhpStorm. Michael explains how he structures worktrees differently, avoiding those issues, and the two compare workflows between PhpStorm and Neovim.Show Linksclaude --worktreeGit worktreesPhpStormNeovimTmuxLazyGitUsing GitHub CLI in workflowsarchtechx/enumsArborLaracon USGit Worktree Hub plugin for PhpStorm
Ep 187Charging chaos, corona discharge, and vector embeddings
Michael and Jake discuss Jake's device charging chaos, household optimisation, international power outlets, and vector embeddings.Show linksGitryinMagnetic 3-in-1 wireless chargerDesktop charging station 12-in-1Corona dischargeLaracon US ElevenLabsDaily Dose of DS (Data Science)MstyRetrieval-Augmented Generation (RAG)Laravel AI
Ep 186OpenClaw, Arbor, and horseless carriages
Michael and Jake catch up on what’s been occupying their time lately, from AI tooling experiments to new developer workflows, before closing with a broader reflection on how new technologies are often misunderstood at first.Show linksOpenClaw / Clawd Bot / MoltbotArborAI horseless carriages
Ep 185When AI clicks, automation at home, and developer workflows
Jake and Michael return for 2026 and talk about their evolving experiences with AI; what it’s good at, what it’s not, and how it’s changing the way they work.Show linksOpenAI / ChatGPTAnthropic / Claude (Sonnet & Opus)OpenCode (multi-provider AI coding interface)Home AssistantZigbee temperature sensorsGitHub CopilotOllama (local LLM runner)NVIDIA DGX SparkAmp CodeMiniMax M2.1 modelSoftware for an audience of oneArborOpenCode Desktop has workspaces supportOpus 4.5 is going to change everything
Ep 184Choose your hard
Michael and Jake open with retro arcade serendipity (a Mortal Kombat cabinet sighting!) and tumble into family bowling, kid-approved card games, and why tactile gadgets are back in style.Then they pivot hard into dev-mode: shadcn/ui (and shadcn-vue), Inertia, React-ish forms, and the age-old tradeoff between “batteries-included” simplicity and modern real-time UX.Highlights:Mortal Kombat cabinet & mini arcades, gift ideas for Laracon AUDuckpin bowling explainer and family bowling stories (plus UNO, Yahtzee, Taco Cat Goat Cheese Pizza)The “analog is cool again” thread: mechanical keyboards, a Keychron board, and a retro 3D-printed mouse shell for a Logitech M185Dev deep-dive: shadcn docs, Inertia forms, partial reloads vs full refresh, Livewire/Alpine, and real-time updates with Pusher/ReverbShow linksRetroPie / Arcade1UpLaracon AUDuckpin bowlingKeychron keyboard3D-printed retro mouse shell for Logitech M185Taco Cat Goat Cheese PizzaInertia.jsshadcn/uishadcn-vueLivewireAlpine.jsPusherLaravel ReverbAxiosfetch
Ep 183Controllers and Middleware, Grok vs. Claude, and Developer Value
Jake and Michael dive into a wide range of topics, from coding practices in Laravel to the evolving role of AI in software development. They kick things off with daylight savings and weekend updates before moving into technical discussions on authorization, policies, and form requests in Laravel.The conversation expands to cover recent changes in middleware and controller patterns, contextual attributes in the service container, and practical approaches to request validation.Later, the focus shifts toward AI tools like Claude, Grok, and Cursor, including their strengths, frustrations, and industry-wide adoption pressures. We reflect on the uneasy balance between developer control and AI assistance, wrapping up with thoughts on productivity, value, and what it means to let machines write code.Show linksLawn HubArcade 1UpRetroPieMortal Kombat cabinetNuno's authorization on form requestsContextual AttributesGrok Code Fast 1
Ep 182LawnHub, Saloon, and Salesforce
In this episode, Michael and Jake catch up on life and code. They talk about fatigue, seasonal shifts, lawn adventures, and the return of hay fever.We dive into replacing a legacy Salesforce integration with Saloon, frustrations with mocks, and how Saloon fakes have improved testing workflows. Michael walks through his experiments with AI tools like Claude and opencode to prototype fake gateways - treating AI as a “junior dev” pair. The discussion covers gateway patterns, middleware, registry-based response handling, and strategies for testing Salesforce without polluting production environments.From weeds and soil temps to software fakes and AI-driven dev, this one’s a mix of everyday life and practical engineering insights.Show linksLawnHub – Michael’s lawn care supplierSaloon (by Sam Carré) – Laravel/HTTP client packageSalesforce – CRM platform discussed in the episodeMockery – PHP mocking frameworkopencode – terminal tool for AI coding (by SST’s Dax and Adam, Terminal Coffee)Claude – AI model used for coding explorationGitHub Copilot – AI coding assistantStripe test cards – referenced in gateway fake analogyBond for Livewire
Ep 181Soccer terror, conference swag, and Omarchy (btw)
In this episode, Jake and Michael catch up on life, family, and tech.Michael shares proud stories about his son Eli turning into a “soccer terrorist” on the field, while Jake recounts his own stint as a stand-in soccer coach. They dive into Laracon AU updates — from speaker announcements and Road to Laracon podcasts, to quiz night and swag planning.Other highlights include experiments with AI-generated artwork, Bruce’s new social media adventures, sponsor promotion, and even a tangent on coding tools like PHPStan and how AI can help fix issues in the background.Show linksLaracon AURoad to LaraconBruce on XLaravel Live DenmarkBoost
Ep 180Laracon recap, eleven stations, and Laravel meetups
In this episode, Michael and Jake reflect on their recent time at Laracon US 2025 in Denver - catching up in person after six years, reconnecting with the Laravel community, and sharing behind-the-scenes stories from the conference floor.They also cover:Why this Laracon felt like a true “homecoming”Building Laravel meetups and fostering communityThe book (and tv show) Station Eleven (and how different things might have been)The value of attending conferences, particularly as a non-speakerContinued discussion on the complexities of handling roles and permissionsThe episode weaves together community highlights, technical challenges, and personal reflections.
Ep 179Laracon, controller middleware, and permissions
In this episode, Michael and Jake kick things off with some Laracon travel talk, sharing their hotel plans, coffee quests, and even jokes about pillow fights at the conference hotel. Michael reveals his precise coffee scouting for the Vib by Best Western hotel, determined not to survive three days on Starbucks alone.Should you define middleware in a controller’s constructor? Michael explains why he avoids it - preferring to keep all middleware in route definitions for better visibility and maintainability. Jake explores the pros and cons and why he’s still tempted to use it for certain edge cases.Dynamic permissions vs. static definitions: We switch gears to talk about the balance between flexibility and clarity when defining permissions for applications, especially when it comes to handling user roles, teams, and complex business rules.Mentioned in this episode:Laracon US travel plansVib by Best Western (the hotel coffee and tacos!)Laravel middleware usagePermission handling in appsTravel gear for developers on the go
Ep 178Flavours of busy, restrained features, and variable static views
In this episode, Jake and Michael discuss the nuance of being “busy”, saying no to features (and why), handling user feedback early, Laravel-powered static views with dynamic data, and building tools that stand the test of time.
Ep 177Liquid glass, video thumbnails, and children growing up
In this episode, Jake and Michael reflect on parenting, discuss Apple's new Liquid Glass UI, finding smarter ways to use video on the web, plus share thoughts on AI overload, Laracon prep, and why Wistia might be your next favourite video tool.In this episode:- Apple’s Liquid Glass UI- Kit.com and Wistia for video- Reflections on AI, tech bubbles, and accessibility- Laracon US and vox pop interviews- The emotional ride of watching your kids grow up
Ep 176Stealth grills, metric takeover, and selecting conference talks
In this episode, Jake and Michael discuss Jake's new stealth grill, his eldest son's takeover of the state finals (and metric's takeover of measurement), and Michael goes through the process of refining over 150 talk submissions down to the final Laracon AU schedule.
Ep 175Constant interfaces, nested input, and array access
In this episode, Jake and Michael discuss using interfaces as a dictionary of constants, working with and testing inputs passed down multiple layers of the application, and refactoring legacy code with PHP's ArrayAccess interface.