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
Integration Testing Azure Functions with Reqnroll and C#, Part 5 - Using Corvus.Testing.ReqnRoll in a build pipeline

Integration Testing Azure Functions with Reqnroll and C#, Part 5 - Using Corvus.Testing.ReqnRoll in a build pipeline

Jonathan George

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the final post in this series, we show how to ensure specs written using Corvus.Testing can run as part of your build pipeline.
Integration Testing Azure Functions with Reqnroll and C#, Part 4 - Controlling your functions with additional configuration

Integration Testing Azure Functions with Reqnroll and C#, Part 4 - Controlling your functions with additional configuration

Jonathan George

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the fourth of this series of posts, we look at how configuration can be supplied from your tests to the functions apps being tested.
Integration Testing Azure Functions with Reqnroll and C#, Part 3 - Using hooks to start Functions

Integration Testing Azure Functions with Reqnroll and C#, Part 3 - Using hooks to start Functions

Jonathan George

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the third of a series of posts, we look at using classes in the Corvus.Testing library to run functions apps via scenario and feature hooks.
Integration Testing Azure Functions with Reqnroll and C#, Part 2 - Using step bindings to start Functions

Integration Testing Azure Functions with Reqnroll and C#, Part 2 - Using step bindings to start Functions

Jonathan George

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the second of a series of posts, we look at using step bindings provided by the Corvus.Testing library to run functions apps as part of your Reqnroll scenarios.
Integration Testing Azure Functions with Reqnroll and C#, Part 1 - Introduction

Integration Testing Azure Functions with Reqnroll and C#, Part 1 - Introduction

Jonathan George

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the first of a series of posts, we look at some different approaches to testing your functions apps, and introduce the Corvus.Testing library.
From Prompt Engineering to AI Programming: Building Enterprise-Ready Generative AI Solutions

From Prompt Engineering to AI Programming: Building Enterprise-Ready Generative AI Solutions

James Broome

Shift from prompt engineering to AI programming by applying rigorous software engineering principles to your LLM integrations.
Scaling API Ingestion with the Queue-of-Work Pattern

Scaling API Ingestion with the Queue-of-Work Pattern

Jonathan George

The queue-of-work pattern enables massive parallelism for API ingestion by breaking large jobs into thousands of independent work items processed by concurrent workers. This approach reduced data ingestion time for our use case from 15 hours to under 2 hours while providing automatic retry handling and fault tolerance at a fraction of the cost of traditional orchestration tools.
Rx.NET v7 and Futures On .NET Live talk and demos

Rx.NET v7 and Futures On .NET Live talk and demos

Ian Griffiths

In a recent On .NET Live stream, Ian Griffiths talked about recent developments in Rx.NET and plans for v7 and future versions. This post explains where to find the demo code for that session.
T4 templates on modern .NET

T4 templates on modern .NET

Ian Griffiths

T4 is a .NET-based templating language. It used to target just .NET Framework. It is now possible to use modern .NET runtimes, but it requires additional work. This post shows how to get it working.
What is Retrieval-Augmented Generation (RAG)?

What is Retrieval-Augmented Generation (RAG)?

Carmel Eve

What is RAG? Learn how RAG combines retrieval, augmentation & generation to ground GenAI responses in your data while reducing hallucinations & improving accuracy.
Polars Workloads on Microsoft Fabric

Polars Workloads on Microsoft Fabric

Barry Smart

Polars now ships inside Microsoft Fabric by default. Here's how to use it alongside Fabric's other analytics tools and what that means for your data workflows.
Practical Polars: Code Examples for Everyday Data Tasks

Practical Polars: Code Examples for Everyday Data Tasks

Barry Smart

Unlock Python Polars with this hands-on guide featuring practical code examples for data loading, cleaning, transformation, aggregation, and advanced operations that you can apply to your own data analysis projects.
Under the Hood: What Makes Polars So Scalable and Fast?

Under the Hood: What Makes Polars So Scalable and Fast?

Barry Smart

Polars gets its speed from a strict type system, lazy evaluation, and automatic parallelism. Here's how each piece works under the hood.
Polars: Faster Pipelines, Simpler Infrastructure, Happier Engineers

Polars: Faster Pipelines, Simpler Infrastructure, Happier Engineers

Barry Smart

We've migrated our own IP and several customers from Pandas and Spark to Polars. The benefits go beyond raw speed: faster test suites, lower platform costs, and an API developers actually enjoy using.
How .NET 10.0 boosted AIS.NET performance by 7%

How .NET 10.0 boosted AIS.NET performance by 7%

Ian Griffiths

.NET 10.0 has shipped, and for the fifth year running, we benchmarked endjin's AIS.NET library and were very happy to see substantial performance gains, with no extra work required.
Adventures in Least Privilege: When an owner isn't an owner

Adventures in Least Privilege: When an owner isn't an owner

James Dawson

A troubleshooting journey through Microsoft Entra ID that reveals the subtle but critical distinction between App Registration ownership and Service Principal ownership - and why it matters for least-privilege automation.
Ix.NET v7.0: .NET 10 and LINQ for IAsyncEnumerable<T>

Ix.NET v7.0: .NET 10 and LINQ for IAsyncEnumerable<T>

Ian Griffiths

Ix.NET 7.0.0 is now available. Because .NET 10.0 now includes LINQ for IAsyncEnumerable, Ix.NET's System.Linq.Async has had to step back. This post explains what has changed and why.
The Data Product Canvas: The Theory Behind The Canvas

The Data Product Canvas: The Theory Behind The Canvas

Barry Smart

The Data Product Canvas fuses the Business Model Canvas with Data Mesh's 'data as a product' principle, combining visual strategic collaboration with product-minded data ownership.
The Data Product Canvas in Action

The Data Product Canvas in Action

Barry Smart

See the Data Product Canvas in action with a real-world scenario. Follow along as we work through each building block to design a high-impact, feasible data product for a national garden center chain facing revenue challenges.
The Data Product Canvas: Deep Dive into the Building Blocks

The Data Product Canvas: Deep Dive into the Building Blocks

Barry Smart

The Data Product Canvas has nine building blocks, best completed right-to-left starting with Audience and Actionable Insight, to keep data products purpose-driven and user-centred.
The Data Product Canvas: Stop Building Data Products That Fail

The Data Product Canvas: Stop Building Data Products That Fail

Barry Smart

Turn data initiatives into business success stories with the Data Product Canvas. This practical framework helps teams design data products that deliver real value, avoid common pitfalls, and align with business objectives.
Building data quality into Microsoft Fabric

Building data quality into Microsoft Fabric

Mike Evans-Larah

Data quality issues are one of the biggest silent killers of analytics initiatives. This post explores how to build data quality into Microsoft Fabric from the ground up.
Top Features of Notebooks in Microsoft Fabric

Top Features of Notebooks in Microsoft Fabric

Jessica Hill

Discover the top key features of notebooks in Microsoft Fabric.
How .NET 10.0 boosted JSON Schema performance by 18%

How .NET 10.0 boosted JSON Schema performance by 18%

Matthew Adams

We benchmarked endjin's JSON Schema library on .NET 10.0 and saw large performance gains.
Big Data London 2025

Big Data London 2025

Barry Smart

AI agents dominated Big Data LDN 2025, but the real story wasn't the technology, it was which organisations could actually deploy it successfully. After five years tracking industry evolution through this event, one pattern emerged clearly: the winners had built their foundations first. For CTOs making platform decisions now, the strategic imperative isn't choosing between innovation and governance; it's recognizing that governance enables innovation at scale.