My Take on Tech A place where I document my findings as an advanced user and as a developer.

Fix Docker cgroup errors after systemd 248 update

I’m running multiple Docker containers such as Pi-Hole on an Odroid XU4 with Arch Linux ARM.
After updating to Systemd version 248 last month, I noticed that all my Docker containers started throwing an error:

ERROR: for <container name>  Cannot start service <container name>: failed to create shim: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: process_linux.go:458: setting cgroup config for procHooks process caused: can't load program: invalid argument: unknown

Some Tricks For sxhkd (and bspwm)

I love keyboard-based interfaces.
That’s why, pretty soon after publishing this post, I moved to using a tiling window manager, and never looked back.
I chose bspwm for various reasons I won’t go into in this post, but one of the strong points that I see in its design is that it does only one thing - manage windows. The other stuff (namely, managing system key bindings) it leaves for other tools to do.
To complement bspwm’s “missing feature”, the developer created another tool, sxhkd, which helps managing key bindings on any Linux system, but works especially well with bspwm (of course).
There are tones of articles on how to set up bspwm with sxhkd, so I won’t go into basic configuration here. Instead, I want to share some snippets of my configuration, that may help inspire people, or even convince them to switch to bspwm+sxhkd.

Why I stopped believing in Magi Coin

One of my first posts was about Magi Coin. This post was featured on the official Magi Coin Twitter account and probably on other channels as well. It has also been the most viewed post on the blog to this day.

Every once in a while I get an email from someone asking for help with something regarding Magi Coin, and I’m happily helping them with whatever I can. However, it’s becoming more and more difficult for me since I simply stopped using it over a year ago.

A new domain

I started this blog exactly two years ago on a whim and as a means for myself to document my findings in the ever-evolving tech world.
While not being extremely active, I still plan to maintain this blog and add new posts on various topics that I find interesting or enriching.

Setting IRQ CPU affinities to improve performance on the Odroid XU4

I recently came across this post on the Odroid subreddit which featured an article offering tweaking tips for the Odroid XU4. The article was originally written in German and was later translated into English and published on the Odroid Magazine.
As a long time owner of the XU4, most of the tips were not new to me since they existed on the Odroid forums for quite some time now. However, there was this one tip I was not aware of and caught my attention, and not in a good way.

Safely storing git credentials

When working with a remote git repository, typing the password every single pull/push is quite tiresome.
A good way would be to store the credentials locally, however the most common way of doing so is just wrong from a security point of view.

Installing latest Python 3.x and PIP on any Debian-based system

I’m still running Debian Jessie on one of my machines and it bugs me that the latest Python 3 I can install is 3.4, released over 4(!!!) years ago,
with the latest now being 3.7. Also, pip keeps breaking every time for some reason, so I decided to fix it properly - once and for all!

Performance of CSS animations

When I worked on adding a “scroll to top” button to this blog today, I was surprised to find out about performance issues with CSS animations. I always considered CSS to be lighweight and fast, unlike JavaScript (or more accurately, jQuery), but apparently not everything is as simple as it looks.

My Manjaro KDE setup

After using Debian and its descendants for a long time I thought I’d never change anything, but then, on a whim, I decided to just “try” and see what the guys on the Arch side of the Linux big lane have got to offer.
It was actually when I tried Manjaro Linux Live USB last year that got me all excited for this specific distribution, and then falling in love with Kubuntu’s new Plasma desktop (after literally 5 years of not touching it), that got me to choose the KDE flavor of Manjaro.
It was two weeks ago, when I created a new partition on my main machine, alongside the XFCE edition of Linux Mint which I was using as my daily driver (and hated almost every bit of it, btw), grabbed and installed the Manjaro KDE image, and have been using it since then.
And guess what? I absolutely LOVE it. And only after this short period of time, I don’t see myself going back to Debian any time soon, if at all. More than that, I even think of migrating my other machines to Arch Linux whenever I have the chance to do it. The reason for that basically comes down to the pacman package manager, the simply amazing documentation of Arch Linux and the absolute customizability of KDE.

My Manjaro KDE setup feature image

