Over Engineered - podcast cover

Over Engineered

Chris Morrelloverengineered.fm
A podcast where we explore unimportant programming questions (mostly PHP/Laravel/JavaScript) in extreme detail.
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

Fostering Community w/ Alex Hillman

Alex Hillman has been thinking about and actively supporting communities for decades. In this episode, Chris and Alex talk about lessons he's learned along the way that can help meetup organizers tend their local tech communities, and brainstorm about ways that we can organize together to support meetups in general. Links: tiny.mba stackingthebricks.com indyhall.org 10k.city phpx.world...

Jun 26, 20251 hr 42 minEp. 30

Native PHP w/ Simon Hamp

Simon Hamp and Marcel Pociot have been working on NativePHP for a number of years, and Simon just surprised with world at Laracon EU with a NativePHP for Mobile announcement. In this episode, Simon and Chris get deep into the the NativePHP innards, explore sustainable open source, and generally just have a good time for <<checks watch>> over two hours 😅 Links: NativePHP Zephpyr dagger...

Apr 22, 20252 hr 19 minEp. 29

The next era of Larabelles w/ Zuzana Kunckova

Zuzana Kunckova started Larabelles five years ago, and over that time it has grown into an important part of the Laravel community. In today's episode, Zuzana and Chris talk about the future of Larabelles now that she has more time to dedicate to it. Links: Larabelles Sponsor Larabelles on GitHub Sponsor Larabelles on Patreon Other ways to support Larabelles...

Apr 11, 20251 hr 20 minEp. 28

PHP × NYC Chaos-Cast™

What happens when you get a bunch of Laravel podcasters + a bunch of mics in a room? Chaos, apparently. Recorded live after PHP × NYC with Ben Holmen, John Drexler, Daniel Coulbourne, Chris Morrell, Ian Landsman, Dave Hicking, and Joe Tannenbaum.

Apr 07, 20251 hr 11 min

Running Small Teams w/ Dan Matthews & John Rudolph Drexler

There's lots of advice out there for running software teams, but much of it comes from large organizations with dozens or hundreds of developers. Smaller teams have different needs. On today's episode, we pick up from a question Dan asked on Bluesky and talk about how best to approach running a small development team. Links: Dan's Bluesky Post Thunk

Mar 28, 20251 hr 35 minEp. 27

Event Sourcery w/ Shawn McCool

Shawn McCool has been talking about event sourcing for years, and recently started a new series of streams on the topic. In this episode, Chris and Shawn talk about event sourcing, Verbs, and community (among other things). Links: Shawn on Twitch Event Sourcery Verbs...

Nov 26, 20241 hr 53 minEp. 26

Design Patterns w/ Mary Perry

Design patterns can be very useful, but can also be weaponized as a way to "prove" that someone is doing something the "wrong" way. Mary has been thinking a lot about the good side of knowing design patterns, so we sat down to chat about them.

Oct 18, 20241 hr 16 minEp. 25

Side Projects w/ Joe Tannenbaum

Joe Tannenbaum is thinking about starting a podcast about side projects. So we took an afternoon to talk through what that might look like.

Sep 20, 202456 minEp. 24

The Art of Pairing with Strangers w/ Ben Holmen

Ben Holmen started his Pair-amid scheme as an experiment in meeting new people and experiencing new code. He shared his calendar with the world, and booked pairing sessions with 15 complete strangers. The outcome? A bunch of new friends and new experiences. In this episode, Ben and Chris talk about pair programming, side projects, and how to find fulfillment and social connection as a remote programmer. Links: The Pair-amid scheme The kilopixel display...

Aug 26, 20241 hrEp. 23

ReactPHP + Event Loops w/ Len Woodward

ReactPHP is a low-level library for event-driven programming in PHP. It lets you write code that's much closer to the async/await style of JavaScript in PHP. In today's episode, Chris and Len talk about our experiments with ReactPHP. Links: ReactPHP Whiskey Community Prompts Conductor Dawn...

