Publishing Multi-Platform Docker Images to Github Container Registry

TL;DR: If you’re just here for the commands, jump to the Quick Reference at the bottom. Why I Needed This I’ve been working with devcontainers for my projects, and every time I start a new project, I end up waiting for some time for Docker to download and install Hugo, Bun, and other dependencies. It wasn’t too long of a wait (maybe 30-40 seconds), but it’s annoying enough to start thinking about doing something about it. ...

December 5, 2025

Add Remark42 comments to Hugo website

Disqus wasn’t cutting it for me anymore, so I explored privacy-first alternatives and landed on Remark42. This post covers how I set it up from scratch on a cheap Vultr VM, including Docker installation, firewall rules, and GitHub authentication integration—everything you need to enable a lightweight, self-hosted commenting system on your Hugo site.

June 22, 2024

How to Redirect www to Root Domain on Cloudflare Pages

Prerequisites: Your website is hosted on Cloudflare Pages. Your website is not accessible when there is www in front of your apex domain. You kind of know what you’re doing. Recently, I was talking to people and at some point, I mentioned having my website. What stumbled me was that first, some people are still using www when typing the name of the website. And second, it turns out my website didn’t work with www in front of it. I was pretty sure it was set up a long time ago, but apparently, when I was moving my website and DNS records to Cloudflare, something went wrong. ...

June 15, 2024

GraphQL schema: use it in a sentence

TL;DR Bad idea query getCompanyInfo($id: Int!) { company(id: $id) { companyId companyName companyConditionValue companyConditionComment } } Good idea query getCompanyInfo($id: Int!) { company(id: $id) { id name specialWarning { triggered reason } } } There are a few very simple rules to follow to create an easy to read GraphQL schema. Easy reading schema helps you to reduce the number of visits to your documentation. Especially it helps if your GraphQL schema is not accompanied by any documentation. ...

June 22, 2020

Using Anki to study programming

Why it works Anki is based on spaced repetition learning technique. I will try to explain it shortly. When you learn something new you have to repeat it to remember it. If you repeat that information too often - you just waste your time. But if you don’t repeat it at the right time - you forget it. So the problem here is to figure out the right interval for repetitions. Anki is the tool to help with that task. ...

July 16, 2017

Getting started with Jekyll

Install ruby Here I assume that you have brew already installed on your Mac machine. Install it first if you don’t have it. I had to do the following sudo xcode-select --install Install rbenv with brew install rbenv Add eval "$(rbenv init -)" to the end of ~/.zshrc or ~/.bash_profile Install a ruby version rbenv install 2.4.1 Select a ruby version by rbenv rbenv global 2.4.1 Open a new terminal window Verify that the right gem folder is being used with gem env home (should report something in your user folder not system wide) If you are on Windows then just install Ruby 2.1.0 or higher1 ...

April 4, 2017

Host your personal blog on GitHub Pages

The initial idea was to write a small post about how to create a Jekyll blog hosted on GitHub. However, when I started to dig dipper and had realized how many things I’ll have to describe to make it a manual I’ve decided to make this index page which will collect all the posts about this topic. I will try to keep it up to date and make changes whenever I figure out more. ...

April 4, 2017

How to host Angular application on GitHub Pages

[Last update 04-04-2017] To install the command run the following: npm i -g angular-cli-ghpages Note: you have to create the dist folder in before (e.g. ng build --prod) ng build --prod --base-href "https://USERNAME.github.io/REPOSITORY/" ngh In case you use a custom domain for one of your repositories (like I do for this blog), you should use http instead ng build --prod --base-href "http://YOURDOMAIN.com/REPOSITORY/" ngh For more information check angular-cli-ghpages GitHub Page. There might be a problem with routing. If so check this FAQ ...

March 31, 2017