RSSAmplifier

Blog

Andrej's notes

blog.shadura.meRSS feed ↗52 posts

Latest posts

Connecting lights to a Swytch e-bike kit

Last year I purchased an e-bike upgrade kit for my mother in law. We decided to install it on a bicycle she originally bought back in the 80s, which I fixed and refurbished a couple of years ago and used until September 2022 when I bought myself a Dutch Cortina U4. When I used this bicycle, I installed a lightweight Shutter Precision dynamo hub and compatible lights, XLC at the front, Büchel at…

To England by train (part 2)

My attempt to travel to the UK by train last year didn’t go quite as well as I expected. As I mentioned in that blog post, the NightJet to Brussels was cancelled, forcing me to fly instead. This disappointed me so much that I actually unpublished the blog post minutes after it was originally put online. The timing was nearly perfect: I type make publish and I get an email from ÖBB saying they…

Coffee gear upgrade

Two weeks ago I decided to make myself a combined birthday and Christmas present and upgrade my coffee gear. I’ve got my first espresso machine back in 2013, it was a cheap Saeco Philips Poemia, which made reasonably drinkable coffee, but not being able to make good coffee made me increasingly unhappy about it. However, since it worked, I wasn’t motivated enough to change anything — until it…

To England by train (part 1)

This post was written in August 2021. Just as I was going to publish it, I received an email from ÖBB stating that due to a railway strike in Germany my night train would be cancelled. Since the rest of the trip has already been booked well in advance, I had to take a plane to Charleroi and a bus to Brussels to catch my Eurostar. Ultimately, I ended up publishing it in April 2022, just as I’m…

Transitioning to a new OpenPGP key

Following dkg ’s example , I decided to finally transition to my new ed25519 / cv25519 key. Unlike Daniel, I’m not yet trying to split identities, but I’m using this chance to drop old identities I no longer use. My new key only has my main email address and the Debian one, and only those versions of my name I still want around. My old PGP key (at the moment in the Debian keyring) is:

Making the blog part of the Fediverse and IndieWeb

I’ve just made my blog available on the Fediverse, at least partially. Yesterday while browsing Hacker News, I saw Carl Schwan ’s post Adding comments to your static blog with Mastodon ( m ) about him replacing Disqus with replies posted at Mastodon. Just on Monday I was thinking, why can’t blogs participate in Fediverse? I tried to use WriteFreely as a replacement for Pelican, only to find it…

Vendoring Rust dependencies for a Debian derivative

Recently, I needed to package a Rust crate libslirp for a Apertis, a Debian derivative . libslirp is used by the newly release UML backend of debos , our Debian image build tool. Unfortunately, this crate hasn’t yet been properly packaged for Debian proper, so I could not simply pull the packaging from Debian. Even worse, its build dependencies haven’t all been packaged yet. Most importantly, I…

My custom keyboard layout setup

I have a Thinkpad and I also have two external keyboards I occasionally use with it: one at home when I decide to work at my desk with a bigger monitor, another one at a shared office I rent. They have quite different physical layouts: the one I use at home is a Thinkpad keyboard which roughly mirrors the layout of Thinkpad X230, the other one is Sun Type 6. I want to be able to use any of them…

Useful FFmpeg commands for video editing

As a response to Antonio Terceiro’s blog post , I’m publishing some FFmpeg commands I’ve been using recently. Embedding subtitles Sometimes you have a video with subtitles in multiple languages and you don’t want to clutter the directory with a lot of similarly-named files — or maybe you want to be able to easily transfer the video and subtitles at once. In this case, it may be useful to embed to…

Follow-up on the train journey to FOSDEM

Here’s a recap of my train journey based on the Twitter thread I kept posting as I travelled. To FOSDEM… The departure from Bratislava was as planned : Ready to depart from Bratislava hl. st. Half an hour in Vienna was just enough for me to grab some coffee and breakfast and board the train to Frankfurt without a hurry: Boarding a Deutsche Bahn ICE to Frankfurt am Main

Using gcc sanitisers to get a nasty bug fixed

A couple of days ago a colleague at Collabora asked me to help create a Debian package for the tool he needed to complete his task. The tool happened to be an NXP code signing tool, used to sign OS images to be run on i.MX systems using ‘ High Assurance Boot ’. As it often happens, the tool was distributed in a manner typical for many big corporations: no direct link to the tarball, custom…

FOSDEM by train

I’ve always loved train journeys, but with flygskam changing people’s travel preferences across Europe (and possibly worldwide, though probably not that much), I decided to take train to FOSDEM this time. When I first went to FOSDEM which, just in case you don’t know, happens each February in Brussels at ULB , I flew with Ryanair from Bratislava to Charleroi because it was cheaper. After repeating…

