i3wm Logo

Since the update to 15.04 "Vivid Vervet" I've experienced some new input issues: I could not input some characters, most notably those requiring a combination of key to press. With a swiss-french layout I could not input stuff like ` ^ ~ and use my configured compose key. The culprit was unknown to me until then: IBus.

To solve this issue, you can either launch im-config(8) as user and select the "none" Input Method or simply do:

% echo "run_im none" > ~/.xinputrc
Now restart X and enjoy your keyboard back.
FreeBSD Logo

I had an issue while trying to run a php-fpm FastCGI process from a FreeBSD jail using nginx from the host. Like many others I experienced the infamous White Screen Of Death™ but no errors were logged at all (even with the full debug config all set from both php-fpm.conf and php.ini).


# ...
upstream princesse-bulldozer-php-fpm {
    server [2a01:4f8:120:5388:0:b:249:1]:9000;
} server {
    listen   *:80;
    listen   [::]:80;
    # ...
    root /usr/jails/jail0.kaworu.ch/home/princesse-bulldozer.ch/wordpress;
    index index.php;
    # Pass all .php files onto a php-fpm/php-fcgi server.
    location ~ [^/]\.php(/|$) {
        fastcgi_index index.php;

        fastcgi_pass princesse-bulldozer-php-fpm;
        # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME /home/princesse-bulldozer.ch/wordpress$fastcgi_script_name;
        include fastcgi_params;
  1. As nginx is run from the host, using the "full" path as root is correct.
  2. Since php-fpm is jailed, the SCRIPT_FILENAME path should not use $document_root
  3. … but use the "jailed" path instead.

Hope it can avoid a couple of painful debugging out there :)

ownCloud logo

After updating ownCloud to 8, the max file upload suddenly ignored my customizations efforts that were working flawlessly with ownCloud 7. Instead of the configured 4G, ownCloud would cap the max file upload size to 513M (a very odd looking number for the geeky eye). A quick phpinfo() revealed that both upload_max_filesize and post_max_size were locally set to 513M. To the best of my knowledge, the only way to locally override theses options was by using a .htaccess file but since my setup does not use Apache + mod_php but nginx + php-fpm instead (and thus should ignore .htaccess), I was rather confused.

Caution this is Spart^WC

Happy new year :)

2014 has been very busy for me so I did not have much time to write. 2015 seems promising, I'll have more free time for various side projects and — hopefully — posting a little more often.

Also this is a very short follow up post to link a cool paper about Undefined Behaviour in C (I also mirror it here).

As an exercice, feel free to look for UB in the PHP codebase on GitHub (that's pretty easy, you can start by searching "overflow")

Mirroing GitHub

As you may (or may not) know, I swichted a while back from self-hosted mercurial repositories to GitHub. While I'm happy with GitHub, I still want to have my favourites repositories available at hand (if/when GitHub is down).

Although there are already a lot of "backup script" on the net I wanted something very stupid and simple which integrate well with FreeBSD, so I wrote a periodic(8) script.


I am using Rspamd since a while now and I happy with it. In a nutshell Rspamd is a fast, free and extensible spam filtering system.

To be honest I am not a guru when it comes to mail server configuration. Every time I'm hacking something in the mail territory I have to look up what is a MTA, MDA etc. Well, now I think I am kinda good at understanding emails.

Unlike spamassasin, Rspamd was simple to setup and has sane defaults so I adopted it merrily. As a bonus, it has a sexy Web UI.

In this post I'll provide my configuration for a nice integration with the Dovecot antispam plugin.