2023-10-19
Side by side git-range-diff

git range-diff compares two commit ranges (two versions of a branch, e.g. before and after a rebase). Its output is difficult to comprehend, though. It’s a diff between diffs, presented in one dimension using two columns of pluses/​minuses/​spaces. Wouldn’t it be better if we used two dimensions and some nice colors?

2022-08-29
Technogym Skillbike: smart trainer usage and trying to get useful data out of it

We recently moved to an apartment building in London that happens to include a gym as a shared amenity. There’s Technogym equipment, including the Skillbike, a stationary bike somewhat capable of speaking the smart trainer ANT+/BTLE protocols. As it happens, getting it to actually do something useful isn’t straightforward, so here’s a summary of my attempts.

2020-11-20
Even faster bash startup

I sped up bash startup from 165 ms to 40 ms. It’s actually noticeable. Why and how did I do it?

2020-10-11
A better xrandr command-line experience

Can we make a small improvement to xrandr command-line user experience so that extra tools like arandr (GUI for xrandr) or autorandr become unnecessary for some people (like me)? Yes, I think that making the --output option a bit more powerful goes a long way, and lets me cover most use-cases with just four shell functions/aliases.

2020-07-18
font-weight: 300 considered harmful (and a fontconfig workaround)

Many web pages these days set font-weight: 300 in their stylesheet. With DejaVu Sans as my preferred font, this results in very thin and light text that is hard to read, because for some reason the “DejaVu Sans ExtraLight” variant (weight 200) is being used for weights < 360 (in Chrome; in Firefox up to 399). Let’s investigate why this happens and what can be done about it.

2020-05-06
Linux, media keys and multiple players (mpd, chromium, mpv, vlc, …)

This post explains how to get media keys (play, pause, …) on keyboards and Bluetooth headphones work with a bare X window manager (as opposed to a full desktop environment) and how to make them control multiple media players including the web browser (YouTube, bandcamp, myNoise, etc.) which is something that even majority operating systems and desktop environments don’t quite get right out of the box.

2015-04-22
Přestavba Agang Sin City na berany

Včera/dneska jsem na moje kolo dal místo rovných řídítek silniční berany.

2010-10-08
Vibration bell for PuTTY for Symbian

PuTTY is probably the most used application on my phone. I use it to connect to my server where I read/write e-mails in mutt and communicate with the outer world using irssi and bitlbee. I suppose most PuTTY users start it only whenever they need to fix something at their servers, not as a primary communication tool. They didn’t miss a function to alert the user whenever something happens in a terminal.

2009-11-22
Multiseat on demand: Split your computer into two whenever you want

We needed to make three computers out of two yesterday, so multiseat was the keyword I googled for. Having found a bunch of howtos all starting with “make these changes to xorg.conf and gdm.conf”, I took the best from all of them and put together a solution requiring no single restart of X server. What I got was this:

2009-10-28
Going tiled

I had been using Fluxbox for 7 years when I finally decided it’s time for change last Friday. As my friends expected, I left it for xmonad. Seven years is a long time and for me it meant that I became a Fluxbox developer. Therefore, I should say some nice goodbye.