mardi 7 avril 2009

Protégeons-nous avec les maths

Une citation toute à l'honneur des mathématiques :

It is insufficient to protect ourselves with laws; we need to protect ourselves with mathematics.

Tirée de Applied Cryptography par Bruce Schneier.

dimanche 15 mars 2009

HiR Information Report

Pour les amateurs de Unix qui veulent en apprendre un peu plus sur la sécurité de leur système ou sur l'administration de systèmes, le blogue HiR Information Report est une source d'informations vraiment intéressante.

mercredi 11 mars 2009

Copies de sauvegarde

J'ai finalement trouvé une solution convenable pour faire des copies de sauvegarde de mes documents importants : un shell script maison assez simple qui utilise le logiciel rsync (informations sur ce site). rsync est un logiciel libre distribué sous licence GPL et disponible sur la plupart des plateformes Unix de même que sur MS Windows.

Si vous utilisez Mac OS X, rsync fait déjà partie de l'installation par défaut. Il en est probablement de même pour les distributions de Linux les plus populaires. Sur OpenBSD, vous pouvez l'installer avec la commande :
sudo pkg_add rsync
en supposant que vous avez déjà configuré sudo et que la variable d'environnement PKG_PATH est définie.

Alors voici, j'ai un Macbook qui fonctionnne sous Mac OS X et il est relié à deux disques durs externes : Hercule et Astro. Il y a plusieurs dossiers et quelques fichiers de configuration (les dotfiles) que je veux copier. Le script ressemble à ceci.
Mis à jour le 12 mars 2009:
#!/bin/sh

# This script makes a backup of important files in
# my home directory to two external hard drives,
# Hercule and Astro, using rsync.

OPTS="-avuzC --delete --exclude-from=$HOME/.rsync/excludes"
FOLDERS="Desktop Documents Music Movies Programmes Sites \
Applescripts Pictures Jeux Library/Colorsync \
Library/Thunderbird .rsync"
FOLDER1="Library/Application Support"
BACKUPDIR="Macbook backup"
DOTFILES="$BACKUPDIR/dotfiles"
FILES=".emacs .vimrc .profile"
VOLUMES="/Volumes/Astro /Volumes/Hercule"

for v in $VOLUMES; do
if [ -d "$v" ]; then

if [ ! -d "$v/$BACKUPDIR/Library" ]; then
mkdir -p "$v/$BACKUPDIR/Library"
echo "created directory" "$v/$BACKUPDIR/Library"
fi

for d in $FOLDERS "$FOLDER1"; do
rsync $OPTS "$HOME/$d/" "$v/$BACKUPDIR/$d/"
done

if [ ! -d "$v/$DOTFILES" ]; then
mkdir "$v/$DOTFILES"
echo "created directory" "$v/$DOTFILES"
fi

for f in $FILES; do
rsync $OPTS "$HOME/$f" "$v/$DOTFILES/$f"
done

