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