Exception Throwing

I don't do a lot of exception handling. I write code that avoids it as best as it can. The edges of my systems are out of my control. The edges of my system do throw exceptions. If I can't do the correct thing for the…

Azure Powershell... Grrrr

I'm working on re-writing MTG Discovery and doing all of the infrastructure through Azure PowerShell. It's great... I like it... but fuck... If I'd known how much friction I'd run into for various bits, I'd have gone with using the…

RETURN OF THE IMOCK

I did a twitter where I mentioned I'd updated my IMock packages. These are for Nuget and ReSharper. What the fuck is IMock? First - Rude. I wrote about it a couple years ago when I did an IMock Announcement. Which... on review... I dropped the fucking ball.…

Azure AppConfig and KeyVault

Another quickie post. As I'm working through powershell for my IaC I saw that AppConfig can access secrets stored in KeyVault. This means I get to put my secrets into a keyvault... and then just reference the keyvault! It's like the AppSettings can reference keyvault. This…

Azure B2C - WHY?!

With my original Mtg Discovery site (mtgdiscovery.com) I looked into using Azure B2C for auth... HAHAHAHA... No. It was faster/easier to roll my own JWT creation/validation. Pretty messed up when roll your own is easier. I'm creating V2 of the site. That's what…

EXPENSE REPORT KATA

Today I was introduced to a new kata - The Expense Report! https://github.com/christianhujer/expensereport Being in the corporate world, sounds like a good kata to give a go. I'll be doing it in C#, shocker, I know. The process of the kata is laid out…

Refactor Money with TDD - 04

Still Green; Keep Refactoring Let's take another look at Money;  there's eight methods. Five of these methods delegate the work to another object, "I know what I want, you know how to do it". The remaining three don't. To make "Similar…

Refactor Money with TDD - 03

GET TO THE PRIMITIVE While we very much want to avoid data flowing through our system, sometimes we need them. Sometimes we have to get back to a primitive type. This happens at the boundaries of our system. When our code passes to some other code, we probably have to…