Custom QMK Layers

I’ve been using the Ergodox EZ for a while, but I’ve never liked the different layer options. I always found they did half of what I wanted. The closest layer behavior is the One shot keys, in particular the OSL(N) one shot …

Quasirandom Sequences

Introduction I saw a Hacker News post the other day about Fibonacci hashing and through that rabbit hole found out about this article on qausirandom sequences. It’s a fantastic article, but this mini-post will serve to highlight some …

Build A Compiler - Variables

Note: This is the second part of the series, post 1 can be found here Introduction This installment of the build-a-compiler series will cover global variables, and multi-expression programs. Currently the compiler is a glorified …

Build A Compiler

Introduction This post will cover how to build a native compiler for a very simple language. It’ll start small by building a native compiler for a small calculator language. Later installments will add on to this base with more …

CRT Shader

Shader CRT Shader, or something. Code Vertex Shader attribute vec2 position; varying vec2 vPosition; void main() { vPosition = position; gl_Position = vec4(position, 0.0, 1.0); } Fragment Shader precision highp float; varying vec2 …

Math Battle

Description A game where you need to write math functions to guide your missile. A player wins when their math function intersects the other players circle. The asteriods were originally supposed to be destructable, but I did not finish it. …