# By Loïc d'Anterroches, August 29, 2010.
Ce WE, j’ai pris le temps d’optimiser ma gestion de mes choses à faire, j’ai encore du travail, mais cela avance. Le but est d’augmenter ma productivité en coupant les phases lentes ou non efficaces. Si vous suivez tous les gourous et coachs, ils vous diront que pour devenir une référence dans votre domaine, pour réussir, il faut être bon dans le domaine et passionné. La combinaison "bon + passionné" permet de facilement mettre les heures qu’il faut dedans pour devenir excellent. Pourtant, pour être productif il faut appliquer la méthode inverse. Vous ne pouvez pas faire mieux que ce que vous faites déjà très bien, il faut au contraire diminuer les phases lentes et les pertes de temps, cela laisse plus de temps pour là où vous excellez mais aussi plus de temps pour faire d’autres choses intéressantes.
C’est le principe de la méthode TPM ou Total Productive Maintenance. TPM vient de l’industrie (c’est la méthode Toyota), l’idée est simple, regarder la productivité d’une machine ou ligne de production tout au long de sa vie. Cela veut dire faire une analyse fine dans la journée du temps réellement passé à faire chaque opération et classifier chaque opération pour avoir le décompte du temps sur la maintenance, la production, les incidents, etc. Cette première analyse permet déjà de constater que bien souvent, une ligne de production ne tourne guère au dessus de 80% du temps pour produire. À partir de ces informations, on peut alors commencer à agir.
"If you can not measure it, you can not improve it." Lord Kelvin
Dans cette dynamique, j’ai donc décidé de mieux suivre l’utilisation de mon temps dans ma journée. Si je peux produire autant mais mieux pour avoir plus de temps pour ma famille, cela serait très bien. Ma dynamique est celle d’une réduction du travail en multi-tâches et de la suppression des opérations répétitives et inutiles. J’utilise maintenant de plus en plus Conkeror pour naviguer sur Internet, cela réduit mon utilisation de la souris et j’ai décidé de me remettre à Getting Things Done couplé à un suivi de mon temps passé à faire les choses.
Pour cela, j’ai remis en place org-mode pour GTD. Il y a 3 ou 4 ans, peut-être même plus, j’avais utilisé avec succès le mode planner d’emacs, mais certaines limitations m’avaient finalement poussé à l’arrêter. En 4 ans, la situation a bien changé et org-mode répond à tous mes besoins que voici :
Avec tout cela, l’ensemble de l’information tient dans un simple fichier texte facilement éditable sans emacs. Encore mieux, le format étant simple et structuré, org-mode me donne un joli plan de ma semaine en fonction de ce que j’ai défini dans mes tâches :
Dans le buffer du haut, vous pouvez voir le fichier texte, certaines lignes sont cachées automatiquement par org-mode et la coloration permet de vite se repérer. Dans le buffer du bas, vous voyez comment org-mode interprète ce fichier texte pour en sortir mon plan de la semaine. C’est simple et élégant.
Pour cette semaine, il me reste à continuer la transition vers Conkeror. Je dois pour cela, entre autre, transférer mes mots de passe et mes sessions qui sont aujourd’hui sous Firefox, ce n’est pas très amusant car j’en ai beaucoup.
# By Loïc d'Anterroches, August 28, 2010.
Par le truchement d’un billet sur la productivité des programmeurs, j’ai découvert Conkeror. Conkeror n’est pas un navigateur ordinaire, c’est un navigateur avec une navigation entièrement au clavier, utilisant des raccourcis très proches d’emacs et vi. Comme vous pouvez le constater sur la capture suivante, pas de boutons, rien. juste la page.
Pour "cliquer" sur un lien, il suffit de rechercher le texte du lien Ctrl+S textedulien et de taper sur la touche entrée ou de demander la liste des liens n ; puis de taper le numéro du lien. Dans la capture suivante, j’ai demandé le lien 24.
Cette navigation ultra-rapide, sans bouger les mains du clavier est déjà une amélioration extraordinaire. Si vous avez l’habitude de naviguer dans votre code avec votre clavier et sans souris, vous trouverez très rapidement vos automatismes avec Conkeror. Vous allez très rapidement vous sentir plus agile avec votre navigateur.
Mais maintenant, si vous êtes un programmeur, vous trouverez encore mieux. Par exemple, j’utilise le service d’Instapaper pour me garder une liste d’articles et billets intéressants à lire. Je peux en tapant Meta + x puis insta + Tab demander à envoyer la page courante vers Instapaper. Je peux aussi sélectionner un lien (comme dans la vue précédente) et demander d’envoyer ce lien vers Instapaper (je note même la page de référence du lien pour ne pas oublier). J’ai codé les fonctions pour faire cela en moins de 10 minutes !
Bien entendu, vous pouvez interagir avec votre propre site web si vous avez un gestionnaire de liens en ligne, etc. Suivant le principe d’emacs/vi vous avez un minibuffer pour afficher des informations intéressantes ou demander des informations. C’est simple, élégant et très rapide. Le seul défaut pour le moment est la gestion des bookmarks. On peut bookmarker mais ce n’est pas très efficace. Je vais donc coder une petite interface pour mes liens, cela fait longtemps que je voulais faire cela, c’est une bonne occasion.
Je vous recommande donc chaudement Conkeror.
interactive("instapaper", "Send the current page to InstaPaper.",
function (I) {
check_buffer(I.buffer, content_buffer);
let posturl = 'https://www.instapaper.com/api/add?' +
'username=MYUSERNAME&' +
'password=MYPASSWORD&url=' +
encodeURIComponent(I.window.content.location.href)
'&selection=' +
encodeURIComponent(
yield I.minibuffer.read(
$prompt = "Description (optional): "));
try {
var content = yield send_http_request(load_spec({uri: posturl}));
if (content.responseText == "201") {
I.window.minibuffer.message("InstaPaper ok!");
} else {
I.window.minibuffer.message("Error.");
}
} catch (e) {
I.window.minibuffer.message("Error.");
}
});
interactive("instapaper-link", "Send the current link to InstaPaper.",
function (I) {
bo = yield read_browser_object(I) ;
mylink = load_spec_uri_string(load_spec(encodeURIComponent(bo)));
check_buffer(I.buffer, content_buffer);
let posturl = 'https://www.instapaper.com/api/add?' +
'username=MYUSERNAME&' +
'password=MYPASSWORD&url=' + mylink +
'&selection=' + encodeURIComponent(
yield I.minibuffer.read(
$prompt = "Description (optional): ",
$initial_value = "From: "+ I.buffer.title +" ("+I.window.content.location.href+")" ));
try {
var content = yield send_http_request(load_spec({uri: posturl}));
if (content.responseText == "201") {
I.window.minibuffer.message("InstaPaper ok!");
} else {
I.window.minibuffer.message("Error.");
}
} catch (e) {
I.window.minibuffer.message("Error.");
}
}, $browser_object = browser_object_links);
# By Loïc d'Anterroches, August 27, 2010.
Comme certains le savent, je suis plutôt tendance minimalisme. Tout ce que je développe va dans la direction d’être le plus simple et le plus efficace possible. Un logiciel pour faire une chose et bien la faire.
Par contre, au fil du temps, j’ai découvert un problème avec cette approche. Je finis par avoir trop de logiciels ouverts, chaque logiciel gère à sa manière ses données et au final, les informations que je gère sont dans des silos difficilement intégrables (il est toujours possible de bricoler une API ou autre, mais cela reste difficile).
Conclusion, j’ai décidé de revenir au texte. En gros, je vis dans Emacs et je manipule facilement du texte, alors pourquoi ne pas doucement intégrer mes outils dans Emacs ? Le but est de minimiser les changements de contexte, minimiser les pertes de temps pour transférer l’information d’un logiciel à un autre et bien entendu garder mes données dans un format facilement transférable entre différents systèmes.
À l’instant, j’ai Firefox, Thunderbird, un client IRC, Evince, Emacs bien entendu, Nautilus, des shells, Getting Things Gnome et un test de Conkeror. Il faut que j’arrive à avoir moins pour faire mieux.
Les problèmes que j’ai en ce moment :
Le problème de base est aussi: Pourquoi toujours utiliser des bases de données ?
Très souvent, les données sont dans une base de données alors qu’un stockage dans un simple fichier texte serait suffisant. Les informations sont aussi très souvent dans un format qui force l’utilisation d’un logiciel particulier pour interagir avec. Par exemple, un fichier .odt force l’utilisation d’un logiciel de traitement de texte assez sophistiqué dans la plupart des cas.
Si je fais l’inventaire des documents que j’édite, je constate que je pourrais facilement n’utiliser que des fichiers textes (éventuellement en utilisant la syntaxe Markdown) pour répondre à l’ensemble de mes besoins. En rajoutant un gabarit et une moulinette qui sort un fichier PDF, ma correspondance professionnelle garderait son allure.
Conclusion, je me pose sérieusement la question de couper dans mon utilisation logicielle pour n’utiliser plus qu’un nombre réduit. Cela implique une meilleure gestion de mes données pour avoir un format de stockage simple (fichiers texte utf-8) et ainsi me libérer des problèmes de migration entre les différentes versions et de transfert entre les différents outils.
Sur ma "short liste" des logiciels à garder :
Est-ce que c’est faisable? Je ne sais pas, mais essayer ne devrait pas avoir trop d’inconvénients et je vais apprendre à coder en Lisp au passage.
# By Loïc d'Anterroches, August 24, 2010.
Certains diront que le Chlore déconne, ils n’auront pas totalement tord. La molécule est très jolie mais uniquement sur le papier. C’est un cyclo-chloro-oxygéné et effectivement, je préfèrerais ne jamais avoir été en contact avec elle.
# By Loïc d'Anterroches, August 13, 2010.
J’avais un Kindle v2 que j’ai malheureusement cassé après 25 jours d’utilisations. Stupide. La bonne nouvelle est qu’Amazon m’a repris ce Kindle (car cassé dans les 30 jours) et m’a remboursé l’intégralité du coût avec un malus de 40$. La bonne affaire, car 3 mois plus tard, la nouvelle version était annoncée. J’ai de la chance, le remboursement me paye la nouvelle version (Wifi simple, pas de 3G).
Je suis particulièrement content de l’amélioration du "clic" pour passer d’une page à une autre. C’est un argument de vente du nouveau, ils annoncent que cela fait moins de bruit… chouette. Par contre, cette fois-ci je prends une pochette qui va avec, histoire de ne pas le faire tomber.
Le Kindle devient merveilleux une fois combiné avec InstaPaper. Cela me permet de facilement me constituer mon "magazine" que je peux ensuite lire le soir ou quand j’ai du temps bloqué. C’est nettement plus agréable de lire les nouvelles et les articles intéressants en prenant un café sur mon balcon que d’être assis devant mon ordinateur. J’aime le soleil (bon en ce moment c’est plutôt la flotte) et avec le Kindle je peux lire dehors.
Note : en pratique je suis un mauvais client pour Amazon, je préfère toujours acheter la version papier des livres si c’est possible. Mon utilisation du Kindle est vraiment pour éviter de passer trop de temps devant mon ordinateur et donc être plus présent dans les pièces à vivre de la maison. Cela change tout de suite l’ambiance dans la famille, je ne suis pas dans son bureau mais je lis dans le salon pendant que les enfants jouent. Je peux aussi facilement m’arrêter pour jouer avec eux et reprendre, comme avec le journal.