All posts

This site has recently got its Gemini version thanks to the tool I wrote, gmnhg, available at gemini:// The tool has already met its first milestone, v0.1.0, so this is likely a good moment to recap on the whole idea of working in a Hugo site into the Geminispace.

This post is available in Russian here.

There’s a certain point in life in which you realize you need to debug a program that simply cannot be run on your working machine due to reasons. In my case I have to debug a program that communicates with iwd, the Intel wireless daemon for Linux. My workstation doesn’t have a Wi-Fi adapter, so I needed some sort of a remote debugging hack.

In case you always wanted to write a script that temporarily turns off dunst notifications in i3wm but have never taken the time to write one yourself, here, have a working implementation in bash.

This post is available in Russian here.

DNSCrypt is a fairly popular way of protecting DNS traffic that is usually left unencrypted from other people. dnscrypt-proxy, a client program that implements DNSCrypt, also supports the DNS-over-HTTPS protocol, allowing name resolution over DoH.

Unfortunately, leaving dnscrypt-proxy with its default settings while setting it as the default resolver breaks name resolution in Docker containers. Fixing this while not exposing a DNS resolver on the LAN is what’s described below.

This has been a busy time.

I’m finally finished with my internship at Nefteavtomatika, getting my hands on an internal web service managing MAC address allocation designed to provide an API for flashing software. Thanks to that I’m now a lot more familiar with building web in Go, and am eager to build more things with it. <3