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.
1029 posts since 2023 624 Problem of the Day write-ups 272 tags
Latest articles
Guides and deep dives on .NET, architecture and the tools I use at work.
-
User Impersonation for QA & Dev in Windows Auth with ASP.NET Core MVC (.NET 10)
8 minLearn how to build a safe, production-grade user impersonation mechanism in ASP.NET Core MVC (.NET 10) to streamline QA and local development for Windows Authenticatio...
-
A Simple Guide to the Decorator Pattern: User Impersonation in ASP.NET Core MVC (.NET 10)
5 minDesign patterns often feel intimidating when buried under enterprise boilerplate or third-party libraries. However, the Decorator Pattern is simple, elegant, and can b...
-
How to Create a Custom .NET 10 MVC & API Solution Template
40 minWhen starting a new project or onboarding team members, setting up the same repetitive multi-project architecture by hand (creating a modern solution file, adding an M...
-
Windows Task Scheduler
1 minSometimes, we need to run daily task or schedule a process to run on a window server. This can be tedious and time consuming. So, it’s better to find a way to automate...
-
Select and SelectMany in C# LINQ with .NET 10
7 minSelect and SelectMany are two of the most useful LINQ operators. Both transform data, but they produce different shapes:
-
Understanding GroupBy, ToLookup, and Join in LINQ with C# and .NET 10
9 minLINQ gives C# developers a concise way to filter, transform, group, and combine data. Three operators that often look similar but solve different problems are GroupBy,...
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.