### Wrestling with exponential compile times in GHC

posted on: Jun 09 2024

How type families can easily generate exponetially large types and how to fix it.

### Cracking the Cryptic (with Z3 and Rust)

posted on: Apr 28 2024

Solving a crazy sudoku like puzzle using the Z3 bindings in Rust

### MADS

posted on: Oct 09 2022

Making a math search problem 5x as fast and then 1000x as fast

### Voronoi shading the web

posted on: Sep 18 2022

Creating a simple 2d shader with Rust and Bevy, and compiling it to the web

### $ is the wrong way around (sometimes)

posted on: Sep 05 2022

Reverse application in functional languages is underappreciated

### 3d normals are 2.0000001d

posted on: Jun 05 2022

How to compress a 3d normal to 2 floats for faster raytracing

### Statically Typed Lambda Calculus as an Embedded Language

posted on: Jan 31 2022

Using type level programming to implement statically typed lambda calculus with strong correctness guarantees

### Solving newspaper puzzles with SMT solvers

posted on: Jan 05 2022

Letting Z3 do the heavy lifting to solve a frustrating puzzle

### Higher Kinded Types in Rust

posted on: Dec 03 2021

Learning a new language: Hello World, prime numbers, then monads

### Demystifying the state monad

posted on: Nov 04 2021

Rediscovering haskell's state monad from scratch

### Functional in the wild: typeclasses

posted on: Jul 03 2021

How C++ template can be (and are) used to create typclasses

### Sudoku solving

posted on: Apr 04 2021

Solving sudoku's with an ILP model

### Who still uses ReaderT

posted on: Mar 18 2021

How haskell's ImplicitParams extension could deprecate ReaderT

### Shining light on a die

posted on: Mar 12 2021

Pathtracing or how I learned to stop worrying and love the nested integral

### The kernel is on fire

posted on: Sep 04 2020

A full tutorial on making a fire effect using a kernel on the gpu

### A Hacking Bootcamp

posted on: Jul 22 2020

Challenge the Cyber bootcamp 2020, a first hand account

### A Boomerang Proof

posted on: Jun 05 2020

Solving and proofing a children's math puzzle

### The fun of playing with shaders

posted on: May 05 2020

Why leveraging the GPU to serve your imagination is utterly enjoyable

### C# can be functional pt2: Lists are Monads

posted on: Jan 04 2020

An experiment to see if a list can be implemented as a monad in C#

### C# can be functional pt1: The Maybe Monad

posted on: Dec 15 2019

Piping the power of haskell to the world of C#: Theorists' wet dream or awesome idea?

### The Knight of Hamilton

posted on: Dec 02 2019

An epic tale of a struggling knight, tasked with finding a 'Knight's Tour'

### Making a blog website

posted on: Nov 01 2019

Creating a static html blog managed with a python CLI