Blog Archive

Introducing Petl

Moving, changing and combining data is a constant task developers take on. Petl aims to make that a little simpler by providing a consistent mechanism for managing these processes. With fluent configuration and Dependency Injection compatibility, Petl is ready to make your life simpler.

29 December, 2025

Continue Reading »

CQRS & Event Sourcing in Orleans

Command Query Responsibility Segregation (CQRS) is what I would call the Heart of the Captain Planet formation of architectural patterns, with Domain Driven Design and Event Sourcing being popular members. Individually, these patterns are powerful tools, but only together can they solve platform level problems. This article covers how to incorporate all three using Microsoft Orleans and the Stateful Grain Model.

10 April, 2025

Continue Reading »

Building Your Own NPX CLI Tool

Function Calling elevates the usefulness of AI Chat Agents by giving them access to not only query your internal system data, but to make changes on behalf of a user. For instance, given a home automation system with an API, you could collect voice data, transform it to text input supplied to an agent which then calls functions to adjust lights in your house. This post covers the basics of such a system.

22 March, 2025

Continue Reading »

Hosting Semantic Kernel in Orleans and Aspire

Function Calling elevates the usefulness of AI Chat Agents by giving them access to not only query your internal system data, but to make changes on behalf of a user. For instance, given a home automation system with an API, you could collect voice data, transform it to text input supplied to an agent which then calls functions to adjust lights in your house. This post covers the basics of such a system.

04 March, 2025

Continue Reading »

Custom Storyblok Field Type: Input with a Unit

Composable component architectures contain a number of categories of components. For some sites, it can be useful to grant content editors the ability to affect the underlying styles of components. As you find yourself implementing spacing and sizing fields, you may want the option to select the unit of measurement. Enter the "Input with Unit" field type!

23 February, 2025

Continue Reading »