Aggregates and Persistence

In a previous post I gave an overview of aggregates. In that post I said that aggregates are self-contained units that we work with to avoid messing up our code. Aggregates help us build a rich domain. This is a domain that knows about itself. When you want to know something, you ask the domain. When you want something done, you ask the domain. For the domain to be able to answer your questions and perform your tasks, it needs
- Aggregates and Persistence

Read more

Getting wooed by F#

One of my goals this year is to learn a new programming language. This language should use a programming style different than what I am familiar with (currently C# and Javascript). As I am settled in the .net space I decided to go with F#. I am only about a week in, but man I have to say I am excited. So excited that I could not hold it in any longer and decided to write about what is getting
- Getting wooed by F#

Read more

Modeling with Aggregates

Modeling is at the heart of Domain Driven Design. It is also the reason that there are not many DDD examples out there. It is easy to give an example of an architecture like MVC as the different parts are very logical. But with DDD each solution is so tightly coupled to the domain and the problem that needs to be solved that simple examples rarely captures the essence of what a successful model might be. Learning how to model
- Modeling with Aggregates

Read more

Job Tracking using Quartz for .net

A project that I recently worked on has a worker role that runs about 40 jobs. With some of these jobs running for hours it became imperative that we knew when these jobs were running, if they were currently running, how long they were running, if they were overlapping with other dependent jobs etc. Below I will show you how to easily setup Job Tracking using quartz-scheduler for .net. Listeners Quartz.net provides us with the concept of Listeners. Listeners
- Job Tracking using Quartz for .net

Read more

Getting Started With Chat Ops

I recently gave a talk about ChatOps at Entelect's Dev Day. The talk went really well and after some discussion with attendees I thought it might be useful to write a post about how to get started with chat ops. So What is ChatOps? To understand ChatOps we first need to talk about DevOps. DevOps is about knocking down barriers between developers and operations and in doing so reducing orginizational friction. Source control, continuous integration and automated deploy all form
- Getting Started With Chat Ops

Read more