Skip to content

Browse our blogs activity over the years…

  • Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
2026
Incorporating software architecture into agile projects

Incorporating software architecture into agile projects

Carmel Eve

Software architecture and Agile project planning are often seen to be at odds. However, here at endjin we think that the way in which they intersect solves a lot of the common issues surrounding architecture. The key to successful architecture is constantly keeping the drivers in mind and having a tight communication loop as the architecture is implemented. These concepts are ones which are key to agile project management, and the combination of these two disciplines can be extremely powerful and successful when applied correctly.
Agile Architecture: Painting by Numbers

Agile Architecture: Painting by Numbers

Howard van Rooijen

Creating a architecture in an iterative and incremental solution delivery is challenging. I've evolved an approach akin to Painting By Numbers, and am inspired by a quote from the artist and film maker Dave McKean.
Exploring Azure Data Factory - Mapping Data Flows

Exploring Azure Data Factory - Mapping Data Flows

Carmel Eve

Mapping Data Flows are a relatively new feature of ADF. They allow you to visually build up complex data transformation sequences. This can aid in the streamlining of data manipulation and ETL processes, without the need to write any code! This post gives a brief introduction to the technology, and what this could enable!
Snowflake Connector for Azure Data Factory - Part 2

Snowflake Connector for Azure Data Factory - Part 2

Jess Panni

Integrate Snowflake into your Azure Data Factory pipelines using custom Azure Functions. Learn how to load data and run queries in our detailed step-by-step guide.
Snowflake Connector for Azure Data Factory - Part 1

Snowflake Connector for Azure Data Factory - Part 1

Jess Panni

Explore the lack of a native Azure Data Factory connector for Snowflake and discover alternatives for integration between these popular platforms.
Announcing Power BI Weekly!

Announcing Power BI Weekly!

Howard van Rooijen

Power BI has become more successful than anyone anticipated. We've decided to spin out the Power BI category from the Azure Weekly Newsletter into it's own publication - Power BI Weekly.
A code review with NDepend Part 2: The initial review

A code review with NDepend Part 2: The initial review

Carmel Eve

At endjin we have a high quality bar when it comes to our code. As part of this we carry out regular code reviews. One of the tools we have used for these code reviews is NDepend. This is the second in a blog series written as we carried out that process. This post focuses on the insight you can quickly gain just by glancing at the NDepend UI.
Enforce resource tagging with Azure Policy

Enforce resource tagging with Azure Policy

Mike Evans-Larah

Explore Azure Policy for proper tagging on resources and enabling tag inheritance from parent resource groups.
A code review with NDepend Part 1: Quality metrics

A code review with NDepend Part 1: Quality metrics

Carmel Eve

At endjin we have a high quality bar when it comes to our code. As part of this we carry out regular code reviews. One of the tools we have used for these code reviews is NDepend. This is the first in a blog series written as we carried out that process. This post runs through the different metrics used by NDepend, and the reasons that each of these can be an indication of code quality.
C# faux amis 3: variable declarations and type patterns

C# faux amis 3: variable declarations and type patterns

Ian Griffiths

Ian Griffiths discusses C# 8 features, highlighting how 'var' can enhance compile-time type checking in his final series article.
C# faux amis 2: tuple deconstruction and positional patterns

C# faux amis 2: tuple deconstruction and positional patterns

Ian Griffiths

C# v8.0 introduces various new patterns. In this article, part of a series on how the evolution of the language has added complexity, Ian Griffiths shows how the strong resemblance between the new Positional Patterns and Deconstruction can be misleading.
A beginner's guide to agile estimation and planning

A beginner's guide to agile estimation and planning

Carmel Eve

Discover agile estimation principles & planning methods for project success. Dive into uncertainty, valuable estimates & agile delivery processes.
C# faux amis 1: discards and underscores

C# faux amis 1: discards and underscores

Ian Griffiths

Visual Studio 2019 saw the arrival of C# v8.0. This article shows the first of a series of examples of how friction can arise when integrating new features into a mature language: the relatively late addition of 'discards' causes some surprises.
C# 8 surprising patterns

C# 8 surprising patterns

Ian Griffiths

Visual Studio 2019 saw the arrival of C# v8.0. A programming language cannot evolve for 20 years without developing a few quirks. Ian Griffiths writes about a surprising aspect of the new pattern matching features, and what this reveals about how the language has changed.
11 cheers for binary (And 3 for hexadecimal)!

11 cheers for binary (And 3 for hexadecimal)!

Carmel Eve

A primer on binary and hexadecimal for developers: why base 2 and base 16 matter, with step-by-step conversions and a quick reference for powers of two.
Rx Operators Deep Dive Part 5: Thank you for joining the journey

Rx Operators Deep Dive Part 5: Thank you for joining the journey

Carmel Eve

This is the final blog in a series which delves into how the Rx operators work under the covers. This series aims to provide a greater understanding of Rx and its operators. This post focuses on the JOIN operator.
Avoid deployment lock errors: run web & function apps from packages

Avoid deployment lock errors: run web & function apps from packages

Carmel Eve

Fix DLL locking errors in Azure Function deployment by using "deploy from package" option. This runs the function from a package file, resolving issues.
ML.NET, Azure Functions and the 4th Industrial Revolution

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

Howard van Rooijen

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.
Rx operators deep dive Part 4: A window into scheduling in Rx

Rx operators deep dive Part 4: A window into scheduling in Rx

Carmel Eve

Fourth in a series, this blog post explores the inner workings of the Rx WINDOW operator for better Rx understanding.
How to run a script on an existing Azure Virtual Machine

How to run a script on an existing Azure Virtual Machine

Mike Evans-Larah

Using PowerShell and the VM Custom Script Extension to download and execute scripts on existing Azure VMs
Rx operators deep dive Part 3: Re-grouping our thoughts

Rx operators deep dive Part 3: Re-grouping our thoughts

Carmel Eve

This is the third blog in a series which delves into how the Rx operators work under the covers. This series aims to provide a greater understanding of Rx and its operators. This post focuses on the GROUP operator.
Managing apps with Azure AD, service principals & managed identities

Managing apps with Azure AD, service principals & managed identities

Carmel Eve

Explore Azure Active Directory's key concepts: AAD apps, service principles, managed identities, with setup examples.

Good Reads in 2018

Howard van Rooijen

Here's a list of books from my reading list; some technical, some business, some focusing on personal development. All were worth reading.
In conversation: .NET, Cloud, Data, AI and endjin

In conversation: .NET, Cloud, Data, AI and endjin

Ian Griffiths

When he joined endjin, Technical Fellow Ian sat down with founder Howard for a Q&A session. This was originally published on LinkedIn in 5 parts, but is republished here, in full. Ian talks about his path into computing, some highlights of his career, the evolution of the .NET ecosystem, AI, and the software engineering life.
Rx operators deep dive part 2: Slowly aggregating knowledge

Rx operators deep dive part 2: Slowly aggregating knowledge

Carmel Eve

This is the second blog in a series which delves into how the Rx operators work under the covers. This series aims to provide a greater understanding of Rx and its operators. This post focuses on the AGGREGATE operator.