• Status update, June 2020 - 📅

    After seeing other people (like Drew and emersion) publish these for a while, I decided to write my own “Status Update” for the first time. I can’t always find enough time to write blog posts, so these monthly status updates should be useful both for other people to keep an eye on what I’m working on, and for me as a historical record.

    ...

  • Faux-DEFLATE - 📅

    I was working on a proof-of-concept implementation of a file format that uses DEFLATE compression. Since it was supposed to be a self-contained example, I didn’t want to bring in a fully-featured compressor like zlib. I skimmed the DEFLATE RFC and noticed that it supports raw / uncompressed data blocks. I wrote a simple encoder that stores uncompressed blocks to solve my problem, and wanted to document it on my blog for future reference.

    ...

  • Rolling your own encryption - 📅

    Encryption is tricky to get right. Because some data and communications might be very sensitive or even life-critical for people, beginners are often - and quite rudely- shunned away from playing around with how it works. But if people don’t learn by making bad ciphers, they will have difficulty understanding why the good ones are good.

    ...

  • Tampermonkey is not Open Source - 📅

    This post is meant to be a short remark about something I noticed today. It is about Tampermonkey, a browser extension for managing User scripts.

    ...

  • Gopher Server in Rust - 📅

    I find Gopher really cool. I think it’s a really nice way to organize information into trees and hierarchies, and as we all know programmers can’t resist trees. So recently I took an interest in Gopher and started writing my own server.

    ...

  • Evolving Neural Net classifiers - 📅

    As a research interest, I play with evolutionary algorithms a lot. Recently I’ve been messing around with Neural Nets that are evolved rather than trained with backpropagation.

    ...

  • Plaintext budgeting - 📅

    For the past ~6 months, I’ve been using an Android application to keep track of my daily spending. To my annoyance, I found out that the app doesn’t have an export functionality. I didn’t want to invest more time in a platform that I couldn’t get my data out of, so I started looking for another solution.

    ...

  • Phone Location Logger - 📅

    If you are using Google Play Services on your Android phone, Google receives and keeps track of your location history. This includes your GPS coordinates and timestamps. Because of the privacy implications, I have revoked pretty much all permissions from Google Play Services and disabled my Location History on my Google settings (as if they would respect that).

    ...

  • Rendering GPS traces - 📅

    If you ask a bunch of people to upload GPS traces when they walk/drive and you combine those traces, you can get a rudimentary map. In fact, this is one of the primary data sources of OpenStreetMap. The data for those is freely available, so we can use it in a small project.

    ...

  • Reverse Engineering the Godot File Format - 📅

    I’ve been messing around with the Godot game engine recently. After writing some examples that load the assets and map data from files, I exported it and noticed that Godot bundled all the resources into a single .pck file. It was packing all the game resources and providing them during runtime as some sort of virtual file system.

    ...