Dynamically calling a Function in FSharp

Sometimes you just want to make a dynamic call. There is no equivalent for in so I guess we'll have to roll our own. In this post I'll go though how to build a function called which you use like this: The example above starts off with a normal FSharp function that takes a…

Comparing MicroBus and MediatR

Mediators are an excellent addition to the developer toolbox. Allowing you to define a pipeline that is decoupled from any particular framework. Having a pipeline makes it easy to deal with cross cutting concerns like security, transaction, validation and others. For these…

Event Sourcing: What properties should Domain Events have?

What I learned since last time A while ago I wrote about Generating Read Models with Event Sourcing where I suggest adding derived properties to the persisted domain events also known as Enriched Events. Since writing that post, I have been using this approach. However, over time…

Links to Get Started with React and Redux

Getting started to React and want to get right to it? These are the links you're looking for. What you need! First up you’ll need Node: https://nodejs.org.au/ You can get the React tooling here: https://github.com/facebookincubator/create-react-app Once you have React you’ll want…

There is always time to write clean code

The number one most important thing you can do in software development. Always leave the code base cleaner than when you found it. Always aim to improve things. I recently stumbled on a fantastic podcast by Joshua Wulf featuring Damian Maclennan who brilliantly described why this…

Announcing MicroBus 3

Awesome! MicroBus 3, what does that mean? Well, I've been using Semver (mostly, sometimes a little Ferver creeps in) for my package versions so it means in this release there's a few breaking changes. Now, first off, this is a much bigger update than 2.0 was and redefines a few…

Porting MicroBus to DotNetCore

When the new .net core reached RC it looked like the perfect time to start to port some of the Nuget packages I've made starting with MicroBus. I've been watching most of the aspnet standups so I've always been relatively familiar with what was going on, but there were still a…

Querying AD Groups with PowerShell

Getting the list of the AD groups if nice and easy in PowerShell. All the CmdLets are located in the module which you might not have installed on your system. To install the module you'll need these Windows features Then you can import the module Then query the user you want to…

Building a MicroBus application

I often like to think of software architecture as the art of structuring software. It's goal being to meet requirements while at the same time being resistant to falling into the state most commonly referred to as a Big Ball of Mud. To fight back against this, applications can…

Generating Read Models with Event Sourcing

Event sourcing is a very powerful tool that allows you to capture information you didn't even know you wanted. One of the things you usually find yourself doing when event sourcing is applying the principle of CQRS. CQRS effectively splits your application into two parts, a read…