else
echo "ERROR:" "$v" "not mounted"
fi
done
Et le fichier .rsync/excludes contient
.DS_Store
.depend
*.aplibrary
.localized
Tout d'abord, on définit les options pour rsync :
  • a : le mode archivage (c'est ce qui convient le mieux pour les copies de sauvegarde)
  • v : afficher les opérations effectuées à l'écran
  • u : update, i.e. : si un fichier sur dans la copie de sauvegarde est plus récent que celui sur le Macbook, on ne le recopie pas
  • z : compresser les données
  • C : exclure tous les fichiers normalement exclus par CVS (e.g. : *.o, *~, *.a)
  • --delete : si un fichier a été effacé du Macbook, l'effacer du dossier de sauvegarde
  • --exclude-from : précise le nom du fichier contenant la liste des exclusions
Ensuite on définit les variables qui précise les fichiers et dossiers à copier. On a une boucle pour effectuer les opérations sur les deux disques durs externes puis une autre pour effectuer les copies de tous les dossiers voulus.

Le dossier Library/Application Support a sa propre variable car j'obtiens des erreurs si je l'inclus dans la liste FOLDERS. J'ai essayé de l'inclure avec des guillemets, en échappant l'espace (Library/Application\ Support) mais rien ne fonctionnait. Si quelqu'un sait comment faire en sorte que je puisse include ce dossier dans la liste avec les autres, faites-moi le savoir.

Je mets les fichiers de configuration dans un dossier nommé dotfiles que je crée s'il n'existe pas déjà.

J'ai copié le script dans un dossier qui fait partie de mon $PATH. Voilà ! C'est fait ! Des copies de sauvegarde facile en tapant backup dans un terminal. La magie de rsync, c'est que le logiciel ne recopie que les fragments de fichiers qui ont été modifiés depuis la dernière sauvegarde. Donc le processus est très rapide en général (sauf la première fois que le script fonctionne puisqu'il doit alors copier l'ensemble des fichiers).

Prochaine étape : synchroniser mon Macbook et mon ordinateur de bureau roulant sous OpenBSD avec Unison...

jeudi 12 février 2009

Bonne fête Darwin !

Il y a 200 ans, le 12 février 1809, naît un homme qui va révolutionner notre compréhension de la nature : Charles Darwin. Darwin fût un naturaliste de grand renom qui a étudié, entre autre, la botanique et l'entomologie. Mais sa plus grande contribution à la science moderne est sans conteste la théorie de l'évolution par la sélection naturelle.

Deux cents ans plus tard, l'Union Internationale des Sciences Biologiques commémore la mémoire de ce grand homme en désignant l'année 2009, année Darwin.

Malheureusement, deux siècles de science et de découvertes qui confirment cette théorie scientifique n'ont pas suffit à établir la théorie de l'évolution comme un des fondements de l'éducation scientifique. Encore aujourd'hui, des personnes de mauvaise foi qui n'ont pas compris la différence entre la science et la religion essaient de discréditer cette théorie. Le créationnisme et le dessin intelligent ne sont pas des sciences et n'ont, par conséquent, aucune aptitude pour s'opposer au Darwinisme.

Profitons donc de cette année Darwin pour rappeler au monde que la science et la religion ne jouent pas sur le même terrain, et que la théorie de l'évolution par sélection naturelle est une théorie scientifique fondée sur un très grand nombre d'observations qui ont toutes été faites dans le cadre de la démarche scientifique. 

La théorie dont Darwin est le père a apporté une compréhension profonde de la biologie et de l'émergence et l'évolution des espèces. Pour cette contribution extraordinaire au savoir, je salue Darwin et lui souhaite un très bon anniversaire !

Quelques liens intéressants :


vendredi 6 février 2009

Des axiomes mathématiques

En lisant Le moine et le philosophe, je suis tombé sur cette citation de Alan B. Wallace (tirée de Science et Bouddhisme, à chacun sa réalité) :
Les axiomes mathématiques étaient considérés jusqu'à récemment comme des évidences qu'il n'était pas nécessaire de prouver. Or au siècle dernier des mathématiciens ont suggéré que les postulats d'Euclide, par exemple, ne sont ni vrais ni faux, ce sont simplement les "règles du jeu." [...] Il est maintenant devenu clair que les axiomes mathématiques sont directement ou indirectement dérivés de notre expérience, et qu'on ne peut donc dire que les mathématiques embrassent des lois d'une réalité totalement indépendante de l'expérience.

Cette citation exprime très bien l'approche mathématique moderne. Il est courant de rencontrer des gens qui pensent que les mathématiciens sont à la recherche de vérités ultimes et que leurs travaux sont totalement objectifs. Or, seul le processus mathématique est objectif, les bases sur lesquelles on construit les théorèmes, les axiomes, sont purement subjectives.

On se donne des règles de façon arbitraire, puis, en procédant selon les seules lois de la logique, on développe une théorie complexe et cohérente. Cependant, cette théorie n'est jamais plus "réelle" ou "vraie" que les axiomes qui la supportent et comme ces derniers ne sont pas plus objectifs que des dogmes religieux, on peut développer une théorie mathématique qui n'est pas plus "vraie" que ceux-ci.

Nombre de mathématiciens étudient des objets abstraits qui n'ont aucune ressemblance avec les objets que l'expérience quotidienne nous amène à rencontrer. Toutefois, la majorité des mathématiciens (dont moi-même) étudions des théories mathématiques qui reposent sur des axiomes qui ont été formulé de telle sorte qu'ils représentent le plus fidèlement possible le monde qui nous entoure.

Lorsqu'on fait des mathématiques, ce qui nous intéresse c'est le processus mental, le cheminement logique qui nous mène des axiomes aux théorèmes les plus complexes. Quiconque prétend que ces théorèmes s'appliquent au réel fait un acte de foi qui n'est pas plus valable et qui l'est tout autant que l'acte de foi que fait celui qui choisit de suivre une religion.