About:

Ian Henry is a tech enthusiast with interests in Nix, triangulation, chording keyboards, tmux, Unicode, and text encoding. He enjoys creating arpeggio keyboards and mixing cocktails in his free time.

Website:

Specializations:

Interests:

Nix Triangulation Chording keyboards Tmux Unicode Text encoding

Incoming Links:

Outgoing Links:

Subscribe to RSS:
The blog post discusses the technique of domain repetition in signed distance functions (SDFs) for rendering shapes in real-time graphics. It explains how to create infinite shapes using ray marching and evaluates the distance fie...
The blog post discusses Worley noise, a procedural texturing technique in computer graphics. It explains how to create various textures using Worley noise, including hammered and cratered effects, and addresses visual artifacts th...

0Building Bauble

2025-01-10

The text describes the creation of a tool called Bauble, which allows the author to create 3D shapes using mathematical expressions. Bauble is a 3D modeling tool that uses signed distance functions (SDFs) and allows the author to ...
The blog post discusses the concept of macros in programming languages, specifically focusing on the use of quote and unquote in Janet. It explains how macros can be used to allocate tables at compile time and reference them at ru...
The author discusses the benefits of using nix-direnv as a quality of life improvement over nix-shell, highlighting how it solves common issues and provides a smoother experience for managing Nix environments. The post includes a ...
The blog post discusses the process of installing single-user Nix on macOS, highlighting the differences between single-user and multi-user installations. The author shares their personal experience and preference for single-user ...
The blog post discusses the Fibonacci sequence and its relation to linear algebra, exploring how matrix multiplication can be used to calculate Fibonacci numbers in constant time. It delves into the concept of eigenvectors and eig...

0My Kind of REPL

2023-07-05

The author discusses a programming technique where programs can modify themselves, creating a read-eval-patch loop for testing. By using source files as persistent REPLs, the author generates test cases effortlessly. The technique...

0Generalized Macros

2023-04-18

The blog post discusses the concept of generalized macros in Janet, a programming language, and how they can be used to create powerful and expressive macros that rewrite not only themselves but also the forms around them. The pos...

0Why Janet?

2023-04-12

The author discusses the benefits of using the programming language Janet, highlighting its simplicity, distributability, text parsing capabilities, subprocess DSL, embeddability, mutable and immutable collections, macros, compile...

0Janet for Mortals

2023-04-04

The author discusses his book 'Janet for Mortals' and the process of writing it, including the challenges and side projects he worked on. He reflects on the website, bindings to C++ libraries, an art playground, a command-line arg...
The blog post discusses the concept of Delaunay triangulation, explaining its importance and applications in various fields. The author provides a detailed explanation of the algorithm for Delaunay triangulation and the process of...
The blog post discusses the benefits of using zsh-autoquoter, a zsh extension that automatically quotes arguments to commands, making tasks like writing commit messages, running ssh commands, managing todo lists, storing useful on...
sd is a tool for running scripts in a cozy nest directory structure, supporting autocompletion and easy script creation. The author reflects on the history of sd, its recent improvements, and future prospects.