Build it with me. Pauses included.
Real code, the occasional wrong turn, and enough context to know when the shiny pattern is the wrong one.
Everything I have filmed.
Long builds and short answers live together here, but not mixed willy nilly.
The Secret to Mastering Queue, Stack and Dictionary in C#!
EF Core soft deletes can be implemented with a nullable deletion timestamp, a save-changes interceptor, and global query filters.
Watch the video →Long form
Newest first2025
Video / csharp Async Void in C#: The Trap Card You Keep Playing
The C# `init` accessor supports object initializers while preventing properties from being changed after initialization.
8:175,469 views281 likes →
Video / data Why Your OnModelCreating Is a Hot Mess (And How to Fix It)
Entity Framework Core configurations become cleaner and testable when persistence rules move into `IEntityTypeConfiguration` classes loaded through assembly scanning.
16:066,732 views346 likes →
Video / csharp Easy LINQ Tips Every Developer Should Know!
Practical LINQ techniques improve performance and readability by avoiding repeated work, unnecessary allocations, unstable pagination, and accidental client-side processing.
13:4913,108 views631 likes →
Video / aspnetcore Dependency Injection Mistakes You Need to Avoid!
Five ASP.NET Core dependency injection failures cover missing registrations, circular dependencies, lifetime mismatches, ambiguous constructors, and scoped services used by background work.
7:578,503 views344 likes →
Video / csharp Stop Using == null: The Safer C# Pattern You Need Today!
C# inequality operators and `is not` pattern matching behave differently around constants, boxing, type checks, nulls, and overloaded operators.
11:4115,588 views580 likes →
Video / csharp Stop Using ToLower() for Comparisons! The Fast, Correct Way in C#
14:2649,880 views1,802 likes →
Video / dev-life Understand Retrieval Augmented Generation in Under 8 Minutes
8:011,104 views37 likesYouTube →
Video / windows You Won't Believe How EASY WinUI XAML Styling Can Be
21:3916,065 views383 likesYouTube →
Video / windows What Is The BEST Windows UI Framework For Your Project
10:0714,562 views333 likesYouTube →
Video / csharp Supercharge Your WinForms Projects with .NET 9 Roslyn Analyzers
3:541,111 views31 likesYouTube →
Video / copilot-ai Windows Devs Rejoice! Building Local AI Just Got Easy!
10:031,008 views60 likesYouTube →2024
Video / copilot-ai What are Vector Databases and How Do They Give AI Superpowers?
8:571,722 views82 likesYouTube →
Video / copilot-ai How Do Machine Learning Models Actually Work?
10:013,961 views130 likesYouTube →
Video / dev-life The 7-Minute Guide to Understanding Artificial Intelligence
7:137,376 views149 likesYouTube →
Video / copilot-ai Building AI with .NET: ChatGPT 4o, Dall-E 3 & Whisper
A workplace ban on LINQ and unit tests prompts a critique of blanket restrictions, hard-coded SQL, and development rules rooted in past failures.
16:014,080 views186 likes →
Video / data Soft Deletes: The Upgrade Your EF Core Needs
The Bongo Cat VS Code extension adds an animated coding companion to the status bar.
10:055,810 views291 likes →
Video / aspnetcore Building Custom Middleware for ASP.NET Core
Queues, stacks, and dictionaries solve distinct C# collection problems involving fair ordering, last-in-first-out history, and fast typed lookups.
13:4112,284 views404 likes →
Video / aspnetcore Handle ASP.NET Core Exceptions Globally
C# pattern matching can compare a boxed runtime value with a constant even when equality operators reject the incompatible static types.
9:3416,231 views605 likes →
Video / data Don't Make These Entity Framework Core Mistakes
Five Entity Framework Core performance pitfalls cover unnecessary tracking, lazy loading, Cartesian explosion, buffering, and ineffective query caching.
8:4821,781 views921 likes →
Video / csharp The Best C# Collections Explained
C# 12 expands aliases to tuples, pointers, arrays, and most other types, helping shorten repeated or complex declarations.
4:2215,899 views757 likes →
Video / csharp C#: Class, Struct or Record - Which Should You Choose?
Classes, structs, records, and record structs are compared through reference versus value semantics, equality, mutability, and practical selection criteria.
7:5363,553 views2,756 likes →
Video / csharp Should You be Using the var Keyword in C#?
Choosing among `IEnumerable`, `ICollection`, `IList`, and `IQueryable` depends on whether data needs iteration, mutation, positional access, or remote query processing.
2:581,661 views77 likes →
Video / csharp What is the Record Type in C#?
Returning `Task` instead of `async void` keeps asynchronous work observable, testable, awaitable, and able to propagate exceptions correctly.
4:2414,788 views546 likes →
Video / csharp Stop Using the var Keyword!
Explicit C# types can reduce the mental effort of understanding inferred variables, while target-typed constructor syntax offers a concise compromise.
2:426,443 views223 likes →
Video / csharp Should LINQ Be Banned from C#!?
Microsoft's AI Smart Components add clipboard-driven form filling, suggested combo-box options, and sentence autocomplete to .NET web interfaces.
3:201,520 views64 likes →
Video / csharp You Should Probably Stop Using Task.Wait in C#
EF Core's `AsSplitQuery` avoids Cartesian explosion by loading sibling relationships with separate SQL queries and combining the results.
2:122,339 views64 likes →
Video / csharp Should you await Inside Your C# Loops?
EF Core lazy loading can silently create N+1 database queries, while eager loading or targeted projections can retrieve data more efficiently.
3:283,868 views181 likes →
Video / aspnetcore Should my Services be Transient, Scoped, or Singleton?
.NET dependency injection lifetimes are explained through transient, scoped, and singleton services, including the risks of mutable singletons and injecting shorter-lived dependencies into longer-lived services.
3:4020,329 views778 likes →
Video / aspnetcore MVC vs. Minimal API vs. FastEndpoints - Which is Best for Your Project?
ASP.NET controllers, minimal APIs, and FastEndpoints offer different tradeoffs in organization, dependency injection, documentation, syntax, and built-in features.
4:3925,308 views673 likes →
Video / csharp Are People Wrong About .NET?
Common startup objections to .NET are challenged through its cross-platform support, open-source ecosystem, deployment flexibility, performance, and modern tooling.
2:571,340 views61 likes →2023
2021
Video / vscode Mastering CSV with VS Code
Rainbow CSV makes delimited files easier to inspect in VS Code through color-coded columns, validation, alignment, headers, and SQL-like RBQL queries.
6:4120,256 views268 likes →
Video / vscode VSCode's New YAML Support is AWESOME
Red Hat's YAML extension improves Visual Studio Code with validation, automatic indentation, schemas, autocomplete, and contextual hover information.
8:2237,046 views314 likes →
Video / vscode Spell Check in VS Code with Code Spell Checker
Code Spell Checker finds mistakes in documentation, comments, variables, and function names while supporting quick fixes, custom dictionaries, additional languages, and targeted exclusions.
5:3813,006 views179 likes →
Video / vscode Write Better TailwindCSS in VS Code
Using `StringComparison` avoids the allocations, cultural errors, and slower performance caused by converting strings with `ToUpper` or `ToLower` before comparison.
6:1712,493 views150 likes →
Video / vscode Navigate faster in VS Code with Footsteps
Footsteps highlights recently edited lines in Visual Studio Code and gradually fades older changes, making it easier to retrace work across files.
5:002,044 views48 likes →
Video / vscode Lint Markdown in VS Code
MarkdownLint provides immediate formatting diagnostics, repository-level rules, IntelliSense-backed configuration, and automatic fixes in Visual Studio Code.
4:549,212 views123 likes →
Video / vscode Screenshot your Code in VS Code
Value types and reference types differ in how they use the stack and heap in .NET.
3:5723,796 views462 likes →
Video / vscode Manage GitHub Pull Requests & Issues with VS Code
GitHub Pull Requests and Issues brings reviews, queries, local PR checkout, issue management, and TODO-to-issue workflows into Visual Studio Code.
7:286,345 views81 likes →
Video / vscode Keep Track of VS Code Windows with Peacock
Entity Framework Core's `AsNoTracking` can accelerate read-only queries by avoiding the overhead of change tracking.
7:571,985 views43 likes →
Video / vscode Write Code in Containers with VS Code and Remote Containers
Visual Studio Code's Remote Containers extension creates consistent, disposable development environments that can package SDKs, CLIs, extensions, ports, and setup commands with a project.
6:001,986 views59 likes →
Video / vscode Work with Others Using Live Share in VS Code
Visual Studio Live Share supports remote pair programming, reviews, shared debugging, chat, and terminals without requiring collaborators to clone or configure the project.
6:4028,005 views198 likes →
Video / vscode Format Your Code in VS Code with Prettier
The Prettier extension integrates opinionated formatting into Visual Studio Code while respecting project configuration, local versions, and plugins.
8:091,170 views28 likes →
Video / github What is GitHub Gist? (Explained)
GitHub Gists provide lightweight version-controlled storage for snippets, documents, data, multiple related files, embedded code, and simple web pages.
5:3925,907 views805 likes →
Video / vscode Manage GitHub Gists in VS Code
The Gist extension manages GitHub Gists inside Visual Studio Code, supporting authentication, creation, insertion into documents, and default privacy settings.
5:455,011 views165 likes →
Video / vscode Testing APIs with REST Client in VS Code
The OpenAI .NET SDK 2.0 provides specialized clients for streaming chat, DALL-E image generation, and Whisper audio transcription.
6:295,890 views83 likes →
Video / cloud Azure File Shares as Container Volume Mounts
Azure File Storage can provide persistent volume mounts for containerized apps running in Azure App Service through path mappings and Docker Compose.
5:2515,759 views302 likes →
Video / vscode Bracket Pair Colorizer 2 - VS Code Extension Highlight
Bracket Pair Colorizer 2 distinguishes nested brackets and parentheses with colors, highlights, and scope lines that can be extensively customized.
5:3711,150 views120 likes →Shorts
Small answers, fast2025
Short / aspnetcore Fix Ambiguous Constructors in ASP.NET Dependency Injection!
Ambiguous ASP.NET Core dependency injection constructors can be resolved with an explicit constructor attribute, a factory, or keyed services.
0:542,873 views84 likes →
Short / csharp How Pattern Matching Saves Your Day!
ASP.NET Core exception handling progresses from built-in middleware and custom middleware to modular .NET 8 `IExceptionHandler` implementations registered in priority order.
0:314,516 views57 likes →
Short / csharp C# '== null': There's a Better Way!
The Peacock extension color-codes VS Code workspaces to distinguish projects, Live Share sessions, containers, WSL, and remote environments.
1:032,882 views109 likes →
Short / csharp Can One Letter Break Your App!?
Parameterizing Entity Framework queries can let EF reuse a compiled query shape and help the database reuse its query plan.
0:354,758 views71 likes →
Short / csharp ToLower is Killing your App Performance!
`Task.Wait` blocks its thread, while `await` releases that thread for other work until the operation completes.
0:431,853 views54 likes →
Short / data Make Entity Framework Faster with Parameterized Queries
Culture-sensitive lowercasing can break string comparisons, as demonstrated by the Turkish dotless i, while `OrdinalIgnoreCase` remains culture agnostic.
1:051,889 views55 likes →
Short / data You Won't Believe The Hidden Dangers Of Lazy Loading
The REST Client VS Code extension sends REST and GraphQL requests from `.http` or `.rest` files with support for headers, bodies, variables, authentication, and request conversion.
1:012,572 views45 likes →2024
Short / data EF Core Queries Go BOOM!
Using an appropriate `StringComparison` avoids extra allocations and produces safer case-insensitive string comparisons.
0:593,470 views111 likes →
Short / aspnetcore IExceptionHandler Makes ASP.NET Exceptions Easy
.NET 8's `IExceptionHandler` supports centralized ASP.NET exception handling through built-in middleware and modular handlers for specific exception types.
0:571,546 views79 likes →
Short / data Slow Entity Framework Core queries? Let’s speed them up!
C# value types are passed by value, so assigning one variable to another creates a copy that can change independently.
1:004,823 views137 likes →
Short / csharp Value Types in C#
Using `var` can reduce repetition and simplify refactoring, but descriptive names and team-wide consistency matter more than personal preference.
0:541,414 views75 likes →
Short / csharp Reference Types in C#
C# reference types hold references to objects, so two variables can point to the same instance and observe the same changes.
1:001,170 views52 likes →
Short / aspnetcore Don't Make This Dependency Injection Mistake!
Injecting a shorter-lived service into a longer-lived one effectively extends the dependency's lifetime and creates invalid service designs.
1:493,716 views139 likes →
Short / csharp String or string in C#?
C# `string` is an alias for `System.String`, making the choice primarily a matter of style and team consistency.
0:552,147 views102 likes →
Short / csharp Stack vs. Heap in .NET
Git stash temporarily saves uncommitted changes, restores a clean working directory, and lets you reapply selected work later.
1:003,338 views147 likes →
Short / csharp Immutability in .NET just got a LOT easier
C# records provide value-based equality, concise declarations, useful printing, deconstruction, and immutable copying, while record structs offer value-type behavior.
0:56959 views41 likes →
Short / dev-life I Tried Voice Coding, It Was A Disaster!
A voice-coding attempt gets tangled in repeated "delete word" commands while trying to produce an export, class, and stream.
1:001,036 views0 likes →
Short / aspnetcore It's ALWAYS CORS!!!!
A live debugging attempt moves from successful compilation to a failed fetch before identifying CORS as the culprit.
0:24610 views17 likes →
Short / copilot-ai Why .NET AI Smart Components are game-changing
ASP.NET Core middleware processes requests in an ordered pipeline and can modify responses, short-circuit execution, or consume injected services.
1:001,117 views28 likes →
Short / csharp How to Create a Custom HttpClient Logger (2024)
A custom `IHttpClientLogger` can replace verbose default HTTP client logs with focused request, response, and failure information.
1:29829 views27 likes →
Short / vscode Build Unity games in VS Code!
Microsoft's Unity extension brings C# tooling, IntelliCode support, and debugging to Visual Studio Code, with Unity package version 2.0.20 required for some setups.
0:491,858 views37 likes →
Short / git What is Git Cherry-Pick?
Git cherry-pick applies a specific commit from another branch while preserving the rest of that branch's work.
0:521,570 views40 likes →
Short / vscode Take Me Home VS Code
A Friday-evening developer lament captures a broken build, failing tests, and Visual Studio Code.
0:52219 views18 likes →
Short / git How to REALLY use git stash (save your work!)
Awaiting inside a loop runs operations sequentially, while collecting tasks and using `Task.WhenAll` enables concurrency when ordering is not required.
0:581,048 views31 likes →
Short / vscode Edit GitHub Gists in VS Code!
The Gist extension creates public or private GitHub Gists from Visual Studio Code through the command palette.
1:00588 views9 likes →
Short / git Where's my code!?
The Peacock extension assigns colors to Visual Studio Code workspaces, with customizable targets and integrations for remote development and Live Share.
1:01566 views15 likes →
Short / git What is git clean 🤯
`git clean` removes untracked files, with flags controlling forced deletion, untracked directories, and ignored files.
0:48545 views9 likes →
Short / github What is GitHub Gist?
GitHub Gists provide lightweight, version-controlled sharing for multiple public or private files without full repository features.
0:57477 views16 likes →
Short / git What IS git switch!?
`git switch` separates branch switching from `git checkout`, while `git restore` handles restoring paths from an index or tree.
1:00512 views7 likes →2023
Short / csharp How has .NET not had this before!?
C# collection expressions simplify array and list creation, add spread syntax, and can support custom collection types through a builder attribute.
1:00459 views9 likes →
Short / csharp Better C# Anonymous Functions & Lambdas
A playful Blazor movie-trailer riff contrasts .NET web development with MVC, postbacks, state, JavaScript, and jQuery.
0:42478 views13 likes →
Short / csharp Alias Any Type in C# 12
C# pattern matching with `is null` and `is not null` avoids misleading results from overloaded equality operators.
1:56809 views30 likes →
Short / dev-life I Tried NeoVIM
A brief outtake cycles through wrong guesses before landing on a joke about leaving Visual Studio Code.
0:2647,429 views439 likes →
Short / vscode I Don't Hate YAML Anymore!
Red Hat's YAML extension helps Visual Studio Code detect structural, indentation, and type problems, with stronger validation when a schema is available.
1:008,080 views145 likes →
Short / vscode Screenshot VS Code like a pro 📸
CodeSnap creates themed code screenshots directly inside Visual Studio Code with a live preview and selectable lines.
1:004,146 views41 likes →
Short / dev-life Bongo cat loves my code!
C# 12 primary constructors reduce boilerplate by exposing constructor parameters throughout a type, but introduce important rules around overloads, naming conflicts, and generated properties.
0:51632 views13 likes →
Short / vscode HTML in VS Code = Easy Mode
HTML Biscuits adds customizable annotations beside closing tags so deeply nested HTML is easier to navigate.
1:00484 views13 likes →
Short / dev-life What if AI takes developer jobs!?
A brief comedy pitch invites singles to an OnlyFans featuring bald, bearded feet.
0:11426 views5 likes →
Short / vscode Stop misspelling code in VS Code!
C# 12 adds default parameter values and `params` support to anonymous functions and lambda expressions.
0:59526 views9 likes →
Short / blazor .NET Blazor movie trailer
Code Spell Checker finds spelling mistakes across documentation, comments, variables, and function names, including words embedded in camel case.
0:38439 views11 likes →
Short / dev-life I’ve Never Built this for a Client
A developer with nearly 20 years of experience confesses that he has never built tic-tac-toe for a client, then detours into microphones, a back scratcher, and Vue.js.
0:33392 views9 likes →A little .NET in your inbox.
One useful tip, a few links worth your time, and the occasional war story. No inbox flood.