JD
banner
jerrett.dev
JD
@jerrett.dev
Technical Architect | Software Engineer | Tech Consultant | Tech Advocate | Hobby Addict | In-Office in Tulsa, OK | Family, Friends, and Pets

Always looking to have a great conversation. Teach me something new?
After being fully remote for over 3 years, I traded in fully remote back for full in office in August of this year. I adored full remote, but the velocity, collaboration, and ability to quickly get answers by simply approaching folks and having watercolor conversations feels far more functional.
January 2, 2026 at 1:34 PM
Repo + docs: github.com/JerrettDavis...

If you’ve ever shipped “just a small experiment” and it turned into a tangled mess, I’d love feedback (or horror stories).
GitHub - JerrettDavis/ExperimentFramework: An experiment framework for .NET providing runtime-switchable A/B testing, feature flags, trial fallback, and comprehensive observability
An experiment framework for .NET providing runtime-switchable A/B testing, feature flags, trial fallback, and comprehensive observability - JerrettDavis/ExperimentFramework
github.com
December 23, 2025 at 4:16 AM
Introducing ExperimentFramework: composable experiment trials with fluent setup + source generators that swap your SuT registrations in DI for a proxy. That proxy gives you an “infinite decorator” surface for routing, telemetry, fallbacks, etc.
December 23, 2025 at 4:16 AM
Telling was losing. So I did the only responsible thing: built a framework instead of writing a doc.
December 23, 2025 at 4:16 AM
I argued it’s cleaner to treat experiments as a first-class domain, not a pile of ad-hoc decorators scattered through app code. Core premise: subjects in a trial should be observed, not acted upon.
December 23, 2025 at 4:16 AM
I'll have to look over dnx a bit more this evening. Thanks for the tip!
December 18, 2025 at 5:28 PM
I think my next thing will be trying to bake the core dacpac reverse engineering logic right into a task, instead of needing a specific dotnet tool. That would make it pretty much a 1-step process.
December 18, 2025 at 7:09 AM
And huge props to @erikej.bsky.social's wonderful Entity Framework Core Power Tools library! It's doing the real heavy lifting for all the dacpac to EF Core transformation.

In future revisions, I'll bake the direct DB reverse engineering feature my package as well.
December 18, 2025 at 7:06 AM
This methodology provides a singular, version-controlled repository that functions as the definitive source of truth for all data access, migration, deployment, and containerization artifacts and considerations within a database-first paradigm, all without requiring boilerplate code.
December 18, 2025 at 6:58 AM
With just a couple lines of config in your csproj, you can have your project automatically generate ready-to-use entity model partial classes, and the whole process is transparent and nearly fully configurable.
December 18, 2025 at 6:52 AM
I've been enjoying writing behavior driven tests. Before ever writing a feature or hotfix, I get reproduction and accentance criteria, structure it into Gherkin syntax, and start building test suites that model and change with the problem domain rather than testing how the implement works.
December 2, 2025 at 6:42 AM
Had to cheat a bit: dotnet build insists on an XML file, so dotnet build MyApp.slncs needs .slncs to be a minimal XML stub (or worse, everything wrapped in CDATA).

I hacked around it with a dotnet tool instead — slncs-build.
September 23, 2025 at 4:31 AM
If you flash mainline VIAL, no, but there is a fork out there with the appropriate fixes and it maintains wireless/bt: github.com/daskygit/qmk...
qmk_firmware/keyboards/epomaker/tide75 at epomaker_tide65_75_wireless · daskygit/qmk_firmware
Open-source keyboard firmware for Atmel AVR and Arm USB families - daskygit/qmk_firmware
github.com
August 5, 2025 at 5:35 PM