During my 12–year journey through formal education I became very familiar with 6–point grading scale. It’s one of those things you are exposed to so early in life, that you accept it as a truth about the world. And for me, empirically, it made sense. I could always say if something was excellent , very good , good , acceptable , bad , or tragic . My worldview shifted a little…
Have you ever wondered how to protect your master password from getting lost? Or how to create a perfect democracy where nuke access is shared between most important people in the government equally ? Or how to achieve immortality by splitting your soul and putting the pieces into objects? 🪄 If so, then you’ve come to the right place. Join me, my friend, on this discovery of…
When you create a new social service on the internet, one of the things you need to think about is how to make a user’s space feel like their own. Services like GitHub , Roll20, or Reddit generate — or allow you to generate — a custom avatar (i.e. Identicons ) for your account. Avatar auto-generation is especially neat, as it does not require any engagement from the user.…
Some time ago, during a code review, I had a discussion with a colleague of mine about preferring dict() over {} in new Python code. They argued that dict() is more readable — and expresses intent more clearly — therefore should be preferred. I wasn’t convinced by that, but at that time I didn’t have any counterarguments, so I passed. Yet that made me wonder: what’s…
This blog is hosted on GitHub Pages . The service offers free static website hosting (TLS included!). The way it works is that GitHub issues a dedicated subdomain for each hosted website; for this one it’s: nathiss.github.io . However, if you try to access it you’ll be redirected to madebyme.today instead. I’ve set up a custom domain, and GitHub is kind enough to respond with 301…
This entry has been inspired by Buster Benson ’s Life in Weeks . The rules are very similar: each block represents a week in my life. More significant events are named and might have descriptions. It’s not the end product. I’ll add entries frequently, but irregularly. My goal in this exercise is to understand how the sum of forces that have acted upon me has influenced my life.…
Recently I was tasked with initialization of a new Python project. One of the requirements was to prepare a changelog. I liked the idea, but my gut feeling was that the future project contributors won’t keep the changelog always up-to-date and it’s quality will decline over time. This article proposes a feature which enforces changelog updates, when it’s required to do so.…
Recently I’m investing a lot of time into developing a game server in Rust . I started with implementing network layer based on WebSockets . It’s far from being ready, but I developed a helper crate for creating detached, cancellable services. Game server backstory The idea of developing an authoritative game server always seemed appealing to me. Network programming, however, has many…
Natural Selection is what allows our species (and images!) to improve over time. In this article we’ll implement a scoring mechanism, through which “ Mona Lisa ” will actually look like one. Natural Selection Natural selection is the process though which species adapt to their environments. If the evolution is a wheel, then natural selection is the force that spins it. Organism…
Today I was again setting up OpenPGP application on a new Yubikey . After over two years I already forgot how tedious that can be… I’m writing this blog post to create a clear trace of what I needed to do today and hopefully, when the time comes to set up an another key, it’ll be as easy as opening up a blog entry. In general I started to learn about security keys a few years…
In the previous article from this series, we’ve talked about genetic algorithms and how they can be used to generate art. Now let’s put those ideas into action and focus on implementing the first part of our artistic toolset: mutators . Preparing the ecosystem Before we begin working on mutators, we need to prepare an environment in which our specimens can thrive. We don’t need…
Making art is hard. Drawing pictures is tedious. With programming, however, we can automate things. The point of automation is to reduce the amount of manual labor. So let’s mix evolution, DNA, and programming together to make art that makes itself. Pictures that draw themselves. Concepts and definitions Before we dive deep into making art, we need to understand some important concepts…
Well it took some time (almost 6 years) to create a personal blog, but here we are. How did we come here? This is not the first attempt on creating my own website. On my GitHub there are many (most of them private) repos, which contains some sort of personal website . All of them abandoned, but not this one! … at least not yet. ✌(-‿-)✌ However I’m optimistic. To better understand why…