• Easy ClickHouse S3 Backups - 📅

    I’d been moving more and more personal projects to my ClickHouse database, but I didn’t have a good backup solution. In fact, I didn’t have any backup solution whatsoever.


  • Shell scripts as a poor man's AppImage - 📅

    I love applications that can be packaged as a single executable file. A lot of languages can create files like that now, including C, C++, Rust, Go, and even C#. But not every language can compile to a single executable like that, even even ones that do might need some extra files bundled with the executable.


  • Earthquake data for Turkey - 📅

    Istanbul residents recently had a scare when a magnitude 6 earthquake hit the nearby city of Duzce. When we felt the tremors, I wanted to confirm that it was actually an earthquake, and wanted to check where the epicenter was.


  • A Brief Overview of Mastodon - 📅

    Recently on both my Twitter and Mastodon feeds, I’ve been seeing a lot of people talking about a Twitter to Mastodon migration. I’ve been on the Fediverse, and similar networks, for some time now, but I haven’t written too much about it.

    I thought I’d take a moment to write a brief overview of Mastodon, in case anyone hears about it for the first time and wants to know more.


  • Memorable Unique Identifiers (MUIDs) - 📅

    I was reading up on the Microprediction website, and I saw that instead of registering and getting API keys, they were using something called MUIDs that can be generated completely locally.


  • Birthday paradox - 📅

    The birthday paradox is the surprising result that if you have 23 people in a room, there is a 50% chance that two of them share a birthday. I want to explore this topic and verify that this is true.

    Instead of delving into the maths with formulas, we will be using Monte Carlo methods with random simulations.


  • Status update, December 2021 - 📅

    This is going to be the last monthly status update of 2021. It contains small snippets of projects I’ve been working on since the last status update (2021-09-15 to 2021-12-15, 91 days).


  • The Rumba20 compression function - 📅

    In this article; we will implement the Rumba20 compression function from scratch. We will then use our implementation to build a hash function, a keyed Message Authentication Code, and a key derivation function.


  • Status update, September 2021 - 📅

    It’s been six months since the last status update. Long gone are the days of publishing monthly updates. This page contains updates on the things I’ve been working on between March 15th, 2021 and September 15th, 2021.


  • JSON Serializer in Python - 📅

    Due to JSON’s ubiquity, we end up reaching for JSON libraries regularly when we have a project that needs to exchange data with other systems. Whenever something becomes widespread and becomes an “infrastructure”, it turns into a black-box in people’s minds.

    One reason JSON got so popular is the fact that it’s simple. It’s not the simplest solution to the problem, not by a long shot, but it’s flexible enough to solve a lot of problems without becoming too large. In this post we’ll be making a JSON serializer in Python that can serialize arbitrary nested data structures in a few lines of code. And more importantly, every part should be understandable and self-contained.


Older Posts >