Windows 10 is no better than GNU/Linux at UI uniformity

Some years ago, I read a review of a GNU/Linux distribution where the reviewer, coming from Windows, commented that “some applications look slightly different than others,” and this person was puzzled as to why. I can guess why: One application was probably using the Qt toolkit and the other GTK.

Continue reading “Windows 10 is no better than GNU/Linux at UI uniformity”

Did your mouse turn all weird in Debian and now you suck at Quake?

Update: This issue is largely resolved nowadays because modern desktop environments include configuration tools for libinput and its acceleration profiles.

If you have a recent Debian testing release, you might have noticed that your mouse now behaves very differently. For me, I noticed it when my aiming turned wobbly in Quake. Quake has extremely tight controls and shouldn’t feel as if you’re playing a 2016 console FPS with jelly dildos in place of fingers. So I was a bit surprised when it suddenly did. Also, I couldn’t reliably hit e.g. a close button on a window.

Continue reading “Did your mouse turn all weird in Debian and now you suck at Quake?”

To defend the free web, you must save Mozilla

TL;DR: Mozilla is largely dependent on Yahoo! We must make sure it is funded by individuals’ donations and a diverse roster of companies to keep it independent, to fight Google’s increasing browser dominance and to ensure our privacy. We must also let Mozilla know what we expect from them.

Read on to hear my reasoning.

Continue reading “To defend the free web, you must save Mozilla”

Decentraleyes: An additional defense against large companies analyzing you

I recently found out about the Decentraleyes add-on for Firefox. To understand why Decentraleyes is a good idea and why it can help you protect your privacy, here’s what’s been happening so far:

  1. Web developers all over the world have started using the same libraries of Free Software code to solve the same common problems. This is good.
  2. Web developers thought it would be a good idea to host this code on CDNs (distributed content delivery networks). This makes pages load faster and takes the (financial) burden of hosting them off the web developers. This is also good.
  3. Large companies like Google, Microsoft and Facebook – who make money by analyzing and recording your behavior in order to sell private details about you to other companies – have started offering such library hosting for free. This is bad.

Because every time you visit a website that refers to such a hosted library, and that’s hundreds of thousands or millions of websites, you give away your intentions to the company hosting the library. You tell Google where you’ve been on the Internet, and by pinging them every time you open any number of websites, they can track where you’re going, whether you’re using your phone, your tablet or your computer, when your preferred time for web surfing is, etc.

There is a reason these companies offer this hosting for “free”. It’s because you are the product, this data about you is aggregated and resold to advertisers. What’s worse, those companies can at any time introduce malicious code into your browser by changing the libraries they offer. Your browser will not be able to tell whether it is running a manipulated version of the code.

Because we won’t be able to convince web developers to do the right thing and either create a non-profit organization to securely host all these libraries or host the libraries on the websites themselves, you can only take matters into your own hands. Decentraleyes does this for you, by downloading all those libraries to your own computer and rerouting any request that would ordinarily go to a shared library server to your computer instead. It takes no configuration, you just need to install the Firefox add-on and that’s it.

This alone won’t be enough to win back your privacy, but it’s one building block. A free bonus is that pages that would normally use a CDN now load faster if you have this extension.

Handling logspam like "action 'action 20' resumed (module 'builtin:ompipe')" on Debian Jessie

If you’ve upgraded to Jessie on a server (or any other machine without X), you might have started noticing strange new messages in your logs that look like this:

Nov 4 06:33:21 mail rsyslogd0: action 'action 20' resumed (module 'builtin:ompipe') [try ]
Nov 4 06:33:21 mail rsyslogd-2359: action 'action 20' resumed (module 'builtin:ompipe') [try ]

As discussed in this bug report, that shouldn’t really happen and you can get rid of it by disabling logging to xconsole in rsyslog. Find this section of /etc/syslog/rsyslog.conf and comment it:

# news.err;\
# *.=debug;*.=info;\
# *.=notice;*.=warn |/dev/xconsole

That should take care of it until this is fixed upstream.

Backing up email from any IMAP server (plus: syncing and migrating)

