Over Engineered

Chris Morrell
undefined
Feb 14, 2024 • 1h 55min

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.
undefined
Feb 2, 2024 • 1h 9min

Handling complicated view logic w/ Skyler Katz & Bogdan Kharchenko

Complex view logic can be hard to get right—particularly in server-rendered templates like Blade. We recently had to decide just how much a Laravel Blade component should do, and decided to hash it out on the podcast.
undefined
Jan 17, 2024 • 1h 32min

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.
undefined
Jan 11, 2024 • 1h 10min

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.
undefined
Dec 14, 2023 • 1h 3min

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.
undefined
Nov 7, 2023 • 1h 16min

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?
undefined
Sep 14, 2023 • 1h 24min

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.
undefined
Jul 7, 2023 • 1h 23min

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 into ways we could make it possible for non-technical users to manage outgoing email messages: from the recipient(s), to the message content, to even the logic that determines when and if a message is sent.
undefined
Apr 28, 2023 • 1h 31min

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 SeriesSpatie Event Sourcing PackageSpatie Event Sourcing Course (paid)Event Sauce (and Spatie Laravel wrapper)
undefined
Apr 19, 2023 • 1h 27min

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?

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app