Aug 07, 20241 hr 15 minEp. 22

Code standards w/ Matt Stauffer

What set two developers on a quest to build custom tooling to enforce their code style preferences? Today's episode is a story that starts with two independent projects—Tighten's `tlint` and InterNACHI's `laralint`—but meanders to all the right places, including the future of PHP itself, the intersection of bikeshedding and art, and so much more.

Jul 17, 20241 hr 27 minEp. 21

Burnout w/ Ian Landsman

Today we take a break from over engineering to talk about burnout. Both Chris and Ian have been working on the same products for multiple decades. We sit down to talk about that and what to do about the kind of burnout that comes from working on the same thing for so long. Links: Brent is Leaving Twitter Join the RTSN.DEV mastodon instance

Jul 03, 20241 hr 16 minEp. 20

Let's talk APIs w/ Steve McDougall

Steve McDougall (aka JustSteveKing) is known as the "API guy" on Twitter. In today's episode we start with the question, "what if the best option is just a single page app with a good, RESTful API?" Links: HAL - Hypertext Application Language JSON:API Spec Laravel Sanctum API Versioning Blog Post Steve on Twitter (follow for updates on upcoming course)...

Jun 20, 20241 hr 42 minEp. 19

Full Stack Javascript w/ Kelvin Omereshone

The internet has been talking (yelling?) about full-stack javascript a lot lately. In today's episode, we sit down and talk about what it means to be "full stack" and whether there are really any truly full-stack javascript frameworks out there (spoiler: there are, but maybe not Next.js or Remix). Links: Sails.js The Boring Javascript Stack AdonisJS NestJS 📻 The Future of the Laravel Frontend w/ Taylor Otwell...

May 22, 20241 hr 15 minEp. 18

Building prompts w/ Jess Archer

Jess Archer took something that was quite good—the Symfony console output features—and built something that was absolutely great: Laravel Prompts. In today's episode, we dig into some of the gnarly details around building prompts and working with ANSI escape sequences in the terminal.

May 10, 20241 hr 50 minEp. 17

The Future of the Laravel Frontend w/ Taylor Otwell

Taylor Otwell has been finding ways to improve Laravel for over a decade, but has only more recently set his sights on the front-end side of things. In today's episode, we sit down and talk about the current state of building UIs in Laravel, and what the future might hold. Links: Laravel Volt Aire Form Builder Laravel “Context” Feature Hooks Package Laravel Careers Blade Parser...

Apr 24, 20241 hr 18 minEp. 16

Building for the command line w/ Joe Tannenbaum

Joe Tannenbaum took the internet by storm with his incredible SSH CLI "experiments." In today's episode, Chris and Joe sit down to get into the messy details of parsing ANSI escape sequences and dealing with multibyte strings, but spend as much time talking about programming as art and life as an actor. Links: Joe Tannenbaum on Twitter Joe's "Lab" of CLI experiments "Kitchen" by Liza Lou Conveyor Belt package RTSN.DEV...

Mar 20, 20241 hr 18 minEp. 15

Cache everything w/ Ian Landsman

As the saying goes: "There are only two hard things in Computer Science: cache invalidation and naming things." So in today's episode we dig into all the ways Ian is taking on one of the hardest parts of programming in his rewrite of their decades-running helpdesk software, HelpSpot. We talk about caching, a little bit of Laravel history, and about what it's like to run a successful software business for 20+ years.

Feb 14, 20241 hr 55 minEp. 13

Modular Laravel Apps w/ Mateus Guimarães

When applications grow—in scope, sheer lines of code, or the number of team members—how you organize things starts to matter a whole lot more. In today's episode, we talk with Mateus Guimarães about modularization: breaking your application into smaller modules. We explore some of the topics in his new Laracasts course , and talk about the decisions that informed building the modular package at InterNACHI....

Jan 17, 20241 hr 32 minEp. 11

Building Forms (and Catalyst) w/ Adam Wathan

