I have recently been working with Event Store (GES) on a project and had the need to rename some of my streams. I performed this operation using the native projections built into GES which made it a fairly simple operation; I read all events within a given category of streams and then emitted these into a stream with the new name.
Yesterday we had our first Event Storming workshop with the team at the office and I wanted to write up some of my thoughts and opinions on how it went. I ran a “big picture” session within a two hour time box in order to trial Event Storming within the business; the plan was that we would focus on events and hot spots only in order to fit within the time box. Overall I felt like it all went smoothly and everyone agreed that it was valuable.
SOLID is an acronym for five basic principles of object-oriented design which are intended to serve as guidelines for improving the quality of object-oriented codebases. The relevancy of SOLID seems to be the subject of much discussion these days; I’m of the opinion that the general principles are relevant but that discussions around the meaning of and the attempted adherence to the SOLID principles has become somewhat philosophical. I prefer a more practical view of SOLID which I hope to share in this article.
I first encountered the term Imposter Syndrome in Scott Hanselmans article “I’m a Phoney. Are you?” and have been increasingly able to relate to what he has to say. I decided to write this article in order to share my experiences with the affects of imposter syndrome and how I try to deal with it.
At work we have been integrating our deployment process into our TeamCity builds; our applications are built as regular web projects running on Azure. We want to avoid the lock in of using Azure projects so we can’t make use of the deployment options around that and we don’t want to use Web Deploy because it is a bit meh. After a bit of googling we found the Kudu API which made this really easy to implement our deployments using PowerShell.
A few years back I wrote an article titled
“Data Access Using a Generic Repository in C#” which
since it was published has been by far the most popular article on my blog. This is somewhat frustrating given that the
approach I described in that article (and repositories in general - but that’s a different article) is something I disagree with
now. In this article I’m going to share a generic repository implementation which makes use of the
“specification pattern” to perform queries against an Entity Framework
Fluent Validation is an excellent open source library for implementing
validation of models in a flexible and powerful way. It also provides support for integrating with model state in ASP.NET MVC
and Web API and will set the
ModelState.IsValid property in controllers based on the rules defined in the projects validators
making validation checks in web projects simple and straight forward.
OWIN (Open Web Interface for .NET) is an open source initiative to define the specification of an interface between
.NET web applications and servers; it aims to enable web applications to become decoupled from IIS by removing the
dependency on the System.Web assembly. With OWIN, you can write “middleware” to hook into the request pipeline which
is what this article will be focusing on.
This article is the fourth in a series of working with KnockoutJS and ASP.NET MVC. This article is not strictly about
using KnockoutJS with ASP.NET MVC but will show how to create a simple custom binding handler to bind and format date
values to HTML elements using Moment JS. As usual, this article will build on the code from the previous articles in
This article will demonstrate how to load a KnockoutJS view model from a C# controller using ajax in an ASP.NET MVC
project and will build on the code from the previous articles in the series: