Firefox tab bar on mouse over

Since Firefox 57 I’m using Tab Center Redux for showing my tabs on the left side. Because of that (and since screen space is precious) I didn’t need the default tab bar and so I disabled it with the hack I found in the wiki of Tab Center Redux:

#tabbrowser-tabs {
visibility: collapse !important;

I found this solution quite useful over the last months, but recently I got some web design to do and split my screen horizontally in half. In this mode the width of the sidebar used to much space. Disabling it with F1 also didn’t really help because then I had no tab list at all.

Today I got the idea of only showing the default tab bar, when necessary. Since I can’t capture keys with CSS (and I didn’t find a way to create a user JS file like userChrome.css) and pressing a key to show and hide would be too much work, I got the idea of showing the tabbar when hovering.

Animated picture of the Tabbar showing and hiding.
Click on the image to enlarge it.

The trick is to show a small rest of the tab bar above the address bar by default (in this case 5px). Only when the mouse cursor hovers this area, the full tab bar is shown. The following CSS code does this:

#TabsToolbar {
min-height: 5px !important;
max-height: 5px !important;
opacity: 0 !important;

#TabsToolbar:hover {
max-height: inherit !important;
opacity: 1 !important;

To use this, you have to paste this CSS code in your userChrome.css file.

Scrolling doesn’t work in GTK+ 3 apps in StumpWM

Since some time ago I could not scroll in any GTK+ 3 window in StumpWM with an external mouse. Today I found a workaround for this problem: executing export GDK_CORE_DEVICE_EVENTS=1 in a shell fixes the problem. To set this automatically when starting StumpWM insert the following in your ~/.stumpwmrc:

;; bugfix for scrolling doesn't work with an external mouse in GTK+3 apps.
(setf (getenv "GDK_CORE_DEVICE_EVENTS") "1")

This bug was also reported (and fixed) at the following bug trackers. However, none of those fixes worked for me.

I found this solution at’t-work-on-current-wed-sep-25-a-4175478706/.

Disabling comments

I’m running this WordPress instance since August 2017 now and at the end of last year my page was finally listed on one of those unreachable lists of WordPress pages, where some friendly bots can write awesome comments about my writing style or try to sell me some nice medicines of the highest quality for the best prices.

Because I sadly don’t want to invest the time in thanking those nice people or compare these incomparable offers, I decided to disable comments completely on this WordPress installation.

If you’re not one of those guys, feel always free to write me a mail, if you have any questions about one of my articles. If I rate your question high enough I will also append the question with an answer  at the original post. The same goes of course for any constructive notices on my bad grammar style or one of those many typos.

If you want to respond to one of my highly provocative articles, I’d rather see at more in-depth response on your own blog/site. If you wrote such a thing, please don’t hesitate to send me a link via mail.

best regrads,

Moving the open-source stuff from phab.mmmk2410 to GitLab

The journey started in early 2016 when I decided to move my open-source projects and their management away from GitHub. First I launched a cgit instance for viewing the code and set up a gitolite for repository hosting. After a short time I moved the repositories to a self-hosted Phabricator instance at, because with that platform I had the possibilities for project management like issues or workboards.

But this concept also didn’t last for long.  A few month later I decided to move the repos again. This time to GitLab. And concurrently to this move I set up a mirroring system to display the repositories at my Phabricator instance as well as on my GitHub profile. Since I couldn’t import the GitLab public key into GitHub (“This key is already used by someone else”) and a password authentication did not succeed (don’t ask why, I don’t know) I decided to use Phabricator for that. Phabricator has the ability to observe another repository and pull the changes from the remote repo but it also has the ability to mirror a repository to another remote repository. And luckily it can do both with the same repository. This mirroring system is also further in use to display all my repositories not only on my GitLab but also on my GitHub profile.

