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
Bye bye Azure Functions, Hello Azure Container Apps: Conclusions

Bye bye Azure Functions, Hello Azure Container Apps: Conclusions

Jonathan George

In the sixth and final post we draw our conclusions about migrating an application from Azure Functions to Azure Container Apps.
The OpenChain specification explained

The OpenChain specification explained

Charlotte Gayton

When implementing OpenChain, understanding the specification will help guide your organisation to having processes in place to review and manage open-source software
What are the risks with open-source software?

What are the risks with open-source software?

Charlotte Gayton

The key risks associated with open-source software, from whether you use it minimally, to using it throughout all your systems.
What is OpenChain?

What is OpenChain?

Charlotte Gayton

With much of the modern world is built upon software, organisations need to understand and manage the legal and security risks associated with open-source software.
An Overview of the Corvus.Retry Library

An Overview of the Corvus.Retry Library

Liam Mooney

Corvus.Retry is an open source repository that provides functionality for building policies and strategies for handling transient faults. This post provides a spotlight on the repository.
How to sign your git commits

How to sign your git commits

Charlotte Gayton

Signing git commits proves that you are the author of the code you are pushing up to GitHub, and helps protect the integrity of your software supply chain.
An Overview of the Corvus.Globbing Library

An Overview of the Corvus.Globbing Library

Liam Mooney

Corvus.Globbing is an .NET open source library that provides high performance, zero allocation functionality for working with globs.
Retrospecting on my first year at endjin

Retrospecting on my first year at endjin

Liam Mooney

Liam joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post he looks back on his fist year and uses the post to introspect and look ahead to his second year.
In Defence of Squash Commits

In Defence of Squash Commits

Ian Griffiths

Squash commits collapse noisy Git history into a single coherent change, preserving review context while keeping main's log clean. Here's why we adopted them.
An Overview of the Corvus.Extensions Library

An Overview of the Corvus.Extensions Library

Jessica Hill

Corvus.Extensions is an open source repository that provides a collection of useful helper extension methods to .NET types. This post provides a spotlight on the repository.
Adventures in Dapr: Episode 4 - Containerising with Visual Studio

Adventures in Dapr: Episode 4 - Containerising with Visual Studio

James Dawson

Explore Dapr for cloud migration & simplify containerized dev inner-loop using Visual Studio with the Dapr Traffic Control sample application.
Azure Functions to Container Apps Part 5: Migrating test environment

Azure Functions to Container Apps Part 5: Migrating test environment

Jonathan George

The fifth in a series of posts talking about how and why we migrated an application from Azure Functions to Azure Container Apps
Big Data LDN: highlights and how to survive your first data conference

Big Data LDN: highlights and how to survive your first data conference

Elisenda Gascon

Highlights from Big Data LDN 2022, covering Data Mesh debates, data quality and creation vs extraction, modern data stack terminology, women in data talks, and tips for surviving your first in-person conference.
High Performance UriTemplate resolution with low-allocation C#

High Performance UriTemplate resolution with low-allocation C#

Matthew Adams

Learn how to use high-performance code constructs like ReadOnlySpan<T> to parse and create UriTemplates for C# developers.
Customizing Lake Databases in Azure Synapse Analytics

Customizing Lake Databases in Azure Synapse Analytics

Ed Freeman

Explore Custom Objects in Lake Databases for user-friendly column names, calculated columns, and pre-defined queries in Azure Synapse Analytics.
Creating a semantic model with Synapse Database Templates

Creating a semantic model with Synapse Database Templates

Barry Smart

Explore Azure Synapse Analytics Database Templates and learn to create semantic models in this 2nd blog of the series.
My first year as an Apprentice Engineer

My first year as an Apprentice Engineer

Elisenda Gascon

Eli joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post she reflects on her first year.
Azure Functions to Container Apps Part 4: Authentication & CORS issues

Azure Functions to Container Apps Part 4: Authentication & CORS issues

Jonathan George

The fourth post migrating an app from Azure Functions to Azure Container Apps we examine the challenges around authentication and CORS
What is a Lake Database in Azure Synapse Analytics?

What is a Lake Database in Azure Synapse Analytics?

Ed Freeman

Explore Lake Databases in Azure Synapse Analytics: analyze Dataverse data, share Spark tables, and design models with Database Templates.
EVALUATEANDLOG in DAX

EVALUATEANDLOG in DAX

Jessica Hill

DAX has never had real debugging capability until EVALUATEANDLOG. This hidden function prints intermediate values from any DAX expression, letting you see exactly how your measures are evaluated.
Insight Discovery Part 6: Defining business requirements for data

Insight Discovery Part 6: Defining business requirements for data

James Broome

Capture actionable insights through workshops, build a delivery backlog, and learn why cloud analytics success ultimately comes down to people, not technology.
Putting total cost of ownership (TCO) into action

Putting total cost of ownership (TCO) into action

Barry Smart

Total cost of ownership can be used a various stages in the lifecycle of a digital asset to support data driven decisions.
What are Synapse Database Templates and why use them?

What are Synapse Database Templates and why use them?

Barry Smart

Database Templates let you define structure over your data lake so it behaves more like a relational system. In this series we test whether they can serve as a useful contract between upstream data engineers and downstream consumers.
5 lessons learnt from using Power Automate

5 lessons learnt from using Power Automate

Mike Evans-Larah

Power Automate flows get unwieldy fast: default step names obscure intent, repeated logic piles up, and single-environment setups block proper ALM. Five practical lessons for keeping flows maintainable.
Azure Functions to Container Apps Part 3: Build & first big problem

Azure Functions to Container Apps Part 3: Build & first big problem

Jonathan George

The third in a series of posts talking about how and why we migrated an application from Azure Functions to Azure Container Apps