Endjin - Home

endjin blogs

Think Smarter

Five editions? Already? How time flies. The Power BI Weekly newsletter is proving a great success – we’ve just published the fifth edition, hundreds of people have subscribed and we’ve received lots of kind feedback. I think it’s safe to say that Power BI has become omnipresent in recent times. We use it widely here at endjin […]

Category: Business Insights

Firstly, I should start by calling out the fact that there are different types of architecture. For example, enterprise architecture focuses on strategy rather than code. It is the strategy for how people, processes, technology etc. is utilised across an organisation in order to be effective and efficient. The type of architecture I will be […]


Agile Architecture: Painting by Numbers

by Howard van Rooijen

I originally wrote this post in 2007 (now lost in the annals of time), and is one of my favourite posts. I’m very fond of the confluence of ideas and the serendipity of discovering someone amazing from another discipline articulating the same thoughts I was having. During one of the Open Space sessions I attended […]


As part of a recent project we did a lot of experimentation with the new Azure Data Factory feature: Mapping Data Flows. The tool is still in preview, and more functionality is sure to be in the pipeline, but I think it opens up a lot of really exciting possibilities for visualising and building up […]


In the last post I explained how to create a set of Azure Functions that could load data into Snowflake as well as execute Snowflake queries and export the results into your favorite cloud storage solution. In this post I will show how we can use these functions in Azure Data Factory to plug Snowflake […]


If, like me, you are a fan of Azure Data Factory and love Snowflake then you are probably disappointed that there isn’t a native Data Factory connector for Snowflake. While we wait for an official connector from Microsoft we have no alternative but to roll our own. In this blog post I will walk you through […]


Announcing Power BI Weekly!

by Howard van Rooijen

We launched Azure Weekly, a free weekly newsletter, back in 2014. 200+ issues and many thousands of global subscribers later, it’s still going strong. Last month Ed Freeman pointed out that analytics section of Azure Weekly was mainly full of Power BI articles and that it was by far the largest category in the newsletter. […]

Category: Analytics

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 […]


C# faux amis 3: variable declarations and type patterns

by Ian Griffiths

This is the final article in my series on faux amis in C#. At last, I will delve into the strange discovery that kicked this all off. C# 8 and faux amis: Introduction C# faux amis 1: discards and underscores C# faux amis 2: tuple deconstruction and positional patterns C# faux amis 3: variable declarations […]

Category: Uncategorized

This is part of a series of articles about faux amis in programming languages—constructs that can fool us through a misleading resemblance to one another: C# 8 surprising patterns (Introduction) C# faux amis 1: discards and underscores C# faux amis 2: tuple deconstruction and positional patterns (you are here) C# faux amis 3: variable declarations […]


My take on the cornerstones of good project estimation and planning. Firstly, a huge thank you to Mike Cohn for his book on Agile estimation and Planning, which I wholeheartedly recommend if you want to know more about these techniques. And also, to Steve McConnell for going into the real details of software estimation in […]


C# faux amis 1: discards and underscores

by Ian Griffiths

This is the second in a series of articles: C# 8 surprising patterns (Introduction) C# faux amis 1: discards and underscores (you are here) C# faux amis 2: tuple deconstruction and positional patterns C# faux amis 3: variable declarations and type patterns In the introduction, I described the idea of faux amis in spoken languages […]

Category: Development

C# 8 surprising patterns

by Ian Griffiths

Recently, I made a surprising discovery. I had downloaded a preview of Visual Studio 2019 and was experimenting with some of the new language features in C# 8, when I discovered something: Switching between var and int can sometimes move type checks from compile-time to runtime. This shocked me. The experimental evidence (which I’ll get […]


11 cheers for binary (And 3 for hexadecimal)!

by Carmel Eve

So, I finally reached a point in my software development education where I could no longer avoid it. I needed to actually learn what binary was… Now a lot of you are probably sat here wondering how on earth I managed to get to this point without knowing, and to be honest, I have no […]

Category: Technology

And here we are, the culmination of a 3-month long journey deep into the realms of Rx operators. If any of you have been here since the beginning, I hope you have enjoyed going on this ride with me, and if any of you are just starting now, here’s my weekly shameless plug for the […]


We’ve had ongoing issues when deploying web and functions apps involving the locking of DLLs during the deployment. The specific case I’m going to talk about focuses on Azure Functions, but you can also run Web Apps from a package (though the Azure Pipelines tooling currently only works for functions, so you would need to […]


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 […]


So, this week we are looking at the Buffer and Window Rx operators. (If you have no idea what I’m on about, I suggest you start at the beginning!) There are a few different implementations of these operators, and we are going to focus on the time-based versions. In order to do this, we need […]