Projects
Latest Blogs
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 »