Deblan blog

Futilités de Geek

Clavier et souris ergonomiques

Travailler sur une machine plusieurs heures par jour admet quelques problèmes d'ordre physique. Depuis quelques temps déjà je ressentais des douleurs au niveau du canal carpien. Il devenait important de réagir pour que ces douleurs disparaissent.

J'ai donc acheté un nouveau clavier et une nouvelle souris. L'objectif du clavier était de faire beaucoup moins de mouvements pour reposer les poignets et les articulations des doigts. La souris devait quant à elle donner une position la plus normale possible à ma ma main et mon avant bras.

Le clavier est un TypeMatrix. Je ne l'ai pas encore passé en bépo par souci de productivité mais le fait d'avoir des touches positionnées à des endroits plus stratégiques me permet déjà d'être à la fois plus performant avec des douleurs estompées. Le temps d'adaptation est relativement court et j'ai un peu galéré au début mais cette étape passée, je me demande comment j'ai pu passé à coté de ça depuis tant de temps.

La souris est une Oyster Mouse qui permet de positionner son poignet dans 5 positions. La main est donc placée sur le coté. Ça change quelques habitudes et j'ai encore quelques fails quand je fais des clics molette mais j'ai aussi stoppés les douleurs rencontrés avec mes précédentes souris et je suis plus à l'aise.

En plus de tout ça, s'efforcer à utiliser encore plus de raccourcis clavier me permet de faire encore moins de mouvements inutiles. Les déplacements clavier/souris doivent être le moins souvent faits afin se garder de mauvais mouvements répétitifs et usants.

Je vous recommande vivement ces deux outils qui deviennent pour moi essentiels dans mon travail.


Raspberry PI #1

J'ai (enfin) reçu mon Raspberry PI et j'ai commencé à faire joujou avec.

J'ai utilisé l'image officielle avec une Debian Wheezy hacked pour lancer le RPI (Raspberry PI). C'est donc une Debian optimisée pour la machine avec l'environnement LXDE de base. Je l'ai bien sûr dégagé pour installer i3wm en gagnant ainsi une dizaine de Mo sur la Ram consommée. Sans trop de surpise, on a un système pas très rapide mais qui suffit à faire des tâches simples. Je pense que la carte SD achetée est aussi une cause de lenteur.

J'envisageais d'installer de quoi monitorer le système mais munin est trop gourmand. Je vais essayer de trouver une solution alternative.

Edit : ce qui prend le plus de ressource est la génération de graphs. J'ai laissé Hinata fait ceux du RPI donc plus aucun souci de performances. Je poserai des graphs d'ici quelques heures !


Edit 2 : j'annonçais des lenteurs qui étaient certainement dues à la carte SD utilisée. Il s'avère que c'est bien l'origine du problème qui va se régler très rapidement en la changeant. J'ai installé Munin et des graphiques sont à présent disponibles. Tout est disponible en ligne.


Raspberry PI Deblan

À l'heure actuelle, j'ai configuré un serveur web nginx et j'ai installé un Wordpress [http://pi.deblan.org/wordpress/]. Le serveur de base de données est sur une Hinata (le serveur de deblan) le temps de passer le blog sur une db SQlite. Globalement ça fonctionne pas trop mal bien que les accès disques lents ralentissent le temps de réponse. Il n'est pas directement accessible depuis l'extérieur mais via Hinata (encore) qui fait proxy HTTP.

Une salle dédiée a été aménagée pour les serveurs, puisque qu'en plus d'Hinata et du RPI, une 3ème machine va arriver pour redonder les services importants de Deblan (web, email et irc). Il se peut qu'elle devienne aussi un dépot FreeBsd.

Salle machines Deblan

La finalité du RPI n'est pas encore finie. Je ne sais pas si le mettre en frontend des serveurs sera une bonne idée (Firewall ou LoadBalancer à la Varnish). À voir...

En tout cas c'est belle petite bestiole, qui prend trois fois rien comme place et qui fonctionne vraiment bien. Je suis donc agréablement supris et je vais songer à en acheter un ou deux de plus pour faire des tests de cluster.


i3wm - barre de status

Il y a quelques semaines, j'ai changé de gestionnaire de fenêtres sur ma Debian. De Fvwm-crystal (que je recommande beaucoup) à i3wm, j'ai un full tiling manager et c'est vraiement nickel.

