Feb 13, 2025 php
Adventures with PHP, APIs, and sharing types with PHPStan
I like my PHP like I like my Rust... statically analyzed.

Mar 20, 2024 .NET
Dapper multi-mapping relationships and value equality
So long, IEqualityComparer<T>, you'll be sorely missed.

Mar 5, 2024 php
Exploring developer experience with PHP, public APIs, and beer
It's 2024... and PHP still isn't dead?!

Dec 13, 2023 laravel
Content-driven websites with PHP and Laravel
It's PHPin' time!

Nov 2, 2023 aws
Rust, AWS Lambda, and too many Office quotes
Identity theft is not a joke, Jim!

Jul 11, 2023 rust
Back to the server with Rust, Axum, and htmx
(Insert meme about React devs rediscovering the magic of PHP and ASP).

May 23, 2023 zig
Ziggin' around with linked lists
Flashback to detecting loops in a list on a whiteboard...

Apr 5, 2023 rust
Learning to fly with Rust and Postgres
If it can be Dockerized, it can be deployed.

Mar 30, 2023 rust
Going serverless with Rust and Shuttle
Managing infrastructure is already hard enough, let's write some serverless Rust with Shuttle!

Mar 15, 2023 astro
Migrating to Astro
Astro, Svelte, and Rust walk into a bar...

Nov 3, 2022 design
Constructing objects with intent
Build better object APIs with named constructors and fluent builders!

Sep 21, 2022 .NET
Rethinking exceptions in .NET
Exceptions... exceptions everywhere!

Mar 3, 2022 react
React data fetching with RxJS
Use RxJS to implement simple data fetching, making ALL THE THINGS reactive!

Feb 22, 2022 angular
JAMstack Angular apps with Scully and Netlify
Write, build, and deploy.sh Angular applications as fully SEO-optimized static sites with Netlify and Netlify Functions!

Nov 11, 2021 angular
Hitchhiker's guide to Angular development with Nx
The answer is simple... 42 (projects in the same monorepo).

Sep 23, 2021 angular
Implementing dark mode in Angular with Tailwind
Because light mode is so 2018.

Apr 27, 2021 angular
Build a Tailwind modal with Angular and NgRx
Out-of-the-box modals are nice, but often times inflexible and can bring a lot of unnecessary code into a project for something as simple as displaying a message. Let's use Tailwind to build our very own state-based modal instead!

Sep 23, 2020 .NET
Decoupling controllers with ApiEndpoints
No one likes monolithic controllers, and with ApiEndpoints, API design just got a whole lot easier.

Sep 23, 2020 .NET
.NET Core service lifetimes in a nutshell
Learn to register your lifetimes accordingly with .NET Core's built-in dependency injection and IoC container.

Jul 26, 2020 blazor
State Management with Blazor using Fluxor (Part 2)
Use Fluxor to encapsulate the business logic of our Blazor apps and build clean view components.

Jun 26, 2020 blazor
State Management with Blazor using Fluxor (Part 1)
Manage state in your Blazor applications using the tried-and-true flux pattern with Fluxor.

Feb 2, 2020 .NET
Clean architecture, Dapper, MediatR, and buzzword bingo (part 4)
Write encapsulated business logic with the help of MediatR and the CQRS pattern.

Nov 19, 2019 .NET
Clean architecture, Dapper, MediatR, and buzzword bingo (part 3)
Testing code with xUnit, Dapper, and Shouldly.

Nov 5, 2019 .NET
Nullable reference types and designing with intent
Null reference exceptions can be a thing of the path, but with great power comes great responsibility.

Oct 6, 2019 .NET
Clean architecture, Dapper, MediatR, and buzzword bingo (part 2)
Implement the unit of work and repository patterns with Dapper.

Oct 4, 2019 .NET
Clean architecture, Dapper, MediatR, and buzzword bingo (part 1)
Build an API using Dapper, MediatR, and clean architecture principles with the help of beer.