Rust-like enums in Kotlin

Rust has an exciting concept of enumeration types, which is much more powerful than enums in other languages. Notably C has the weakest type of enum, since there’s no type checking of any kind, and enum values can be used interchangeably with integers: :::c enum JobState { PENDING, STARTED, FAILED, COMPLETED }; You can opt for manually assigning integers instead of leaving this to the compiler,…

Bug Squashing Party: Bratislava, 9/10 February 2019

As I previously announced , I’m organising a BSP in Bratislava during the weekend following FOSDEM. It will be happening at the same time as the BSP in Berlin , so if it’s not practical or possible for you to come to Berlin, consider coming around here. The venue this time is Lab.cafe , café/coworking space/maker space in the centre of Bratislava in the building of the old market hall.

resvg: worth having in Debian?

Yesterday I have discovered resvg , an MPL 2.0-licensed SVG rendering and optimisation library and a tool, written in Rust. It is said to be faster than some SVG renderers while currently slower than librsvg. It aims to support the static subset of SVG better than other libraries: The author writes: One of the major differences from other rendering libraries is that resvg does a lot of…

Help the Conservancy raise the remaining $14 000

The Software Freedom Conservancy is having the last 7 days to collect the remaining less than $14 000 of the fundraiser generously matched by Private Internet Access . All donations up to $90 000 will be matched until 15 January. Conservancy is an organisation sponsoring nearly 50 free software projects helping them, most importantly with accounting, paying developers and defending their…

wpa-supplicant and hostapd 2.7 in Debian

Hostapd and wpa-supplicant 2.7 have been in Debian experimental for some time already, with snapshots available since May 2018 , and the official release since 3 December 2018 . I’ve been using those 2.7 snapshots myself since May, but I do realise my x250 with an Intel Wi-Fi card is probably not the most representative example of hardware wpa-supplicant would often run on, so before I upload 2.7…

Bye-bye binary vconfig(1)

This morning I have decided that this is the time. The time to finally remove the binary vconfig utility (which used to help people configure VLANs ) from Debian. But fear not, the command isn’t going anywhere (yet), since almost six years ago I’ve written a shell script that replaces it, using ip(8) instead of the old and deprecated API. If you’re still using vconfig, please give it a test and…

GNU indent 2.2.12