J'ai fais quelques lignes de code pour modifier la barre de status et je vais les paratager.

i3wm status bar

Mais avant tout, on va configurer le minimum vital pour que ça fonctionne :

Dans le bloc bar { ... } de votre fichier de configuration, remplacez status_command i3status par status_command ~/.i3/i3status.sh.

~/.i3/i3status.sh doit contenir :

#!/bin/sh

php ~/.i3/i3status.php

i3status | while read LINE; do
	php ~/.i3/i3status.php
done

Vous l'aurez remarqué, j'ai décidé d'utiliser du php. Pour ceux que ça ne dérange pas et qui n'ont pas encore le nécessaire :

$ su -
# aptitude update
# aptitude install php5

Il ne reste plus que de placer dans ~/.i3/i3status.php le code suivant :

<?php
// J'ai des soucis d'encodage sur le blog, le code avec les caractères en utf8 sont dispos ici : http://wall.deblan.fr/x10a/php/1/

define('SEPARATOR', ' # ');

render(
	get_the_notification(), 
	get_ips(array('eth0', 'wlan0')), // indiquez les interfaces susceptibles d'être utilisées et dont vous voulez connaître les IP (si elles en ont)
	get_the_acpi(),
	get_the_date()
);


/**
 *
 * IP
 *
 */
function get_ips($ifaces=array()) {
	$ips = array();
	foreach($ifaces as $iface) {
		preg_match('`inet ([^\s]+)`', shell_exec('ip addr show '.escapeshellcmd($iface)), $inet);

		if($inet) {
			$ips[] = '['.$iface.'] '.$inet[1];
		}
	}

	return implode(SEPARATOR, $ips);;
}

function ips() {
	echo get_ips();
}


/**
 *
 * Notification
 *
 */
function get_the_notification() {
	$final = '';

	if(file_exists($file=getenv('HOME').'/.i3/notification')) {
		$info = json_decode(file_get_contents($file));

		if($info->count == 15) {
			unlink($file);
		}
		else {
			$info->count++;

			file_put_contents(
				$file, 
				json_encode($info)
			);

			$message = '['.$info->title.'] '.$info->message;

			$final.= $message;
		}
	}

	return $final;
}

function the_notification() {
	echo get_the_notification();
}


/**
 *
 * Date
 *
 */
function get_the_date() {
	return date('H:i:s'.SEPARATOR.'d/m/Y');
}

function the_date() {
	echo get_the_date();
}

/**
 *
 * Acpi
 *
 */
function get_the_acpi() {
	$acpi = shell_exec('acpi');

	if(!preg_match('`Discharging`', $acpi)) {
		preg_match('`([0-9]+%)`', $acpi, $values);

		if(!empty($values)) {
			$charging = $values[1];
			return $charging.'?';
		}

		return '';
	}
	
	preg_match('`([0-9]+%), ([0-9]+:[0-9]+)`', $acpi, $values);

	$charging = $values[1].'?';
	$times    = str_replace(':', 'h', $values[2]);

	return implode(' ', array($charging, $times));
}

function the_acpi() {
	echo get_the_acpi();
}


/**
 *
 * Render
 *
 */
function get_the_render($values) {
	foreach($values as $k => $v) {
		if(empty($v)) {
			unset($values[$k]);
		}
	}

	return implode(SEPARATOR, $values).SEPARATOR;
}

function render() {
	echo get_the_render(func_get_args());
}

J'ai un système de notification qui permet de faire ça :

i3wm status bar

Voici le script qui permet de générer la notification :

#!/usr/bin/php5
<?php

$file = getenv('HOME').'/.i3/notification';

$info = array(
	'title'   => $argv[1],
	'message' => $argv[2],
	'count'   => 0
);

file_put_contents(
	$file, 
	json_encode($info)
);
/chemin/vers/le/script titre "Je suis une notification"

Terminé :)


Deblan aime la Grenadine !

Edition : le réseau s'appelle maintenant Neutral Network. Vous pouvez toujours utiliser irc/irc2.deblan.fr ou bien passer directement par irc.neutralnetwork.org qui changera automatiquement d'IP si un des serveurs tombe. Venez nombreux et nombreuses !


Aujourd'hui est un jour à marquer au fer rouge : les réseaux IRC Grenadine et Deblan viennent de fusionner :)