Now, after one and a half year, I decided to also move the tasks and wiki articles from Phabricator to GitLab. This should reduce the need for two accounts on two platforms and also the problem, that some people are creating issues on the “wrong” platform. Now contributors can also make use of the referencing abilities of GitLab.

I declined moving everything back when I moved the repositories because I liked (and still like) the way Phabricator works. Instead of GitLab or GitHub it is not repository-centered but project-centered (but not strictly). While in  GitLab or GitHub you create a repository and in this repository you have your complete project management stuff, the wiki, the bug tracker, the CI, etc., in Phabricator, each is its own application and can be used without the need of a repository. For access control or grouping things you can use project, but you don’t have to. Everything also works perfectly on its own. But what is the advantage of it? Well, for some of my projects, like the writtenMorse project, I have several repositories for the different applications. Where would you report, say, a missing code? In Phabricator I had a writtenMorse project and you could create an issue and add the writtenMorse project tag to it. To realize the same thing in GitLab or GitHub you would need a meta-repository for general issues or for wiki articles. This is also the reason why I keep my Phabricator instance running for private purposes.

If you once created an account on phab.mmk2410 and don’t work on any private projects with me, your account was either disabled if you interacted with the platform in some way, or removed in case you didn’t.

The migration is already completed and everything can be accessed on GitLab. The former tasks and wiki pages are still accessible at phab.mmk2410 and are more or less directly linked to the new corresponding GitLab object.

Cavallino-Treporti (IT) Bicycle Tour 1

During my holiday in Cavallino-Treport (IT) I discovered the following bicycle track. The tour starts at the Piazzetta della Libertà in Cavallino and goes from there over the Via Francesco Baracca to an first unpaved way and later on Asphalt next to the Fiume Sile to Jesolo, where the river will be crossed. From there the track goes over a cycle path to Lido di Jesolo where the way leads through the inner city. After Lido di Jesolo the trip continues on the main road over the Fiume Sile back to Cavallino.

Total distance: 27.03 km
Max elevation: 5 m
Min elevation: -2 m
Total climbing: 51 m
Total descent: -50 m


Tja, wenn der Tag schon gut startet, was soll man dann erwarten. Nachdem ich auf dem Weg zur Uni nicht mit dem Rad gestürzt bin und der Aufbauf zeitlich sehr gut lief (auf den halbjährlichen Belastungstest der elektrischen Anlage der Universität durften wir dieses Mal verzichten). Doch wenn schon so vieles gut läuft, dann muss ja irgendwann der Rückschlag auf einen zukommen.

Continue reading Netzwerkseminar

Der Drucker

Wie schwer kann es sein, Altklausuren auszudrucken? Da ich mich, warum auch immer, dazu entschieden habe, Informatik zu studieren und nicht Chemie oder anderes, habe ich das Glück, ein dafür entwickeltes Werkzeug verwenden zu können (bei anderen Fachschaften verwendet man ein Wiki zum Speichern von Altklausuren). Somit beschränkt sich die Arbeit hauptsächlich darauf, schlecht formatierte E-Mails zu entziffern, Vorlesungsnamen in das Programm einzugeben, die letzten paar Altklausuren auszuwählen, den frisch gedruckten Stapel Altpapier zu beschriften und die Leute darüber zu benachrichtigen. Also theoretisch.

Continue reading Der Drucker

Rangitaki Version 1.4.4

Today I announce 1.4.4 of the Rangitaki blogging engine. It brings an important bug fix concerning the feed creation. Starting from 1.4.0 the feed creation server-side script failed with a 500 internal server error because it was not converted to the new YAML configuration (due to a bug – to be exact: a missing slash – in the .gitignore).

While working on fixing this issue, I also upgraded to the latest version of the feed generator (PicoFeed). The generated feeds will now contain all feed information.

The update script works only from 1.4.3. So I your using an older version of Rangitaki, please upgrade first to 1.4.3.

Update script

As usual: Download the script, place it in the root folder of your Rangitaki installation, make it executable chmod +x and run it.