Endjin - Home

Development

C# 8 Positional Patterns Custom Deconstructor Pitfall

by Ian Griffiths

C# 8 adds a wide array of new pattern types to the pattern matching features introduced in C# 7. One of these is the ‘positional pattern’. This is a recursive pattern, meaning that it contains nested patterns. It can be used to determine whether tuples match certain criteria. For example: All the case labels here […]


Survey: Expression Trees use cases in .NET

by Howard van Rooijen

I’m of the opinion of that Expression Trees are one of the most powerful, yet under-used features of the .NET Framework. I’m currently doing research for a bit of thought leadership about how Expression Trees can be used and I’m looking for feedback from the community. If you currently are, or have used Expression Trees […]


C#, Span and async

by Ian Griffiths

C# 7.2 introduced support for ref struct types. These are types that are required to live on the stack. The most notable ref struct types are Span<T> and ReadOnlySpan<T> which have made it possible to dramatically improve the efficiency of certain kinds of work by reducing or even eliminating object allocations. Endjin recently open sourced […]


GitHub Actions is GitHub’s new CI/CD platform (currently in open beta, at the time of writing). It is comparable with Microsoft’s other CI/CD offering, Azure Pipelines, which forms part of the Azure DevOps suite. Being fairly well acquainted with Azure Pipelines, I found myself looking for comparisons when getting started with GitHub Actions. It became […]


Long Running Functions in Azure Data Factory

by Jess Panni

Azure Functions are powerful and convenient extension points for your Azure Data Factory pipelines. Put your custom processing logic behind an HTTP triggered Azure Function and you are good to go. Unfortunately many people read the Azure documentation and assume they can merrily run a Function for up to 10 minutes on a consumption plan […]


How Azure DevTestLabs is helping me climb Everest

by Carmel Eve

So, the title may be somewhat misleading… But I’ve got you here now… For those who don’t know, endjin is a fully remote company, this is brilliant in a lot of ways (which I won’t list now) but one of the main bonuses is it gives us the freedom to work from wherever we happen […]


Passwordless SSH from Windows 10 to Raspberry Pi

by Mike Larah

Last week, everyone at endjin was presented with a Raspberry Pi 4, with the intention that we would go away and find cool stuff to do with it. My colleague, Jon, has already written up a post describing how to run Azure Functions in a Docker container on the Pi. One of the best ways […]


Over the past few months I’ve worked on multiple projects involving reactive processing of large amounts of data. In a world where the volume of data is increasing at an almost inconceivable rate, being able to process this data efficiently and cheaply is vital. A large part of the work involved in these projects was […]


Running Azure functions in Docker on a Raspberry Pi 4

by Jonathan George

At our endjin team meet up this week, we were all presented with Raspberry Pi 4b’s and told to go away and think of something good to do with them. I first bought a Raspberry Pi back in 2012 and have to admit, beyond installing XBMC and playing around with it, I haven’t done a […]


Donut chart corkscrew entry animation with d3.js

by Jonathan George

TL;DR I wanted a nice way of animating in a D3 donut chart with a “corkscrew” effect, where segments animate in at constant speed regardless of segment size in a clockwise sweep, simultaneously animating out from the centre. Here’s what I came up with: See the Pen D3.js pie/donut chart corkscrew entry animation by Jonathan […]


So, this week I’m moving on from the creational patterns (though I might return at some point) and moving on to the structural design patterns! Structural design patterns are ones that deal with the relationships between different elements. Essentially, they define how different parts of the code interact with and relate to each other. This […]


Here at endjin we spend a lot of time working with data, and securing that data is top on our list of priorities . Therefore, anything we can do to reduce the need for storing access keys is a huge win! (Here is a guest blog from Barry Smart at Hymans Robertson which details our […]


So, the other week I took a look at the Factory Method and Abstract Factory design patterns. This week I’m continuing with the creational design patterns, this time focusing on the builder pattern! The builder pattern is used when there is complex set up involved in creating an object. Like the other creational patterns, it […]


Whilst some of the Azure Active Directory PowerShell for Graph module (AzureAD) functionality has been rolled into the new Azure PowerShell Az module (Az), it’s not currently (and might never be) a replacement for the full power of what you can achieve with AzureAD. So, there’s every chance you’ll find yourself needing to use both […]


I’ve been focusing lately on code quality, refactoring and architecture. A large part of my reading (& Pluralsight course-ing) has been based around design patterns, and how the application of these patterns can help bring your code in line with the SOLID principles. This means that code which uses these patterns is often more extensible, […]


I recently wrote a blog on using ADF Mapping Data Flow for data manipulation. As part of the same project, we also ported some of an existing ETL Jupyter notebook, written using the Python Pandas library, into a Databricks Notebook. This notebook could then be run as an activity in a ADF pipeline, and combined […]


Endjin is a Snowflake Partner

by Howard van Rooijen

I’ve very pleased to announce that endjin has become a Snowflake partner. This fantastic “designed for the cloud” data platform redefines what a data warehouse can be in the age of cloud. With features such as data sharing, usage based billing, and availability on Microsoft Azure, it has won our hearts. Over the last three years, we’ve […]


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


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


1 2 3 11