All blogs / Software / engineering practice
Ian Duncan
I'm Ian, a software engineer and entrepreneur in The Netherlands. I write about engineering, cooking, and life.
Software / engineering practiceEngineering management / careersAI / ML
- Posts
- 41 from 13 Nov 2014 to 15 Oct 2026
- Posting
- weekly (24 in the last year)
- Kind
- personal blog
- Feed
- https://www.iankduncan.com/rss.xml
2026 20
- Who Owns the Machines?
- Sex, AI, and the Apocalypse
- Getting Freaky in the Age of AI
- The Mathematics of Build Queue Optimization and Auto-Scaling
- Deconstruct the Monolith: Composable App Bootstrapping with Fractal Layer
- Brief aan de Eerste Kamer over box 3 · A letter to the Dutch Senate on Box 3
- Essential Complexity
- Phronema
- 2026 06 10 yagni
- Premature Optimization
- What's in the Box? A Field Guide to AI Models
- Stealing from Biologists to Compile Haskell Faster
- Making Haskell Talk to PostgreSQL Without Suffering
- Archive: Automatic Optimal Pipelining of Redis Commands
- TIL: HTTP/3 Is Not Always Faster Than HTTP/2
- What Functional Programmers Get Wrong About Systems
- In Praise of Control Planes, or: Why You Need a Place to Stand
- Your Best Thinking Is Wasted on the Wrong Decisions
- No, Really, Bash Is Not Enough: Why Large-Scale CI Needs an Orchestrator
- GitHub Actions Is Slowly Killing Your Engineering Team
2025 8
- Punycode: My New Favorite Algorithm
- The CRDT Dictionary: A Field Guide to Conflict-Free Replicated Data Types
- JSON Schema Demystified: Understanding Schemas, Dialects, Vocabularies, and Metaschemas
- Event Design for Streaming Systems: A Primer
- Accidental or Essential? Understanding Complexity in Software Design
- What You Need to Know About Trump\
- Actuarial Murder and Other Diffuse Acts of Violence
- The Cadence of Salting
2024 2
2023 8
- Haskell Best Practices– Wildcards aren\
- There and Back Again: Turning Haskell functions into RPC calls- Part 2
- There and Back Again: Turning Haskell functions into RPC calls- Part 1
- Integrating a large Tokio-based Rust library with Haskell
- One Serialization Class to Rule Them All
- OpenTelemetry Gotchas– Phantom Spans
- The Cruel Part Is
- Vignettes