Welcome to my personal website and blog. This page used to be at ilikeorangutans.github.io but now lives in my own homelab. On here I sometimes post about stuff I find interesting or things I’ve built.

If you’re interested what I do for a living check out my cv. You can also browse some of my public source repos and check out the things I’ve built:

Recent Blog Posts

Automatically Create Thumbnails with Hugo Render Hooks

Hugo has a really way of hooking into the rendering process that I’m using to automatically generate scaled down thumbnails of referenced images. I structure each blog post as a page bundle and render images via ![](image-name.jpg) in the markdown files. By default, hugo will render an image tag with the full sized image which can be rather heavy if it’s a large image. So instead, I set up a render hook for images in layouts/_markup/render-image.html:

Postgres Structure and Query Deep Dive

In an effort to understand Postgres better I’ve worked my way through how a Postgres database is structured and executes queries.

Process Model

Postgres uses a process-per-worker model. That means every connection is handled by a separate operating system process forked off the initial process.

Subsystem Overview

Postgres consists of several components that all work together to process data and ensure it’s reliably written and can be looked up efficiently. The following are the most important components, but there more, other components that are beyond the scope of this post.

Passwordless sudo with remote nixos-rebuild and SSH keys

In my homelab I now have a few machines that run NixOS. This came to be because I wanted the ability to quickly rebuild machines from scratch without having to fiddle with individual settings. Thanks to NixOS I now have a repository that holds a flake that can build bootable images and perform remote nixos-rebuild switch.

Or browse the blog post archive or tags.

ilikeorangutans

Jakob Külzer’s personal blog