North Meets South Web Podcast
Episodes
Gents on Gent with David Hemphill
23 Apr 2026
Contributed by Lukas
Michael and Jake are joined by David Hemphill to discuss David's macOS app Gent, a task runner built on the "Ralph loop" pattern for AI-powered coding...
Flight booking mistakes, Laracon AU, and dead letters
09 Apr 2026
Contributed by Lukas
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...
OIDC, bastion hosts, and production safety
19 Mar 2026
Contributed by Lukas
In this episode, Jake and Michael dive into modern infrastructure security practices, sparked by an annual audit and the painful process of rotating A...
Worktree structures, workflow events, and enum metadata
05 Mar 2026
Contributed by Lukas
In this episode, we discuss using `claude --worktree` to spin up parallel feature work, and the unexpected friction that can arise when your editor do...
Charging chaos, corona discharge, and vector embeddings
19 Feb 2026
Contributed by Lukas
Michael and Jake discuss Jake's device charging chaos, household optimisation, international power outlets, and vector embeddings.Show linksGitryinMag...
OpenClaw, Arbor, and horseless carriages
05 Feb 2026
Contributed by Lukas
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 ...
When AI clicks, automation at home, and developer workflows
22 Jan 2026
Contributed by Lukas
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 ...
Choose your hard
09 Oct 2025
Contributed by Lukas
Michael and Jake open with retro arcade serendipity (a Mortal Kombat cabinet sighting!) and tumble into family bowling, kid-approved card games, and w...
Controllers and Middleware, Grok vs. Claude, and Developer Value
25 Sep 2025
Contributed by Lukas
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 thin...
LawnHub, Saloon, and Salesforce
11 Sep 2025
Contributed by Lukas
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...
Soccer terror, conference swag, and Omarchy (btw)
28 Aug 2025
Contributed by Lukas
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...
Laracon recap, eleven stations, and Laravel meetups
14 Aug 2025
Contributed by Lukas
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...
Laracon, controller middleware, and permissions
11 Jul 2025
Contributed by Lukas
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...
Flavours of busy, restrained features, and variable static views
26 Jun 2025
Contributed by Lukas
In this episode, Jake and Michael discuss the nuance of being “busy”, saying no to features (and why), handling user feedback early, Laravel-power...
Liquid glass, video thumbnails, and children growing up
12 Jun 2025
Contributed by Lukas
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 ...
Stealth grills, metric takeover, and selecting conference talks
22 May 2025
Contributed by Lukas
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 measuremen...
Constant interfaces, nested input, and array access
08 May 2025
Contributed by Lukas
In this episode, Jake and Michael discuss using interfaces as a dictionary of constants, working with and testing inputs passed down multiple layers o...
Laracon AU, queued batches, and leveraging AI
24 Apr 2025
Contributed by Lukas
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 fi...
New setups, Saloon SDKs, and configuring Horizon
10 Apr 2025
Contributed by Lukas
In this episode, Jake and Michael discuss Michael's new recording gear, building integrations with external APIs using Saloon, and configuring Laravel...
Concentric circles, eloquent values, and application monitoring
06 Mar 2025
Contributed by Lukas
In this episode, Jake and Michael discuss circles of influence and information, eloquently handling return of single values from the database, and mon...
Succession plans, unused features, and testing living systems
20 Feb 2025
Contributed by Lukas
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 ba...
Luka and AD, Laracon US, and pitching our Laracon talks
06 Feb 2025
Contributed by Lukas
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...
Old packages, Laravel upgrades, and breaking changes
16 Jan 2025
Contributed by Lukas
Jake and Michael recap their Christmas and New Year break, talk through lingering packages, Laravel 11 upgrades, and breaking changes in PHPUnit.
North Meets South meets Slightly Caffeinated meets David Hemphill Christmas Extravaganza
19 Dec 2024
Contributed by Lukas
Join Jake, Michael, David, TJ, and Chris for a merry chat about tech, holiday antics, and the entertaining Wheel of Fortune game!## LinksEngineering M...
Loud coffee machines, Prezet, recursion, and staging environments
05 Dec 2024
Contributed by Lukas
Join Michael and Jake as they explore noisy coffee machines, dive into documentation challenges with Prezet, and discuss the nuances of sandbox enviro...
Laracon AU retro, coffee machines, and dynamic directories
21 Nov 2024
Contributed by Lukas
Join Michael and Jake as they dive into Laracon AU highlights, reveal new coffee adventures, and discuss dynamic directories and tenant file storage.
Large file uploads, scrambled spotlights, and preparing for Laracon AU
24 Oct 2024
Contributed by Lukas
In this episode, Jake and Michael discuss large file uploads without double-handling them, generating API documentation for your app, and the mad rush...
Dynamic images, Livewire slots, and API-based file uploads
10 Oct 2024
Contributed by Lukas
In this episode, Jake and Michael discuss (clever?) ways to generate dynamic images for OpenGraph purposes, how a missing slot variable sent Michael m...
Fake drivers with Jason Beggs
26 Sep 2024
Contributed by Lukas
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 th...
Tenanted files, testing batch jobs, and enhanced enumerations
12 Sep 2024
Contributed by Lukas
In this episode, Jake and Michael discuss potential security considerations around segmenting file uploads per tenant, approaches to testing batch job...
Remote pairing around rounding errors with a pint
22 Aug 2024
Contributed by Lukas
In this episode, Jake and Michael discuss (inadvertently) bathing keyboards, pairing with remote colleagues and friends, using rational numbers to dea...
The one with environment config
08 Aug 2024
Contributed by Lukas
In this episode, Jake and Michael discuss different approaches to configuring a Laravel app, for consistency, security, and shareability among a team ...
The one with bubbly water
25 Jul 2024
Contributed by Lukas
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 k...
The one with feature flags
11 Jul 2024
Contributed by Lukas
In this episode, Jake and Michael discuss feature flags, particularly the freshly-released before hook, and the perils of incorrect eager loading as y...
JSON vs Polymorphism and editable index pages
27 Jun 2024
Contributed by Lukas
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 optio...
Music, feature flags, and making the new one do what the old one did
29 May 2024
Contributed by Lukas
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 requireme...
The one about onboarding junior developers
02 May 2024
Contributed by Lukas
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 ...
Laravel 11 learnings, nested validation, and the simplicity of Laravel
23 Apr 2024
Contributed by Lukas
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 i...
Verbs, stolen chargers, and Laravel 11
04 Apr 2024
Contributed by Lukas
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 devic...
Handling error state, reviewing code, and request data objects
06 Mar 2024
Contributed by Lukas
Jake and Michael discuss using state machines to handle accurately and predictably handling error state, reviewing code and having your code reviewed,...
The one with Ripples, Forge previews, and Laracon
21 Feb 2024
Contributed by Lukas
Jake and Michael discuss another of Michael's podcasts, Ripples, setting up review sites on Laravel Forge with Ryan Chandler's Forge Previewer, and sp...
The one about sending email
10 Feb 2024
Contributed by Lukas
In this episode, Jake and Michael discuss the differences between transactional and campaign email and some approaches to sending them. We also touch ...
The one with the keyboards and Filament
24 Jan 2024
Contributed by Lukas
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 ...
The North Meets South meets Cash Money Cowork New Year extravaganza
10 Jan 2024
Contributed by Lukas
The one with the Lumberjack
13 Dec 2023
Contributed by Lukas
Jake and Michael get a sneak peek into Laracon AU 2024, discuss Michael's migration to Snowflakes, and Jake's challenge around preventing multiple win...
Looking back on Laracon AU
30 Nov 2023
Contributed by Lukas
Jake and Michael look back on the return of Laracon AU after a four-year break.
The one with all the JSON API stuff with TJ Miller
12 Oct 2023
Contributed by Lukas
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...
DIY woodwork, React micro-frontends, and confusing OpenJSONAPISchema
28 Sep 2023
Contributed by Lukas
In this episode, Jake and Michael discuss building your own monitor stand, the mysterious world of React micro-frontends, and get confused about JSON ...
Dads in Dev, cloud services, and static-site generation
13 Sep 2023
Contributed by Lukas
In this episode, Jake and Michael discuss using Airdrop to simplify and speed up your asset compilation and application deployment, restricting access...
Airdrop, user-specific S3, and frontend complexity
31 Aug 2023
Contributed by Lukas
In this episode, Jake and Michael discuss using Airdrop to simplify and speed up your asset compilation and application deployment, restricting access...
State machines, pending objects, and named constructors
16 Aug 2023
Contributed by Lukas
Jake shares news of a package he's working on to help define state charts in PHP, then we get into the weeds on the pending object paradigm, as well a...
The one with the successful first-time conference speaker
02 Aug 2023
Contributed by Lukas
Jake and Michael (but mostly Jake) share some advice that might help some first-time conference speakers when they're preparing to give their talks.Sh...
Sipping Whisk(e)y with Len Woodward
27 Jun 2023
Contributed by Lukas
Jake and Michael are joined by Len Woodward to discuss sharing git hooks over Whisk(e)y and lifecycle hooks in Laravel.Show linksLen WoodwardWhiskyLif...
World champions, deploying from GitHub Actions, and feature flags
13 Jun 2023
Contributed by Lukas
Jake and Michael discuss the world champion Denver Nuggets, building assets and deploying apps in GitHub Actions, and feature flags with Laravel Penna...
Bitmasks, reflected DTOs, and Aaron Francis
30 May 2023
Contributed by Lukas
After (another) month-long, scheduling-conflict hiatus, Jake and Michael are back!This episode is brought to you by our friends at Workvivo - The lead...
We're back, Laracon AU is back, and state machines are back
19 Apr 2023
Contributed by Lukas
After a month-long, scheduling-conflict hiatus, Jake and Michael are back.Laracon AU is back!And our favourite topic, state machines, is back!
Upgrading Laravel, static analysis, and speeding up tests
09 Mar 2023
Contributed by Lukas
Jake and Michael discuss the very, very, very momentous occasion of Michael finally getting to work both a modern version of Laravel and PHP, some o...
Be kind. Speak truth. Don’t wait. with Matt Stauffer
22 Feb 2023
Contributed by Lukas
Jake and Michael are joined by Matt Stauffer to discuss his journey and taking over more of an operational role within the consultancy he co-founded, ...
The one about line feeds and carriage returns
07 Feb 2023
Contributed by Lukas
Jake and Michael discuss the perils of line feeds (and sometimes carriage returns), snapshot testing, and dealing with false-positives when processing...
The one about permissions
24 Jan 2023
Contributed by Lukas
Jake and Michael discuss some different approaches to role-based permissions, and how to tackle assignment, management, and authorisation of them.This...
A Belated Christmas Extravaganza
10 Jan 2023
Contributed by Lukas
Jake and Michael are joined by TJ Miller (still not the actor), Chris Gmyr, and David Hemphill (neither of whom are actors, either) to look back at 20...
The one about documentation
06 Dec 2022
Contributed by Lukas
Jake and Michael discuss the various forms of documentation that can live within an organisation, where to put it, how to find it, and how to keep it ...
Developer's Minifesto, agile theatre, and misccellaneous rambling
11 Nov 2022
Contributed by Lukas
Jake and Michael discuss the developer's minifesto, some of the theatre that goes into organisational Agile, and Michael goes off on some incoherent r...
Evaluating value objects, unspeakable forks, and moving validation down
25 Oct 2022
Contributed by Lukas
In this episode, Jake and Michael talk more about using value objects, forking Saloon and backporting it for PHP 7.4 support, and moving validation de...
Encrypted environments, encrypted data, and magic constructors
12 Oct 2022
Contributed by Lukas
Jake and Michael discuss the new environment encryption functionality in Laravel, encrypting application data, and using (very?) magic named construct...
Scheduling conflicts, validation beyond the request, and the return of in-person events
27 Sep 2022
Contributed by Lukas
Jake and Michael discuss some ways to leverage Laravel's validation functionality along with value objects to improve your validation logic, refactori...
Using SOAP with Luke Downing
30 Aug 2022
Contributed by Lukas
Jake is joined by Luke Downing to discuss working with and testing SOAP interfaces with modern PHP.This episode is sponsored by Workvivo.Show linksLuk...
Iterating on large features, bubbling exceptions, and composable actions
15 Aug 2022
Contributed by Lukas
Jake and Michael discuss approaches to building multi-week features, leaning on Laravel to handle bubbling up of exceptions, and using composable acti...
Migrating from Vapor, green energy, and housing your validation
03 Aug 2022
Contributed by Lukas
Jake and Michael discuss migrating thenping.me off of Laravel Vapor and the teething issues that ensued, which somehow segued into provisioning of gre...
Managing integrations, gently improving coding practices, and housing your validation
18 Jul 2022
Contributed by Lukas
Jake and Michael discuss using the concepts within Saloon to manage integrations with third party APIs, how a newcomer to a business can help an exist...
Speeding towards Vite, Shifty workbenches, and documenting your applications with JMac
06 Jul 2022
Contributed by Lukas
Jake and Michael are joined by Laravel Shift's Jason McCreary (JMac) to discuss to latest frontend tooling for Laravel, Shift Workbench, and approache...
Keeping review time down, deleting your .env.example file, and securing your secrets
22 Jun 2022
Contributed by Lukas
Jake and Michael discuss some approaches to keeping pull request review times short, and using 1Password to free you of having to keep track of your e...
Electric trucks, multiversal madness, and choosing TALL
23 May 2022
Contributed by Lukas
Jake and Michael discuss pool pumps, electric trucks, Doctor Strange (no spoilers), and when you might choose and use the TALL stack.This episode is s...
Refining workflows, social media rabbit holes, and migrating from Bootstrap
10 May 2022
Contributed by Lukas
Jake and Michael discuss Australians pronouncing words, Matt Stauffer's glorious beard, with a treacherous detour into recent political discussion, be...
A boy's first footy game, scheduling Vestaboard messages, and a thenping.me update
25 Apr 2022
Contributed by Lukas
In this episode, Jake and Michael discuss Michael taking his son to his first game of footy, approaches to handling variable message scheduling for Ja...
Vim throwdown, Part 4
11 Apr 2022
Contributed by Lukas
In this episode, Jake and Michael are joined by Eric Van Johnson to talk more about Vim, using Vim bindings in other editors, similarities and differe...
Vim throwdown, Part 3
29 Mar 2022
Contributed by Lukas
In this episode, Jake and Michael are joined by Jess Archer to talk more about Vim, covering motions, text objects, managing projects, working with tm...
Vim throwdown, Part 2
14 Mar 2022
Contributed by Lukas
In this episode, Jake and Michael continue their journey down the Vim rabbit hole, and cover thrilling topics such as the leader key, custom bindings,...
Vim throwdown, Part 1
28 Feb 2022
Contributed by Lukas
In this episode, Jake and Michael are joined by Jesse Leite, and kick off a mini-series on using Vim for PHP development.This episode is sponsored by ...
Using Saloon to integrate external APIs with Sam Carré
14 Feb 2022
Contributed by Lukas
In this episode, Jake catches up with Sam Carré again to discuss his latest package, Saloon, which gives you a beautiful, standardised way to build y...
Cured mystery meats, faking Wordle, and SMS as an app interface
31 Jan 2022
Contributed by Lukas
In this episode, Jake and Michael discuss delicious cured mystery meats, faking Wordle as a form of code Kata, and using SMS as an interface to your a...
New year, new job, new start
17 Jan 2022
Contributed by Lukas
In this episode, Jake and Michael discuss Michael's new job, YAGNI, and approaches to working your way into a new codebase and a new industry.This epi...
A Christmas Extravaganza
20 Dec 2021
Contributed by Lukas
Jake and Michael are joined by No Plans To Merge's Caleb Porzio and Daniel Coulbourne, as well as TJ Miller (not the actor), and Chris Gmyr to look ba...
Industrial shifts, polymorphism, and single table inheritance
06 Dec 2021
Contributed by Lukas
In this episode, Jake and Michael discuss Michael's change in job (again), and when you might choose single table inheritance over polymorphism.This e...
Authoring Statamic content with Jesse Leite
08 Nov 2021
Contributed by Lukas
In this episode, Jake and Michael are joined by Statamic's Jesse Leite to discuss some of the various content authoring strategies available in the fl...
Programming in pairs, statically generated PHP, and how even does Statamic work?
24 Oct 2021
Contributed by Lukas
In this episode, Jake and Michael discuss a number of tools used for pair programming, approaches to statically generating sites in PHP, and show that...
Bringing tests into vanilla PHP apps, trust over process, and seeding tests
11 Oct 2021
Contributed by Lukas
In this episode, Jake and Michael discuss the all the work to consider before introducing tests to a vanilla PHP app, trusting people over adding laye...
Augmenting, refactoring, and modernising deeply legacy code
27 Sep 2021
Contributed by Lukas
In this episode, Jake and Michael discuss some of the challenges faced when modernising deeply legacy PHP applications.This episode is sponsored by Ma...
PHP 8.1, DTOs, and optimising your database
12 Sep 2021
Contributed by Lukas
In this episode, Jake and Michael remember 9/11, talk about upcoming PHP 8.1 features, Data Transfer Objects, and approaches to optimising your databa...
Finals footy, deeply legacy code, and testing Laravel Spark
29 Aug 2021
Contributed by Lukas
In this episode, Jake and Michael discuss 2021's AFL finals series, cricket, reinvigorating deeply legacy code, and some approaches for testing Larave...
Riding Sidecar with Aaron Francis
15 Aug 2021
Contributed by Lukas
In this episode, Jake speaks with Aaron Francis about his project Sidecar.This episode is sponsored by Makeable.dk and Workvivo.Show linksSidecarTorch...
Reminiscing, testing validation, and (not) paddlin' your database
01 Aug 2021
Contributed by Lukas
In this, our 100th episode, Jake and Michael reminisce over the past five years of the show, discuss having (and then not having) kids, testing form v...
Hiring developers, managing projects, and bases of knowledge
06 Jul 2021
Contributed by Lukas
In this episode, Jake and Michael discuss some different approaches (or lack thereof) and tools for managing development projects, hiring developers, ...
Going freelance with Yaz Jallad
20 Jun 2021
Contributed by Lukas
In this episode, Jake and Michael are joined by Yaz Jallad as he embarks on the journey of becoming a full time freelancer.This episode is sponsored b...
Conquering completion, Vim, and Intelephense
30 May 2021
Contributed by Lukas
In this episode, Jake and Michael dive into Michael's Vim and his attempts to #DispelTheMyth around how much work is required to make it a solid optio...
World of Warcraft, Kool Aid, and Wizards
18 May 2021
Contributed by Lukas
In this episode, Jake and Michael discuss developing multi-step wizards using Alpine.js and Tailwind, the perils of supporting non-evergreen (Safari) ...
THAT company policy, blindfolded development, and sharpening saws
03 May 2021
Contributed by Lukas
In this episode, Jake and Michael discuss that company policy take, developing code in isolation from the system it's being developed for, and the tra...
Migrating infants, user-controlled task settings, and evolutionary development
18 Apr 2021
Contributed by Lukas
In this episode, Jake and Michael discuss the arduous task of moving an infant into their own room, how we're going to handle user-controlled task set...
Integrating phone systems, rapidly building apps with Tailwind UI, and dynamically updating Blade components
04 Apr 2021
Contributed by Lukas
In this episode, Jake and Michael discuss integrating with hosted phone systems, quickly scaffolding out applications with Tailwind UI, and dynamicall...
Swinging the Lasso with Sam Carré
21 Mar 2021
Contributed by Lukas
In this episode, Jake speaks with the creator of Lasso, Sam Carré.Show linksSam CarréLasso - Asset wrangling for Laravel made simple