Blog

I sometimes write about programming and software development.

  1. Engineering and Developing Software

    Some thoughts about the nature of software engineering and development, and the role of communication.

  2. Disambiguating English with Esperanto

    Exploring the use of Esperanto grammar structures with English vocabulary to disambiguate sentences.

  3. The Visitor Pattern for Collision Handling

    A motivation for the visitor design pattern, in the context of basic collision handling in a game.

  4. A Sudoku Solver in 15 Lines of Prolog

    Appreciating a sudoku solver in 15 lines of Prolog, a classic example of declarative programming.

  5. Monads, Applicatives, and Functors in Haskell

    A brief summary of Haskell's type system, detailing monads, applicatives and functors, and how they relate to one another.