lundi 15 février 2010
Spinify 2.1
La première version vraiment fonctionnelle du logiciel de simulation du modèle d'Ising en deux dimensions sur la sphère est maintenant disponible ici : spinify-2.1.tar.bz2. Le programme s'installe sur Mac OS X et Ubuntu 9.10 (et probablement tous les autres Unix et Linux). Pour plus de détails concernant l'installation, voir le wiki.
Catégories :
informatique,
maths,
physique
lundi 25 janvier 2010
Spinify
Il y a quelques années, j'ai travaillé sur un projet qui consistait à développer un programme de simulation du modèle d'Ising sur des surfaces ayant un tenseur métrique non trivial. Ce projet n'a jamais été complété. Or, je m'y suis récemment remis, et j'avance à bon train.
J'ai réécrit le code en C++ et j'ai implémenté un algorithme pour générer un réseau aléatoire sur la sphère. Actuellement, j'utilise Qhull pour essayer de trianguler le réseau ainsi obtenu, mais le code est mal écrit et le programme plante souvent. Je travaille régulièrement sur le projet, et si le coeur vous en dit, j'apprécierais avoir un peu d'aide. Le code source pour le programme est disponible sur bitbucket à l'adresse http://bitbucket.org/loicseguin/spinify/.
Si ce qui précède est du pur charabia, ne vous en faites pas : avant longtemps, j'écrirai un message détaillant ce qu'est le modèle d'Ising, ce que j'entends par métrique non triviale et comment le programme Spinify essaie de gérer tout cela.
J'ai réécrit le code en C++ et j'ai implémenté un algorithme pour générer un réseau aléatoire sur la sphère. Actuellement, j'utilise Qhull pour essayer de trianguler le réseau ainsi obtenu, mais le code est mal écrit et le programme plante souvent. Je travaille régulièrement sur le projet, et si le coeur vous en dit, j'apprécierais avoir un peu d'aide. Le code source pour le programme est disponible sur bitbucket à l'adresse http://bitbucket.org/loicseguin/spinify/.
Si ce qui précède est du pur charabia, ne vous en faites pas : avant longtemps, j'écrirai un message détaillant ce qu'est le modèle d'Ising, ce que j'entends par métrique non triviale et comment le programme Spinify essaie de gérer tout cela.
Catégories :
informatique,
maths,
physique
mardi 7 avril 2009
Protégeons-nous avec les maths
Une citation toute à l'honneur des mathématiques :
Tirée de Applied Cryptography par Bruce Schneier.
It is insufficient to protect ourselves with laws; we need to protect ourselves with mathematics.
Tirée de Applied Cryptography par Bruce Schneier.
Catégories :
maths,
philosophie
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.
Catégories :
ineptie,
informatique
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 :
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:
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...
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 rsyncen 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_StoreTout d'abord, on définit les options pour rsync :
.depend
*.aplibrary
.localized
- 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
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...
Catégories :
informatique
Inscription à :
Articles (Atom)