Blog

Running Multiple Claude Code Accounts with herdr

How I run work and personal Claude Code accounts side by side in herdr using CLAUDE_CONFIG_DIR, and stop session restore from using the wrong account.

DuckDB.NET 1.5.0: Simplified Scalar Functions, Table Functions, and NULL Handling

DuckDB.NET 1.5.0 introduces a high-level API for scalar and table user-defined functions, named parameter support for table functions, and explicit NULL handling for scalar UDFs.

DuckDB.NET 1.5.0 Performance: Up to 40% Faster Writes and 22% Fewer Allocations

DuckDB.NET 1.5.0 brings significant performance improvements across the board. Benchmarks show 40% faster appender writes, 22% fewer allocations, and 20% faster general reads compared to 1.4.4.

PostgreSQL range types and Entity Framework Core

In this blog post I explore PostgreSQL range types and how you can use them from Entity Framework Core.

How Cloudflare Broke My Build and How I Fixed It

About a month ago, my open-source project EntityFramework.Exceptions failed to build on AppVeyor, the continuous integration service that I have been using for several years.

Introducing GraphQLinq - Strongly Typed GraphQL Queries with LINQ to GraphQL.

GraphQLinq is a LINQ to GraphQL library for .NET: scaffold strongly typed classes from an endpoint and write GraphQL queries checked at compile time.

Updating LINQPad.QueryPlanVisualizer for LINQPad6 And Entity Framework Core

LINQPad.QueryPlanVisualizer now supports LINQPad 6, Entity Framework Core and PostgreSQL, so you can view query plans for both databases in LINQPad.

EntityFramework.Exceptions 3.1.1 - Support for Entity Framework Core 3 and Improved API

In the previous article I introduced EntityFramework.Exceptions, a library which simplifies handling exceptions in Entity Framework Core but the library had one important limitation. In order to use it you had to inherit your custom DbContext from ExceptionProcessorContextBase class. This means that if you wanted to use some other base class for your DbContext you were out of luck. The latest version of the library solves this issue by

Introducing EntityFramework.Exceptions

EntityFramework.Exceptions gives you typed exceptions such as UniqueConstraintException in Entity Framework Core, with no database error codes to check.

Introducing LINQPad.QueryPlanVisualizer

LINQPad.QueryPlanVisualizer is a custom visualizer that shows SQL Server query execution plans and missing indexes directly inside LINQPad.

Faking num lock, caps lock and scroll lock leds

How to turn the Num Lock, Caps Lock and Scroll Lock LEDs on and off from C# without changing the key state, using DeviceIoControl.

Building Expression Evaluator with Expression Trees in C# – Improving the Api

Part 4 of the series: binding variables by name with anonymous objects, and compiling an expression once to evaluate it with different values.

Using Reactive Extensions for Streaming Data from Database

How to use Reactive Extensions (Rx) in .NET to run a slow database query in the background and load the results into a grid in chunks.

Building Expression Evaluator with Expression Trees in C# – Part 3

Part 3 of the series: adding support for variables to the C# expression evaluator with Expression.Parameter and compiled lambdas.

Building Expression Evaluator with Expression Trees in C# – Part 2

Part 2 of the series: rewriting the C# expression evaluator with the shunting-yard algorithm and adding support for parentheses.

Building Expression Evaluator with Expression Trees in C# – Part 1

Part 1 of the series: a basic mathematical expression evaluator in C# built with expression trees, developed test by test.

Building Expression Evaluator with Expression Trees in C# – Table of Contents

Table of contents for a four-part series on building a mathematical expression evaluator in C# with expression trees.

Dynamic ViewState in ASP.Net WebForms – Part 2

An improved DynamicViewState for ASP.NET Web Forms: fully compatible with StateBag, available as a NuGet package, with performance benchmarks.

Dynamic ViewState in ASP.Net WebForms

How to build a ViewBag-style dynamic wrapper around ViewState in ASP.NET Web Forms with DynamicObject, so you can drop string keys and casts.

AppDomain.AssemblyResolve Event Tips

Tips for handling the AppDomain.AssemblyResolve event in .NET: parsing assembly names, handling repeated calls and avoiding FileNotFoundException.

Silverlight slideshow with remote control and windows taskbar support

Build a Silverlight out-of-browser slideshow that responds to a remote control and Windows 7 taskbar buttons with Native Extensions for Silverlight.

How to Get Elevated Process Path in .Net

Process.MainModule.FileName throws for elevated processes. Here is how to get the process path in .NET with QueryFullProcessImageName instead.

Bugs in System.Diagnostics.Process Class

Process.StartTime and Process.HasExited throw an access denied Win32Exception for elevated processes. Here is why it happens and how to work around it.