Compiling Qt to WebAssembly

Intro In my team, today is project friday ! It means that we are free to test and do things that are not strictly related to the project we work on. That can be testing a new library, learning about a specific aspect of the language … The project I work on is mostly developed with Qt but there is cloud version which mostly independant from ours and that’s a shame because it adds costs.

Easily debuging ROS programs

Recently, a friend of mine asked me to help him debug his ROS node that was segfaulting. After spotting a fairly easy mistake (using a pointer that holds the address of local variable after that variable was gone), I thought I was done. However, the program kept segfaulting, signaling there was at least another error somewhere. A quick glance to the source code did not yield anything, so I needed a debugger!

Fixing Nextcloud 14.01 code integrity issue

I recently updated my Nextcloud installation to the 14.01 release. After the update, the system’s integrity was compromised : a file was missing ! More precisely, the file vendor/ezyang/htmlpurifier/maintenance/.htaccess was missing. A minute google query lead me to the project’s repo where I found the incriminated file. A quick run of sha512sum on the file confirmed it was the right file. All that was left to do was to copy the file to right place on my server (ie in the folder nextcloud/apps/news/vendor/ezyang/htmlpurifier/maintenance).

Some news

Ok, the least I can say is that this blog has not been very active. I barely posted 5 articles in 3 years. There are several reasons to it, but I think the main one was an inappropriate setting. I am long time emacs user and I have installed the emacs package easy-hugo and I hope it will help me to write more. So let’s be honest. I have not been very active on this blog for several reasons.

C++ Metaprogrammation real use case

Context In a recent project, we had a C++ backend and Scala frontend (Scala is a functional JVM based language). The C++ backend was responsible for creating some objects and the frontend job was to sort the objects into different sets according to some rules defined in custom script parsed in Scala. The objects in the frontend were represented by a pair containing their address casted into uintptr_t (with an reinterpret_cast) and an enumeration value about their real nature.

Fixing linux boot delay on Asus ROG G751JT

Last year, I bought a laptop Asus ROG G751TJss. The laptop has a SSD disk but the boot was abnormally long. systemd-analyze showed that the full boot took more than thirty seconds Startup finished in 7.342s (firmware) + 2.246s (loader) + 1.581s (kernel) + 21.208s (initrd) + 2.089s (userspace) = 34.467s but systemd-analyze blame looked normal. A look at dmesg led me to this page where I found a solution.

Pourquoi la vie privée est importante et n'avoir rien à cacher est hors sujet

Note : ce texte est une traduction, le texte d’origine est là Les gouvernements d’Australie, d’Allemagne, du Royaume-Uni et des Etats-unis piétinent votre vie privée. Certaines personnes ne voient pas de problème … “Je n’ai rien à cacher, pourquoi devrais-je m’en soucier ?” Cela est sans importance que vous n’ayez “rien à cacher”. Le droit à la vie privée accordé aux personnes est ce qui étaye les libertés d’expression, d’association et de rassemblement, qui sont toutes essentielles pour une société libre et démocratique.

How to install ROS Jade on Ubunty Wily

ROS (The Robotic Operating System) is a middleware often use in … Robotics. ROS’ latest version (Jade) only supports Ubuntu 14.04, 14.10 and 15.04 but I’m using Ubuntu 15.10 and I want to use it. Let see how we can fix this

Before getting ours hands dirty, there are several alternatives you need to consider.

  • Use a virtual machine to run an old version of Ubuntu and follow the official guides.
  • Wait ! The upcomming ROS version will be released in May (usually a month after Ubuntu’s release) and it will support Ubuntu 16.04. So wait a couple of months.

If you can’t wait and can’t use a virtual machine, then read on and be ready to have your hands dirty.