Hardcopy just went through its biggest update yet — a proper design system built on CSS custom properties, a consolidated About page that absorbs the old CV and Tech Stack routes, a brand-new Projects showcase, and a complete component overhaul. Here's what changed and why.
Hey, I'm Chris
Full-stack developer writing about .NET, Azure, React, and whatever else I had to spend too long debugging.
Latest Posts
Caching in Remix with `createHeadersFunction`
Efficient caching improves performance by reducing server load and speeding up page loads. In my Remix blog, I use `createHeadersFunction` to handle caching in a structured way. Here's how it works. ...
Swapping Numbers in VS Code Using Regex - A Solution for SQL Undo Scripts
### **Problem Statement** When writing **undo scripts** in SQL, it’s common to reference existing data as part of the `WHERE` clause. If the script is generated dynamically, you may need to swap...
Authenticating Azure Service Bus in a Local Docker Container Using Azure CLI
When running services locally in Docker that need to authenticate with Azure Service Bus, you can leverage the Azure CLI (`az login`) to provide credentials. This avoids manually setting up...
Managing HttpClient and Preventing Shared Cookies
## The Problem: Understanding `AddHttpClient` and Its Lifecycle In .NET, `HttpClient` is typically registered using the `AddHttpClient` extension method in `IServiceCollection`. This method...
Renaming Azure Blobs to Lowercase Using Bash and AzCopy
When working with Azure Blob Storage, you might encounter issues due to case sensitivity in blob names. If your application expects all blob names to be lowercase but some are stored in mixed or...
Limiting WSL 2 Memory Usage to Prevent Vmmem Resource Exhaustion
Is WSL 2's Vmmem process consuming all your system RAM? Here's how to use the .wslconfig file to set hard limits and regain control of your Windows resources.
Efficient Filtering with Composite Keys using Tuples in Entity Framework
Working with composite keys in Entity Framework can be tricky, especially when you need to filter a large table by a specific set of records already in memory. Here's how to use C# Tuples to manage this effectively.
Debugging Ruby on Rails applications can be smooth, but sometimes gem conflicts like those between Byebug and Debase can stop you in your tracks. Here's how to resolve common debugger installation issues.
For my Ruby development I have been using Visual Studio Code and WSL 2. I wanted to move to a more Ruby friendly IDE... RubyMine. I used this guide from the RubyMine Documentation: [https://www.jetb...