Blog

Writing and using ROBOT plugins

A short tutorial on how to develop “pluggable commands” for ROBOT, the OBO Foundry ontology manipulation tool.

Published on Read more…

Emulating the Compose key on macOS

How to configure key bindings on macOS to emulate the behaviour of a “Compose” key.

Published on Read more…

Building a “universal” Java application for macOS

How to build a Java-based standalone application that runs natively on both x86_64 and arm64 Apple computers.

Published on Read more…

Workarounds for velocity issues on a AKAI MPK mini3

Some feedback on the AKAI MPK mini3 MIDI controller, and in particular how to work around the intermittent low velocity issue.

Published on Read more…

Using Scute for digital signatures

How to use Scute, GnuPG’s PKCS#11 component, to sign documents.

Published on Read more…

Giving up on format=flowed

Why I’m giving up on using and promoting the format=flowed mail format, and what to do instead.

Published on Read more…

L’affaire des « patchs hypocrites » de l’Université du Minnesota

Que s’est-il passé au juste entre les développeurs du noyau Linux et les chercheurs de l’Université du Minnesota ?

Publié le Lire la suite…

Des vaccins en moins d’un an, est-ce surprenant ?

Pourquoi il a été possible de développer des vaccins contre le SARS-CoV-2 en « moins d’un an ».

Publié le Lire la suite…

How to open a file from the Vim terminal

A simple “trick” to open a file from the Vim terminal without creating a new instance of Vim.

Published on Read more…

Qu’est-ce que FlyBase ?

Qu’est-ce que FlyBase, et que font les personnes qui y travaillent ?

Publié le Lire la suite…

Au nom du blog

Un plaidoyer en faveur des notes de blog contre les fils-fleuves Twitter.

Published on Read more…

Some useful resources for OpenPGP

A collection of pointers to some OpenPGP resources.

Published on Read more…

How to use format=flowed with Neomutt and Vim

A quick note on how to setup Neomutt and Vim to use the format=flowed mail format.

Published on Read more…

Using a TPM for SSH authentication

How to use a TPM 2.0 chip for public-key authentication under GNU/Linux.

Published on Read more…

Accessing the /sys Interface from Lua

How to access some system properties from the /sys filesystem from within Awesome, with a bit of Lua scripting.

Published on Read more…

Enabling Hardware Acceleration on GNU/Linux with a Intel UHD Graphics 620 Chipset

OpenGL hardware rendering and video decoding did not work “out of the box” on my new laptop under GNU/Linux, here’s what I did to make it work.

Published on Read more…

Managing academic literature with Zotero and Docear

I describe the tools I used to manage my academic literature, and how I use them.

Published on Read more…

Évolution de la dette publique française, 1978–2016

Un petit exercice avec Jupyter/Matplotlib et la dette publique française.

Publié le Lire la suite…

Roadmap for implementing RFC 8314

How I transitioned my mail server from explicit TLS to implicit TLS, as recommended by RFC 8314.

Published on Read more…

SMTP-over-TLS usage stats (2017 edition)

How many SMTP clients are using SMTP-over-TLS when connecting to my own server?

Published on Read more…

Aide-mémoire sur le boutisme en C

Un pense-bête sur le boutisme et les manières de le gérer en langage C.

Publié le Lire la suite…

Implementations of the OpenPGP Card

A survey of the available implementations of the OpenPGP Card specification.

Published on Read more…

Gestion des erreurs d’allocation mémoire en C

Quelques réflexions sur les manières de gérer le manque de mémoire dans des programmes en C.

Publié le Lire la suite…

Enabling DMARC with Postfix

How to integrate properly (?) SPF and DMARC validation into a Postfix setup.

Published on Read more…

Publishing Keys in DNS

A quick presentation of the current DNS record types for the publication of cryptographic keys.

Published on Read more…

Quelques statistiques d’utilisation de SMTP sur TLS

Combien de clients SMTP utilisent TLS pour se connecter à mon serveur?

Published on Read more…

Using an offline GnuPG master key

How to keep a master GnuPG key offline, and how to use it when needed.

Published on Read more…

Using GnuPG (2.1) for SSH authentication

How to replace the SSH agent by the GnuPG agent, and how to use an OpenPGP key pair to authenticate into a SSH server—updated note for GnuPG 2.1 “modern”.

Published on Read more…

Disabling newly-connected USB input devices

On using Udev to disarm malicious USB flash drives masquerading as input devices.

Published on Read more…

Plotting raw data with Matplotlib

My first steps with the Matplotlib library with IPython, and how I use it to make dotplots of raw data.

Published on Read more…

Installing pandoc on Slackware

How to install the Pandoc document converter on a Slackware system—not as easy as I would have wanted.

Published on Read more…

