Skip to main content

How to leverage PGP to encrypt, sign, decrypt messages?

1 min read

Install the GNU Privacy Guard implementation of the OpenPGP standard.

Install and configure a messaging client like Thunderbird 
for use with a plugin supporting OpenPGP.

Enigmail can be installed as a plugin for Thunderbird allowing to encrypt, sign and decrypt emails.

Sending emails which have been signed or encrypted will require 

  • the generation of a PGP key pair (a public key and a private key)
  • the exchange of public keys with recipients of messages
    (for example by organizing a physical meeting) 

Other initiatives allowing to encrypt, sign and decrypt messages from a browser :

Riseup has published a pretty list of OpenPGP best practices

I recommend watching the following discussion between Oxblood Ruffin (, Frank Rieger (, Gabriella Coleman ( and Stefania Milan ( about the history and practice of hacktivism :

I've just shared a solution for migrating Piwik from 1.12 to 2.15.0:

Hint: Always read the documentation ...
See also ^_^

P.S. Piwik is an open-source analytics platform,
which can be downloaded from

About (not) using an alternative database for your functional tests

1 min read

Using an SQLite database for testing might come in handy.

Why should we use a database increasing the footprint of a test suite when executing very few queries? 

Even few queries are not prepared the same way depending on the database engine and as a result there is no guarantee of having the same records set returned by SQLite and another database used in production. 

For instance, I've encountered the following issues before:


Your database timezone set to "+00:00" by default with Lumen

1 min read

When running a command-line with artisan, I had time-dependent queries which never returned the affected rows I was expecting. I had this command precisely running at 00:01 every morning. 

By scheduling the task three hours later or by launching it manually in the morning, I was provided with the correct results. That's how I figured something was off with regards to the application timezone.

At first, I set the environment variable APP_TIMEZONE value to Europe/Paris in .env according to my context of execution. Unfortunately, it was not the solution to my problem.

Since we're dealing with open source code, why not exploring the vendors?

grep -rn timezone ./vendor

resulting in this specific match (among many others)

./vendor/illuminate/database/Connectors/MySqlConnector.php:43:        if (isset($config['timezone'])) { 

The following keywords submitted to DuckDuckGo led me to the right solution :

The following setting was missing from my application .env file 


How to make a backup of secrets stored in Google Authentication app (Android)?

1 min read

  1. Enable USB debugging in the phone developer options
  2. Pull the SQLite database using adb  
    adb pull /data/data/
  3. Extract the database records using an SQLite client 
    sqlite3 database 
    .dump accounts
  4. Save the output in a reasonably safe place (for instance store it in a lastpass secure note)

See also

Yes: Martin Görner ( will be speaking about "Polymer and modern web APIs" at Google France

How to prevent a MySQL database from writing binary logs?

1 min read

To decommission an old server running a replicated MySQL database,
I had to prevent the (master) database from writing binary logs.

I figured I would need to

How to tab between buttons on a OS X dialog box?
Don't use tab key but command key combos instead.

CMD + first letter of button label

AYAB - all yarns are beautiful

All yarns are beautiful