RSSAmplifier

Blog

henry's blog

a blog about software development, technology and other things

blog.henrygressmann.deRSS feed ↗8 posts

Latest posts

Lightweight Web Analytics with Liwan

This post explores some of this project's background and technical aspects. If you're more so interested in Liwan itself, you can check out the demo instance and the docs on liwan.dev . The source code available on GitHub under the AGPL-3.0 license. This summer, I started working on a small tool for collecting various metrics on my websites and this blog to see what posts are popular and…

TinyWasm: How I wrote my own WebAssembly Runtime

After a short hiatus from writing on this blog, I'm back with an update on what I've been working on lately (or rather slowly catching up on the backlog of posts I wanted to write). I finally finished writing my bachelor's thesis on WebAssembly and Edge Computing this summer. More on that in a later post, but for now, I wanted to talk about another project I worked on earlier this…

My favorite books of 2023

2023 has been a fantastic year for reading for me. Early in the year, I switched to reading on my Kindle Oasis, and the low friction has been great (amazon just needs to stop worrying so much about preventing jailbreaking). I've also been catching up on some of the classics on my reading list, but as always, the list is even longer now than it was at the start of the year. I hope you find…

Operating Systems in Rust #2: Shell

This is a series of posts about my journey creating a kernel in Rust. You can find the code for this project here and all of the posts in this series here . Now that we have a basic kernel that can print to the screen, we can start building out some more functionality. I first want to create a simple shell that will allow us to run some commands and more easily interact with our system. As I…

Introducing Spaify - Seamless page transitions for your static site

By default, when you click a link on a website, the browser will load the new page from the server and replace the current page with the new one. This is the default behaviour for static sites, and it works well. Spaify lets you skip this step and load the new page in the background, so that when you click a link, the new page is already loaded and ready to be displayed. This makes the page…

Operating Systems in Rust #1: Hello RISC-V

This is a series of posts about my journey creating a kernel in Rust. You can find the code for this project here and all of the posts in this series here . Background I've been interested in operating systems for a while now, and with many of the recent advancements in Rust's role in the OS ecosystem, I thought it would be fun to try and write a kernel in Rust. I've found that many…

Koi, the kinda okay image format

This post has been updated to reflect changes in the koi file format. The original post can be found here . I've been working on a new image format called koi - the kinda okay image format and I wanted to share some details. It's a lossless image format based on ideas from qoi and qoir that is designed to use a small amount of memory and be fast to decode. I have exactly zero experience…

Stop building your own file upload systems

Instead of reinventing the wheel for every project and spending time understanding the intricacies of multipart uploads, you can upload files directly to S3/R2/whatever using a pre-signed URL. You don't even need the full AWS SDK, you can use something more minimal like aws4fetch . Especially if you are using serverless, this is a great way to save time and money. import { AwsClient…