I recently migrated email providers (several times, actually) and came across the fantastic tool mbsync. It’s included in most GNU/Linux distributions, though sometimes called by its old name, “isync”.

mbsync is very powerful, it can not only sync between a remote IMAP server and e.g. a local on-disk mirror that you want to keep so you can back it up, it can also sync between two remote IMAP servers directly.

Many very advanced configurations are possible from your own personal .mbsyncrc file. But since it took some time to puzzle together a good config from the semi-cryptic manpage, here are two configs I used for two typical situations.

Migrating from one IMAP server to another

IMAPStore   oldserver
User        myusername
Pass        mypassword

IMAPStore   newserver
User        myusername
Pass        mypassword

Channel   migrate
Master    :oldserver:
Slave     :newserver:
Patterns  * !Trash
Create    Slave
Expunge   Slave
Sync      Pull

Calling mbsync migrate will migrate your email from your old server to the new one, creating any new directories and messages on the new server and not deleting anything on the old server. You can run this multiple times in case new messages are still arriving on your old server.

Mirroring your IMAP mail to a local directory

This is useful for backing up your email. Particularly nice if you’re on a free or cheap email provider that does not offer backups.

IMAPStore yourserver
User      yourusername
Pass      yourpassword

MaildirStore mirror
AltMap       yes
Path         ~/mailmirror/

Channel   mirror
Master    :yourserver:
Slave     :mirror:
Patterns  * !Trash
Create    Slave
Expunge   None
Sync      Pull

Then run mbsync mirror to pull your email. You can run this multiple times, it will not delete messages in the mirror directory. If you want messages to be deleted there, set Expunge to slave. Make sure to back up both the mailmirror directory and the Maildir directory, which holds your INBOX.

A note about AltMap: This particular option was required so that I could mirror to remotely mounted NFS shares. It will make mbsync create its UID validity data in a database instead of in a .uidvalidity file. For whatever reason, it seems that writing the .uidvalidity file stalls forever on NFS shares. If you’re not using an NFS share, you can try without that option.

In both examples, the Trash directory is ignored.

Another way to fix tearing and vsync issues using the Nvidia driver

Nvidia’s proprietary driver is notorious for having a lot of tearing and vsync issues. Even if you use their control panel to enable vsync, more often than not it will have no effect. I’ve seen this on a GTX 560, on a 650 Ti, 660 Ti, 860M. Previously I tried using compton to fix this issue, but compton sometimes makes e.g. video display sluggish or seems to add some delay and irregular framerate to games. This won’t work, since for games I want a constant framerate, and drops below 25 or so are unacceptable.

That’s when I found out about about the ForceCompositionPipeline option for the proprietary Nvidia driver. It can be used like this to enable it temporarily from the command line:

nvidia-settings --assign CurrentMetaMode="DVI-I-1: nvidia-auto-select { ForceCompositionPipeline = On }"

Or made permanent in xorg.conf:

Section "Screen"
    Option         "metamodes" "DVI-I-1: nvidia-auto-select { ForceCompositionPipeline = On }"

You’ll have to use something like xrandr to figure out the name of the output (in this example, DVI-I-1). Thank you, Mark Volker Dickmann, for this hint.

Zürich to Brussels and back in a Tesla Model S

This February, a few friends and I went to FOSDEM in Brussels and we took my Model S. The reason I haven’t written about this yet is that there isn’t really anything to write about — everything just worked. And that’s probably important to write about after all, since people have range anxiety and whatnot.

Here’s our route:


That’s 1400 km all in all. Here’s a picture from the rather ugly hypermarket near Metz:


The important part is all the Belgian beer we bought there! And well, the recharge they gave us (there is a supercharger in the middle of the parking lot).

For news junkies who want to stay organized and happy: NewsBlur and TinyTinyRSS

In 2013, the famous online ad reseller Google shut down their Google Reader service. If you ask me, and I do have an arsehole as well as an opinion, it was to drive people towards their less customizable, not standards-based News product that they can pepper with ads. But there are other RSS clients and news readers, and of all of those I’ve spent almost two years with TinyTinyRSS and now a month with NewsBlur.