L'IRC Grenadine est en partie dédié à l'hébergeur HarmonyHosting dont je vous ai parlé il y a peu. À la tête du serveur il y a elskwi. Il a comme moi posé une machine dans sa maison et il prône un vrai internet libre, décentralisé et ouvert !

Une belle fusion qui permettra d'élargir nos réseaux mais surtout de décentraliser l'IRC qui est maintenant dispatché entre deux machines visibles.

Vous avez maintenant la possibilité de vous connecter via deux domaines : irc.deblan.fr et irc2.deblan.fr.

10 raisons de préférer Windows à Linux

C'est un article assez étrange à première vue, surtout venant de ma part. Oui, j'aime et j'utilise une distribution Linux, oui j'apprécie ce système et oui je suis persuadé qu'il convient à beaucoup de tâches quotidiennes et non techniques. Cependant je suis aussi sûr d'une chose : Linux n'est pas fait pour Monsieur Toutlemonde.

Voici 10 raisons de ne pas installer une distribution Linux.

01. Un copain m'a dit que Linux c'est trop bien !

...et en plus il m'a dit qu'Ubuntu c'est l'avenir de l'informatique. C'est le point de départ de beaucoup d'ennuis : on ne change pas de système sans avoir un avis plus affûté que ça. Quand on décide de passer sur Linux c'est qu'on connaît un minimum la bestiole, qu'on sait (presque) ce que c'est et qu'on ne se limite pas à l'avis d'un non linuxien (ceci est un troll).

02. Windows ça plante tout le temps !

...et vous ferez partie des gens qui booteront Paint.net avec Wine car Gimp c'est pourri. Plus sérieusement, autant être clair tout de suite : les distro Linux ne sont pas des substitus à Windows. Il est difficile de comparer un Linux à Windows, ils sont trop différents, les objectifs ne sont pas communs.

03. Linux, il n'y a pas de virus...

Une belle connerie bien trop répandue sur la toile. Il est plus rapide de crasher la machine d'un linuxien manchot que le Windows de ma grand-mère. C'est une idée reçue et je peux vous assurez qu'il est très rapide de faire une connerie et d'ouvrir votre machine à des gens/logiciels malveillants (Linux ou pas).

04. Linux c'est pour les hackers !

...et on installe Backtrack pour casser le Wifi de son voisin. Si votre unique objectif est de péter le Wifi du mec qui vie à coté de chez vous, restez sur Windows, ça fonctionne aussi bien et vous ne viendrez pas pourrir les forums car le mode monitor de votre carte wifi est mal géré.

05. Je veux linux...ça se télécharge où ?!

Le truc le plus énervant à lire quand on fait du support : la question typique du mec qui n'est pas fichu de faire une recherche. Si vous n'avez pas envie de passer des heures (voir des jours) pour plancher sur un problème, que vous et la documentation font deux, alors vous êtes mal barré et vous préférerez Windows.

06. Installer Linux ça à l'air cool...par contre c'est quoi le BIOS ?

Pour utiliser une distro. Linux, il faut avoir le minimum vital en informatique. Je ne dis absolument pas que le Linuxien moyen est informaticien, mais avoir des notions essentielles en informatique sont primordiales pour utiliser et comprendre un tel système.

07. J'ai testé sur une machine virtuelle, ça marche trop bien !

Une différence notable entre une machine virtuelle est une installation en dure sur votre machine c'est la quantité d'emmerdes que vous allez vous prendre sur la tronche. Linux c'est bien mais c'est loin de fonctionner du premier coup et la publicité mensongère de Canonical ne viendra jamais trahir la vraie vie Linuxienne !

08. Je veux Linux mais je suis attaché à mes outils de Windows

Si vous espérez garder vos belles habitudes Windowsiennes alors c'est peine perdue. On n'installe pas Linux en imaginant l'utiliser comme Windows.

09. Linux c'est super joli, on peut faire des trucs en 3D avec son bureau

Si votre objectif est d'avoir un bureau joli, consultez le site DeviantArt, il y a d'excellents bureaux Windowsiens.

10. Je veux utiliser du logiciel libre

C'est sans doute la première grosse erreur de jugement : un système complétement libre est quasi inutilisable. Entre les drivers vidéo/Wifi libres a moitié utilisable et la fausse pub d'Ubuntu, vous aurez tout sauf un système libéré. Si vous avez envie de logiciels libres (et c'est très bien), la plupart sont disponibles aussi sur Windows.