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
A simple toolkit for IT budgeting and planning

A simple toolkit for IT budgeting and planning

Barry Smart

We describe how to create a high level view of your digital assets, where everything is measured equally and actionable insights can be generated that allow you to optimise your budget and build a roadmap focused on business value.
Performance Optimisation Tools for Power BI

Performance Optimisation Tools for Power BI

Jessica Hill

Optimise Power BI report performance with analyzer tools. Discover essential techniques for efficient report development in this blog post.
C# Lambda Discards

C# Lambda Discards

Ian Griffiths

C# has gradually been adding support for discards. This article explores how this evolution has led to some surprises.
Insight Discovery (part 1) – why do data projects often fail?

Insight Discovery (part 1) – why do data projects often fail?

James Broome

Why traditional bottom-up data warehouse projects so often deliver compromised platforms — and how a top-down, action-oriented approach changes the outcome.
Bye bye Azure Functions, Hello Azure Container Apps: Introduction

Bye bye Azure Functions, Hello Azure Container Apps: Introduction

Jonathan George

The first in a series of posts talking about how and why we migrated an application from Azure Functions to Azure Container Apps
Automating Excel in the Cloud with Office Scripts and Power Automate

Automating Excel in the Cloud with Office Scripts and Power Automate

Liam Mooney

Automate Excel tasks with Office Scripts & Power Automate. Get an overview and explore a practical example in this post.
Service Lifetimes in ASP.NET Core

Service Lifetimes in ASP.NET Core

Elisenda Gascon

Explore Microsoft Dependency Injection container's 3 lifetimes: transient, singleton, scoped. Learn their behaviors & importance in app dependencies.
Using Azure CLI Authentication within Local Containers

Using Azure CLI Authentication within Local Containers

James Dawson

Fix broken dev loop with containerized apps on Azure CLI for Windows. Learn a workaround to avoid using outdated Azure CLI versions.
How to apply behaviour driven development to data and analytics projects

How to apply behaviour driven development to data and analytics projects

Barry Smart

In this blog we demonstrate how the Gherkin specification can be adapted to enable BDD to be applied to data engineering use cases.
Sharing access to synchronized Shared Metadata Model objects in Azure Synapse Analytics

Sharing access to synchronized Shared Metadata Model objects in Azure Synapse Analytics

Ed Freeman

Learn how to grant non-admin users access to Spark synchronized objects with SQL Serverless in Synapse Analytics using the Shared Metadata Model.
Adventures in Dapr: Episode 3 - Azure Storage Queues

Adventures in Dapr: Episode 3 - Azure Storage Queues

James Dawson

If you're interested in the Distributed Application Runtime (Dapr) and how it can simplify migrating existing workloads to use cloud platform services, then this series might be for you. In this post, we continue modifying the excellent Dapr Traffic Control sample application by swapping the MQTT-based messaging with Azure Storage Queues. We will also look at how you can use the Dapr programming model as an alternative to cloud-provider SDKs.
What is the Shared Metadata Model in Azure Synapse Analytics, and why should I use it?

What is the Shared Metadata Model in Azure Synapse Analytics, and why should I use it?

Ed Freeman

Explore Azure Synapse's 'Shared Metadata Model' feature. Learn how it syncs Spark tables with SQL Serverless, its benefits, and tradeoffs.
Context Transition in DAX

Context Transition in DAX

Jessica Hill

How CALCULATE silently turns a row context into a filter context in DAX — and why context transition prevents surprises in calculated columns and measures.
Understanding the Stack and Heap in C#

Understanding the Stack and Heap in C#

Liam Mooney

The stack and heap are central components of memory management in C# programs. This post aims to introduce the topic, with a number of worked examples.
Excel, data loss, IEEE754, and precision

Excel, data loss, IEEE754, and precision

Ian Griffiths

Explore the impact of Excel's numeric precision rules on identifiers and learn about infamous data loss incidents caused by misuse in this post.
CALCULATE in DAX

CALCULATE in DAX

Jessica Hill

CALCULATE is the only DAX function that can change filter context. Jess explains how it works, its syntax, and how filter propagation flows through the data model.
RELATED and RELATEDTABLE in DAX

RELATED and RELATEDTABLE in DAX

Jessica Hill

How DAX's RELATED and RELATEDTABLE functions navigate one-to-many relationships in Power BI — with a Customer/Sales example showing row-context behaviour.
Extract insights from tag lists using Python Pandas and Power BI

Extract insights from tag lists using Python Pandas and Power BI

Barry Smart

Discover how to extract insights from spreadsheets and CSV files using Pandas and Power BI in this blog post.
Computer Networking Essentials for Developers: the Web - Part 2

Computer Networking Essentials for Developers: the Web - Part 2

Liam Mooney

We're constantly using computer networks and the internet, especially as developers. The Web is the most important application on the Internet; this is the second of two posts aiming to explain the basics of the Web.
Implementing dependency injection in ASP.NET Core

Implementing dependency injection in ASP.NET Core

Elisenda Gascon

When a method creates its own dependencies, changing one class means changing every caller. ASP.NET Core's built-in DI container fixes this: here's how to refactor from tight coupling to constructor injection in three steps.
Filtering unrelated tables in Power BI

Filtering unrelated tables in Power BI

Elisenda Gascon

Explore filtering fact tables with Star Schemas and learn a clean method for filtering dimension tables by another dimension.
The Perils of Combining Multicast Delegates with Tasks in C#

The Perils of Combining Multicast Delegates with Tasks in C#

Liam Mooney

A tricky C# bug — combining multicast delegates with async Task-returning methods silently swallows results. Here's why it happens and how to avoid the trap.
How to dynamically switch between measures in Power BI visuals with Field Parameters

How to dynamically switch between measures in Power BI visuals with Field Parameters

Jessica Hill

Power BI's Field Parameters feature lets users toggle between measures in a single visual with no advanced modelling. Here's how to set it up, plus a DAX-based workaround for when you need more control.
Debugging NuGet Packages: Understanding Debugging Symbols and Using Source Link

Debugging NuGet Packages: Understanding Debugging Symbols and Using Source Link

Elisenda Gascon

Explore debugging NuGet packages, a less straightforward process, to troubleshoot app issues by stepping through code and diving into methods.
Table Functions in DAX: DISTINCT

Table Functions in DAX: DISTINCT

Jessica Hill

Explore DAX's DISTINCT table function in Power BI — how it returns unique values of a column in the current filter context, with worked Sales and Product examples.