learn in public
I'm Thomas Ngo, a software engineer in Stanton, California. I write down what I learn about algorithms, C# and .NET, and building real software, so I understand it better and you can learn it faster.
Articles explain a topic end to end. Problem of the Day posts are my daily algorithm practice, one LeetCode problem at a time.
1047 posts since 2023 624 Problem of the Day write-ups 306 tags
Latest articles
Guides and deep dives on .NET, architecture and the tools I use at work.
-
How Claude Code Runs Your Tasks: Where the Model Thinks and Where the Code Runs
11 min -
GitHub Actions for Beginners: Your First Workflow, Step by Step
15 minThis is a beginner tutorial for GitHub Actions. We start from zero and build a small workflow that tests a .NET project every time you push code. I use short sentences...
-
Building a CI/CD Pipeline with GitHub Actions: A Step-by-Step Guide from My PersonalFinance Project (.NET 10 + Azure)
21 minI recently set up a full CI/CD pipeline for my PersonalFinance project with help from Claude Code. It works well, but a pipeline you can’t explain is a pipeline you ca...
-
Building a Personal Finance App, Part 13: GDPR Data Export and Account Deletion
14 minIn this final part I add the two privacy features every app holding personal data should have: “download my data” and “delete my account”. They sound like a button eac...
-
Building a Personal Finance App: Series Overview
5 minFor about a month, from late September to late October 2026, I built a Personal Finance app from an empty solution to a deployed, multi-service .NET 10 application. It...
-
Adding Aspire to an Existing Blazor and Web API Solution: A Step-by-Step Guide
30 minYou already have a working solution: a Blazor Web App, a Web API, a Data project with your ApplicationDbContext, and a Models project with your entities. Running it lo...
Problem of the Day
Daily algorithm practice, one LeetCode problem at a time, with the approach and complexity.
- Copy List with Random Pointer in C#
- Remove N-th Node From End of List in C#
- LeetCode: Reorder List in C#
- Median of Two Sorted Arrays in C#
- Linked List Cycle Detection in C#
- Merging Two Sorted Lists in C#
- Reverse Linked List in C#
- Time Based Key-Value Store in C#
- Search in Rotated Sorted Array in C#
- Find Minimum in Rotated Sorted Array in C#
Topics
The tags I write about most, with how many posts each has.
About
Who's writing this.
I'm Thomas Ngo, a software engineer in Stanton, California. I build reliable, maintainable software and write down what I learn along the way.