Testing Android apps USB communication on GitHub Actions with QEMU/KVM

Tags: devops etchdroid android

Many years ago, I started developing EtchDroid as a hobby, free-software project born out of necessity. EtchDroid is a simple app for writing images to USB drives from an Android device without requiring root access. Over the years, it has become popular, proving useful and reliable for many users. I’m really proud of it.

Unfortunately, the same can’t be said for Android’s USB APIs, USB drives, USB OTG adapters, USB ports, and Android devices: they’re all unreliable. Some time ago, I decided to address this issue by adding an essential feature: the ability to resume writing whenever the process is interrupted. I’ve rewritten the app’s UI and backend to support this feature. Now, it’s not only prettier and more user-friendly, but it’s also more reliable than ever.

Read MoreApril 05, 2025 / 7 minute read

Btrfs troubleshooting and tricks

Tags: btrfs linux

Btrfs is a great filesystem and your data is safe with it, however it does come with a few shenanigans and when brought to the limits it may give you some headaches.

This post aims to provide solutions to the most common issues with Btrfs.

At the end you will also find some tricks that exploit btrfs’ great functionality to speed up common tasks.

Read MoreJuly 19, 2021 / 12 minute read

Reverse-engineering an AC IR remote protocol

Tags: reverse-engineering infrared espressif

My new house has a Kelon-branded air-conditioning unit. Wouldn’t it be nice to have it set up in openHAB? I looked it up online and this unheard of brand’s protocol is nowhere to be found. So I had to figure it out myself.

I reverse engineered its protocol and contributed it to IRremote-ESP8266.

In this post I’d like to document my experience and what I learned from it.

Read MoreJune 12, 2021 / 27 minute read

Installing Arch Linux on WSL, the Arch Way™️

Tags: archlinux wsl windows

My company’s official OS is Windows 10. GNU/Linux is not allowed, not even Ubuntu or Red Hat. PAINFUL.

But lately, not so much, since there is Windows Subsystem for Linux.

Of course, I’m not going to want to use Ubuntu, I want the distribution, Arch Linux.

Read MoreMarch 05, 2020 / 6 minute read

Blog source code on GitHubCookies