Intro to D metaprogramming - Creating a JSON serialiser

A series which covers the creation of a basic JSON serialiser in D while teaching several different aspects of D’s metaprogramming:

  • templates
  • template arguments
  • function contracts
  • static if
  • static foreach
  • mixins
  1. Serialising basic D types
  2. Serialising basic D types - Alternative function layout
  3. Serialising structs
  4. Serialising enums and classes
  5. Serialising arrays
  6. Using UDAs for customisation
  7. Mixin template to automate static deserialise

How I made a speedrun timer in D

A one-off post going over how I made a speedrun timer for the original Deus Ex, and how D made the project as painless as possible.

This covers using D to perform systems-level programming, as well as just the general topic of code injection & reading from game memory.

  1. How I made a speedrun timer in D