Episodes

Latest Episode
Understanding how Stringable works inside Blade views

Understanding how Stringable works inside Blade views

Episode 127 · · 10:58

Joel and Aaron dig into Laravel’s `Stringable` class and uncover how it can silently skip Blade’s automatic HTML escaping. They explain why that’s both a convenient feature and a pot...

Finishing up our discussion on not having time

Finishing up our discussion on not having time

Episode 126 · · 11:41

Picking up where last week’s “Why ‘no time’ really means ‘no priority’” left off, Joel and Aaron tackle the next hurdle: what to do once the benefits are crystal‑clear but you (or yo...

Why “no time” really means “no priority”

Why “no time” really means “no priority”

Episode 125 · · 11:27

Joel and Aaron tackle the common objection, “We don’t have time,” and show why it usually hides a priority problem. They discuss how to convey the true payoff of process improvements...

When validation can protect your app's performance

When validation can protect your app's performance

Episode 124 · · 12:12

Joel and Aaron show how ignoring GET request validation can cause performance issues and open your application to abuse. They highlight the importance of bounding pagination and shar...

Stick with conventions and avoid overengineering your Laravel app

Stick with conventions and avoid overengineering your Laravel app

Episode 123 · · 08:41

Joel and Aaron explore why pushing too many layers of abstraction can backfire in a Laravel application. They highlight the benefits of sticking to the framework’s conventions for lo...

When to bring in outside help

When to bring in outside help

Episode 122 · · 10:57

Joel and Aaron explore the decision-making process behind hiring or consulting an expert for technical challenges. They discuss examples like adding tests to a large codebase and und...

Why two databases are better than one

Why two databases are better than one

Episode 121 · · 14:49

Joel and Aaron discuss the benefits of having distinct databases for testing and local development. They share how this approach ensures a reliable test suite and avoids conflicts wi...

Dealing with being a beginner again

Dealing with being a beginner again

Episode 120 · · 14:11

In this episode, Joel and Aaron discuss the struggles of learning new technology on a late-night side project. They share tips for handling frustration and managing expectations.Don'...

Making short demo videos count

Making short demo videos count

Episode 119 · · 09:37

Joel and Aaron explore the value of using concise video demos instead of long emails or scattered screenshots. They discuss which clients benefit from quick visuals and when text is ...

Examining test layering in multi-tenant requests

Examining test layering in multi-tenant requests

Episode 118 · · 13:32

Joel and Aaron debate how to structure multi-tenant API requests and tests. They explore the interplay between authentication, tenant headers, and different levels of validation. In ...

When to step outside of Eloquent's comfort zone

When to step outside of Eloquent's comfort zone

Episode 117 · · 12:28

Joel and Aaron explore the nuances of when to venture beyond Eloquent in Laravel applications. They discuss specific scenarios where using lower-level database tools might be necessa...

Feature flags: Temporary tool or permanent solution?

Feature flags: Temporary tool or permanent solution?

Episode 116 · · 10:13

Joel and Aaron dive into a friendly debate about the true nature of feature flags in software development. Drawing from their varied experiences across different programming language...

Deciding when to use a new piece of technology

Deciding when to use a new piece of technology

Episode 115 · · 14:26

Ooh, something new was just announced. And I have this project coming up. It could be perfect! But should I use it?On today's episode of No Compromises, Aaron and Joel share a conver...

Taking liberties with value objects

Taking liberties with value objects

Episode 114 · · 12:23

Programmers love geeking out and creating specialized terms and vocabulary. Well I can do that too. In today's episode, we talk about "value objects", put our own special definition ...

How to deal with things outside your control on a dev project

How to deal with things outside your control on a dev project

Episode 113 · · 10:26

Have you ever struggled working with a third party on one of your developer projects? How do you handle that, keeping it professional and also still able to meet your commitments?In ...

Should we use a JSON field for this?

Should we use a JSON field for this?

Episode 112 · · 14:20

JSON fields can be very useful, but when is a good time to include them in your database design? In today's episode of No Compromises, Aaron and Joel use a couple examples from recen...

A balanced approach to static analysis in Laravel apps

A balanced approach to static analysis in Laravel apps

Episode 111 · · 11:59

Static types and tooling have increased the quality of our apps, but sometimes certain features in your Laravel app don't play nicely with static analysis. In today's episode, we tal...

Why do we like testing so much?

Why do we like testing so much?

Episode 110 · · 12:09

I write a lot about testing in the Mastering Laravel newsletter. Ever wonder why it's a topic I care so much about? In today's episode, we discuss that question and come up with a fe...

What does it mean to "know" something?

What does it mean to "know" something?

Episode 109 · · 09:37

What does it really mean when you say you know a particular technology? On today's episode, we discuss this using TypeScript as a specific example.Want help with your Laravel or PHP ...

How to approach being wrong

How to approach being wrong

Episode 108 · · 12:16

Programmers are not shy about telling other programmers when they're wrong. But what can we learn in a situation like his? How can we be wrong with style? In this episode, Aaron and ...