Vectorizing low-quality wallpapers


I fell in love with this AI-generated wallpaper, but was excessively annoyed by the JPEG artifacts. So I vectorized it (thanks to Twix for the idea!) and now I can scale it up to any resolution I want with this SVG :) If you want to do this too with one of your pictures, there's plenty of different tools you can use for vectorization, like Inkscape's "Trace Bitmap" feature. For this particular image, I used vectorizer.

Read more...

Nixian - NixOS-inspired Debian configuration

After running NixOS on my main laptop for a couple of months, I decided to go back to Debian. While NixOS is very innovative, it's also very different, and the most simple things that would work on any other Linux distribution are very counter-intuitive on NixOS, and that's not a good fit for a system that I use to be productive. (I still use it on one of my servers though.

Read more...

10 Tips for a Productive Work Environment

As a software developer, I spend a lot of time at my computer, and I know that the environment I work in can have a huge impact on my productivity and overall well-being. Over the years, I've experimented with different techniques and strategies to create a work environment that promotes focus, efficiency, and creativity. In this post, I'd like to share some of the tips and tricks that I've found most helpful for creating a productive work environment.

Read more...

Training nanoGPT on my Journal

Wouldn't it be great to have a pet AI chat bot that knows you really well, and can give you free consulting, coaching and therapy? What could possibly go wrong if an intelligent corporate-controlled system has unlimited access to your private data to provide you the best possible service? Well... a lot of things. That's why I'm looking into building a helpful chat bot that runs 100% offline, purely on the CPU of my 7-year-old laptop.

Read more...

Quality-of-Life improvements as Videogame Goals

Some computer games are just annoying. On purpose. In the beginning, at least. And one method of keeping you engaged in the game is to offer solutions for all the annoyances that the game imposed on you. A common example is a very slow movement speed of the player character, with the promise of faster movement speed if you just keep playing a little longer.

Read more...

Mysteries in Chinese Letters

I've been learning (Simplified Mandarin) Chinese for a couple years and the most fun part about the language is how you can attempt to derive the history of a word from looking at the individual components. For example, the word "New" is written as 新, which is composed of 亲 ("relatives, parents") and 斤 ("axe"). Fascinating, isn't it? One can vividly imagine how some person in ancient Chinese killed their relatives with an axe and realized that only when the influence of the family is entirely obliterated, the mind is truly open to new concepts, and one is finally free to pursue them as an emancipated individual.

Read more...

Keeping Track of a Life


As I'm getting older, I am more and more getting the sense that time is slipping away, and I keep wondering where it goes. To get a high-level overview of my past, and help my brain to keep a sense of continuity and progress, I started collecting digital records in the form of a spreadsheet. Some people write a diary, but that's too much work for me. I decided to go with a granularity of 1 month, so perhaps we can call this a ✨monthary✨.

Read more...

Now available on Gemini


I've always been a big fan simple websites, which don't bombard you with lots of visual noise, and don't bombard your computer with computationally expensive requests, annoying pop-ups, ads, unneeded cookies, tracking scripts, and other bloat. But even though I make simple websites, modern web browsers are such complicated beasts that in order to view them, you still rely on bloated and user-hostile software.

Read more...

Aquatic Dark Ambient Playlist

This is an ambient playlist that I like to listen to. Most of the songs have an aquatic vibe to them, and sound slow, dark, and creepy. As if you're in an underwater cave or in a submarine on the bottom of the ocean. Somehow, for me, this isolated mood makes it strangely feel like home.

Read more...

Dying of a Deadstar

Recently GPT-J-6B came out, an open-source program that uses a pre-trained neural network to generate authentic-looking text. You can easily try it out on the Interactive online demo page. It is quite similar to the famous GPT-3 model by OpenAI, which is ironically closed-source though. So, finally, mortals like you and me can play around with it \o/ I want to share this incredibly deep song lyrics that the AI produced:

Read more...

Inlineswap

Seems like every programmer on earth wrote a static HTML generator ;). So here's mine: inlineswap, which is currently used by the website of ranger. What's special about it? The main idea is that it will look for commands in your HTML files and put the result of those commands right back into the HTML file.

Read more...

Moved to hugo

Blogging software is one of those things that's sometimes faster to write yourself than to learn an existing framework. Some simply write their blog in raw HTML. I, on the other hand, like markdown, and for years I was using the following simple Makefile directive to generate my blog:

Read more...

My Backup Routine

For a long time I was looking for a comfortable backup routine that works for my use case of having multiple devices (2 linux laptops, 1 windows desktop, 1 phone) and includes off-site cold storage. Cold, as in, disconnected from the internet and therefore unhackable, and off-site for protection against a burglary or fire. The solution I settled for is simple and cheap: Instead of hauling around expensive/big/fragile external harddrives, I bought two 256GB USB pen drives, encrypted them and copied over my most important files.

Read more...

Neural correlates of hidden mental models


This post describes an idea about interpreting artificial neural networks that I used in my computer science master's thesis. I'm genuinely curious whether this idea has any value, so I invite you to send feedback, including about: Does this even make any sense? Does this have a name already? Where did I make mistakes? Has this ever been used productively?

Read more...

Oasis


I really like the sense of isolation that you get from games like FTL (an unforgiving strategy/survival space game). The isolation is somehow cold and cozy at the same time. Cold, because in space, everything is distant, resources are tight, and there is danger and death everywhere you go. You're on your own, and there's but a thin sheet of metal separating you from the infinite, suffocating void of space. And on a grander scale, there is a sense of impending, ultimate doom, as the galaxy is in turmoil and civilization seems to be going downhill.

Read more...

Stateless

This is a draft for a game that I wanted to build, but probably will never have the time for. If you are interested in realizing this, please contact me. Intro 50 years into the future, as the corporations tighten their grip on the citizens of the earth, the lawless high sea attracts heros of all kind. An evergrowing, improvised raft is forming in the pacific ocean, creating a parallel anarchic society of fugitives, dreamers and disillusioned revolutionaries.

Read more...

Remembering books with flashcards

I've met people who read (non-fiction) books and they just remember all important details effortlessly. I'm totally not one of them. The concepts might have an impact on me for a while but then quickly fade. A year later, it would be challenging in a discussion to refer to what I've read with any confidence. Thankfully there are options to help with that. My system consists of taking notes and then boiling them down into what fits on a flashcard so I can continuously revisit it as time passes:

Read more...

Evolutionary neural networks


A while ago I've built an application that simulates little cubic creatures that live in a virtual environment and behave according to a genetic code, which is passed down to their offspring with occasional mutations. I called the project "naki" (don't ask me why) and it's been a lot of fun, but as time went by, I forgot it and went about my life. Now I rediscovered it and I'm having a blast fiddling with it. The main change I introduced was replacing the genetic sequence with a multilayered neural network that connects sensory neurons with actuators:

Read more...

The "lscd" File Browser


I've been casually working on a file browser that has a similar interface like ranger, but takes a different approach, in that it is written in POSIX shell. It's called "lscd", for being a vim-like interface for the commands "ls" and "cd". I wanted to combine the elegance, portability and simplicity of a short bash script with the ability to get me whereever I want ASAP without the "cd TAB TAB TAB" boilerplate. Additionally, it can use ranger's file opener "rifle" to execute files just the way ranger does.

Read more...