It's been said that web development is 99% forms and tables. Today we talk with Adam Wathan about all the decisions that go into creating a great form builder API. Adam and the rest of the team at Tailwind recently launched the developer preview of Catalyst —a React UI library with a robust form system. We take a deep-dive into the API decisions behind Catalyst, and talk about how some of those decisions could impact the next version of Aire , a Laravel form-building package....

Jan 11, 20241 hr 10 minEp. 10

Static site generators & personal websites w/ Aaron Francis

We all use our personal websites as an excuse for trying something new or over engineering what's usually a simple, low traffic site. In today's episode, Chris and Aaron talk about how to build a great personal website with "just Laravel" and imagine ways that static site generation, markdown editing, open graph, caching, SEO, and more could be improved in the Laravel ecosystem.

Dec 14, 20231 hr 3 minEp. 9

Perfecting lifecycle hooks w/ Caleb Porzio

In today's episode, Chris and Caleb sit down and try to imagine what the perfect "hook" implementation might look like. Laravel, Livewire, and the upcoming Verbs package, all have to allow for hooking into logic at specific points, and each package has to handle this in its own unique way. What if there was a canonical way to hook into the lifecycle of a package that worked across the whole Laravel (and maybe beyond?) ecosystem?

Nov 07, 20231 hr 16 minEp. 8

Verbs vacation (part 1?) w/ Daniel Coulbourne

And now for something completely different… In this episode, Chris and Daniel sit down to talk about a new event sourcing package they're working on called Verbs.

Sep 14, 20231 hr 24 minEp. 7

Customizing outgoing email

Most teams have encountered this basic scenario: Your application sends out a periodic report to a specific person in the company. Then, at some later point, either another team member wants to start receiving a copy of the report, or you need to remove the original recipient and add a new one. With a standard Laravel app, you're probably going to need to make this change by deploying a change—either to the environment, or a config file, or the Mailable class itself. In today's episode we dig in...

Jul 07, 20231 hr 23 minEp. 6

What about event sourcing?

In this episode we indulge in the purest form of Over Engineering—a 90 minute discussion of a completely different application paradigm/architecture. Our team has used event sourcing to some degree, and we're considering using it more heavily in the future. But before we do, we're going to step back and ask ourselves if it's worth it… Some useful links: Event Sourcery YouTube Series Spatie Event Sourcing Package Spatie Event Sourcing Course (paid) Event Sauce (and Spatie Laravel wrapper )...

Apr 28, 20231 hr 31 minEp. 5

The dreaded status column w/ Daniel Coulbourne + Cheyne Rood

Over Engineered is all about those things that bug you but you never get a chance to "solve." Today's episode is about the dreaded "status" column. This is another topic that most developers will hit over and over. You have a model. You need to track the status. You add a status column, and then later a status timestamp "accepted_at", and then later an "accepted_by" column—and each time you cringe and wish there was a better way. Today we discuss a better way… maybe?

Apr 19, 20231 hr 27 minEp. 4

Referencing specific database records in your code

Season 1 continues with a discussion of how to deal with special database records that need to be referenced directly in code. We've all been there before: you've got a specific vendor that you need to write a custom command for, or a certain category that needs special handling, so you either hard-code the ID or slug and shudder slightly before moving on with your life. In this episode, we imagine a better—perhaps the best, even—way!

Mar 31, 20231 hr 1 minEp. 3

Over-engineering migrations even more w/ Tim MacDonald!

In the second episode of the podcast we talk with Tim MacDonald about a few other approaches to how you might manage other operations that happen before/during/after a database migration (or really any deploy step). Tim pitches a lower-level approach that spawns a whole new line of thinking. We also touch on some of the responses to episode one, including: Ed Grosvenor's "run once" command Lukas Heller's mention of the "path" option in artisan migrations Brendan White's blog post on Data Changes...

Mar 06, 20231 hr 16 minEp. 2
For the best experience, listen in Metacast app for iOS or Android