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

PrintScreen

A short story about a prank which I unknowingly did to myself.

Conversion Descriptor

Clever descriptor which automatically converts assigned values to the annotated type.

Cleanup

Application cleanup in Python inspired by weakref finalizer objects

2023

Sidenotes [draft]

Implementation of sidenotes/margin notes on this blog

Timeout Anything

Writing a generic function for timing out blocking operations

When I Die [draft]

-

What will happen when I die - a plan for my family

2022

State of Wayland [draft]

Current state of Wayland on desktop PCs, its quirks and workarounds

Nikon D5300

-

First thoughts about the new camera

Invasion

Yesterday Russia invaded Ukraine.

Cosmere [draft]

-

Field notes about Cosmere.

Notes on Notetaking

-

Some things which I have learned over the years of notetaking.

2021

Warbreaker

Review of Warbreaker by Brandon Sanderson

Digital Garden

-

Default chronological order of posts on this blog might not be the best.

kpsh 1.0

First stable release of kpsh

Life is Creating

To live our lifes and not merely exist, we, the humanity, must create

10 years

10 years of blogging on my own.

Polish Git

How to force Git to speak English.

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

The Blackout

Yesterday early morning there was a blackout.

SDF

SDF is a public access UNIX System which I recommend visiting sometimes.

Double fork

Here we will learn about so-called double fork technique... More-less.

First Drawing

Przemek's first drawing presenting his whole family.

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.

I Blocked Bots

-

Every month bots eat my server's traffic, so I blocked them.

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.

2019

Migadu [in progress]

Trying something new for mail provider: a small company from Switzerland called Migadu.

Blog changes

Introduction of new blog theme: Tale.

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

Dotfiles [PL]

-

Description of my old custom system of keeping and deploying dotfiles.

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.

Hugo [PL]

Switching to another static site generator: Hugo.

2015

Describe Merges!

-

Changelog is important, but we can simplify our lives and generate it, at least partially.

I have forked

What is a fork() and what PID it returns?

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.

Urbana meeting [PL]

A short summary of C++ comitee meeting in Urbana-Champaign.

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

Naughty Python

A short thing about how Python prints its version number.

Polimorfizm [PL]

Introduction to C++ polymorhpism.

SubConvert 0.8.2 [PL]

I released a new version of SubConvert, a program to convert between various video subtitle formats.

2011

Doom 3 GPL

Doom 3 source code has been released.

Android Apps [PL] [rework]

-

Reviews of some interesting Android Apps

Kupfer [PL]

Kupfer is a program launcher written in Python.

Internet mobilny [PL]

Few quick thoughts about the mobile internet.

Matlab engine [PL]

-

How to use Matlab Engine in C++