Find your next readFilters
Reset

Page 18 of 163 (Total items: 815)
StyloBot: Fighting Back Against Scrapers (Part 1)

Scrapers are about to start using AI to mimic real users - so I built a bot detector that learns, adapts, and fights back. Read Part 2: How Bots Got Smarter - The New Frontier in Bot Detection 👉 See It Live: StyloBot.net - This is the real production system…

Thinking in Systems: A Retrospective on a Life Spent Trying to Understand How Things Fit Together

By someone who can't stop analysing patterns, even their own. As the category says, this is a far more personal essay than my usual work. I don't mind if you skip it...but if it resonates leave a comment! I read them all (and it needn't be public). <!-- [TOC]…

Data Hierarchies Part 1.5: PostgreSQL ltree with EF Core

PostgreSQL's ltree extension gives you materialised paths with database-native superpowers: GiST indexes, specialised operators like @> and <@, and powerful pattern matching. If you're committed to PostgreSQL and want the best hierarchy query performance,…

Data Hierarchies Part 1.4: Nested Sets with EF Core

Nested sets encode the entire tree structure into just two integers per node - Left and Right boundaries from a depth-first walk. Finding all descendants becomes a simple range query, and ORDER BY Left gives you perfect display order. The catch? Every insert…

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…

Page 18 of 163 (Total items: 815)
logo

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