Understanding a catamorphism (by writing a simple one) A lot of the time, people haven't heard of catamorphisms, or misunderstand what it is. Let's make it simple, and better yet, let's write one on our own!
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.
Abstractions, composition, and modularity A lot of the time, code is about sharing ideas, in addition to solving problems. In code, ideas are most often expressed as abstractions. And solving a problem is usually building up a solution using several small ideas put together. Interested?
Optimizing the brute-force search for an n-queens solution In this post, we optimize our brute force search for solutions to n-queens problems for a few small boards.
Solving the n-queens problem with brute-force search In this post, we take the brute force and other abstractions we created earlier, to solve the n-queens problem for a relatively small n.
Solving problems with simple yet powerful abstractions in Python A series of posts on solving problems with simple yet powerful abstractions in Python. We explore a few algorithms.
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.
Solving different types of problems with brute-force search In part 2, we test our initial abstraction with a few additional problems. In the process, we figure out a few more useful abstractions.
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.