• Software problem: LSP not working with clangd on NixOS

    It took me quite a while to find out how to make Language Server Protocol working with C/C++ on NixOS. clangd couldn’t find any standard header files and complained that “pp file not found”. The trick to make it working is adding clang-tools to nativeBuildInputs in shell.nix. To make clang compiling the programs on the […]

  • The most appreciated piece of code I’ve ever written

    Some people like CamelCase. Some don’t but they still have to deal with it. So I once wrote and posted a utility that displays UnreadableIdentifiers properly, as Unreadable_Identifiers. The reactions were surprising. rms said the utility “is bizarrely creative”. Several people sent me thankful e-mails. And it is pleasing to see that even more than […]

  • File synchronization

    I was looking for a way to synchronize files on my devices. My devices are of different kinds (GNU/Linux, OpenWRT, Android) and I have several folders to be shared with different sets of devices. I could find three basic tools that could be useful for the purpose. Available options One of the obvious choices is […]

  • Fixing, fixing

    This blog has been silent for a year and even unreachable for some time. One of the primary reasons is that I spend a large portion of my life fixing things. Not because of my choice but because so many things I use don’t work as expected or at all. I have little remaining resources […]

  • Moving from KDE to Emacs

    When I started using EXWM, I thought that using it together with KDE would be the best combination. But then my Plasma configuration self-destructed by chance, I had to recover it from backup and I started thinking what and how much I actually need from KDE exactly. The basic principle is simple: Things are easier […]

  • Emacs interface to PipeWire

    I couldn’t find any Emacs interface to PipeWire. So I wrote one.

  • More fun with EXWM

    I have recently started using EXWM, an Emacs window manager. It’s very useful as a window manager itself but it also provides additional functionality and opens new possibilities. Starting EXWM automatically in KDE EXWM allows, similarly to other window managers, replacing an already running window manager. Now I’m confident about it enough and start it […]

  • Using EXWM

    I sometimes miss useful things. For example, many years ago, I missed emerging Org Mode, not recognizing its potential, only to discover some years later how essential tool it is. And the same happened to me with EXWM, an Emacs window manager. I’ve always thought that making a window manager in Emacs is a crazy […]

  • Emacs tabs as workspaces

    I used to use Emacs frames as workspaces. But reading through Emacs 28 NEWS reminded me that tab bars could be probably better used for the purpose. And indeed, using tab bars is simpler and looks like a very good fit. First some initial settings: (tab-bar-mode 1) (tab-bar-history-mode 1) (custom-set-variables ‘(tab-bar-show nil)) (tab-bar-rename-tab “emacs”) They […]

  • Learning Haskell

    Learning Haskell has been on my to-do for maybe about 10 years. I’ve already made several attempts but have never had an opportunity to finish them, starting again and again from time to time. Haskell is not something one can learn in two afternoons. My latest attempt has finally succeeded and I have basic knowledge […]