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
Building API Reference Documentation From Code, Part 2: Under the Hood

Building API Reference Documentation From Code, Part 2: Under the Hood

Matthew Adams

A deep dive into the cross-assembly linking, PDB-based source links, TFM scanning, enrichment merging, and search indexing that power our API reference documentation pipeline.
Building API Reference Documentation From Code, Part 1: The Pipeline

Building API Reference Documentation From Code, Part 1: The Pipeline

Matthew Adams

We generate about 8,800 API reference pages from 16 libraries across two engine versions, with source links, TFM availability badges, and hand-authored enrichments - all from a single PowerShell pipeline. Here's how.
Writing Effective Copilot Instructions for Complex Codebases

Writing Effective Copilot Instructions for Complex Codebases

Matthew Adams

A flat copilot-instructions.md works for small projects. When your codebase hits 500k lines, 19 projects, and multiple code generators, you need something more structured. Here's how we built a modular skills library for Corvus.Text.Json - and the design principles that make it work.
Optimising DAX: The Formula Engine and Storage Engine

Optimising DAX: The Formula Engine and Storage Engine

Carmel Eve

When you execute a DAX query, two engines divide up the work. Understanding the split between the formula engine and the storage engine is key to writing performant DAX.
Your Cloud AI SLA Tells You Less Than You Think

Your Cloud AI SLA Tells You Less Than You Think

James Dawson

Traditional cloud SLAs measure API uptime, not behavioural stability. This post talks about how silent AI model drift can quietly break your agents and the questions you might want to ask vendors.
Trying Out WSL Containers: Microsoft's Built-In Alternative to Docker Desktop

Trying Out WSL Containers: Microsoft's Built-In Alternative to Docker Desktop

Mike Evans-Larah

Microsoft's new WSL Containers (wslc) promises container management on Windows without Docker Desktop. I tried it with dev containers, Aspire, and Docker Compose - here's what works, what doesn't, and whether you should switch yet.
AsyncAPI Code Generation with Corvus: Custom Transports

AsyncAPI Code Generation with Corvus: Custom Transports

Matthew Adams

Implement a custom IMessageTransport for brokers not covered by the built-in packages - PublishAsync, SubscribeAsync, RequestAsync, dead-letter routing, and optional health check support.
AsyncAPI Code Generation with Corvus: Testing

AsyncAPI Code Generation with Corvus: Testing

Matthew Adams

Test Corvus-generated AsyncAPI producers and consumers without a running broker - unit test handler logic with typed payloads, verify producer output with message capture, and integration test the full publish-consume round-trip using InMemoryMessageTransport.
AsyncAPI Code Generation with Corvus: Filtering

AsyncAPI Code Generation with Corvus: Filtering

Matthew Adams

Generate producers and consumers for only the channels you need - use channel filtering, tag selection, and the asyncapi-show preview command to carve focused messaging code from large AsyncAPI specifications.
AsyncAPI Code Generation with Corvus: Durability and Resumption

AsyncAPI Code Generation with Corvus: Durability and Resumption

Matthew Adams

Configure durable message delivery for Corvus-generated AsyncAPI consumers - Kafka consumer groups, AMQP acknowledgement, NATS JetStream, MQTT persistent sessions, and Azure Service Bus PeekLock settlement.
AsyncAPI Code Generation with Corvus: Health and Telemetry

AsyncAPI Code Generation with Corvus: Health and Telemetry

Matthew Adams

Add observability to Corvus-generated AsyncAPI producers and consumers - OpenTelemetry distributed tracing, message throughput metrics, processing loop heartbeats, and ASP.NET Core health checks for transport connectivity.
AsyncAPI Code Generation with Corvus: Request/Reply

AsyncAPI Code Generation with Corvus: Request/Reply

Matthew Adams

Generate typed request/reply methods from AsyncAPI specs with Corvus - correlated messaging with zero-allocation correlation IDs, typed response payloads, timeout management, and support for both AsyncAPI 3.0 reply objects and 2.6 x-corvus-reply extensions.
AsyncAPI Code Generation with Corvus: Typed Consumers

