Over Engineered cover image

Over Engineered

Latest episodes

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?
undefined
Mar 31, 2023 • 1h 1min

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!
undefined
Mar 6, 2023 • 1h 16min

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" commandLukas Heller's mention of the "path" option in artisan migrationsBrendan White's blog post on Data Changes in Laravel
undefined
Feb 15, 2023 • 1h 6min

The line between migration and…?

In the first episode of the podcast we explore the boundary between database migrations and other operations that need to happen when the database is being migrated. How do you seed or manipulate data after new tables or columns have been added? In migrations? In one-off commands that you have to run manually? Running seeders in production? In tinker, Nova, or TablesPlus? We spend a whole hour talking about a topic that most people decide on in a few minutes.Items discussed on show:Chris' initial Twitter pollActions by The Dragon CodeLaravel Actions

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode