All posts

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

Yggdrasil, while being a great mesh networking software, doesn’t have that many learning resources on it. The docs on its website and a few enthusiast-established wikis are probably everything you’ll ever find on how to set it up.

This is a simple recipe on how to configure Yggdrasil with systemd-networkd and systemd-resolved while providing other devices on your local network with Ygg addresses and allowing them to use Ygg.