
North Meets South Web Podcast
196 episodes — Page 1 of 4
Fast 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.
Ep 174Laracon AU, queued batches, and leveraging AI
In this episode, Jake and Michael discuss the ramp up of Laracon AU planning, touch base on Jake's unorthodox usage of Laravel Horizon, and Michael finally coming around to using AI.
Ep 173New setups, Saloon SDKs, and configuring Horizon
In this episode, Jake and Michael discuss Michael's new recording gear, building integrations with external APIs using Saloon, and configuring Laravel Horizon.
Ep 172Concentric circles, eloquent values, and application monitoring
In this episode, Jake and Michael discuss circles of influence and information, eloquently handling return of single values from the database, and monitoring tools for your applications.
Ep 171Succession plans, unused features, and testing living systems
Jake and Michael discuss those features you ship that nobody uses but everybody has feedback for, testing a system where the valid state can change based on user input, and compliance auditing and adherence.
Ep 170Luka and AD, Laracon US, and pitching our Laracon talks
In this episode, Jake and Michael discuss the blockbuster trade of Luka Dončić to the the Los Angeles Lakers in exchange for Anthony Davis, the just-announced Laracon US, and pitch our talks for the very same conference.
Ep 169Old packages, Laravel upgrades, and breaking changes
Jake and Michael recap their Christmas and New Year break, talk through lingering packages, Laravel 11 upgrades, and breaking changes in PHPUnit.
Ep 168North Meets South meets Slightly Caffeinated meets David Hemphill Christmas Extravaganza
Join Jake, Michael, David, TJ, and Chris for a merry chat about tech, holiday antics, and the entertaining Wheel of Fortune game!## LinksEngineering Management for the rest of us## SocialXhttps://x.com/northsouthaudiohttps://x.com/JacobBennett https://x.com/michaeldyryndahttps://x.com/davidhemphillhttps://x.com/heytjmillerhttps://x.com/cmgmyrBlueskyhttps://bsky.app/profile/northmeetssouth.audiohttps://bsky.app/profile/dyrynda.auhttps://bsky.app/profile/jakebennett.bsky.socialhttps://bsky.app/profile/tjmiller.bsky.socialhttps://bsky.app/profile/chrisgmyr.dev (00:00) - Introductions (00:30) - Holiday Humor (02:28) - Brain Fog Chat (05:25) - Favorite Christmas Movies (08:26) - Significant 2024 Events (15:32) - Wheel of Fortune Game (59:14) - Wrapping Up
Ep 167Loud coffee machines, Prezet, recursion, and staging environments
Join Michael and Jake as they explore noisy coffee machines, dive into documentation challenges with Prezet, and discuss the nuances of sandbox environments. (00:00) - Introduction (01:14) - Noisy Coffee Machines (03:06) - Basketball Recap (03:48) - Documentation with Prezet (07:31) - Carrier Documentation Permissions (10:07) - Code Rendering Issues (12:28) - Developer World Update (20:21) - Sandbox Environment Strategy (27:48) - Next Steps (28:16) - Conclusion
Ep 166Laracon AU retro, coffee machines, and dynamic directories
Join Michael and Jake as they dive into Laracon AU highlights, reveal new coffee adventures, and discuss dynamic directories and tenant file storage.
Ep 165Large file uploads, scrambled spotlights, and preparing for Laracon AU
In this episode, Jake and Michael discuss large file uploads without double-handling them, generating API documentation for your app, and the mad rush of the last two weeks before this year's Laracon AUShow linksRodecaster DuoMichael's tattooStoplightScrambleVitepressLaracon AU
Ep 164Dynamic images, Livewire slots, and API-based file uploads
In this episode, Jake and Michael discuss (clever?) ways to generate dynamic images for OpenGraph purposes, how a missing slot variable sent Michael mad, Jake's adventures with API-based file uploads, and some more details about Laracon AU.
Ep 163Fake drivers with Jason Beggs
In this episode, Jake and Michael are joined by Jason Beggs from the Laravel team to discuss the approaches they're taking to fake interaction with third-party services during development of their upcoming product, Laravel Cloud.Show linksJason BeggsLaravel CloudUsing fake providers in developmentDatabase fake
Ep 162Tenanted files, testing batch jobs, and enhanced enumerations
In this episode, Jake and Michael discuss potential security considerations around segmenting file uploads per tenant, approaches to testing batch jobs in Laravel, and perhaps the untold power of using enums in PHP.Show linksTrailer for Mastering PostgresAaron's podcast with Glauber CostaExtending enums with attributesLaracon AU
Ep 161Remote pairing around rounding errors with a pint
In this episode, Jake and Michael discuss (inadvertently) bathing keyboards, pairing with remote colleagues and friends, using rational numbers to deal with rounding errors (sort of), and running code style fixers in CI or as a pre-commit hook. Show linksTupleLaramatesAroundbrick/mathbrick/moneyPintRunning Pint on GitHub ActionsHuskyWhisky
Ep 160The one with environment config
In this episode, Jake and Michael discuss different approaches to configuring a Laravel app, for consistency, security, and shareability among a team and across environments.Show linksAustralian men on the phone to each otherGo ahead, delete your .env.example file
Ep 159The one with bubbly water
In this episode, Jake and Michael discuss the line between soda and bubbly water, Laracon AU, two-way SMS conversations, and the implications of not knowing maths as a programmer.
Ep 158The one with feature flags
In this episode, Jake and Michael discuss feature flags, particularly the freshly-released before hook, and the perils of incorrect eager loading as your application scales.Show linksFool's mateTim MacDonaldIntroduce 'before' hook
Ep 157JSON vs Polymorphism and editable index pages
In this episode, Jake and Michael discuss whether you should push polymorphism to the database or settle for a simple JSON field, and we discuss options for rendering multiple edit fields on an index page.Show linksMy User GuideLiquid Death
Ep 156Music, feature flags, and making the new one do what the old one did
In this episode, Jake and Michael discuss music we're into at the moment, using Pennant for feature flags in Laravel, and the age old set of requirements: "it needs to do everything the old one did"Show linksAudio ReignLouis ColeVulfpeckBurn the JukeboxLaracon AU
Ep 155The one about onboarding junior developers
Jake and Michael discuss bowling, onboarding new junior developers right out of college, and the mindset required to be able to teach people the very basics of programming (and reading).
Ep 154Laravel 11 learnings, nested validation, and the simplicity of Laravel
Jake and Michael discuss some of the gotchas upgrading from a previous version of Laravel to 11.x, integrating a React frontend built in parallel to its backend, nested validation, and the simplicity of using a batteries-included framework like Laravel.Show linksLaravel BootcampLaracastsLaravel Up and RunningOnramp to LaravelLaravel Shift
Ep 153Verbs, stolen chargers, and Laravel 11
In this episode, Jake and Michael discuss Verbs, a take on event sourcing that strives to be simpler and more obvious to grok, children stealing device chargers, and some things to remember when upgrading to Laravel 11.Show linksVerbsLaravel Shift
Ep 152Handling error state, reviewing code, and request data objects
Jake and Michael discuss using state machines to handle accurately and predictably handling error state, reviewing code and having your code reviewed, and converting request objects to data objectsShow links- XState- Jake's State Machine's talk from Laracon US- Spatie's Laravel Data
Ep 151The one with Ripples, Forge previews, and Laracon
Jake and Michael discuss another of Michael's podcasts, Ripples, setting up review sites on Laravel Forge with Ryan Chandler's Forge Previewer, and speaking and attending Laracon(s).Show linksRipplesRyan ChandlerForge PreviewerLaracon USPHPTekHere’s why you should attend Laracon
Ep 150The one about sending email
In this episode, Jake and Michael discuss the differences between transactional and campaign email and some approaches to sending them. We also touch on Jake speaking on PHP[TEK] 2024 on the topic of state machines.Show linksStatechartsXState Visualizerxstate-vizMermaid[PHP]TEK 2024List-Unsubscribe headerGoogle email sender guidelinesSendStackMailCoachConvertKit
Ep 149The one with the keyboards and Filament
Jake and Michael discuss their new keyboards, as well as Jake's somewhat secret usage of Filament for building out some of the user-facing aspects of his main work application.Show linksKeychron K11 ProFilamentKind of annoyed at React
Ep 148The North Meets South meets Cash Money Cowork New Year extravaganza
Ep 147The one with the Lumberjack
Jake and Michael get a sneak peek into Laracon AU 2024, discuss Michael's migration to Snowflakes, and Jake's challenge around preventing multiple windows open for the same application page.Show linksSnowflakesJavaScript doesn’t like large numbersLumberjack Song
Ep 146Looking back on Laracon AU
Jake and Michael look back on the return of Laracon AU after a four-year break.
Ep 145The one with all the JSON API stuff with TJ Miller
Jake and Michael are joined by TJ Miller to try and untangle their confusion about JSON API, Open API, Swagger, and JSON Schema from last episode.This episode is brought to you by our friends at Workvivo - The leading employee communication app.Show linksGenerate API Documentation for Laravel with ScrambleOpenAPIJSON SchemaJSON:APISwaggerJoe Tennanbaum going full Norton Commander with Laravel PromptsRemote Procedure Call (RPC)spatie/laravel-dataPactStoplightRedocSwaggerHubMuleSoftApiary