Assembling the Rock64 Acrylic Open Enclosure

The Acrylic Open Enclosure for the Rock64 comes without a manual, and while it’s not a rocket science to put it together, this picture guide may help those who bought and wish to assemble it.

Extreme space cleanup on Microsoft Windows

Last year I picked up this chinese tablet. I thought it’d be nice to have a dual-boot Windows 10 / Android device around. I was wrong.
The experience I had with this tablet is a topic for another day, but one of the problems I faced was the lack of space. A mere 32GB of storage is barely enough for Windows 10, let alone a dual-boot system.
The “Anniversary Update” and the more recent “Creators Update” just made things worse and many users were unable to even download them due to lack of space on the system drive. A simple “Disk Cleanup”, or even CCleaner weren’t enough, so I just had to resort to some more extreme methods.

An even better htop

htop doesn’t need any introduction among Linux users. It has become so much popular that I doubt anyone uses the traditional top anymore nowadays.
I wasn’t looking for any replacement or anything, but I just happened to stumble upon this fork, and what caught my eyes was the CPU temp and frequency implementation.
While it does have a precompiled deb file for armhf device, and even detailed instructions on how to install it on a Raspberry Pi, I prefer to complie things myself.

An even better htop feature image

My Telegram themes

Telegram themes for the mobile and desktop apps were introduced a while back (but not for iOS, haha), and haven’t changed much since (that’s a good thing!).
I always get excited for new Telegram features, since I absolutely love the innovation and creativity its developers bring to the instant messaging market. I also take Telegram developers to be extremely skilled, and I wish to learn from what they’re doing.
I had the same excitement for the introduction of themes, and on the same day the theme feature was released, on each platform, I found myself creating my own dark theme, which I called “Simple Dark”.
Since both of my themes were built during the early days of this feature, I had to find and assign a color for each element manually, which lead to imperfections and a lot of missing colors. In spite of that, and the fact that the desktop app now got a very nice “Night Mode” built-in theme, I’m still using the themes I created to this day with great satisfaction.

Deploy Linux on any rooted Android device with Linux Deploy

The concept of sharing the same Linux kernel for running multiple systems natively via chroot isn’t new, and the same applies to Android. The potential to become a full-fledged Linux machine was obvious right off the bat, and over the years there have been many applications trying to make it as simple as possible.
I have tried close to a dozen now, and can say with a decent amount of confidence that Linux Deploy is the best app for running chroot (and even PRoot!) on Android.
A rooted device is required, and while there are other options for non-rooted devices using PRoot, I don’t find them to be as easy and complete as Linux Deploy.

Installing and managing Magi Coin wallet on a headless machine

Magi Coin is a great alternative coin in the cryptocurrency world. I like it because of several reasons, but mostly because of its unique way of controlling the generation of new coins and throttling the network whenever the hashrate is too high, effectively making it suitable for small miners, like myself.
While people who have mined before are probably familiar with the term proof-of-work (PoW), Magi Coin also introduces another feature called proof-of-stake (PoS).
According to Magi Coin’s website, PoS is calculated from the coin age and stake weight. These are some extremely vague terms, which I wish there was more information about. If I find more information I’ll summarize it on a future post, but for now let’s start with what we know.

Resizing RootFS partition on Dietpi

I recently got myself a Rock64 board to replace my hot and noisy Odroid XU4 as a home NAS server.
Rock64 is a relatively new SBC released in late 2017, so all development on this board is basically at its infancy.

Coming to install my favorite SBC OS Dietpi (highly recommended), I encountered this error:

Insufficient free space on rootfs.
0 MB available, 500 MB required.

How to set up a blog like a pro for free with Jekyll, Firebase and Bitbucket

Wordpress has always been my go-to solution for blogs, and any website for that matter. But coming to start my own blog, I realized it just wouldn’t do for me. While I love coding in PHP (yeah, you can laugh), I just find dealing with templates, plugins etc. way too frustrating. I wanted something simple, something nice and clean. Something STATIC.
I then stumbled upon this blog and fell in love with its simplicity. From there, the way to finding Jekyll was short.