Comment trouver des livres en texte intégral, qu’ils soient libres ou que les auteurs aient décidé de les publier sous une licence acceptable ?
Voici un liste non-exhaustive :
Idées sur la vie, l’univers et le reste
Comment trouver des livres en texte intégral, qu’ils soient libres ou que les auteurs aient décidé de les publier sous une licence acceptable ?
Voici un liste non-exhaustive :
Posted in Escabeau.
Notons miroir la fonction miroir (par exemple, au mot 46498 elle fait correspondre le mot 89464)
Il existe une base telle que si p est premier et si P est son codage dans cette base alors l’entier codé par miroir(P) est premier.
Preuve :
En unaire ça marche.
Posted in Eau chaude.
Vous êtes à la bourre (comme d’habitude quoi), il vous faut un site internet pour hier. Évidemment un site où plusieurs personnes vont contribuer. Vous pensez à un wiki ? Bien, mais lequel choisir ?
On peut déjà réduire pour le cas le plus classique : vous ne contrôlez pas le serveur, vous n’avez que du php à votre disposition.
Mais ça fait encore plein de choix ça. Si en plus vous n’avez pas envie de vous embêter avec une base de donnée, dokuwiki est fait pour vous.
Tous les articles sont stockés dans de simple fichiers (évidemment, il faut le droit d’écriture pour le serveur http) donc pas de base de données, il y a une gestion des ACL (bien mieux faite, ou du moins bien plus simple à utiliser que celle de mediawiki) ce qui est pratique pour mélanger site web publique et site pour développeurs.
Les plugins sont nombreux, on peut les installer directement par l’interface web (pratique si on ne veut pas subir encore un fois un client ftp) : par exemple pour afficher du latex ou du graphviz (même si il faut un latex sur la machine dans ce cas). Il peut être transformé en blog grâce au système de templates prodigieusement puissant.
Si on veut vraiment être un bourrin et utiliser ça à grande échelle on peut même utiliser un ldap pour la gestion des comptes
utilisateurs.
Toutes les pages sont mises en cache pour éviter de passer des plombes à les recompiler à chaque fois.
Des reproches ? Ça a quand même l’air un peut lent, mais c’est peut-être la faute free. Et je n’ai toujours pas réussi à lui faire afficher des images en svg.
Mais bon, c’est chouette quand même.
Quelques liens ?
http://wiki.splitbrain.org/wiki%3ADokuWiki pour la doc
http://www.splitbrain.org/projects/dokuwiki pour télécharger
http://wiki.splitbrain.org/wiki%3Aplugins pour la liste des plugins
http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates pour les templates
En plus les sources sont gérées sous darcs
Posted in Escabeau.
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
Posted in Vrac.
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.
Posted in Eau chaude.
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.
Posted in Roue.
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.
Posted in Vrac.