<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>joeymckenzie.tech</title><description>Writing about software, mostly.</description><link>https://joeymckenzie.tech/</link><item><title>Artisanally Laravibing</title><link>https://joeymckenzie.tech/blog/artisanally-laravibing/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/artisanally-laravibing/</guid><description>Singularity or not, I&apos;m just along for the ride.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Local Laravel with nix and devenv</title><link>https://joeymckenzie.tech/blog/local-laravel-with-nix/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/local-laravel-with-nix/</guid><description>We have Herd at home.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Wonderful world of worktrees (and Laravel)</title><link>https://joeymckenzie.tech/blog/wonderful-world-of-worktrees-and-laravel/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/wonderful-world-of-worktrees-and-laravel/</guid><description>Worktrees... SO hot right now!</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Terminally driven, Laravel inspired</title><link>https://joeymckenzie.tech/blog/terminally-driven-laravel-inspired/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/terminally-driven-laravel-inspired/</guid><description>Neovim (btw)</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Parallel testing with Pest and SQLite</title><link>https://joeymckenzie.tech/blog/parallel-testing-with-pest-and-sqlite/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/parallel-testing-with-pest-and-sqlite/</guid><description>I live my life one parallel test at a time...</description><pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Content caching with Statamic</title><link>https://joeymckenzie.tech/blog/content-caching-with-statamic/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/content-caching-with-statamic/</guid><description>Cachin&apos; checks, breakin&apos; (bottle)necks.</description><pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Dynamic error assertions with PHPStan</title><link>https://joeymckenzie.tech/blog/dynamic-error-assertions-with-phpstan/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/dynamic-error-assertions-with-phpstan/</guid><description>This blog post could have been tweet, but yet here I am.</description><pubDate>Tue, 11 Mar 2025 00:00:00 GMT</pubDate><category>php</category></item><item><title>Adventures with PHP, APIs, and sharing types with PHPStan</title><link>https://joeymckenzie.tech/blog/adventures-with-php-apis-and-sharing-types-with-phpstan/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/adventures-with-php-apis-and-sharing-types-with-phpstan/</guid><description>I like my PHP like I like my Rust... statically analyzed.</description><pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate><category>php</category></item><item><title>Dapper multi-mapping relationships and value equality</title><link>https://joeymckenzie.tech/blog/dapper-multi-mapping-relationships-and-value-equality/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/dapper-multi-mapping-relationships-and-value-equality/</guid><description>So long, IEqualityComparer&lt;T&gt;, you&apos;ll be sorely missed.</description><pubDate>Wed, 20 Mar 2024 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Exploring developer experience with PHP, public APIs, and beer</title><link>https://joeymckenzie.tech/blog/exploring-developer-experience-with-php-public-apis-and-beer/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/exploring-developer-experience-with-php-public-apis-and-beer/</guid><description>It&apos;s 2024... and PHP still isn&apos;t dead?!</description><pubDate>Tue, 05 Mar 2024 00:00:00 GMT</pubDate><category>php</category></item><item><title>Content-driven websites with PHP and Laravel</title><link>https://joeymckenzie.tech/blog/content-driven-websites-with-php-and-laravel/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/content-driven-websites-with-php-and-laravel/</guid><description>It&apos;s PHPin&apos; time!</description><pubDate>Sun, 03 Dec 2023 00:00:00 GMT</pubDate><category>laravel</category></item><item><title>Rust, AWS Lambda, and too many Office quotes</title><link>https://joeymckenzie.tech/blog/rust-aws-lambda-and-too-many-office-quotes/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/rust-aws-lambda-and-too-many-office-quotes/</guid><description>Identity theft is not a joke, Jim!</description><pubDate>Thu, 02 Nov 2023 00:00:00 GMT</pubDate><category>rust</category></item><item><title>.NET Core service lifetimes in a nutshell</title><link>https://joeymckenzie.tech/blog/net-core-service-lifetimes-in-a-nutshell/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/net-core-service-lifetimes-in-a-nutshell/</guid><description>Singleton? More like single... not. I&apos;m sorry.</description><pubDate>Wed, 23 Aug 2023 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Back to the server with Rust, Axum, and htmx</title><link>https://joeymckenzie.tech/blog/back-to-the-server-with-rust-axum-and-htmx/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/back-to-the-server-with-rust-axum-and-htmx/</guid><description>(Insert meme about React devs rediscovering the magic of PHP and ASP).</description><pubDate>Tue, 11 Jul 2023 00:00:00 GMT</pubDate><category>rust</category></item><item><title>Ziggin&apos; around with linked lists</title><link>https://joeymckenzie.tech/blog/ziggin-around-with-linked-lists/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/ziggin-around-with-linked-lists/</guid><description>Flashback to detecting loops in a list on a whiteboard...</description><pubDate>Tue, 23 May 2023 00:00:00 GMT</pubDate><category>zig</category></item><item><title>Learning to fly with Rust and Postgres</title><link>https://joeymckenzie.tech/blog/learning-to-fly-with-rust-and-postgres/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/learning-to-fly-with-rust-and-postgres/</guid><description>If it can be Dockerized, it can be deployed.</description><pubDate>Wed, 05 Apr 2023 00:00:00 GMT</pubDate><category>rust</category></item><item><title>Going serverless with Rust and Shuttle</title><link>https://joeymckenzie.tech/blog/going-serverless-with-rust-and-shuttle/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/going-serverless-with-rust-and-shuttle/</guid><description>Managing infrastructure sucks, let&apos;s write some serverless Rust with Shuttle!</description><pubDate>Thu, 30 Mar 2023 00:00:00 GMT</pubDate><category>rust</category></item><item><title>Migrating to Astro</title><link>https://joeymckenzie.tech/blog/migrating-to-astro/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/migrating-to-astro/</guid><description>Astro, Svelte, and Rust walk into a bar...</description><pubDate>Wed, 15 Mar 2023 00:00:00 GMT</pubDate><category>astro</category></item><item><title>Constructing objects with intent</title><link>https://joeymckenzie.tech/blog/constructing-objects-with-intent/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/constructing-objects-with-intent/</guid><description>Build better object APIs with named constructors and fluent builders!</description><pubDate>Thu, 03 Nov 2022 00:00:00 GMT</pubDate><category>design</category></item><item><title>Rethinking exceptions in .NET</title><link>https://joeymckenzie.tech/blog/rethinking-exceptions-in-net/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/rethinking-exceptions-in-net/</guid><description>Exceptions... exceptions everywhere!</description><pubDate>Wed, 21 Sep 2022 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>React data fetching with RxJS</title><link>https://joeymckenzie.tech/blog/react-data-fetching-with-rxjs/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/react-data-fetching-with-rxjs/</guid><description>Believe it not, it&apos;s actual legal to use RxJS outside of Angular.</description><pubDate>Wed, 02 Mar 2022 00:00:00 GMT</pubDate><category>react</category></item><item><title>JAMstack Angular apps with Scully and Netlify</title><link>https://joeymckenzie.tech/blog/jamstack-angular-apps-with-scully-and-netlify/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/jamstack-angular-apps-with-scully-and-netlify/</guid><description>Something something JAMstack, something something Angular.</description><pubDate>Tue, 22 Feb 2022 00:00:00 GMT</pubDate><category>angular</category></item><item><title>Hitchhiker&apos;s guide to Angular development with Nx</title><link>https://joeymckenzie.tech/blog/hitchhikers-guide-to-angular-development-with-nx/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/hitchhikers-guide-to-angular-development-with-nx/</guid><description>The answer is simple... 42 (projects in the same monorepo).</description><pubDate>Thu, 11 Nov 2021 00:00:00 GMT</pubDate><category>angular</category></item><item><title>Implementing dark mode in Angular with Tailwind</title><link>https://joeymckenzie.tech/blog/implementing-dark-mode-in-angular-with-tailwind/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/implementing-dark-mode-in-angular-with-tailwind/</guid><description>If you&apos;re website doesn&apos;t have dark, it&apos;s a no for me dawg.</description><pubDate>Fri, 03 Sep 2021 00:00:00 GMT</pubDate><category>angular</category></item><item><title>Build a Tailwind modal with Angular and NgRx</title><link>https://joeymckenzie.tech/blog/build-a-tailwind-modal-with-angular-and-ngrx/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/build-a-tailwind-modal-with-angular-and-ngrx/</guid><description>Make homemade modals great again!</description><pubDate>Fri, 27 Aug 2021 00:00:00 GMT</pubDate><category>angular</category></item><item><title>Decoupling controllers with ApiEndpoints</title><link>https://joeymckenzie.tech/blog/decoupling-controllers-with-apiendpoints/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/decoupling-controllers-with-apiendpoints/</guid><description>No one likes monolithic controllers, and with ApiEndpoints, API design just got a whole lot easier.</description><pubDate>Wed, 23 Sep 2020 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>State Management with Blazor using Fluxor (Part 2)</title><link>https://joeymckenzie.tech/blog/state-management-with-blazor-using-fluxor-part-2/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/state-management-with-blazor-using-fluxor-part-2/</guid><description>It&apos;s redux, but for... .NET?</description><pubDate>Sun, 26 Jul 2020 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>State Management with Blazor using Fluxor (Part 1)</title><link>https://joeymckenzie.tech/blog/state-management-with-blazor-using-fluxor-part-1/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/state-management-with-blazor-using-fluxor-part-1/</guid><description>Redux... redux ALL the things!</description><pubDate>Fri, 26 Jun 2020 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Clean architecture, Dapper, MediatR, and buzzword bingo (part 4)</title><link>https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-4/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-4/</guid><description>MediatR... so hot right now!</description><pubDate>Sun, 02 Feb 2020 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Clean architecture, Dapper, MediatR, and buzzword bingo (part 3)</title><link>https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-3/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-3/</guid><description>Testing, testing... is this thing on?</description><pubDate>Tue, 19 Nov 2019 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Nullable reference types and designing with intent</title><link>https://joeymckenzie.tech/blog/nullable-reference-types-and-designing-with-intent/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/nullable-reference-types-and-designing-with-intent/</guid><description>Null reference exceptions can be a thing of the path, but with great power comes great responsibility.</description><pubDate>Tue, 05 Nov 2019 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Clean architecture, Dapper, MediatR, and buzzword bingo (part 2)</title><link>https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-2/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-2/</guid><description>To repository or not to repository... that is the question.</description><pubDate>Sun, 06 Oct 2019 00:00:00 GMT</pubDate><category>dotnet</category></item><item><title>Clean architecture, Dapper, MediatR, and buzzword bingo (part 1)</title><link>https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-1/</link><guid isPermaLink="true">https://joeymckenzie.tech/blog/clean-architecture-dapper-mediatr-and-buzzword-bingo-part-1/</guid><description>Beer and code... a match made in heaven.</description><pubDate>Fri, 04 Oct 2019 00:00:00 GMT</pubDate><category>dotnet</category></item></channel></rss>