List of Blog Posts
Below is chronological list of articles. There are also other ways to sort them: by tags, importance, writing progress and topic.
This list doesn’t include changelog short notes.
2024
Conversion Descriptor
Clever descriptor which automatically converts assigned values to the annotated type.
Persistent Synology Configuration
-How to mutate immutable Synology configuration and persist these changes
2023
Workaround for Floating Windows With Borders
Workaround for a problem with how Sway draws borders around floating windows
Configuring Persistent Zigbee Device Name
-How to configure udev rules on Synology to create persistent device names in /dev/serial/by-id
Replacing Haier Wi-Fi Modules
-How I replaced 2 types of wi-fi modules for Haier air conditioners with ESP8266
2022
In Praise of Home Assistant
Home Assistant is one of my most beloved selfhosted applications. Here's why.
2021
Changing ink color in fountain pen
Simple Fix for a problem when you have one pen and too many inks.
I Want a To-Do App
It seems that we have a curse of abundance: so many to-do apps and methodologies that we can no longer choose one.
2020
Master-stack layout for i3
DWM-like master-stack layout for i3 is possible by using i3's IPC mechanism.
Thoughts on using OSC codes to automate changing terminal color schemes
Operating System Controls as escape sequences which can be used to change the background of both terminal and programs running in it.
Monochrome Vim Color Scheme
Monochrome colorschemes are good and pleasant for eyes. That's why I created one for Vim.
Accessibility testing by non-disabled developers
Obstacles I encountered while testing accessibility of this blog's theme.
Your Pain Is Bigger Than Mine
Even though I almost entirely stopped listening to it, I can't stay silent about recent events in Polish Radio Trójka.
Working on TWC Formatting
Formatting is one of these parts of TWC which I disliked the most. This has finally changed with release of TWC 0.9 and complete rewrite of formatting strings syntax.
Synchronization
I synchronize a lot of things, each of them differently. Let's take a look how to write a simple Bash script which automates and parallels that.
Cross References in Notes
Notes should be pretty too, because why not? Here I'll show you my method of rendering them to HTML.
Don't change alternate file in Vim
Every once in a while I learn something new about Vim. This time it's :keepalt command.
2019
Migadu [in progress]
Trying something new for mail provider: a small company from Switzerland called Migadu.
Configuring msmtp on Debian Buster
Configuring one of the best SMTP clients on Debian and some caveats which we must remember.
Using systemd for X sessions [in progress]
We can use user-level systemd services to run X sessions.
Xsession in Debian
Xsession is a default way of starting X sessions in Debian, but for some reason it remains a mystery for many people. Here I try to shed some light on it.
2018
New Year's resolution
It's a little late to make a New Year's resolution, but I'll make one nevertheless.
2017
Git Credential Helper [PL]
Git has capabilities of writing custom credential helpers, which can fill passwords for accessing HTTP repos for us.
Commenter [PL]
Presentation of my program for toggling file comments depending on a list of keywords in a language similar to preprocesor.
2016
Singleton w i3 [PL]
With markorapp, a script which I wrote, it's easy to create "singletons" in i3. Singletons are applications which should have only one instance, like a particular terminal.
Structured Bindings [PL]
Structured Bindings is a new way to decompose values returned from functions. It's similar to some other programming languages and greatly simplifies the code.
Generacja wersji [PL]
Presentation of simple scripts and techniques allowing automatic generation of program's version.
2015
Describe Merges!
-Changelog is important, but we can simplify our lives and generate it, at least partially.
Deployment aplikacji internetowych [PL]
Writing and using webhooks to automate deployment of web applications.
Przypisać nieprzypisywalne [PL]
How can we live with types which do not implement assignment operator?
Zmiana monitorów w i3 [PL]
I did it! I forced a buggy xrandr to toggle screens and not kill X session!
Zamykanie aplikacji PyQt [PL]
Graceful shutdown of PyQt applications might be harder than it looks like. This article presents the problem and a way to resolve it.
Problem dependant names [PL]
How C++ handles dependant names and why we must use typename keyword everywhere.
Name hiding [PL]
Name hiding is a surprising feature of C++. Here we'll learn a little more about it.
Najważniejszy const [PL]
There is one const usage in C++ which is a little different than the others. Andrei Alexandrescu called it the most important const.
2014
Zwracanie wartości z funkcji [PL]
The article about Return Value Optimization - one of the most important features of C++ compilers.
Konwersja const_iteratora na iterator [PL]
A trick which allows us to easily convert from const_iterator to iterator. Please don't do that.
Process substitution [PL]
Process substitution in Bash is a powerful technique which allows us to redirect command's output to programs which only accept files.
2013
std::move [draft]
-A short introduction to one of the most breakthrough features of C++11: rvalue references and move semantics.
2012
SubConvert 0.8.2 [PL]
I released a new version of SubConvert, a program to convert between various video subtitle formats.
2011
Efekt Droste pokazany przy użyciu gry w życie [PL]
A video presenging Droste Effect which is a recursive image.
Nieskończenie wiele argumentów... [PL]
It's possible to create a functions in C, similar to printf and scanf, which accept infinite number of arguments.