Keeping a clean git history

Is it just me? I can’t stand a messy git history. Full of unnecessary merges and commits. With messages such as: “Oops…” “Forgot to add a file” “Fixed a bug” Making it difficult to look back and find why and when certain changes were made. And what’s with…

Read this article

Have we forgotten what constructors are for?

Bit of a sensational title there, but I do think it's true. Believe it or not constructors are not just for injecting dependencies into a Controller or a Service. They actually serve another purpose as well. Making sure that we can't construct an object in an invalid state. I often…

Read this article

Omnisharp Brackets 0.0.2

I've just realeased Omnisharp for Brackets v0.0.2. It's still in the very early stages but I've tidied up some bugs and added a couple more features: Fix Code Issue This will attempt to fix the selected code issue. Such as incorrect naming of fields etc: Underline Code Issues…

Read this article

Time to cast away Visual Studio and use a text editor

I've been working on an OSS project for the past couple of weeks that I'm really excited about. It's a project that is going to allow you to effectively write .Net code outside of Visual Studio and it's called Omnisharp. To give a little bit of background It all started…

Read this article

Risk: à la Domain Driven Design

Ok, attempt two A few weeks back I decided I was going to use my new found DDD approaches, combined with CQRS and ES, to design the game Risk. And, completely counter to what the practices teach, I went off and started coding a solution with minimal thought or planning.…

Read this article

KnockoutJS: "My HTML node has disappeared"

This is probably the one question I get asked the most about KnockoutJS. Why is my 'some random html node' not apearing on my page? And this is often followed up with a code sample similar to: <!-- ko foreach: myList --> <th data-bind="text: label&…

Read this article

NDC NancyFX Talk

I was lucky enough to be invited back to speak about Nancy at NDC Oslo this year and this time it was being filmed. I was, however, unlucky enough to get a cold the day before :(. So albeit not my best performance here is: An Introduction to Nancy from NDC…

Read this article

Passing an object to a generic method

There's nothing complicated about this. But for some reason the solution escaped me. You know how it is. You have an idea in your mind and it just gets more and more complicated. Then somebody comes along and shows you something really simple. So you may know how to do…

Read this article

"The fastest way to remove crap from your system… Is to put no crap in your system"

This is a quote from a talk by Alberto Brandolini that I've just watched. It isn't a new message and I'm certainly not the first person to say it. However I think it’s a point that’s important enough that it’s worth re-iterating every once in a while.…

Read this article

Entities should look after their own events

I've been playing with CQRS and ES a lot recently and to be fair I should have started blogging about my experiences before now. But better late than never. This week I've been looking more carefully at how to manage the events that get applied to an entity within my…

Read this article