• Constructing a sponge function from MD5 - đź“…

    While doing some research, I came across the term “Sponge function”. After playing around with them and implementing one inside my kernel, I decided to write this blog post about how to write a simplified version. To keep low-level cryptographic code to a minimum, we will be relying on the hash function MD5. Buckle in, this is going to be a long one.

    This article will start from the simple concept of an MD5 hash, and incrementally build on it until we implement a lot of common functionality that seems like black boxes. Every step should be small enough to be digested individually, while still contributing to the overall understanding of the topic. If anything is unclear, feel free to discuss it in the comments. The post is designed so that you can pause and play around with the concepts yourself any time you want, or speed through it if that is what you prefer.

    ...

  • Status update, March 2021 - đź“…

    It’s been a while since the last Status Update on November 2020 so I thought it would be good to have a catch-up post. Be prepared, this is going to be a long one. After all, I haven’t done one of these in 120 days.

    ...

  • Emacs idle config - đź“…

    Due to some bad computer habits, I end up opening and closing editor instances a lot instead of starting my editor and using it for the duration of the project. In particularly bad cases, I end up closing my editor for every code change to run a compiler or check some files in the same terminal.

    ...

  • Giving search engines a fair access to data - đź“…

    Search engines are difficult to create. They are even harder to improve to a point where you get good-enough results to keep regular users. This is why it’s so rare to see decent search engines that aren’t front-ends to the Bing or Google APIs.

    ...

  • Twitch GraphQL API - đź“…

    As I mentioned in the last Status Update, I was working on a small project that used Twitch data. The data I needed was not fancy or complex. I only needed the Live/Online status of the channel, the stream title, and the stream start time. As I am only looking for things that appear on the channel page, I thought I could parse the page HTML. To my disappointment, Twitch had turned their website into a slow, single-page application.

    ...

  • Advent of Code 2020 - đź“…

    Some of my solutions to Advent of Code 2020.

    ...

  • Status update, November 2020 - đź“…

    I started working on a web front-end project. It is a compiler for web components. The compiler reads single-file web components similar to the Vue.js ones, and emits vanilla JavaScript.

    ...

  • How I keep track of what I've been working on - đź“…

    Especially on busy times, it is possible to forget the projects I’ve been working on. While I tend to remember the big ones, some small projects slip away from memory. This is troubling when someone asks if I’ve been working on anything interesting recently, or if I feel like I haven’t been productive. Seeing how many thing I managed to work on can be a good morale-booster.

    ...

  • Dynamic DNS with AWS Route 53 - đź“…

    I occasionally need to SSH into my laptop, or use other services hosted on it, but my ISP gives me a dynamic IP. While it is stable most of the time, it does occasionally change.

    ...

  • Status update, October 2020 - đź“…

    To nobody’s surprise, the consistency of status updates have been less than perfect. But still, here I am with another catch-up post. Since the last update was a while back, this one might end up slightly longer.

    ...

< Newer Posts
Older Posts >