My heart is split in two between these: Andrew and Samuel are both interesting, and it’s fascinating to see how different from each other their visions are.


NewsBlur is the brainchild of Samuel Clay. He didn’t just invent an RSS reader, he came up with a completely new visual style with warm, cofee-like colors and large, friendly interface elements. Hell, the logo is a stylized sun and if you sign up for a premium account, you get to feed his dog Shiloh, that’s how much good feeling is going on here.


Each site also gets its own custom color bars to the left of it, based on its favicon. This doesn’t do much for things like YouTube, since all your YouTube channels will just have a red bar, but seeing The Register’s very black vulture favicon and equally black bars does set the mood. Some sites turn instantly recognizable from afar thanks to this, like DeviantArt with its trademark green or Phoronix with its, err, also trademark green. This helps pick things apart if you are ever viewing a list of all your news combined.


If you don’t like how things are displayed, the customization options, pictured above, are immense. You can also opt to view stories not in their summary RSS form but in the original, as they appear on the original website. But Samuel’s vision doesn’t stop at the visual style.

The service is set up so that you can share your favorite news with people. You can import your Twitter or Facebook friends, or you can skip all the social networking stuff and just follow people directly on NewsBlur itself. Then you get to see what news stories they share and can interact.

This news regurgitation goes one step further yet, NewsBlur gives you an optional BlurBlog, a page where your shared stories are published in a blog format so that even people without NewsBlur can follow them. Maybe someone even subscribes to that using TinyTinyRSS! Haha, wow, so funny. My BlurBlog is over there, by the way.

Another killer feature is that premium subscribers get is very fast updates for all the sites in their feeds, up to 10x a day. This is noticeable, once you have a decent list of feeds you can almost see their unread counters increase as you watch.

NewsBlur does something with machine learning, apparently you can let it know which articles you like and it will find more of the same, but I haven’t tried so I can’t comment.

There is a client for Android which works extremely well both on tablet and on mobile. Get it on F-Droid, it’s just called “NewsBlur”. I found especially the syncing very robust, I even slapped one touchscreen device with each hand like a spasming orangutan while watching NewsBlur in the browser and both devices’ interactions were replicated properly.

You can see that I’m gushing and totally happy with this. Of course I signed up for the ridiculously cheap premium account (US$24 a year at the time of writing). Take my cash and turn it into beautiful source code (and dog food), please!

If you don’t want any of this premium crap and would like to host NewsBlur yourself, of course it is Free Software. Go get the source.


TinyTinyRSS by Andrew Dolgov looks a little stark, a little utilitarian in comparison. But this isn’t bad, it allows you to focus on the content, and that’s the idea here, right?

original Screenshot stolen from Lifehacker Australia.

TinyTinyRSS is something you host yourself on your webserver, there is no hosted service or one of those crazy cloud things. It requires PHP and either MySQL or PostgreSQL, with PostgreSQL being preferred. I found setup to be quite easy and I was surprised by the quality of the upgrade process, in over two years not a single upgrade ever caused any issues. It feels like a tank, and I mean that in the good sense.

If you’re looking for a solution to host yourself that works on a broad range of web servers, even on some very cheap shared hosting solutions, and that you could potentially even use with your circle of friends or coworkers to make use of the news sharing service, TinyTinyRSS will do the job.

There are mobile clients for Android and Meego/Sailfish OS. Android even has two! One written by Andrew himself, which he makes money from, and one written by Nils Braden. I will not place a link to Google Play, not because I don’t want Andrew to make money, but because I don’t want Google to make money 🙂 Nah, just kidding, here’s Andrew’s client on Google Play and Nils’ client on Google Play. The Sailfish/Meego client comes to you courtesy of cnlpete.

I’ve used both clients on phones and tablets and I can’t say which one I prefer. They are quite similar in feature set and of course Nils’ client being Free Software may skew you that way.

Whether you want to host things yourself or have them hosted, share with the world or just with your friends, whether you’re on Android, Sailfish OS or your desktop, these are extremely competent Free Software news readers just for you.