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
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
Insight Discovery Part 5: Delivering insights via data pipelines

Insight Discovery Part 5: Delivering insights via data pipelines

James Broome

Traditional bottom-up data modelling leads to platforms that are hard to evolve and don't meet business needs. Data pipelines let you deliver thin, focused slices of value from source to insight.
How to calculate the total cost of ownership (TCO)

How to calculate the total cost of ownership (TCO)

Barry Smart

There is a broad spectrum of costs that a digital asset will accrue over its lifetime, which will typically span many years.
Insight Discovery (part 4) – Data projects should have a backlog

Insight Discovery (part 4) – Data projects should have a backlog

James Broome

This series focuses on maximizing data projects' impact via an iterative, insight discovery process, and synergy with cloud platforms like Azure Synapse.
What is the total cost of ownership (TCO) and why is it important?

What is the total cost of ownership (TCO) and why is it important?

Barry Smart

Understanding the total cost of ownership is key to making informed decisions about technology investments.
Continuous Integration with GitHub Actions

Continuous Integration with GitHub Actions

Liam Mooney

This post gives an overview of Continuous Integrations and shows how you can implement it with GitHub Actions, with an accompanying example Python project
Publishing Scripts to the PowerShell Gallery

Publishing Scripts to the PowerShell Gallery

James Dawson

Explore how to share a function from a PowerShell module as a standalone script, without maintaining two code versions.
Azure Functions to Container Apps Part 2: Migrating to ASP.NET Core

Azure Functions to Container Apps Part 2: Migrating to ASP.NET Core

Jonathan George

The second in a series of posts talking about how and why we migrated an application from Azure Functions to Azure Container Apps
Insight Discovery (part 3) – Defining Actionable Insights

Insight Discovery (part 3) – Defining Actionable Insights

James Broome

Define actionable insights by starting with a specific action, then identifying the questions, evidence and feedback loops that turn data into business value.
Design assets for impactful data storytelling in Power BI

Design assets for impactful data storytelling in Power BI

Paul Waller

In this post we will talk through how to expand on a data team's creative skillset, without access to specialist photo editing software such as Photoshop or Illustrator.
5 tips to pass the PL-300 exam: Microsoft Power BI Data Analyst

5 tips to pass the PL-300 exam: Microsoft Power BI Data Analyst

Elisenda Gascon

I recently passed the PL-300 - Power BI Data Analyst exam. Here are some tips to prepare for it that I found useful!
Insight Discovery Part 2: data projects start by forgetting the data

Insight Discovery Part 2: data projects start by forgetting the data

James Broome

Successful data projects start by forgetting about the data. Begin with business goals and the decisions that drive them, and let data follow the insight.
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.