all posts

Monalis, stylized image compression with simulated annealing

Feb 13 2026

Using webgpu compute shaders to run an highly optimized simulated annealing process to generate cool images

Rust
wgsl

Wrestling with exponential compile times in GHC

Jun 09 2024

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

haskell

Cracking the Cryptic (with Z3 and Rust)

Apr 28 2024

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

Rust

MADS

Oct 09 2022

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

Rust

Voronoi shading the web

Sep 18 2022

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

Rust

$ is the wrong way around (sometimes)

Sep 05 2022

Reverse application in functional languages is underappreciated

Haskell
Elm

3d normals are 2.0000001d

Jun 05 2022

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

c++
vulkan
glsl

Statically Typed Lambda Calculus as an Embedded Language

Jan 31 2022

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

Haskell

Solving newspaper puzzles with SMT solvers

Jan 05 2022

Letting Z3 do the heavy lifting to solve a frustrating puzzle

haskell

Higher Kinded Types in Rust

Dec 03 2021

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

rust

Demystifying the state monad

Nov 04 2021

Rediscovering haskell's state monad from scratch

haskell

Functional in the wild: typeclasses

Jul 03 2021

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

haskell
c#
c++

Sudoku solving

Apr 04 2021

Solving sudoku's with an ILP model

python

Who still uses ReaderT

Mar 18 2021

How haskell's ImplicitParams extension could deprecate ReaderT

haskell

Shining light on a die

Mar 12 2021

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

C++
cuda

The kernel is on fire

Sep 04 2020

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

c++
glsl

A Hacking Bootcamp

Jul 22 2020

Challenge the Cyber bootcamp 2020, a first hand account

A Boomerang Proof

Jun 05 2020

Solving and proofing a children's math puzzle

C++
haskell

The fun of playing with shaders

May 05 2020

Why leveraging the GPU to serve your imagination is utterly enjoyable

C++
glsl

C# can be functional pt2: Lists are Monads

Jan 04 2020

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

C#
haskell

C# can be functional pt1: The Maybe Monad

Dec 15 2019

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

C#
haskell

The Knight of Hamilton

Dec 02 2019

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

python

Making a blog website

Nov 01 2019

Creating a static html blog managed with a python CLI

html
css
jinja
python