AsyncAPI Code Generation with Corvus: Typed Consumers

Matthew Adams

Generate typed message consumers from AsyncAPI specs with Corvus - handler interfaces with pre-validated payloads, configurable error policies, dead-letter routing, and Polly resilience middleware.
AsyncAPI Code Generation with Corvus: Typed Producers

AsyncAPI Code Generation with Corvus: Typed Producers

Matthew Adams

Generate strongly-typed message producers from AsyncAPI specs using the Corvus CLI - validated payloads, channel address templates, and pluggable transports for NATS, Kafka, AMQP, MQTT, and Azure Service Bus.
OpenAPI Code Generation with Corvus: Testing

OpenAPI Code Generation with Corvus: Testing

Matthew Adams

Test Corvus-generated OpenAPI code at every level - unit test handler logic in isolation with typed params, integration test the full round-trip with WebApplicationFactory, and verify client behaviour with in-memory transports.
OpenAPI Code Generation with Corvus: Filtering

OpenAPI Code Generation with Corvus: Filtering

Matthew Adams

Generate code for only the endpoints you need - use path filtering and the openapi-show preview command to carve focused, domain-specific clients and server stubs from large OpenAPI specifications.
OpenAPI Code Generation with Corvus: Callbacks, Webhooks and Links

OpenAPI Code Generation with Corvus: Callbacks, Webhooks and Links

Matthew Adams

Generate typed webhook receivers and senders from OpenAPI specs with Corvus - callback server stubs for receiving notifications, callback clients for sending them, runtime expression resolution, and linked operations for hypermedia-style API navigation.
Rx.NET v7.0 Now Available

Rx.NET v7.0 Now Available

Ian Griffiths

Rx.NET 7.0 is now available, with the potential to reduce deployable application size by up to 90MB.
OpenAPI Code Generation with Corvus: Authentication

OpenAPI Code Generation with Corvus: Authentication

Matthew Adams

Corvus generates per-operation OAuth2 scope constants from your OpenAPI spec - use them with standard .NET DelegatingHandler middleware and Azure.Identity for type-safe authentication without proprietary frameworks.
OpenAPI Code Generation with Corvus: Streaming

OpenAPI Code Generation with Corvus: Streaming

Matthew Adams

Generate typed streaming responses from OpenAPI specs with Corvus - SSE and NDJSON on the server with writer callbacks, IAsyncEnumerable on the client with pooled typed documents and automatic frame parsing.
OpenAPI Code Generation with Corvus: End-to-End

OpenAPI Code Generation with Corvus: End-to-End

Matthew Adams

Wire a Corvus-generated OpenAPI client to a generated server over real HTTP - both sides validated against the same spec, with generated OAuth2 scope constants for type-safe authentication.
OpenAPI Code Generation with Corvus: Server Stubs

OpenAPI Code Generation with Corvus: Server Stubs

Matthew Adams

Generate ASP.NET Core server stubs from OpenAPI specs with Corvus - handler interfaces with pre-validated parameters, typed result factories, and automatic Problem Details responses for invalid requests.
OpenAPI Code Generation with Corvus: Typed HTTP Clients

OpenAPI Code Generation with Corvus: Typed HTTP Clients

Matthew Adams

Generate strongly-typed HTTP clients from OpenAPI 3.x specs using the Corvus CLI - zero-allocation models, exhaustive response matching, and built-in schema validation with a single dotnet tool command.
Optimising DAX: Model Design Comparisons and Testing Tips

Optimising DAX: Model Design Comparisons and Testing Tips

Carmel Eve

Star schema vs flat table vs header/detail - which Power BI model design gives you the best performance? This post compares all three and covers practical testing tips.
Microsoft Fabric Workspace Topology Patterns

Microsoft Fabric Workspace Topology Patterns

James Broome

Workspace topology is one of the first decisions you'll make in Microsoft Fabric, and one of the hardest to undo once you're underway. This post will help you start with the right foundations in place.