Endjin - Home

Open Source

We’ve open sourced a lightweight licensing framework we’ve been using internally over the last couple of years. In a 5 part series I’m covering the motivation behind building it, how you can use it, how you can extend it for your own scenarios and how you could use it in a real world situation: Part […]


We’ve open sourced a lightweight licensing framework we’ve been using internally over the last couple of years. In a 5 part series I’m covering the motivation behind building it, how you can use it, how you can extend it for your own scenarios and how you could use it in a real world situation: Part […]


TPL Dataflow by Example code samples for LINQPad

by Howard van Rooijen

Reactive Programming and in particular Task Parallel Library Dataflow has been on my radar for a number of years after reading  Stephen Toub’s “Introduction to TPL Dataflow” whitepaper and watching his Channel9 videos (TPL Dataflow Tour, Inside TPL Dataflow). Unfortunately all of my research time of late has been absorbed trying to keep up with […]


Jasmine MetaRunner for TeamCity

by Howard van Rooijen

In the post “Unit testing AngularJS with Visual Studio, ReSharper and TeamCity” Mike Larah describes how to use the Jasmine BDD Framework to test AngularJS and how to configure it to run in both Visual Studio (via ReSharper) and via TeamCity. It’s a great post, because we couldn’t find a single other blog post that […]


Guest Blog Post: Work Experience at endjin – Week 1

by Howard van Rooijen

I’ve written about endjin’s commitment to Apprenticeships before and we’re almost at the anniversary of our first apprentice joining the company. At DevOps London earlier in the year I was approached and asked if we would be open to accepting a work experience placement for a year 10 secondary school student. We thought it would be […]


In the previous posts I’ve explained how to set up installers in your application, how to use the content factory, and how to set up the composition framework for ASP.NET. In this post I will show you how to debug the container. If you try to resolve a component that has missing dependencies, the Container will […]


To use endjin composition framework with an ASP.NET MVC 4/WebAPI application, firstly pull in the Endjin.Core.Composition.Web package from NuGet. Following the steps from the previous posts, you can set up your interfaces, concrete types and installers. No further initialization is required though – the package includes extensions for configuring and initializing the container, and also […]


As I explained in this post, the framework provides a set of installers for registering components against interfaces in the container. Another powerful tool in the composition framework is the ContentFactory. This provides methods for registering and getting content based on a contentType string. When getting content, if the contentType is not found in the […]


In this world, we have to face up to the horrible possibility of failure. Sometimes, that failure is irrecoverable. There’s no going back. Sometimes, we can have another bash at it and see if it comes out OK the second time around. Or maybe the third. Or the fourth. In the software business, historically, we’ve […]


In the last post I introduced v2.0 of our open source, composition framework. In this post, I’m going to cover a quick example of how to get started with the basics of the endjin composition framework. Firstly, we define an interface for some type Then, we create a concrete type for our interface Now we can […]


We’ve just pushed out version 2.0 of our open-source, component composition framework. This is the framework we use internally day-in, day-out for our dependency injection. The previous version had a dependency on Castle Windsor, but in this new version we have implemented our own container. There are a few reasons we decided to take this […]


Templify 0.7.0.25 is available.

by Howard van Rooijen

Templify is a simple tool that aims to solve one simple problem and solve it well: Every project starts the same way, You create a place to put Solution Artefacts On one file system On one computer Templify allows you to create a tokenised template of your entire solution. So if you’ve got a default […]


TeamCity PowerShell

by Howard van Rooijen

Last week I was formally invited to become a member of the JetBrains Development Academy Board – to celebrate, I decided to give something back to the community that has a JetBrains flavour. As I mentioned in my last post – we’ve been doing a lot of ALM / DevOps work in the last year […]


Dev4Good July 2011

by Howard van Rooijen

Ethical Foundations When we founded endjin, Matthew, Lloyd and I spent a lot of time thinking about the type of company we wanted to create; one recurring theme was that in our personal time we each did a significant amount of work for “good causes” and we derived a huge amount of joy and satisfaction […]


A few weeks ago Geoffrey Smith, the Sharp Architecture Development Lead and I were invited onto .NET Rocks! to be interviewed about the Sharp Architecture project. After we talked about Sharp Architecture – the conversation lead on to other open source projects I’ve been involved with such as Templify and StyleCop for ReSharper. You can listen to the […]


StyleCop and StyleCop for ReSharper have merged

by Howard van Rooijen

In 2008 Microsoft released Source Analysis a tool to help solve the thorny problem of coding standards in C# projects, soon afterwards they re-launched it using it’s original internal Microsoft name, StyleCop (to avoid confusion with the TFS Code Analysis tools), along with an SDK that allowed the community to extend the product. In May […]


Where do my Visual States come from in Blend?

by Matthew Adams

This blog was prompted by a question from fellow endjineer and all-round genius, Ian Griffiths. He wanted to know how Expression Blend managed to find the Visual States exposed by the standard controls, and how you might, therefore, do the same job in your own code. (If you want to read up a bit about […]


Large productivity gains can be made by adopting a “Convention over Configuration” (CoC) approach when designing new solution architectures. To harness the full power of the Convention over Configuration approach, the development team must take a holistic approach by examining the ceremony required at every stage within the Software Development Life Cycle. In a previous […]


In the previous instalment, we built out a model for component composition by convention, and showed how this could be implemented over MEF and/or Castle Windsor. Other IOC containers exist, though, and it would be nice if we could abstract over the container, and plug in different implementations depending on our needs and preferences. Seems […]


Introducing Templify

by Howard van Rooijen

[Note: Templify 0.7.0.25 is now available] In my last post I talked about the philosophy of “Work Smarter, Not Harder”; it’s a very simple mantra that can be described in three simple steps: Do, Recognise, Codify. This philosophy is at the very core of what we do at endjin so we decided to share the […]