Réifier le futur

25 juillet 2007

La même chose en shell

Classé dans : Vrac — Olivier Schwander @

Il n’y a pas que des langages pourris dans la vie, il y aussi des langages pourris (mais très pratiques).

function progressmeter_init {
echo -ne "\33[s";
}

function progressmeter {
echo -ne "\33[u";
echo -ne "\33[s";
printf "%5.2f%%" $(( 100 * $1 / $2 ));
}

Attention, echo attend des valeurs en octal, donc 027=0o33

Barre de progression en Matlab/Octave

Classé dans : Eau chaude — Olivier Schwander @

Si vous n’avez jamais entendu parler de Matlab, vous avez vraiment de la chance, ça veut dire que vous n’avez jamais eu à faire de calculs bourrins avec des matrices.

J’ai dû pas mal m’en servir ces derniers temps (en fait c’était Octave, qui est aussi mal mais en mieux parceque libre), et je me suis dis que ce serait sympa d’avoir un indicateur de progression lors des calculs.

Le fichier progressmeter.m

function progressmeter(k, all)
printf("%c[u", 027);
printf("%c[s", 027);
printf("%5.2f%%", 100*k/all);
end

Et le fichier progressmeter_init.m

function progressmeter_init()
printf("%c[s", 027);
end

Il faut commencer par appeler progressmeter_init() pour sauvegarder la position du curseur, puis il suffit à chaque étape d’appeler progressmeter(i, n) pour afficher le pourcentage d’avancement de l’étape i sur un nombre n d’étapes au total.

Ça utilise les caractères de contrôles \27c[s qui sauvegarde la position du curseur et \27c[u qui la restaure.

24 juillet 2007

Ne pas réinventer la roue

Classé dans : Roue — Olivier Schwander @

La pire perte de temps qu’on puisse imaginer en informatique est de réécrire quelque chose qui existe déjà.

Bien sûr, il y des cas où on n’a pas le choix : le programme qui fait ce qu’on veut est propriétaire, il a été codé comme un porc, il est écrit en Fortran (ce cas rentre dans l’une des deux catégories précédentes). Mais la plupart du temps ce qu’on veut faire a déjà été fait et la seule difficulté est de le retrouver dans les méandres du nain Ternet.

Pour ça, google est souvent un très mauvais outil : vous avez déjà cherché un truc du genre “c super truc que vous ne voulez pas refaire” ? Essayez, pour voir…
(Bon, d’accord, dans ce cas particulier, c’est plutôt la faute du langage qui a un nom pourri, enfin bon, passons).

Par contre, il existe toute sorte d’outils pratique pour faire ce genre de chose. Je parlerai bientôt de CPAN, CTAN, The Caml Hump, n’hésitez pas à en suggérer d’autres.

Astrologie

Classé dans : Vrac — Olivier Schwander @

Malgré le titre qui parle de réification du futur, ce blog n’a pas vocation à prédire l’avenir, quoique…

Le but est plutôt de parler de trucs de geeks, de glorifier (ou pas) des langages comme Perl ou OCaml, de dire du mal de C++ et de se moquer gentiment de Python.

Si ce que je dis ne vous plait pas, laissez un commentaire ou consultez google pour un trouver un site qui vous convienne.

Propulsé par WordPress