Lorsque je consulte mon site wordpress avec Safari impossible d’avoir accès à mon flux rss depuis le bouton de la barre d’url, par contre aucun probleme avec FireFox.
Je me suis aperçu que le problème venait du fait que l’url de mon rss n’était pas correct.
En effet : feed://dadoun.net/feed/ donne « aucun article » par contre feed://dadoun.net/feed (sans le slash a la fin de l’url) donne bien acces au flux rss. J’ai donc modifié dans le header de mon thème (wp-content/themes/go-blog/header.php)
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
par
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="/feed" />
Si quelqu’un à une solution « plus propre » je suis preneur.
Je me suis bien tiré les cheveux avec le awk de mon Mac Intel (sous Leopard):
des opérations mathématiques simples sur des colonnes d’un fichier me donnaient
des résultats complètement aberrants.
De même je me suis aperçu que:
echo "1.23456" |awk '{print -$1}'' -1
et que
echo "1,23456" |awk '{print -$1}' -1,23456
En cherchant pas mal sur le web j’ai trouvé que la faute venait de la variable LC_NUMERIC.
locale | grep LC_NUMERIC LC_NUMERIC="fr_FR.UTF-8"
En changeant cette variable par export LC_NUMERIC=C les résultats étaient complètement différents:
echo "1.23456" |awk '{print -$1}' -1.23456
et
echo "1,23456" |awk '{print -$1}' -1
Ce qui a résolu mes problèmes d’opérations mathématiques (j’ai donc exporter LC_NUMERIC=C dans mon .profile).
PS: Cela dit en passant la réponse -1 donnée, faudrait m’expliquer …
Tags: awk, LC_NUMERIC, Leopard
Vous avez perdu votre mot de passe et vous n’avez pas sous la main le CD d’installation OS X pas de panique …
Redémarrer votre mac en mode utilisateur unique : appuyer sur pomme+S après le son de démarrage.
Lorsque vous avez la main tappez
mount -uw / rm /var/db/.AppleSetupDone reboot
L’ordinateur va redamarrer comme si vous veniez juste d’installer le système (petite amination avec une sic pas terrible).
Un formulaire pour créer un Admin vous est présenté. Remplissez le en choissant un nom et un mot de passe bidon.
Vous arrivez ensuite sur ce compte temporaire. Allez dans Préférences Système et selectionnez Comptes et changez le mot de passe qui pose probleme.
Voici votre probléme résolu n’oubliez pas d’effacer le compte temporaire que vous avez ainsi créé.
Remarque
On m’a signalé que le fichier pouvait se nommer autrement. Donc si vous avez une erreur du type : « no such file ou directory » (après le rm) . essayer donc :
rm /var/db/.appleSetupDone
ou
rm /var/db/AppleSetupDone
Tags: .AppleSetupDone, Mac Os X, mot de passe
Let try to compile examples/novice/N04 with Xcode
(maybe there is something more easy)
the path where the example is installed (for me /Applications/geant4.8.3/examples/novice/N04/)
# shell script goes here source $G4INSTALL/env.sh make exit 0
(give the full path of $G4INSTALL)
you can build now, it should work …
Tags: Xcode Geant4
Bash script to send one GuineaPig++ onto the Grid
Before doing anything on the Grid be sure you have a valid proxy …
grid-proxy-init
To send Job onto the Grid you must give some Grid parameters:
lfc-mkdir /grid/ilc/TOTO
Ask the Grid User Support @ your lab. if you don’t know the anwser …
(or wget http://flc.web.lal.in2p3.fr/mdi/BBSIM/GPontoGrid/gp_grid_cfg.sh
also available here: http://dadoun.net/Informatique/Download/gp_grid_cfg.sh).
Change the file access control list: chmod +x gp_grid_cfg.sh.
Execute it on your User (grid) Interface (UI): ./gp_grid_cfg.sh .
It will create a launch_gp_grid.sh file with all the configuration variables you gave.
Now you can submit a GuineaPig++ job onto the grid, 3 arguments is needed:
(if the previous link don’t work try this one
the acc.dat you may need also this
file (.template) file to run
correctly the bash script)
With the acc.dat from above try like this:
./launch_gp_grid.sh acc.dat ILC LC-GENERAL
Here a typical echo from a LAL User Interface:
lx3/dadoun % ./launch_gp_grid.sh acc.dat ILC LC-GENERAL Selected Virtual Organisation name (from --vo option): ilc Connecting to host grid09.lal.in2p3.fr, port 7772 Logging to host grid09.lal.in2p3.fr, port 9002 ================================ edg-job-submit Success ===================================== The job has been successfully submitted to the Network Server. Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is: - https://grid09.lal.in2p3.fr:9000/PbwVfqs2kEyzdg-t0Jj5SA The edg_jobId has been saved in the following file: /users/delphi/dadoun/Grid/GuineaPig++/GridGuineaPig++Package/out ============================================================================================= |
The GUID (Globally Unique Identifier, here https://grid09.lal.in2p3.fr:9000/PbwVfqs2kEyzdg-t0Jj5SA)
is save in the file out in your current directory
To have the status of your job:
lx3/dadoun % edg-job-status https://grid09.lal.in2p3.fr:9000/PbwVfqs2kEyzdg-t0Jj5SA ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : https://grid09.lal.in2p3.fr:9000/PbwVfqs2kEyzdg-t0Jj5SA Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: dgc-grid-44.brunel.ac.uk:2119/jobmanager-lcgpbs-ilc reached on: Tue Nov 28 11:58:53 2006 ************************************************************* |
Check your job is ok :
Current Status: Done (Success) Exit code: 0
Check the gp_tarball.tar.gz is on your SE folder:
lfc-ls lfn:YOUR_SE_FOLDER
To copy it locally:
lcg-lg –vo YOUR_VO lfn:YOUR_SE_FOLDER
it return the GUID
lcg-cp –vo YOUR_VO GUID file:`pwd`/gp_tarball.tar.gz
and tar xvfz gp_tarball.tar.gz …
That’s all !
Tags: guineapig lcg
Comment parser un fichier XML avec libxml ?
Je fournis ici un petit programme C (et son Makefile) permettant de parser le fichier exemple XML detector.xml.
Soit:
<!-- xml Detector description example --> <detector/> <info name="oner" title="Super detector" author="Ol." date="march 2024"> <comment>Only a xml file to show how to parse it ...</comment> </info> <detec id="0" name="Cap" type="Polygone" TrackingVolume="true"> <material name="Beryllium"/> <zplane rmin="1.2*cm" rmax="1.9*cm" z="-6.*cm"/> <zplane rmin="1.2*cm" rmax="1.3*cm" z="6.*cm" /> </detec> <detec id="0" name="Vertex" type="Tracker" readout="Hits"> <layer id="1" inner_r = "1.4*cm" outer_z = "6.25*cm"> <slice material = "Silicon" thickness = "0.008*cm"/> <slice material = "Silicon" thickness = "0.002*cm" sensitive = "yes" /> </layer> <layer id="2" inner_r = "2.5*cm" outer_z = "6.25*cm"> <slice material = "Silicon" thickness = "0.008*cm"/> <slice material = "Silicon" thickness = "0.002*cm" sensitive = "yes" /> </layer> </detec> </detector>
xmlNodePtr cur;
Si on se position au premier noeud
cur = xmlDocGetRootElement(doc);
nous devons avoir la condition:
if(!xmlStrcmp(cur->name, (const xmlChar *) "detector"))
vérifié sinon on sort du programme..
cur = cur->xmlChildrenNode;
Le contenu des champs des noeuds se fait avec xmlGetProp, par exemple
InnerRadius = xmlGetProp(cur,"inner_r")
nous donne la valeur du champ inner_r qui se trouve au noeud layer.
xmlNodeListGetString
Voilà pour essentiel …
Pour tester mon petit parser de demo:
Je donne ici les étapes qui m’ont permis de convertir ma
thèse écrite en LATeχ en HTML avec latex2html (installé sur mon Mac avec fink).
Quelques mots sur ma thèse en LATeχ
J’ai créé plusieurs répertoires correspondant chacun à un chapitre. Ces chapitres sont ensuite appelés dans mon fichier principal these.tex via la commande \include. Comme c’est une thèse en physique il y a pas mal de formules et de signes bizarres que j’utilise souvent ( 7Be , 8B, 23892U et plusieurs autres déclinaisons).
J’ai donc défini des macros dans un fichier these.sty que je charge ensuite dans mon fichier these.tex avec \usepackage{these}.
Étapes de conversion
Recopier l’ensemble de votre répertoire de thèse (en theseHTML par exemple). Toutes les étapes que je décris maintenant se font dans ce répertoire.
Modifier le fichier principal où sont appelés vos fichiers LATeχ et le renommer
en these_html.tex par exemple. Supprimer tous vos \usepackage, et mettez ce qui suit (pour exemple mon fichier these_html.tex):
\documentclass[11pt]{book} \usepackage[french]{babel} \usepackage{epsfig} \usepackage{html} \setcounter{tocdepth}{2} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb}
—–> \include{VOTRE 1er FICHIER LATeχ }
Je vous conseil de ne pas convertir toute votre thèse en un bloc mais plutôt include par include et de vérifier à chaque fois si la conversion est bonne. Il faut enlever aussi l’appel à la bibliographie. Pour ma part j’ai laissé les \chapter dans mon fichier these_html.tex. Si vous avez définis des macros dans un fichier annexe (pour moi c’est le fichier these.sty), vous devez les déclarer dans un fichier .latex2html-init qui est chargé au lancement de la commande latex2html. Comme latex2html est écrit en Perl, ces déclarations doivent être écrit en Perl et non pas en LATeχ .
Je donne quelques exemples de macros que j’utilise en LATeχ et leurs analogues en Perl.
Je distingue trois cas.
sub do_cmd_nue {"ν<SUB>e</SUB>"}.
sub do_cmd_isotopes{ local($_) = @_; s/$next_pair_pr_rx//o; $chiffre = $; s/$next_pair_pr_rx//o; $atome = $; join('',"<SUP>$chiffre</SUP>$atome", $_); }
\newlength{\subwidth} \newcommand{\atomes}[3]{% \ensuremath{ \settowidth{\supwidth}{$\scriptstyle #1$}% \settowidth{\subwidth}{$\scriptstyle #2$}% \ifdim \supwidth>\subwidth \subwidth\supwidth\fi% \vphantom{#3}^{\makebox[\subwidth][r]{$\scriptstyle #1$}}% _{\makebox[\subwidth][r]{$\scriptstyle #2$}}\mathrm{#3}}}
Il s’agit pour latex2html via une commande Perl de récupérer les trois arguments de cette macro et de bien les agancer. La commande suivante dans le fichier .latex2html-init permet de le faire:
sub do_cmd_atomes{ local($_) = @_; s/$next_pair_pr_rx//o; $chiffre1 = $&; s/$next_pair_pr_rx//o; $chiffre2= $&; s/$next_pair_pr_rx//o; $atome = $&; join('',"<SUP>$chiffre1</SUP>","<SUB>$chiffre2</SUB>","$atome",$_); }
Remplacer l’ensemble de vos macros dans le fichier .latex2html-init. Rajouter ensuite ces quelques lignes (qui sont mieux que les défauts proposés) au début du fichier latex2html-init:
$LANGUAGE_TITLES = ' french'; $BODYTEXT = "text=\"\#000000\" bgcolor=\"\#FFFFFF\""; $WHITE_BACKGROUND = 1; $LATEX_COLOR = "\\pagecolor{white}"; $PSTOIMG = "$PERL /sw/bin/pstoimg";
Si on veut des .png pour les figures au lieu des .gif:
$IMAGE_TYPE = $IMAGE_TYPES[1];
Vous pouvez alors lancer la conversion:
latex2html -no_math -html_version 3.2,math -local_icons these_html.
L’option -local_icons permet d’avoir les icons « pervious », « up » et « next » dans le repertoire courant. Relancer la commande précendente à chaque nouveau include que vous mettez dans votre fichier these_html.tex. Terminer en mettant l’appel de la bibliographie.
Quelques liens utiles, voir très utiles:
http://www.orcca.on.ca/MathML/texmml/textomml.html
http://www.htmlhelp.com/reference/html40/entities/symbols.html
http://www-texdev.ics.mq.edu.au/l2h/docs/manual/
http://www.yoyodesign.org/doc/w3c/mathml2/byalpha.htmlhttp://www.cims.nyu.edu/~barnett/thesis/latex2html_tips.html
Tags: latex2html
À placer absolument dans votre .vimrc
(se positionne là où vous étiez lors de la fermeture de votre fichier):
:au BufReadPost * if line("'\"") > 0 && line("'\"") >= line("$") | exe "normal g'\"" | endif
:%s/Ctrl-v-et-ensuite-return//g
vim fichier_1 fichier_2 ... fichier_nPour passer de l’un à l’autre
:next (:n), :prev (:N), :last et :first.
Faire avant le coller:
:set pastedonne un resultat plus satisfaisant
Commencer la macro :
qa (a=nom de la macro).
Faites des modifications dans votre fichier, puis sortir de l’enregistrement de la macro q.
Pour appeler la macro= @a.
Exemple (merci Tristan d’avoir soulevé le problème)
Je veux enlever deux mots sur toutes les lignes de mon fichier, comment faire ?
On commence par écrire la macro:
qa d2W q
et on l’applique sur tout le fichier:
:%norm! @a
ou
sur les lignes de 7 à 12
:7,12norm! @a
Ou bien, plus directement, sans passer par une macro (Tristan style)
1G d2w :%norm! .
Tags: vim
Présentation données à l’APC (laboratoire AstroParticules et Cosmologie) et 3 examples de soumissions de jobs sur la GRID, regroupés pour vous dans ce tarball.
edg-job-submit --vo ilc -o out HelloWord.jdl
edg-job-status edg_jobId
edg-job-cancel edg_jobId
edg-job-get-output edg_jobId
lcg-cr --vo YOUR_VO file:`pwd`/FILE.tar.gz -l lfn:/PATH/FILE.tar.gz
lcg-lg --vo ilc lfn:/PATH/FILE.tar.gz
Le Site File Name (sfn) du GUID ainsi récupèré
lcg-lr --vo ilc GUID
lcg-del --vo ilc sfn:SFN
lfc-rm -R PATH/FOLDER
lcg-cp --vo YOUR_VO GUID file:`pwd`/FILE.tar.gz
lcg-infosites --vo YOUR_VO se
lcg-infosites --vo YOUR_VO ce
lcg-infosites --vo YOUR_VO lfc
Remplacer « slash » par « antislash slash » (« / » par « \/ »):
echo $PWD | sed -e "s#/#\\\\\/#g" (en ligne de commande sed -e "s#/#\\/#g" est suffisant)
Pour supprimer les espaces en début de ligne avec sed
sed -e "s/^ *//g"
Pour remplacer abs( par fabs( dans tous les fichiers .cc
for i in *.cc; do sed 's/ abs(/ fabs(/g' $i > $i.tmp ;rm $i; mv $i.tmp $i ; done
Pour s’affranchir de la création des fichiers $i.tmp utiliser tee (merci TjB)
sed 's/ abs(/ fabs(/g' $i | tee > $i
Récupérer une chaîne de caractères entre () .
Cette chaîne peut avoir aussi des espaces (merci beubeu)
echo "qsdjmlsjkld(00 00)" | sed 's/.*(\(.*\)).*/\1/g'