• 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.

  • Dumpster Diving through Namecoin and Emercoin

    I was at Defcon 27 recently and saw a talk titled “Secrets Worlds in Plain Web. The BlockChain DNS.” by Fernando Amatte. He spoke about blockchain based DNS infrastructure, specifically Namecoin and Emercoin, as a means of hiding secrets in plain view. I missed the beginning of the talk, but I don’t recall him presenting any specific examples of people using blockchain DNS services. This gave me a few questions:

    • Is anyone using these blockchain DNS services?
    • What are they using them for?
    • Are any interesting services “hiding in plain site?”
  • Bad VM

    Bad VM is a simple constrained virtual machine I made as a learning exercise. It is based entirely around a 2-byte word. Each operation is encoded in one word, each register holds one word, and the stack is a stack of words. Also it uses both stacks and registers, which I’ve read is not a very practical approach.