Using GnuPG for SSH authentication

How to replace the SSH agent by the GnuPG agent, and how to use an OpenPGP key pair to authenticate into a SSH server.

Published on Read more…

Integration of Unbound and NetworkManager on Slackware

How to setup NetworkManager on a Slackware system, and make it work with Unbound as a local DNS resolver.

Published on Read more…

DNSSec-trigger on Slackware

How to setup and configure Dnssec-trigger on a Slackware system, to ensure that DNS replies are validated by DNSSEC—either by the DNSSEC-capable nameservers of your network or by a local validating resolver.

Published on Read more…

Inclure une vidéo dans un PDF

Comment inclure une vidéo dans un fichier PDF et sur quelles plate-formes et avec quels visionneurs peut-on espérer la lire.

Publié le Lire la suite…

LaTeX for fly genetics

Presentation of the flygenet package, for fly genetics notation with LaTeX.

Published on Read more…

OMERO.web with Apache httpd 2.4

How to adapt the configuration of OMERO.web to work with the latest versions of the Apache web server.

Published on Read more…

What’s the average size of a human protein?

How to compute the exact average molecular weight of a human protein.

Published on Read more…

Keyboard problems upon switching from xterm to urxvt

Some problems I ran into after switching from xterm to urxvt, and the workarounds I found.

Published on Read more…

Real fullscreen with Awesome

How I tweaked Awesome to make a client window span on all screens.

Published on Read more…

Retour d’expérience sur IPv6

Le domaine incenp.org est depuis quelques semaines entièrement accessible par IPv6. J’expose brièvement comment cela s’est fait.

Publié le Lire la suite…

Using TTF fonts with FOP

How to easily use TrueType fonts with Apache FOP, the XSL/FO processor.

Published on Read more…

Du traitement du courrier non-sollicité

Quelles sont les mesures que je prends pour éviter à ma boîte de réception d’être submergée de pourriels ? Il y en a deux : une vérification active de la légitimité de l’expéditeur, et un filtrage bayésien.

Publié le Lire la suite…

De l’obfuscation des adresses e-mails

Ce que je pense de la pratique consistant à masquer ou déformer son adresse e-mail, et pourquoi je ne le fais pas.

Publié le Lire la suite…

Du logiciel libre sur les appareils électroniques

Ou pourquoi je ne réclame pas un firmware libre pour mon four à micro-ondes.

Publié le Lire la suite…

Cropping a video with MPlayer/FFmpeg

How to use MPlayer to dynamically select a region to crop in a video.

Published on Read more…

The progression of mitosis illustrated

Typical images of mitotic cells observed by epifluorescence microscopy.

Published on Read more…

À propos de l’élection présidentielle

Quelques remarques en vrac après le premier tour de l’élection présidentielle française.

Publié le Lire la suite…

Combining movies with ImageMagick and Mencoder

I describe how I combined several command-line tools (MPlayer/MEncoder and ImageMagick) to create a composite short movie sequence.

Published on Read more…

Configuration dynamique des écrans sous GNU/Linux

Comment changer dynamiquement de configuration d’écran sous GNU/Linux avec xrandr, un peu de shell et Awesome.

Publié le Lire la suite…

Modèle de présentation Beamer

Une description du modèle sur lequel sont basées toutes mes présentations Beamer.

Published on Read more…

Présentation sur double écran avec Beamer

Comment configurer ses écrans en vue d’une présentation avec Beamer, avec affichage des notes sur l’écran faisant face à l’orateur.

Publié le Lire la suite…

Nature et ses consignes aux auteurs

M’étant vu confier le soin de préparer un manuscrit en vue d’une soumission à Nature, je découvre les consignes pratiques données par Nature Publishing à ses auteurs.

Publié le Lire la suite…

Accessing eBooks reader from Calibre

Published on Read more…

Centromere and kinetochore proteins in yeasts and human

Some quick reference tables on proteins found in centromere and kinetochore complexes, in yeasts and human.

Published on Read more…

Why Uzbl?

Published on Read more…

Displaying time for different timezones in Awesome

Awesome, like most window managers or desktop environments, displays the current time somewhere on the screen. I want it to display also the current time in a different timezone than the local timezone.

Published on Read more…

\E[?1034h escape sequence in Python output

I ran into a problem when using Biopython: writing a sequence to sys.stdout with standard output redirected to a file caused a shell escape sequence (\E[?1034h) to appear at the beginning of the resulting file.

Published on Read more…

RAID monitoring on Slackware

Published on Read more…

Free software for biologists

I list here the programs and libraries that I use as a life science researcher.

Published on Read more…

Conventions d’écriture des gènes

Une compilation de quelques-unes des conventions d’écriture des gènes en vigueur chez les biologistes.

Publié le Lire la suite…