The Curious Engineer

All blogs / Software / engineering practice

Ian Duncan

iankduncan.com

I'm Ian, a software engineer and entrepreneur in The Netherlands. I write about engineering, cooking, and life.

Software / engineering practiceEngineering management / careersAI / ML

’15’20’25
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

  1. Who Owns the Machines?
  2. Sex, AI, and the Apocalypse
  3. Getting Freaky in the Age of AI
  4. The Mathematics of Build Queue Optimization and Auto-Scaling
  5. Deconstruct the Monolith: Composable App Bootstrapping with Fractal Layer
  6. Brief aan de Eerste Kamer over box 3 · A letter to the Dutch Senate on Box 3
  7. Essential Complexity
  8. Phronema
  9. 2026 06 10 yagni
  10. Premature Optimization
  11. What's in the Box? A Field Guide to AI Models
  12. Stealing from Biologists to Compile Haskell Faster
  13. Making Haskell Talk to PostgreSQL Without Suffering
  14. Archive: Automatic Optimal Pipelining of Redis Commands
  15. TIL: HTTP/3 Is Not Always Faster Than HTTP/2
  16. What Functional Programmers Get Wrong About Systems
  17. In Praise of Control Planes, or: Why You Need a Place to Stand
  18. Your Best Thinking Is Wasted on the Wrong Decisions
  19. No, Really, Bash Is Not Enough: Why Large-Scale CI Needs an Orchestrator
  20. GitHub Actions Is Slowly Killing Your Engineering Team

2025 8

  1. Punycode: My New Favorite Algorithm
  2. The CRDT Dictionary: A Field Guide to Conflict-Free Replicated Data Types
  3. JSON Schema Demystified: Understanding Schemas, Dialects, Vocabularies, and Metaschemas
  4. Event Design for Streaming Systems: A Primer
  5. Accidental or Essential? Understanding Complexity in Software Design
  6. What You Need to Know About Trump\
  7. Actuarial Murder and Other Diffuse Acts of Violence
  8. The Cadence of Salting

2024 2

  1. Embracing Flexibility in Haskell Libraries: The Power of Records of Functions
  2. Hi, Barbie! Higher kinded records made easy(er)

2023 8

  1. Haskell Best Practices– Wildcards aren\
  2. There and Back Again: Turning Haskell functions into RPC calls- Part 2
  3. There and Back Again: Turning Haskell functions into RPC calls- Part 1
  4. Integrating a large Tokio-based Rust library with Haskell
  5. One Serialization Class to Rule Them All
  6. OpenTelemetry Gotchas– Phantom Spans
  7. The Cruel Part Is
  8. Vignettes

2021 1

  1. Garbage in, Never out

2014 2

  1. Using React with GHCJS
  2. Introducing Growler, a simple HTTP server toolkit