author

Hi, I'm Scott Galloway.

Software engineer, former Microsoft ASP.NET Program Manager. Practical notes on .NET, AI, search, and building Stylo.Bot and other open-source tools. About me · Get in touch

Latest articles

All articles
Find your next readFilters
Reset

Page 9 of 81 (Total items: 807)
Data Hierarchies Part 1.3: Materialised Path with EF Core

Materialised paths store the complete ancestry as a delimited string - like /1/3/7/ - making ancestors instantly readable without any joins. Perfect for breadcrumb generation and human-readable debugging, though moving subtrees means updating every…

Data Hierarchies Part 1.2: Closure Table with EF Core

Closure tables precompute and store every ancestor-descendant relationship, trading storage space for blazing-fast reads. This is the approach this blog uses for its comment system - when reads vastly outnumber writes, the extra insert complexity pays off with…

Data Hierarchies Part 1.1: Adjacency List with EF Core

The adjacency list is the simplest and most intuitive approach to storing hierarchical data - each row just points to its parent. It's what most developers reach for first, and for shallow trees with frequent moves, it's often the right choice. This article…

Data Hierarchies: Managing Hierarchical Data with EF Core and PostgreSQL (Overview)

Hierarchical data is everywhere in software development: threaded comments, organisational charts, file systems, product categories, and forum discussions. The eternal question of "how do I store a tree in a relational database?" has haunted developers since…

No we're likely not reaching AGI anytime soon: The Behaviourist Fallacy in AI Subsystem Development

Here's an uncomfortable truth that nobody in the AI hype machine wants to discuss: We still don't know what intelligence actually is. Not in humans. Not in animals. And certainly not in machines. This isn't just academic hairsplitting. It's the foundational…

Modern Release Strategies with GitHub Actions

The core principle: make releases fast and painless, and you'll release more often. This is critical for agile development - rapid, reliable deployments create the fast feedback loop you need. When deploying is scary or slow, teams batch up changes, increasing…

Data Access in .NET: Comparing ORMs and Mapping Strategies (Part 2 - Dapper, Raw SQL, and Hybrid Approaches)

Welcome to Part 2 of our comprehensive guide to data access in .NET! In Part 1, we explored Entity Framework Core in depth, including SQL generation, common pitfalls, and that critical warning about proxies and caching. In this article, we'll explore the…

Data Access in .NET: Comparing ORMs and Mapping Strategies (Part 1 - Entity Framework Core)

When building .NET applications, one of the most important architectural decisions you'll make is how to handle data access and object mapping. The .NET ecosystem offers a rich variety of approaches, from full-featured ORMs to bare-metal SQL execution. Each…

Where's the semantic search Scott?

Ok quick piece here. You've read all about semantic search, in MANY articles here. But you may have noticed; THIS SITE AIN'T ACTUALLY USING IT YET. So where is it? Simple the way I deploy this site means I NEED downtime to change my docker-compose.yml…

Load Testing ASP.NET Core Applications with k6: Practical Implementation

Now that you understand the fundamentals of k6 and performance testing, it's time to put that knowledge into practice. This article walks you through writing real tests, integrating them into CI/CD pipelines, and using profiling tools to identify and fix…

Page 9 of 81 (Total items: 807)
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.