Endjin - Home

Engineering Practices

For those who don’t know, I am currently in the process of carrying out a full code review and improvement of some of our internal code using NDepend. To find out more about the quality measures that NDepend uses to analyse the code – read my first blog in this series! Otherwise, let’s press on! […]


Enforce resource tagging with Azure Policy

by Mike Larah

We recently had a requirement from a client that all of their Azure resources must be tagged with a specific set of tags, which were ultimately to be used for cost accounting when the bill came rolling in. For simplicity of this blog post, let’s assume the client just required that all resources had to […]


Over the years we’ve built a lot of IP up here at endjin. With a growing codebase, and with my training shifting to look at software architecture, I thought I’d attempt a code review to see what insight I could gain! So… Here goes nothing! The tool I chose to carry out this review is […]


ML.NET, Azure Functions and the 4th Industrial Revolution

by Howard van Rooijen

TLDR; There is a lot of hype around AI & ML. Here’s an example of using ML.NET & Azure Functions to deliver a series of micro-optimisations, to automate a series of 1 second tasks. When applied to business processes, this is what the 4th Industrial Revolution could look like. We’re in the 3rd major hype […]


In September I joined endjin a Technical Fellow (an entirely new branch in endjin’s career pathway to accommodate me – more on that later). I’ve has been involved with endjin since 2011, as an Associate, helping to deliver some of our most technically challenging projects (and if you go even further back, I attended Cambridge University with endjin co-founder […]


There’s been a little bit of a gap since my last Rx blog, I’ve been pretty busy with keeping up with Advent of Code in any spare time (and I’m sure there will be a blog along those lines at some point in the near future). But, for now, it’s time for a deep dive […]


Use-case Here’s the background to this blog: I’ve always found getting csv files into a SQL Server instance much more convoluted than seems necessary. The manual tools provided in SSMS have caused me hours of pain in the past, trying to match-up data types from source and sink. I never seemed to get it right. […]


This has been sitting in my “blogs” folder for some time, with little more in it than a first sentence about the fact that I haven’t written this blog yet. Whilst going over C#, reactive extensions have been one of the things that I have struggled to get my head around the most. I think […]


Overflowing with dataflow part 2: TPL Dataflow

by Carmel Eve

Edit: In case you missed it! Here’s a link to part 1, a general overview of dataflow as a processing technique! The specific implementation of dataflow that I want to talk about is the TPL dataflow library. The task parallel library is a .NET library which aims to make parallel processing and concurrency simpler to […]


Async pitfalls: deferred work and resource ownership

by Ian Griffiths

Asynchronous code has many traps for the unwary. In fact, it has plenty of ground that’s treacherous even for pathologically careful coders. For example, certain ways of using asynchrony can reduce the control you have over concurrency and ordering. This can result in subtle bugs, particularly when the asynchronous work operates on shared underlying resources. […]


1 2 3 7