Understanding isomorphisms by writing some in TypeScript I have mentioned isomorphisms before, but left it at a high level. Is there only one isomorphism from a type to another? How do we write them? Time to dig in.
Why my functions are usually curried Most functions I write are curried. Some people are put off by its unfamiliarity, while others love it. Are you scared? Let's unmask the spooky ghost and see it for what it is, scooby-doo style.
Building strongly typed vectors and matrices in TypeScript Recently, I came across a problem where I had to generate primitive Pythagorean triples. Much to the wrath of several people, I’m gonna…
When ‘optimizations’ backfire: a wordle bot competition and a surprising probability lesson Discover surprising probability insights from a Wordle bot competition, where a risky optimization strategy led to unexpected lessons.
Solving for multiple variables in brute-force search Earlier, we added a few abstractions to brute-force search. Now, we add yet another abstraction and unlock a wide range of possibilities.
Finding multiples of a number using brute-force search Writing simple but powerful abstractions is a necessary skill in software. We start with a simple abstraction that solves a few problems.
Generating tickets for tambola — or bingo, or housie, or whatever Recently, I’ve been fiddling with clojure and having some fun. It has some pretty powerful abstractions that allow neatly expressing ideas…