
Aaron Saray
Appears in 132 Episodes
Blade includes vs components: how we decide
Blade gives you two big levers for keeping views maintainable: @include and Blade components.When should you use one versus the other?Does it matter?In the latest epis...
Changing your mind about when() and unless() in Eloquent
Aaron admits he used to wrap every query in plain old if-statements—until Laravel’s when()/unless() helpers (and arrow functions) won him over. He and Joel compare the...
Finding a code-review style that fits your brain
Joel and Aaron compare two very different ways to tackle pull-requests—reviewing them commit-by-commit or scanning the whole thing at once. They dig into when each app...
Never take hostages: give clients control from day one
Joel and Aaron explain why every project should start in the client’s own GitHub organization—even when the client has never heard of Git. They share scripts, onboardi...
Balancing test coverage without chasing 100 percent
Joel and Aaron unpack how they use code-coverage numbers as a starting signal rather than a finish line. They discuss realistic thresholds, choosing the right tool for...
Exploratory coding when requirements are fuzzy
Joel and Aaron unpack a recent client project where the only spec was “make these two systems talk.” They share how console-level prototypes helped them clarify data m...
Understanding how Stringable works inside Blade views
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 fe...
Finishing up our discussion on not having time
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...
Why “no time” really means “no priority”
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 proce...
When validation can protect your app's performance
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 pagi...
Stick with conventions and avoid overengineering your Laravel app
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 con...
When to bring in outside help
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 c...
Why two databases are better than one
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 avoi...
Dealing with being a beginner again
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 ex...
Making short demo videos count
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 an...
Examining test layering in multi-tenant requests
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 ...
When to step outside of Eloquent's comfort zone
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 m...
Feature flags: Temporary tool or permanent solution?
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 progr...
Deciding when to use a new piece of technology
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...
Taking liberties with value objects
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 spec...