Code Execution: Eval, Apply

In writing LParen , a Lisp interpreter, the single Nolan-esque mind-bending idea for me has been implementing code execution. I can write a function, which itself is just a data structure, and execute it in the interpreter as a general computation. Characters, symbols, and numbers which previously used to only mean something now do something.

Take these ASCII characters which claim to compute the fibonacci number sequence. It’s only by galactic chance that when these characters are passed …


Professional Development Goals for 2023

January 12 2023 · tech
  • Determine whether Data Mesh is a software architecture, philosophy, cryptocurrency, or cult.
  • Increase my knowledge of what OKRs are and how to write effective, quantifable results by 10%.
  • Write a rust program that compiles with no warnings
  • Evaluate 12 alternative website frameworks for this blog using a multi-dimensional, democratic Cynefin methodology.
  • Remove the 216 uses of !important from my blog’s CSS.
  • Write a React application which Github’s Dependabot doesn’t immediately …

Dunstan Landscapes

Horizon - Leaning Rock on the Dunstan Range

Horizon - Leaning Rock on the Dunstan Range

On the Old Man Range

On the Old Man Range


Wanaka Landscapes

Lake Wanaka

Lake Wanaka

Matukituki Valley

Matukituki Valley


Abstractions for Logic

Programming languages provide abstractions which allow the expression of logic. This gives us, the Alchemist programmer, the ability to recite a few incantations on our keyboards and imbue the programs we are writing with the apparent ability to make decisions. Without logic computer programs would be constructed to do a single thing, and recursion and loops would act as black holes.

In this blog we add a boolean data type and some common logical control operators.

Input …