• Creating an Unkillable Process by Abusing Character Devices

    TL;DR: This is probably a bad idea and you don’t actually want use this. Whatever problem you’re trying to solve, there’s probably a better way. I was researching ways to prevent a process from dying prematurely and created a simple “device driver” that will prevent a given process from being killed until the system is powered down or the process decides to end on its own terms.

  • How to Make API REST Requests to Tor Hidden Services in an Android APK

    This post was originally written for the ElevenPaths Innovation and Laboratory website, and is available here.

  • Integrating Libsodium SealedBox into an Android Studio Project

    This post documents my attempt to get libsodium-jni with SealedBox support working in an Android Studio project. It assumes you already have an Android Studio project up and running (and that you’ve accepted all the licenses!) that you wish to add libsodium to. I am running Pop!_OS 19.10, but this should work on Ubuntu 19.10 and related distros.

  • Airsick Gaming with the Switch

    TL;DR: Anecdotally, the best Switch games to play if you get mildly airsick. The winner is Diablo 3.

  • Using fanotify within Docker Containers

    I was recently dockerizing tests for a program I’m working on that utilizes fanotify and noticed that the tests, which worked in a VM, were failing to run. Reviewing the logs yielded the culprit: fanotify_init could not be called in the container. TL;DR: you need to run the container with the CAP_SYS_ADMIN capability. But I’m new to the Linux kernel and wanted to know why this was necessary.