Blog

A generic extensibility scheme for JSON data

Ideas for a mechanism of generic extensibility for data exchanged in JSON.

Published on — Read more…

Comparing Python libraries for working with ontologies

Exploring the landscape of ontology manipulation modules for Python.

Published on — Read more…

SSSOM Pronunciation Alignment Chart

What your pronunciation of SSSOM says about you.

Published on — Read more…

Multiple passwords for a single account with Dovecot

How to allow a Dovecot user to authenticate using multiple passwords (e.g., one password per device).

Published on — Read more…

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…