samedi 3 juin 2017

Nombre de déclenchements d'un appareil Canon sous Linux avec gphoto2

Si vous êtes l'heureux possesseur d'un appareil photo reflex Canon (et peut-être d'autres marques, je n'ai pas pu tester), vous vous demandez peut-être comment accéder au compteur de déclenchements par exemple pour mesurer le degré d'usure de votre matériel (http://www.olegkikin.com/shutterlife/).

gphoto2 sera votre complice pour cela. Il faut d'abord l'installer avec votre gestionnaire de paquet préféré (ici apt) :

apt install gphoto2

Après avoir branché l'appareil photo en USB sur le PC, on exécute la commande suivante :

gphoto2 --auto-detect

qui doit retourner le type d'appareil photo connecté et reconnu :

Model                          Port                                            
----------------------------------------------------------
Canon EOS 700D                 usb:001,007

Accédons maintenant à l'info souhaitée :

gphoto2 --get-config /main/status/shuttercounter

et voilà :

Label: Shutter Counter                                                         
Type: TEXT
Current: 14611

Get shutter counter for Canon cameras on Linux

It can be useful to know the shutter counter for your Canon reflex camera, for example to compare with the data available here: http://www.olegkikin.com/shutterlife/.

Wait no more, it is easy to access the shutter counter with gphoto2 on Linux.

Let's start with the installation of gphoto2 (replace apt with your favorite package manager):

apt install gphoto2

Then plug the camera to the computer with an USB cable and then:

gphoto2 --auto-detect

It should show something like this:

Model                          Port                                            
----------------------------------------------------------
Canon EOS 700D                 usb:001,007
/// 


Then

gphoto2 --get-config /main/status/shuttercounter


and this is it:

Label: Shutter Counter Type: TEXT Current: 14611 ///

samedi 4 mars 2017

Installer le paquet xlsx pour R sous Debian Stretch

Sous R, le paquet 'xlsx' peut être utilisé pour importer des jeux de données stockées dans des fichiers de la suite Microsoft Office. Mais sous Debian Stretch (instable), l'installation du paquet 'xlsx' est un peu compliquée au moment d'écrire ces lignes.

configure: error: Cannot compile a simple JNI program. See config.log for details.
Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.

Et si l'on exécute R CMD javareconf :

conftest.c:1:17: fatal error: jni.h: No such file or directory
 #include <jni.h>

Il semble que cela vienne à la fois d'un mauvais paramétrage de R pour utiliser Java et de l'usage d'une version de Java qui a priori n'est pas compatible avec rJava (incompatibilité rapportée ici).

Utiliser OpenJDK 8 et non 9

Commençons par installer OpenJDK 8 sur l'ordinateur en root ou avec la commande sudo :

apt install openjdk-8-jre openjdk-8-jdk

Puis, toujours en root, faisons pointer JAVA_HOME vers le bon répertoire :

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

javareconf dans R

Et ré-exécutons alors R CMD javareconf. Cette fois, tout doit fonctionner et s'achever par :

Updating Java configuration in /usr/lib/R
Done.

En utilisateur non root, il est alors possible de re-démarrer R et d'exécuter l'installation de rJava :

> install.packages("rJava")

install.packages("xlsx")

Plus rien ne s'oppose à l'installation du paquet xlsx désormais :

> install.packages("xlsx")

dimanche 19 février 2017

Réduire l'empreinte mémoire de GitLab en contrôlant le nombre de processus Sidekiq

Par défaut, GitLab démarre 25 processus Sidekiq pour gérer les travaux de tâche de fond de GitLab. Si ce nombre est justifié sur une instance à fort traffic, il y a fort à parier qu'un bien plus petit nombre de processus suffit pour gérer une instance de GitLab de petit volume.

Le nombre de processus Sidekiq se règle aisément dans le fichier /path/to/gitlab/config/sidekiq_queues.yml par ajout de la ligne suivante :

:concurrency: 2

où l'on remplacera "2" par le nombre de processus souhaités. 2 semble suffisant pour ma petite installation GitLab personnelle et ses quelques utilisateurs et dizaines de projets.

Voilà de quoi optimiser l'empreinte mémoire et processeur de GitLab !

Adjust number of Sidekiq processes for GitLab

By default, GitLab starts 25 processes of Sidekiq. If this certainly makes sense on systems with high load, this could be overkill for simple instances of GitLab with only a handful of users and active projects. To reduce memory usage, it is possible to reduce the number of concurrent processes for Sidekiq by adding the following line to the /path/to/gitlab/config/sidekiq_queues.yml file:

:concurrency: 2

Install NodeJS v7.x on Debian Jessie

It is rather easy to deploy NodeJS v7.0 on Debian Jessie. First, it is necessary to add the deb repository for nodejs in /etc/apt/sources.list.d/nodesource.list:

deb https://deb.nodesource.com/node_7.x jessie main
deb-src https://deb.nodesource.com/node_7.x jessie main

Then, let's add a package preference in /etc/apt/preferences.d/node:

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

or

Package: *
Pin: release o=Node Source
Pin-Priority: 1200

I am rather reluctant to use the second option (with the wildcard) as it would imply that the nodesource.com deb repository could replace any package. Without the wildcard, there is a risk to see some dependences not deployed as expected... at the time of writing, it seems that limiting the priority to "nodejs" is sufficient ti have version 7.5.0 installed.

Enjoy!

- page 1 de 13