JD's Avatar

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?

93
Followers
303
Following
114
Posts
17.11.2024
Joined
Posts Following

Latest posts by JD @jerrett.dev

I've been laid up in the hospital for a few days after a botched routine procedure. Guess those one in a million odds have to hit from time to time.

Think I'll avoid voluntary gambling, traveling to Vegas, or the like for awhile. πŸ˜…

Here's to hoping I'm discharged within the next couple days.

23.02.2026 21:51 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
SqlProjectPowerTools/docs/getting-started.md at main Β· ErikEJ/SqlProjectPowerTools Visual Studio Tools to enhance the SQL Database Projects developer experience - ErikEJ/SqlProjectPowerTools

I just released SQL Project Power Tools 1.0. This free Visual Studio extension enhances the SQL Project developer experience for any database project type.I also published a "Getting Started" guide for anyone to start using the tool.
#sqlserver #database #visualstudio

19.01.2026 15:30 πŸ‘ 6 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - JerrettDavis/JD.MSBuild.Fluent: A fluent DSL for building MSBuild props, targets, and SDKs A fluent DSL for building MSBuild props, targets, and SDKs - JerrettDavis/JD.MSBuild.Fluent

I've been working on a lot of MSBuild tasks, targets, props, and SDKs lately, but hand-rolling XML and restating a lot of the same stuff all over the place has gotten to be annoying.

To remedy that, I built JD.MSBuild.Fluent. It's still in pretty early development, but it seems to do the trick.

20.01.2026 05:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I ended up building a whole MCP Manager to deal with the problem as well. github.com/jerrettdavis...

14.01.2026 15:41 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's getting more feature packed by the day! Now supports reverse engineering a database into a SQL Project and splitting Models and Data Access across 2 separate projects.

06.01.2026 05:22 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

I may have grown a little drunk with power.
Automatic EF Core models from a SQL Project, DACPAC, or database? Done.
Splitting models and data into separate projects? Easy.
Packaging it all as a drop-in, no-config project SDK? No problem.

New idea: Live DB β†’ sqlproj β†’ models. BRB.

03.01.2026 18:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

02.01.2026 13:34 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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

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).

23.12.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

23.12.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Telling was losing. So I did the only responsible thing: built a framework instead of writing a doc.

23.12.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

23.12.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

We were debating how to orchestrate production experiments. Requirement was boring (in a good way): runtime switch between implementations via feature flags so you can bail out fast when β€œthe new thing” catches fire.

23.12.2025 04:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'll have to look over dnx a bit more this evening. Thanks for the tip!

18.12.2025 17:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

18.12.2025 07:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

18.12.2025 07:06 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

18.12.2025 06:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

18.12.2025 06:52 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - JerrettDavis/JD.Efcpt.Build Contribute to JerrettDavis/JD.Efcpt.Build development by creating an account on GitHub.

I recently discovered the world of custom build MSBuild targeting and tasks, and I stumbled across a fun application for it in my day job that I formalized into an open-source proof-of-concept: automatic source-generator-like .sqlproj to EF Core model generation. github.com/JerrettDavis...

18.12.2025 06:48 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
You Don't Hate Abstractions It’s an hour until you’re free for the weekend, and you’re trying to knock out one last ticket before...

After seeing a fair amount of flack misdirected at abstractions, I got the bug to write on the subject a bit.

Abstractions are all around us, and they're wonderful when wielded responsibly.

09.12.2025 01:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

02.12.2025 06:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image Post image

I have two longtime friendsβ€”twin brothers from Hyderabadβ€”who’d urged my wife and me to visit India for years. We finally went for their weddings a few weeks ago, and it was beautiful and fascinating. We had an amazing time and felt honored by how warmly people shared their culture and lives with us.

21.11.2025 01:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

The last month has been a whirlwind.

We came back from a week in Chicago. I started a new job, and four days later my 3-year-old, 9,800-mile Ioniq 5 was T-boned.

We managed to get it repaired and replaced in that short time. Now we’re driving an Ioniq 5 N and a Dodge Charger Daytona.

04.10.2025 05:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - JerrettDavis/TinyBDD: TinyBDD is a minimal, fluent Behavior-Driven Development library for .NET TinyBDD is a minimal, fluent Behavior-Driven Development library for .NET - JerrettDavis/TinyBDD

I’ve been deep in testing land lately: unit, integration, e2e, TDD, BDD, and all the buzzwords.
Out of that obsession came TinyBDD, a tiny Gherkin-inspired fluent DSL that makes your .NET tests read like acceptance criteria.

Write tests that look like requirements but run like code.

24.09.2025 04:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

23.09.2025 04:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - JerrettDavis/Slncs: MSBuild SDK wrapper that generates .slnx from fluent .slncs.cs and forwards build. MSBuild SDK wrapper that generates .slnx from fluent .slncs.cs and forwards build. - JerrettDavis/Slncs

A coworker and I were talking about the new .NET .slnx files, and I joked that it’d be nice to have a .slncs format so we could stay entirely in C# and avoid another context switch.

Then I got curious how hard it’d be. Turns out… not very.
πŸ‘‰ github.com/JerrettDavis...

23.09.2025 04:26 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

After 3.5+ years with an incredible company and colleagues, today was my last day. Leaving one of the best teams I’ve ever worked with was a hard callβ€”but I’m stepping into a dev-centric role where I can do more of what I love. Excited for what’s next, and still a little grief-struck.

15.08.2025 23:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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

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...

05.08.2025 17:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Keyboard Showcase #01: Glorious GMMK 2 96% A $40 Black Friday deal pulled me into the world of mechanical keyboards. The Glorious GMMK 2 96% packs serious valueβ€”if you're willing to mod it. From switch swaps to custom firmware and keycaps, her...

I figured if I was going to keep tinkering with mechanical keyboards, it'd make sense to at least share a bit of what I'm doing and why.

Starting off with the keyboard that sucked me down into the rabbit hole: the Glorious GMMK 2 96%

04.04.2025 03:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

As time goes on, old ideas often find new life. Many clever solutions from the past still have surprising, cross-disciplinary relevance today.

Sometimes, the biggest barrier to progress is simply someone in one field not being inspired by a solution from another.

14.03.2025 16:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Middleware is so incredibly handy! Once I got comfortable with the paradigm, I found myself leaning on libraries like Mediatr from @jimmybogard.com to make it possible to implement them everywhere.

Compartmentalize those cross-cutting concerns!

13.03.2025 19:11 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0