Skip to content
Design patterns in C# - The Adapter Pattern

Design patterns in C# - The Adapter Pattern

Carmel Eve

This blog is part of a series around design patterns. This post focuses on the adapter pattern. The adapter pattern is used to enable you to use the functionality defined by a class which is not compatible with the interfaces/architecture of your solution.
The importance of specific & immutable dependency versions

The importance of specific & immutable dependency versions

Mike Larah

This post describes the reasons for choosing specific & immutable dependency versions in your software.
C# 8.0 nullable references: defeating the point with empty strings

C# 8.0 nullable references: defeating the point with empty strings

Ian Griffiths

Enabling C# 8's nullable references feature often produces a lot of warnings. Avoid the temptation to make some go away by initializing properties to empty strings.
How to fix the "You need permission to access workspace..." error in Azure Synapse Analytics

How to fix the "You need permission to access workspace..." error in Azure Synapse Analytics

Ed Freeman

Data Engineers/Developers want to get access to Azure Synapse Analytics as quickly as possible to start designing and creating their data solutions. Being denied access to Synapse Studio can be frustrating and slows matters down. This article will address the "You need permission to access workspace..." error, discuss what causes it, and describe how to fix it.
How to use the Azure CLI to manage access to Synapse Studio

How to use the Azure CLI to manage access to Synapse Studio

Ed Freeman

Azure Synapse Analytics developers need to be assigned a role within Synapse Studio in order to access the GUI. The Azure CLI provides one way of programmatically achieving this, which can be done by any Owner or Contributor of the Azure Synapse Analytics resource.
Design patterns in C# - The Decorator Pattern

Design patterns in C# - The Decorator Pattern

Carmel Eve

This blog is part of a series around design patterns. This post focuses on the decorator pattern. The decorator pattern is used to dynamically add additional properties to objects in order to extend functionality.
GitOps: Not Just For Kubernetes!

GitOps: Not Just For Kubernetes!

James Dawson

GitOps (sometimes known as 'operations by pull request') is most often discussed as being an approach for managing your Kubernetes platform, but in this post I will make the case for how it can benefit a much wider audience.
The Public Health England Test and Trace Excel error could have been prevented by this one simple step

The Public Health England Test and Trace Excel error could have been prevented by this one simple step

James Broome

Despite the subsequent media reporting, the loss of 16,000 Covid-19 test results at Public Health England wasn't caused by Excel. This post argues that a lack of an appropriate risk and mitigation analysis left the process exposed to human error, which ultimately led to the loss of data and inaccurate reporting. It describes a simple process that could have been applied to prevent the error, and how it will help if you're worried about ensuring quality or reducing risk in your own business, technology or data programmes.
How to update your Microsoft Authenticator App for a work/school account

How to update your Microsoft Authenticator App for a work/school account

Carmel Eve

This post quickly runs through the steps for setting up a new Microsoft Authenticator App for a work or school account.
C# 8.0 nullable references: prepare today by not misusing 'as'

C# 8.0 nullable references: prepare today by not misusing 'as'

Ian Griffiths

Prepare for using C# 8.0 nullable references by not misusing the 'as' operator.
Does Azure Synapse Link redefine the meaning of full stack serverless?

Does Azure Synapse Link redefine the meaning of full stack serverless?

James Broome

Azure Synapse Link for Cosmos DB is a game-changing piece in the Synapse suite of services - extending the support for SQL on Demand to enable querying over the Cosmos DB Analytical Store. This post explores whether the term 'full stack serverless' should now be extended to cover No-ETL and pay-as-you-query analytics, alongside serverless application architectures.
DevOps: Build Bridges not Silver Bullets

DevOps: Build Bridges not Silver Bullets

James Dawson

Building a system that solves even just 10% of a problem is a worthwhile endeavour, not just because of the value the 10% delivers but because its mere existence will lower the barrier-to-entry for your colleagues to collaboratively iterate on it - not so much 'Build it and they will come' as 'Build a road and they will come'
Where are you going wrong when choosing to buy, not build?

Where are you going wrong when choosing to buy, not build?

Carmel Eve

Often when building software we need to outsource part of the solution to a third party. Common examples include authentication, payment, and email, but there are many others. When first designing a solution the decision around which provider to use can be difficult to tackle. At endjin we have developed a system for answering the question "which provider should I use?".