Fork Bombs

What? Why did my shell just crash? How did I accomplish that? I am astonished that this is even possible! It seems that I have executed a fork bomb. “A what now?”, you might ask now. Computer scientists love a great metaphor, in this case, I really did something explosive to my PC. Fork Bombs What looks like gibberish is actually one of the simplest functions of your operating system, but abused to stop your OS from working at all. :(){ :|:& };: is nothing more than a declaration of a function, followed by its invocation. The function’s name is :. Let’s rename it crash, so we can make sense of this: ...

April 18, 2025

Handling multiple Git Accounts

A friend showed me his .gitconfig today, which had a feature that blew my mind! Depending on the URL of his git-repository, the username and email would automatically be set. This comes in very handy in a company that has both internal git-repos and GitHub-repos, since things like names will typically be different, or if your university has a GitLab instance for uni projects, but you also happen to have a GitHub for personal repositories. ...

April 14, 2025

Converting styles from Jetpack Compose to Glance

Android widgets have evolved with Jetpack Compose, and the new Compose Glance API makes it easier to create widgets using a declarative approach. Sadly, there are notable differences between Compose for Apps and Compose for Widgets (Glance), where a lot less things are supported (probably due to the widget API limitations inside Android). These differences can make development tricky, as I discovered during the development of my own widget. To bridge some gaps, I developed a few helper functions to make working with text styles, fonts, and colors in Glance more intuitive. In this article, I’ll briefly explain these utilities. ...

February 28, 2025

Kotlin Shenanigans: Multiple Annotations

Using multiple annotations in Kotlin can become quite ugly. The take up more lines than the meaning they convey is worth, and some annotations are often used together. Take this small Jetpack Compose function for example: @Preview @Composable fun Preview_ConfigurationList() = AppTheme { ConfigurationList() } The @Preview and @Composable annotations are both necessary and need to be used in conjunction. You could of course just write them both on the same line. ...

January 23, 2025

Python Among Us Character

My Quest to find the Among us code & character: While I was doomscrolling on Instagram a while back, I saw a weird programming post, claiming that you could use a Python one-liner to display the well-known outline of the character from “Among us”. Among us gained popularity during the lockdowns of the COVID-19 pandemic, probably due to its relatively simple mechanics and multiplayer mode. This is what the little guy looks like (thanks to Yazza for the CC licensed art): ...

January 22, 2025