Azure Function App AuthN & AuthZ

I've spent the past few weeks working out how to do AAD auth to a Function App. That's right; 3 weeks. I search so much... and Bing... Bing is the most worthless search engine. I doesn't mark pages I've visited as visited.…

So Primitive

As it happens now, it's been a little while since my last post. I don't have as much to think through as I did the many prior years. I'm pretty shitty at the "self-promotion" aspect that a prolific blogger or tech-coach will…

Contract Testing

I got a message on LinkedIn a little while ago from a reader (Hi Marcelo!) asking my thinking around Contract Testing. I wrote up a brief answer, but there's definitely some more thoughts bouncing around in my head... so it's ramblin' time! For those unaware…

Kiss This

It's time for Mono. MonoState objects. MonoState This is a design pattern I found, and then later found this name for. When I originally found the pattern I was calling it a WrappedSingleton because... it's a Singleton that's "wrapped" in a class…

Well... Well... Well...

Time to put my code where my mouth is; it's a big mouth. I've put my core code of MtgDiscovery.com (version 2) up to be able to blog about. I don't have the code base. Much is currently stripped out. The repo is…

I used IEnumerableAsync SO WRONG

This ties to my site https://MtgDiscovery.com - A shock, right? Sometimes I have to update sets and re-ingest data. This happens a lot when the feed doesn't align with how I collect the cards. Best example is when the size of the set represented on the…

Exception Re-Throw

I've written about the proper way to re-throw an exception before https://quinngil.com/2022/07/28/exception-throwing/ and now I have an update. I created myself this extension method to encapsulate this throwing mechanism AND to help ignore the need for the unreachable throw. public static class…

CosmosDb Abstraction

CosmosDb components are a pain to test. There's almost a 1/2 dozen objects to fake and configure to be able to get back the object you want to then do work on for the test. This can be abstracted from the test and hide the complexity in…