Blog

Algebraic Types are not Scary, Actually

Posted on 2025-08-30

You may have heard the term algebraic types before, which initially sounds like an advanced concept, that only someone with a PhD in programming languages can understand. Quite the contrary, algebraic types is a very simple and helpful concept about programming in general. Anyone who knows basic algebra could understand what algebraic types are.

Minimal Scala Container Images using Nix

Posted on 2025-07-25

Recently I've been working on a Scala backend as a side project. I decided to deploy it as a Docker image for portability reasons. My hosting provider supports running JARs, but I wanted something that I could host anywhere if I decided to move away.

Why Every Programming Language Sucks at Error Handling - Part 1

Posted on 2025-03-08

Proper error handling is hard. It's a concept since the inception of programming, yet solutions we have are hardly satisfying. When one tries to add proper error handling into their code it gets much more complicated than just implementing the happy path.

Pinning Nixpkgs without Channels

Posted on 2024-10-20

Nix Channels is probably one of the most controversial parts of the Nix. While Nix claims to be fully reproducible, Nix derivations implicitly refer to a nixpkgs usually through a channel. This breaks the reproducibility promise because the version of nixpkgs depends on the environment that the derivation is built.

Writing My Own Static Site Generator in OCaml

Posted on 2024-09-20

Hello world! This is my first blog post. For a while, I wanted to start blogging about programming, and writing my own blog engine seemed like a good idea to keep it interesting. While keeping me interested in working as intended, I think I could have published my first post much earlier if I used an existing blog engine.