As the maintainer of GNU indent , I have just released version 2.2.12 ( signature ), the first release GNU indent saw in eight years. Highlights include: New options: -pal / --pointer-align-left and -par / –pointer-align-right` -fnc / --fix-nested-comment -gts / --gettext-strings -slc / --single-line-conditionals -as / --align-with-spaces -ut / --use-tabs -nut / --no-tabs -sar /…

Linux Vacation Eastern Europe 2018

On Friday, I will be attending LVEE (Linux Vacation Eastern Europe) once again after a few years of missing it for various reasons. I will be presenting a talk on my experience of working with LAVA ; the talk is based on a talk given by my colleague Guillaume Tucker , who helped me a lot when I was ramping up on LAVA. Since the conference is not well known outside, well, a part of Eastern Europe,…

Upcoming git-crecord release

More than 1½ years since the first release of git-crecord , I’m preparing a big update. Not aware how exactly many people are using it, I neglected the maintenance for some time, but last month I’ve decided I need to take action and fix some issues I’ve known since the first release. First of all, I’ve fixed a few minor issues with setup.py -based installer some users reported. Second, I’ve ported…

Working in open source: part 1

Three years ago on this day I joined Collabora to work on free software full-time. It still feels a bit like yesterday, despite so much time passing since then. In this post, I’m going to reconstruct the events of that year. Back in 2015, I worked for Alcatel-Lucent, who had a branch in Bratislava. I can’t say I didn’t like my job — quite contrary, I found it quite…

Porting inputplug to XCB

5 years ago I wrote inputplug , a tiny daemon which connects to your X server and monitors its input devices, running an external command each time a device is connected or disconnected. I have used a custom keyboard layout and a fairly non-standard settings for my pointing devices since 2012. I always annoyed me those settings would be re-set every time the device was disconnected and reconnected…

Goodbye Octopress, hello Pelican

Hi from MiniDebConf in Hamburg! As you may have noticed, I don’t update this blog often. One of the reasons why this was happening was that until now it was incredibly difficult to write posts. The software I used, Octopress (based on Jekyll) was based on Ruby, and it required quite specific versions of its dependencies. I had the workspace deployed on one of my old laptops, but when I attempted…

Say no to Slack, say yes to Matrix

Of all proprietary chatting systems, Slack has always seemed one of the worst to me. Not only it’s a closed proprietary system with no sane clients, open source or not, but it not just one walled garden, as Facebook or WhatsApp are, but a constellation of walled gardens, isolated from each other. To be able to participate in multiple Slack communities, the user has to create multiple accounts and…

How to stop gnome-settings-daemon messing with keyboard layouts

In case you, just like me, want to have a heavily customised keyboard layout configuration, possibly with different layouts on different input devices (I recommend inputplug to make that work), you probably don’t want your desktop environment to mess with your settings or, worse, re-set them to some default from time to time. Unfortunately, that’s exactly what gnome-settings-daemon does by default…

Manual control of OpenEmbedded -dbg packages

In December last year, OpenEmbebbed introduced automatic debug packages . Prior to that, you’d need to manually construct FILES_${PN}-dbg variable in your recipe. If you need to retain manual control over precisely what does into debug packages, set an undocumented NOAUTOPACKAGEDEBUG variable to 1 , the same way Qt recipe does: NOAUTOPACKAGEDEBUG = "1" FILES_${PN}-dev =…

Migrate to systemd without a reboot

Yesterday I was fixing an issue with one of the servers behind kallithea-scm.org : the hook intended to propagage pushes from Our Own Kallithea to Bitbucket stopped working. Until yesterday, that server was using Debian’s flavour of System V init and djb’s dæmontools to keep things running. To make the hook asynchronous, I wrote a service to be managed to dæmontools, so that concurrency issued…

Phulud? No, Phulad.

If you bought an North India travel guide by Vanessa Betts and Victoria McCulloch, and tried to figure out where is ‘Phulud’ and how to get there from Deogarh (and how to get to Deogarh itself from Udaipur), don’t waste your time googling, as it’s not Phulud, but Phulad . It does seem that the narrow gauge journey from Deogarh to Phulad is indeed beautiful: Meanwhile, I have also found this very…

Community time at Collabora

I haven’t yet blogged about this (as normally I don’t blog often), but I joined Collabora in June last year. Since then, I had an opportunity to work with OpenEmbedded again, write a kernel patch, learn lots of things about systemd (in particular, how to stop worrying about it taking over the world and so on), and do lots of other things. As one would expect when working for a free…

Public transport map of Managua

Holger Levsen writes about the public transport map of Managua, Nicaragua, which is, according to him, the first detailed map of Managua’s bus network: If you haven’t been to Managua, you might not be able to immediatly appreciate the usefulness of this. Up until now, there has been no map nor timetable for the bus system, which as you can see now easily and from far away, is actually…

Support Software Freedom Conservancy

The Software Freedom Conservancy are desperately looking for financial support after one of their corporate supporters have stopped their sponsorship. This week, there’s an anonymous pledge to match donations from new supporters. Becoming an SFC supporter will help them fight for our software freedom. I have signed up for a monthly donation, and I suggest you do so too here .

Power button and logind

If you have configured your laptop’s power button to act as sleep button using acpid , then installed systemd or systemd-shim and pressed the button only to find your laptop to shut down after it wakes up from sleep, set these options in /etc/systemd/logind.conf : [Login] HandlePowerKey=ignore HandleSuspendKey=ignore HandleHibernateKey=ignore HandleLidSwitch=ignore

UI translation tools and version control

Today I decided to try some translation tools I could install on my laptop locally to translate Kallithea , so I’d not need to be on-line to use Michal Čihař’s wonderful Weblate . The first tool I tried was Gtranslator . I edited about 5 strings, and then wanted to commit my changes. To my surprise, the diff was huge. Apart from obvious changes in the file header, like changing the…

Kallithea 0.2 released

This post is almost a carbon copy of the Kallithea 0.2 release notes. Kallithea project have just released Kallithea 0.2. Kallithea is a Python-based GPLv3 source code management software for web-based hosting of Mercurial and Git repositories. This release brings many changes since 0.1. Notably, pull requests system have been improved, making contributing changes more robust. The visual…

Tired of autotools? Try this: mk-configure

mk-configure is a project which tries to be autotools done right. Instead of supporting an exceedingly large number of platforms, modern and ancient, at costs of generated unreadable multi-kilobyte shell scripts, mk-configure aims at better support of less platforms, but those which are really in use today. One of the main differences of this project is that it avoids code generation as much as…

ifupdown and command status handling

In 2011, I first tried to fix a Debian bug #547587 . The bug was about hook script result codes not being checked, so if a script fails, this isn’t detected. Unfortunately, just checking the return code wasn’t enough, as lots of scripts didn’t care about their return code at all, so I had to unapply the patch. Now, after 2.5 years, I think it’s time to try again, as most of…

hgk misbehaviour with Tk 8.4

Strangely enough, running hgk (a port of gitk to Mercurial, also known as hg view ) with Tk 8.4 crashes my X server. Updating both Tk and the X doesn’t help. I don’t feel like I want to debug X now, but probably that’s what I have to do :( Backtrace: 0: /usr/bin/X (xorg_backtrace+0x49) [0xb7712ed9] 1: /usr/bin/X (0xb7572000+0x1a4c64) [0xb7716c64] 2: linux-gate.so.1…

Process isolation support in start-stop-daemon

Yesterday I played with LXC a bit, and I liked it, as LXC provides a very lightweight isolation of processes, much like enchanced chroot. However, I realised, I don’t always need the chroot-like part of LXC, sometimes what I need is just to make sure the process is unable to see the other processes and talk to them in any other way except the filesystem, but I don’t want a whole…

Clearlooks-Phénix update

Once upon a time, GTK+ 3.0 was released. That release brought at least one Bad Thing™: incompatibility with GTK+ 2.x themes. At the same time, previously popular Clearlooks theme hasn’t been ported. Many people didn’t like that, but only one decided to DTRT — to do the Right Thing. Jean-Philippe Fleury wrote Clearlooks-Phénix (originally, Clearwaita), a GTK+ 3 theme which was supposed…

Not coming to FOSDEM

It turnes out moving to a different city takes more time and effort than I originally expected, so I’m skipping FOSDEM this year. That’s unlike I originally planned to spend the beginning of February — I had my flight booked already, but apparently that’s not the best idea ever to go travelling right in the middle of relocation :)

A bit more on TrueCrypt

Few days ago I was discussing my last blog post with a colleague of mine, Lukaš Tvrdý , and he’s mentioned that it actually is possible to harmlessly decrypt the TrueCrypted filesystem in online mode, resize it, and encrypt it back again. Well, I decided to try, because I have had some problems with that setup. Apart from init script reordering I had to make (not covered in the post, as I…

How to run Debian from a loop device on a TrueCrypt'ed NTFS partition

After I have changed my job recently I had to meet the security policies which are enforced in the company I’m now working for. First of all, I’m not allowed to use my own laptop, and the company-provided laptop has Windows installed. As my job is, unfortunately, not directly related to Linux, I’m not allowed to re-install the OS. However, working in the comfortable environment…

Bohdan Zograf and so-called “Belorussian” translations

I’d like to bring some attention to activity of a person mostly known as Bohdan Zograf. If you Google that name, you’ll find that he seems to be a person who knows Belarusian language very well, and is interested in translating as many texts as he can into Belarusian for no money. Unfortunately, he isn’t. Trust me, I’m really a native speaker, I was born in Minsk, Belarus,…

Linux, snd_hda_intel and Sigmatel STAC9200

Strange and interesting thing has happened to me recently. I’m a user of Dell D620 laptop, which has Intel’s HDA controller and Sigmatel’s STAC9200 codec. This has always worked perfectly fine, and in my mixer I could see at least two volume controls: Master and PCM. Changing volume using both worked. Once I’ve upgraded my Linux 3.2 to 3.4, and have noticed that Master…

Removing accounts from Android devices

It’s a well-known problem that Android offers no easy way to completely remove the primary Google account, at least sometimes. Well, there’s one not really easy for people not involved with computer stuff, but at least it works. Once you have adb shell working, you need to log into your Android device and type sqlite3 /data/system/accounts.db . That’s the place where accounts are…

ifupdown news

A new version of ifupdown has been uploaded to experimental yesterday, which brings some important changes. First of all, now it’s possible to specify default values for various interface configuration options. This eliminates the need of hard coding of them in C source, as Ubuntu has been doing for some time. End users are not affected by this change at all, of course. Second, now ifup…

GTK+ 3 done right

Ever wanted your GTK+ 3 look better? Unsatisfied with the default settings of Adwaita theme? Add these configuration files to your ~/.config/gtk-3.0 : gtk.css : . menu { border-style : solid ; border-width : 1 ; } . menubar . menuitem * : prelight , . menubar . menuitem : prelight { background-color : @ theme_selected_bg_color ; color : @ theme_selected_fg_color ; } This will add some nice borders…

Piano man

Those who had chance to be in the ‘Stolitsa’ shopping mall in the centre of Minsk yesterday, could enjoy a wonderful performance which was happening there. There’s a grand piano installed in the central hall of this mall. I guess that piano was supposed to advertise some company which sells them, but that day there was something completely different. That piano wasn’t…

Sixxs suxxs?

Recenly I’ve decided to register at Sixxs to be able to use IPv6 at my new location as they seem to use tunnelling protocol which bypasses NAT, so that was exactly what I needed. I’m a long time HE.NET user, so I expected the same quality of service and ease of use. I went to their website and filled in the registration form. Soon I got the reply: ‘User Rejected’