The Unexpected AI Stack: C# + .NET (Part 4)
Setting up the test foundations using Testcontainers and transactions for AI-enabled applications with C# and .NET
Personal blog of Charles Chen (CharlieDigital, @chrslchn)
Setting up the test foundations using Testcontainers and transactions for AI-enabled applications with C# and .NET
Building an AI-enabled application using the Copilot SDK, C#, .NET, and Nuxt UI
Scaffolding an AI-enabled codebase from the ground up to support agentic engineering.
Exploring an unconventional and underrated sleeper stack for building AI- and agent-enabled applications: C# and .NET
6 months later, where does MCP stand today?
Understanding the social media zeitgeist around CLIs and the premature death of MCP
Using conditional types to achieve type safety without having to use 'as'
When smart people get their high from building complex systems to solve simple problems, you're not going to have a good time
A quick take on the 'inverted' reactivity model of React compared to vanilla JS, Vue, and other frameworks.
Self-note on some lessons learned from working at a variety of startups over my career
Are new AI startups "just another wrapper for a 3rd party model"? Does having an oven make you a baker?
Putting things into perspective: many think that we are in the trough of disillusionment; but really, gen AI is just getting started.
Manage large sets of data using a nifty feature of Google Cloud Storage
For parallel processing of records, C# discriminated unions and .NET System.Threading.Channels make it easy.
If your gen AI use case has a need for speed, then it might be time to move beyond OpenAI GPT and combine that with a backend capable of high-throughput concurrent processing.
A guide to understanding how to think about state and components in Vue with the game changing defineModel
Feeling too much friction from your microservices architecture? It's time to revisit monoliths.
Long interview processes have become a bane in the tech industry. Can we fix it?
Supercharge your dev workflow with end-to-end type safety and hot rebuild!
Wondering which concurrency library is right for you? Let's dive in!
An HTTP alternative to web sockets that makes it easy to push events from the server.
Love Google Cloud Run but need to be able to programmatically invoke long running jobs?
If you're struggling with TypeScript, reshaping your perspective might help.
How Mastodon and the Fediverse are shifting the landscape of social media -- for the better.
Lessons learned from working at startups ranging from seed stage to series-B/C funding over the last 3 years.
If you need to extract text from websites to feed into LLMs, this easy solution will get you started with just a few lines of code.
Exploring .NET source generators to reduce boilerplate code in everyday code!
In the emerging age of AI generated code, is leetcode really the best way to evaluate technical candidates (was it ever)?
Ruminations on the timeless debate of comments in code.
If you're seeking a no-cost, low-ops, low-friction solution for deploying SSR workloads then look no further!
You’ll never get fired for picking it, but it’s going to be expensive, bloated, difficult to get right, and joyless every step of the way.
If you're confused about useMemo and useCallback and you have 10 minutes and nostalgia for 90’s sci-fi? You came to the right place!
A mental model for helping you get oriented with with Vue3 and Composition API
My observations on practices that help all teams build speed.
My personal thoughts on front-end in 2023
Using .NET System.Threading.Channels for concurrent processing with interval trees.
TypeScript Record types have super powers that can help any team write better code.
Find out why Google Firebase is a great platform for application development with .NET 6
The second part of my guide for how .NET developers need to re-orient in the modern dev landscape.
The first part of my guide for how .NET developers need to re-orient in the modern dev landscape.