<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Au petit plombier &#187; Geek</title>
	<atom:link href="http://www.valerie-et-guillaume.com/categorie/geek/feed" rel="self" type="application/rss+xml" />
	<link>http://www.valerie-et-guillaume.com</link>
	<description>Du golfe du Mexique au Fjord d&#039;Oslo</description>
	<lastBuildDate>Sat, 10 Sep 2011 07:08:29 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Interesting impact of available RAM on I/O</title>
		<link>http://www.valerie-et-guillaume.com/2011/07/19/interesting-impact-of-available-ram-on-io</link>
		<comments>http://www.valerie-et-guillaume.com/2011/07/19/interesting-impact-of-available-ram-on-io#comments</comments>
		<pubDate>Tue, 19 Jul 2011 18:25:32 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=564</guid>
		<description><![CDATA[This is the story of a server that was getting a bit short in memory. Change request issued to the hosting company, please throw four more GigaBytes of RAM in that guy. One of the processes indexes the content of a database table (hosted on /dev/sda) and store it on /dev/sdb on an hourly basis, [...]]]></description>
			<content:encoded><![CDATA[<p>This is the story of a server that was getting a bit short in memory.<br />
Change request issued to the hosting company, please throw four more GigaBytes of RAM in that guy.</p>
<p>One of the processes indexes the content of a database table (hosted on /dev/sda) and store it on /dev/sdb on an hourly basis, in order to speed up some searches.<br />
Impact of the increased RAM over this process?</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2011/07/iostat-week.png"><img src="http://www.valerie-et-guillaume.com/upload/2011/07/iostat-week.png" alt="iostat" title="iostat-week" width="497" height="304" class="aligncenter size-full wp-image-565" /></a></p>
<p>You guessed it, the RAM upgrade happened on the 16th.</p>
<p>What about the overall memory utilization?</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2011/07/memory-week.png"><img src="http://www.valerie-et-guillaume.com/upload/2011/07/memory-week.png" alt="Memory Week" title="memory-week" width="497" height="424" class="aligncenter size-full wp-image-575" /></a></p>
<p>The dreadful <a href="http://www.redhat.com/advice/tips/meminfo.html">committed</a> memory got reduced to much more sane levels, whereby the server no longer takes the risk of falling over if processes start actually using the memory they (m)allocated.<br />
I venture that the increased violet-ish part of the graph explains in part the improved I/O behavior.</p>
<p>OS caching is great.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2011/07/19/interesting-impact-of-available-ram-on-io/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changer de port SSH, et plus encore</title>
		<link>http://www.valerie-et-guillaume.com/2011/06/10/changer-de-port-ssh-et-plus-encore</link>
		<comments>http://www.valerie-et-guillaume.com/2011/06/10/changer-de-port-ssh-et-plus-encore#comments</comments>
		<pubDate>Fri, 10 Jun 2011 18:38:42 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=550</guid>
		<description><![CDATA[Les tentatives d&#8217;intrusions sur le serveur maison familial devenant par trop régulières, votre serviteur avait adjoint à la précaution fail2ban un changement de port du service SSH. Dans les 10 derniers jours, deux adresses IP (une tchèque et une chinoise) ont fini par trouver le port en question et s&#8217;y sont donné à coeur joie [...]]]></description>
			<content:encoded><![CDATA[<p>Les tentatives d&#8217;intrusions sur le serveur maison familial devenant par trop régulières, votre serviteur avait adjoint à la précaution fail2ban un changement de port du service SSH.</p>
<p>Dans les 10 derniers jours, deux adresses IP (une tchèque et une chinoise) ont fini par trouver le port en question et s&#8217;y sont donné à coeur joie :<br />
<code>User root from [] not allowed because not listed in AllowUsers<br />
 Address [] maps to [], but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!<br />
 Failed password for invalid user test from [] port 52960 ssh2<br />
</code></p>
<p>Bien entendu, après une tentative échouée fail2ban bloque l&#8217;adresse IP en question pour un bout de temps. Qu&#8217;à cela ne tienne, l&#8217;indélicat revenait à la charge après le temps imparti.<br />
M&#8217;enfin ?! Z&#8217;avez rien de mieux à faire ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2011/06/10/changer-de-port-ssh-et-plus-encore/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fail2ban à beaucoup de sauces</title>
		<link>http://www.valerie-et-guillaume.com/2010/12/12/fail2ban-a-beaucoup-de-sauces</link>
		<comments>http://www.valerie-et-guillaume.com/2010/12/12/fail2ban-a-beaucoup-de-sauces#comments</comments>
		<pubDate>Sun, 12 Dec 2010 08:28:16 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=516</guid>
		<description><![CDATA[Cet article m&#8217;a donné l&#8217;opportunité de me remémorer mon usage plus ou moins ésotérique de fail2ban : Les attaques dictionnaires sur Sendmail ne sont que trop courantes failregex = sm-mta\[[0-9]+\]: [^:]+: \[&#60;HOST&#62;\]: possible SMTP attack: command=AUTH Si les spammeurs insistent, Sendmail commence par les ralentir. S&#8217;ils insistent trop, failregex = sm-mta\[[0-9]+\]: ruleset=check_relay, arg1=[^,]+, arg2=[^,]+, relay=[^ [...]]]></description>
			<content:encoded><![CDATA[<p>Cet <a href="http://www.bortzmeyer.org/attaque-dictionnaire-pop.html">article</a> m&#8217;a donné l&#8217;opportunité de me remémorer mon usage plus ou moins ésotérique de <a href="http://www.fail2ban.org/">fail2ban</a> :</p>
<ul>
<li>Les attaques dictionnaires sur Sendmail ne sont que trop courantes<br />
<code>failregex = sm-mta\[[0-9]+\]: [^:]+: \[&lt;HOST&gt;\]: possible SMTP attack: command=AUTH</code></li>
<li>Si les spammeurs insistent, Sendmail commence par les ralentir. S&#8217;ils insistent trop,<br />
<code>failregex = sm-mta\[[0-9]+\]: ruleset=check_relay, arg1=[^,]+, arg2=[^,]+, relay=[^ ]+ \[&lt;host&gt;\], reject=421 4\.3\.2 Connection rate limit exceeded\.</code>
 </li>
<li>Avec la configuration par défaut de Debian, Suhosin n&#8217;a pas (encore ?) produit de faux positif. Armé de cette confiance :<br />
<code>failregex = suhosin\[[. 0-9]+\]: ALERT - .* \(attacker '&lt;HOST&gt;',</code></li>
<li>iptables peut être configuré pour calmer les ardeurs des outils qui ouvrent une pléthore de connexions HTTP. Étape suivante pour les plus pénibles d&#8217;entre eux :<br />
<code>failregex = kernel: \[[. 0-9]+\] HTTP_DoS IN=eth0 OUT= MAC=[^ ]+ SRC=&lt;host&gt; DST=[^ ]+ LEN=[^ ]+ TOS=[^ ]+ PREC=[^ ]+ TTL=[^ ]+ ID=[^ ]+ (DF )?PROTO=TCP SPT=[^ ]+ DPT=80 WINDOW=[^ ]+ RES=[^ ]+ SYN</code>
</li>
</ul>
<p>Autres leçons apprises avec plus ou moins de douleur :</p>
<ul>
<li>Il y a un problème de concurrence au démarrage de fail2ban (au moins dans son incarnation 0.8.3), qui peut être évité en plaçant des délais aléatoires comme indiqué dans le bug Debian <a href="554162">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=554162</a>.
 </li>
<li>Les scripts qui définissent les règles de Firewall sont bien avisés de d&#8217;abord arrêter fail2ban, appliquer les règles, puis démarrer fail2ban. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/12/12/fail2ban-a-beaucoup-de-sauces/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Courant porteur sur une installation électrique défraîchie</title>
		<link>http://www.valerie-et-guillaume.com/2010/11/20/courant-porteur-sur-une-installation-electrique-defraichie</link>
		<comments>http://www.valerie-et-guillaume.com/2010/11/20/courant-porteur-sur-une-installation-electrique-defraichie#comments</comments>
		<pubDate>Sat, 20 Nov 2010 07:39:06 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=504</guid>
		<description><![CDATA[Les quatre D-Link DHP-300 ont déménagé avec le reste de la famille, dans une demeure dont l&#8217;installation électrique n&#8217;est pas de la première fraîcheur. En absence de pré-cablage Ethernet, ils reprennent du service même pour le pingouin_qui_fait_tout. Malgrès un accès Internet autour des 11 Mbps (votre serviteur regarde ce qu&#8217;il peut faire de ce côté [...]]]></description>
			<content:encoded><![CDATA[<p>Les quatre D-Link DHP-300 ont déménagé avec le reste de la famille, dans une demeure dont l&#8217;installation électrique n&#8217;est pas de la première fraîcheur.</p>
<p>En absence de pré-cablage Ethernet, ils reprennent du service même pour le pingouin_qui_fait_tout.<br />
Malgrès un accès Internet autour des 11 Mbps (votre serviteur regarde ce qu&#8217;il peut faire de ce côté là aussi), les sauvegardes sont singulièrement longues.</p>
<p>Voici ce que dit <a href="http://munin-monitoring.org/">munin</a>, côté trafic :</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/11/if_eth0-day.png"><img src="http://www.valerie-et-guillaume.com/upload/2010/11/if_eth0-day.png" alt="Trafic eth0" title="if_eth0-day" width="497" height="280" class="aligncenter size-full wp-image-505" /></a></p>
<p>Rien de bien effrayant, si ce n&#8217;est un débit maximal décevant. Le délai aller-retour vers les États-Unis et la France est usuellement suffisamment bas pour qu&#8217;une connexion TCP seule arrive à remplir 20 Mbps, même depuis une connexion ADSL.<br />
Sauf que, quand on regarde le comportement du réseau entre le pingouin et le modem ADSL (i.e. principalement le courant porteur), on trouve des latences dignes d&#8217;un certain nombre d&#8217;aller-retours terre &#8211; satellite géostationnaire :</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/11/ping_modem.png"><img src="http://www.valerie-et-guillaume.com/upload/2010/11/ping_modem.png" alt="Ping modem" title="ping_modem" width="497" height="280" class="aligncenter size-full wp-image-506" /></a></p>
<p>Est-il besoin de préciser que le courant porteur a depuis été remplacé par un câble catégorie 5 ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/11/20/courant-porteur-sur-une-installation-electrique-defraichie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaTeX : accents, ISO-8859 et UTF-8</title>
		<link>http://www.valerie-et-guillaume.com/2010/10/17/latex-accents-iso-8859-et-utf-8</link>
		<comments>http://www.valerie-et-guillaume.com/2010/10/17/latex-accents-iso-8859-et-utf-8#comments</comments>
		<pubDate>Sun, 17 Oct 2010 08:03:55 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=486</guid>
		<description><![CDATA[Tous les auteurs de documents LaTeX n&#8217;ont pas nécessairement commencé l&#8217;inévitable transition vers UTF-8. Certains fichiers sources présentent des accents qui plongent notre formateur de documents préféré dans un abime de perplexité, avec les distributions récentes. En effet, les accents disparaissent du document compilé. La solution brute de décoffrage tient en une commande d&#8217;une ligne [...]]]></description>
			<content:encoded><![CDATA[<p>Tous les auteurs de documents LaTeX n&#8217;ont pas nécessairement commencé l&#8217;inévitable transition vers UTF-8. Certains fichiers sources présentent des accents qui plongent notre formateur de documents préféré dans un abime de perplexité, avec les distributions récentes. En effet, les accents disparaissent du document compilé.</p>
<p>La solution brute de décoffrage tient en une commande d&#8217;une ligne :</p>
<p><code><br />
$ iconv -f ISO-8859-15 -t UTF-8 LeFichierAvecLesMauvaisAccents.tex > LeNouveauFichierAvecLesBonsAccents.tex<br />
</code></p>
<p>Sous MacOS, il aura fallu au préalable installer <a href="http://www.macports.org/">MacPorts</a> et son paquetage libiconv :<br />
<code>$ sudo port install libiconv<br />
</code></p>
<p>Pour rendre la conversion vers UTF-8 plus conviviale, les utilisateurs de Linux pourront utiliser ce script :<br />
<code>#!/bin/bash<br />
shopt -s nocasematch<br />
FILEIN="$1"<br />
FILEOUT=${FILEIN%.tex}"_2.tex"<br />
iconv -f ISO-8859-15 -t UTF-8 -o "$FILEOUT" < "$FILEIN"<br />
</code><br />
et par exemple créer un lanceur sous Gnome. Cela permettra de convertir des fichiers juste en les déplaçant sur l'icône du lanceur.</p>
<p>Les utilisateurs de MacOS / MacPort pourront utiliser ce script (syntaxe légèrement différente, et qui offre le support de plusieurs fichiers en entrée) :<br />
</code><code>shopt -s nocasematch<br />
for file in "$@"<br />
do<br />
FILEOUT=${file%.tex}"_2.tex"<br />
iconv -f ISO-8859-9 -t UTF-8 "$file" > "$FILEOUT"<br />
done<br />
</code><br />
Il suffit alors de le copier-coller dans Automator pour obtenir une automation comme <a href='http://www.valerie-et-guillaume.com/upload/2010/10/MonIconv.zip'>celle-ci</a>. Elle permettra de convertir des fichiers juste en les glissant sur l&#8217;icône.</p>
<p>Il est aussi possible de définir l&#8217;action en service MacOS pour l&#8217;avoir au bout d&#8217;un clic contextuel dans Finder. Ou bien en action Nautilus sous Gnome via le paquetage nautilus-actions, même résultat.</p>
<p>Il y a plus d&#8217;une manière de le faire, comme on dit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/10/17/latex-accents-iso-8859-et-utf-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récupérer des photos effacées</title>
		<link>http://www.valerie-et-guillaume.com/2010/10/13/recuperer-des-photos-effacees</link>
		<comments>http://www.valerie-et-guillaume.com/2010/10/13/recuperer-des-photos-effacees#comments</comments>
		<pubDate>Wed, 13 Oct 2010 17:00:39 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=473</guid>
		<description><![CDATA[Grand classique de la photographie numérique : effacer ses photos de la carte mémoire avant qu&#8217;elles ne soient en lieu sur. Voici un mode d&#8217;emploi rapide pour récupérer les photos sous Mac &#8211; oui, ça sent le vécu et du copier-coller de mail. Sans garantie aucune, comme d&#8217;habitude. Pour commencer, il faut que tu branches [...]]]></description>
			<content:encoded><![CDATA[<p>Grand classique de la photographie numérique : effacer ses photos de la carte mémoire avant qu&#8217;elles ne soient en lieu sur.</p>
<p>Voici un mode d&#8217;emploi rapide pour récupérer les photos sous Mac &#8211; oui, ça sent le vécu et du copier-coller de mail. Sans garantie aucune, comme d&#8217;habitude.</p>
<p>Pour commencer, il faut que tu branches la carte directement sur ton Mac, c&#8217;est à dire pas en passant par ton appareil photo mais par un lecteur de carte (genre celui intégré aux Macbooks récents).</p>
<p>Étape suivante, savoir comment il est identifié dans ton système.</p>
<p>Démarre ton &laquo;&nbsp;disk utility&nbsp;&raquo; (tu peux cliquer sur la loupe en haut à droite, commence à taper &laquo;&nbsp;disk&nbsp;&raquo; et &laquo;&nbsp;disk utility&nbsp;&raquo; devrait apparaître).</p>
<p>Ensuite, repère ta carte dans la liste des disques durs à gauche. Chez moi, ça ressemble à ça :</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/10/CANON_DC.png"><img src="http://www.valerie-et-guillaume.com/upload/2010/10/CANON_DC.png" alt="CANON_DC" title="CANON_DC" width="527" height="359" class="aligncenter size-full wp-image-475" /></a></p>
<p>Quand tu as mis ta carte en sourligné (ici mon CANON_DC), clique sur l&#8217;icône &laquo;&nbsp;Info&nbsp;&raquo;. Note bien le &laquo;&nbsp;Disk Identifier&nbsp;&raquo;, chez moi disk1s1:</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/10/disk1.png"><img src="http://www.valerie-et-guillaume.com/upload/2010/10/disk1.png" alt="disk1" title="disk1" width="501" height="186" class="aligncenter size-full wp-image-477" /></a></p>
<p>Ensuite, j&#8217;ai fait un test rapide avec ce logiciel (libre) : <a href="http://www.cgsecurity.org/wiki/TestDisk_Download">http://www.cgsecurity.org/wiki/TestDisk_Download</a> qui a l&#8217;air de bien faire l&#8217;affaire. Télécharge-le en cliquant sur le lien &laquo;&nbsp;Mac OS&nbsp;&raquo;.</p>
<p>Clique dessus avec ton Safari, ça devrait le décompresser automatiquement et t&#8217;ouvrir une fenêtre Finder.</p>
<p>Va dans le répertoire Darwin.</p>
<p>Double-clique sur photorec.</p>
<p>Là, il te demande le disque à récupérer. C&#8217;est le &laquo;&nbsp;Disk Identifier&nbsp;&raquo; de plus haut, mais version &laquo;&nbsp;raw&nbsp;&raquo; (et sans indication de partition). Pour moi, &laquo;&nbsp;rdisk1&#8243;, sélectionné avec la flèche de mon clavier qui va vers le bas, puis &laquo;&nbsp;Entrée&nbsp;&raquo; sur le clavier. La version &laquo;&nbsp;par raw&nbsp;&raquo; (i.e. disk1, as opposed to rdisk1) a l&#8217;air de marcher aussi.</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/10/rdisk.png"><img src="http://www.valerie-et-guillaume.com/upload/2010/10/rdisk.png" alt="rdisk" title="rdisk" width="585" height="366" class="aligncenter size-full wp-image-474" /></a></p>
<p>Ensuite, pour &laquo;&nbsp;partition table type&nbsp;&raquo;, choisis &laquo;&nbsp;Intel&nbsp;&raquo;.</p>
<p>Ensuite, prends la partition &laquo;&nbsp;FAT16 >32M&nbsp;&raquo; (si ça ne marche pas plus tard, il se peut que tu aies à choisir l&#8217;autre option).</p>
<p>Pour le type de partition, choisis &laquo;&nbsp;Other&nbsp;&raquo;.</p>
<p>Ensuite, choisis &laquo;&nbsp;Whole&nbsp;&raquo;.</p>
<p>À ce moment là, tu indiques où tu veux sauvegarder les fichiers récupérés.</p>
<p>Je te suggère de choisir &laquo;&nbsp;Desktop&nbsp;&raquo; (appuies sur Entrée après t&#8217;être positionnée sur Desktop), puis confirme en faisant &laquo;&nbsp;Y&nbsp;&raquo;.</p>
<p>Ensuite&#8230; patience, et croise les doigts pour que le nombre de &laquo;&nbsp;recovered&nbsp;&raquo; en face de &laquo;&nbsp;jpg&nbsp;&raquo; augmente progressivement. Tu remarqueras que le &laquo;&nbsp;Estimated time for achievement&nbsp;&raquo; vers le milieu de ton écran descend lentement mais surement vers 0h00m00.</p>
<p>Quand c&#8217;est fini, presse &laquo;&nbsp;Entrée&nbsp;&raquo; (c&#8217;est un [Quit] qui t&#8217;est proposé).</p>
<p>Te revoilà au menu d&#8217;avant : avec la flèche de droite de ton clavier, va sur Quit, Entrée, puis Quit encore une fois.</p>
<p>Utilise ton Finder préféré pour voir le résultat, normalement stocké dans le répertoire &laquo;&nbsp;recup_dir.1&#8243;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/10/13/recuperer-des-photos-effacees/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleScript et iCal</title>
		<link>http://www.valerie-et-guillaume.com/2010/10/09/applescript-et-ical</link>
		<comments>http://www.valerie-et-guillaume.com/2010/10/09/applescript-et-ical#comments</comments>
		<pubDate>Sat, 09 Oct 2010 08:41:54 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=462</guid>
		<description><![CDATA[Énoncé du problème : le calendrier familial recensant les anniversaires divers et variés a un grand besoin d&#8217;uniformisation. Les alertes sont en effet programmées un peu n&#8217;importe quand, selon l&#8217;humeur du moment. Les changer toutes, une par une, représenterait quelques heures de travail. Plusieurs approches sont envisageables : Éditer directement les fichiers ics côté serveur, [...]]]></description>
			<content:encoded><![CDATA[<p>Énoncé du problème : le calendrier familial recensant les anniversaires divers et variés a un grand besoin d&#8217;uniformisation. Les alertes sont en effet programmées un peu n&#8217;importe quand, selon l&#8217;humeur du moment. Les changer toutes, une par une, représenterait quelques heures de travail.<br />
Plusieurs approches sont envisageables :
<ul>
<li>Éditer directement les fichiers ics côté serveur, en espérant que caldavd ne le prenne pas mal (risqué ?)</li>
<li>Interagir avec caldavd en utilisant le protocole idoine (long ?)</li>
<li>Demander poliment à un client qui met en oeuvre le protocole idoine de se mettre à la tache</li>
</ul>
<p>La dernière approche a l&#8217;avantage d&#8217;être potentiellement très rapide en terme de temps de développement, dans un monde où les utilisateurs seraient invité à &laquo;&nbsp;programmer&nbsp;&raquo; les interactions avec une application essentiellement graphique.</p>
<p>Ce n&#8217;est pas le monde de Windows ou même de Linux, où les applications (graphiques) ont tendance à garder leur magie sous le capot. HandBrake / HandBrakeCLI est l&#8217;une des plus belles exceptions à la règles dans le monde du transcodage vidéo, mais c&#8217;est bien justement une exception.</p>
<p>Sous Mac et en utilisant le client iCal&#8230; nul besoin de se plonger dans les arcanes d&#8217;AppleScript pour rassembler des bouts de code de ci de là et arriver à ceci en un temps relativement court :</p>
<p><a href="http://www.valerie-et-guillaume.com/upload/2010/10/iCalAlarmesAnniversaire.txt"><img src="http://www.valerie-et-guillaume.com/upload/2010/10/iCalAlarmesAnniversaire.png" alt="Alarmes iCal calendrier anniversaire" title="iCalAlarmesAnniversaire" width="536" height="538" class="aligncenter size-full wp-image-470" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/10/09/applescript-et-ical/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsnapshot to backup an iMac</title>
		<link>http://www.valerie-et-guillaume.com/2010/08/31/rsnapshot-to-backup-an-imac</link>
		<comments>http://www.valerie-et-guillaume.com/2010/08/31/rsnapshot-to-backup-an-imac#comments</comments>
		<pubDate>Tue, 31 Aug 2010 18:46:46 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Global]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=445</guid>
		<description><![CDATA[I did give Time Machine a try, but it just would not do it. No matter if I am using a network disk or a USB-attached dedicated hard drive, the I/O load is just not worth it. Even on my shiny new iMac. Sad. Hey, if I wanted my CPU or I/O to be overloaded [...]]]></description>
			<content:encoded><![CDATA[<p>I did give <a href="http://en.wikipedia.org/wiki/Time_Machine_(Apple_software)">Time Machine</a> a try, but it just would not do it. No matter if I am <a href="http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/">using a network disk</a> or a USB-attached dedicated hard drive, the I/O load is just not worth it. Even on my shiny new iMac. Sad.<br />
Hey, if I wanted my CPU or I/O to be overloaded by some system task, I would be using Windows with some good heavy AV on it.</p>
<p>So back to the good old, reliable <a href="http://www.rsnapshot.org/">rsnapshot</a> for daily, during-the-night backups.</p>
<p>There is catch that has been bothering me for quite some time, though, and I only found the solution very recently.</p>
<p>I like my Snow Leopard iMac to go to sleep after a reasonable period of time, because it is not meant to stay up 24&#215;7 &#8211; unlike the Ubuntu backup/storage/kids game machine.<br />
The iMac is fairly clever in that it can wake up from simple SSH requests &#8211; or from the preceding ARP requests.<br />
Here is the issue: I want rsnapshot to wake up the iMac before the backup &#8211; and obviously let it go back to sleep afterwards. </p>
<p>Scripting the ability to wake up the iMac is not a big deal. This simple script would do:<br />
<code>#!/bin/bash<br />
let "i=0"<br />
sshup=1<br />
while [ $i -lt 20 -a $sshup -ne 0 ]<br />
do<br />
  let "i += 1"<br />
  sleep 2<br />
  ssh $IMAC echo<br />
  sshup=$?<br />
done<br />
exit $sshup<br />
</code></p>
<p>Their needs to be some ssh trust relationship in place between the backup server and the iMac; enough articles have been written on that topic, I will not contribute to the noise.</p>
<p>Inserting this script (let&#8217;s call it /usr/local/sbin/ssh_wake) in the rsnapshot workflow is not a big deal, thanks to the cmd_preexec configuration item in rsnapshot.conf:<br />
<code>cmd_preexec	/usr/local/sbin/ssh_wake<br />
</code><br />
(do mind that like usually there is a TAB between cmd_preexec and /usr/local/sbin/ssh_wake)</p>
<p>However, this design comes with an issue: in its default sequence,</p>
<ul>
<li>rsnapshot starts by launching cmd_preexec (hereby waking up the iMac),
</li>
<li>then rotates the backup directories (daily.<em>n</em> becomes daily.<em>n+1</em>),
</li>
<li>then rsyncs the backup.</li>
</ul>
<p>On fairly large backups, there is going to be a significant delay between the &laquo;&nbsp;let&#8217;s wake up the iMac&nbsp;&raquo; and the &laquo;&nbsp;let&#8217;s perform the rsync data transfer&nbsp;&raquo;. To a point where the iMac would go back to sleep before the actual data transfer.</p>
<p>Quite a few weeks banging my head against that one.</p>
<p>Until I started reading the rsnapshot source code (it is only Perl after all &#8482;), and noticing this sync_first configuration item that changes significantly the usual workflow.<br />
sync_first was nowhere to be found in my rsnapshot.conf, because my configuration file dates back to a version of rsnapshot that did not support sync_first.<br />
Makes you feel like a dinosaur. Just a bit.</p>
<p>A bit of RTFM later, here is how sync_first works:</p>
<ul>
<li>sync_first decouples data transfer and directory rotation, which by itself warrants my interest</li>
<li>If there is no .sync folder in the backup directory (same level as the daily.<em>X</em>), then rsnapshot copies daily.0 to .sync</li>
<li>If there is a .sync, then use it as a helper for the rsync data transfer</li>
<li>Once the data transfer is completed, copy (hard link the usual rsnapshot way) .sync to daily.0</li>
</ul>
<p>The key in all of this is that I can sneak in my <em>cmd_preexec</em> right before the data transfer, provided that I use this <em>sync_first</em>. Directory rotation and clean-up happens after sync, hence the <em>sync_first</em>.<br />
In rsnapshot.conf:<br />
<code>sync_first	1<br />
</code><br />
(TAB, again)</p>
<p>So the daily cron job just needs to be doing the following:<br />
<code> /usr/local/sbin/ssh_wake &#038;&#038; \<br />
/usr/bin/rsnapshot -c /etc/rsnapshot.conf sync &#038;&#038; \<br />
/usr/bin/rsnapshot -c /etc/rsnapshot.conf daily</code><br />
(or whatever variation using ionice to lessen the I/O load on the backup server)</p>
<p>Final caveat: this sequence is likely to fail the first time it is executed, because the .sync directory does not exist yet.<br />
But starting with the second day&#8230; things start working as expected. Voilà!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/08/31/rsnapshot-to-backup-an-imac/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La bérézina Hewlett-Packard a6643fr (V)</title>
		<link>http://www.valerie-et-guillaume.com/2010/04/25/la-berezina-hewlett-packard-a6643fr-v</link>
		<comments>http://www.valerie-et-guillaume.com/2010/04/25/la-berezina-hewlett-packard-a6643fr-v#comments</comments>
		<pubDate>Sun, 25 Apr 2010 08:33:32 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[a6643fr]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=410</guid>
		<description><![CDATA[Dernière bonne blague, le a6643fr familial a un disque dur qui se prend pour une marmotte. Pas qu&#8217;il dorme à longueur de journée, mais plutôt qu&#8217;il soit un grand siffleur. Que les disques se mettent à siffler avec l&#8217;âge, soit, mais pour un disque d&#8217;un an c&#8217;est un peu court. Un peu de recherche sur [...]]]></description>
			<content:encoded><![CDATA[<p>Dernière bonne blague, le a6643fr familial a un disque dur qui se prend pour une marmotte. Pas qu&#8217;il dorme à longueur de journée, mais plutôt qu&#8217;il soit un grand siffleur.<br />
Que les disques se mettent à siffler avec l&#8217;âge, soit, mais pour un disque d&#8217;un an c&#8217;est un peu court.</p>
<p>Un peu de recherche sur le web, cela peut être du à une alimentation de mauvaise qualité &#8211; problème qui avait déjà été <a href="http://www.valerie-et-guillaume.com/2009/04/20/la-berezina-hewlett-packard-a6643fr-ii-48-euros">identifié</a>. </p>
<p>Après plusieurs tentatives de redémarrage, la <em>solution</em> la plus robuste semble de mettre le disque dur de sauvegarde dans un boitier USB externe.<br />
Plus de bruit depuis.</p>
<p>Rétrospective et hypothèse du jour : ce n&#8217;est pas vraiment HP qui nous a vendu cet unité centrale, c&#8217;est Apple. Avec pour plan machiavélique de nous dégouter du monde des PC pour de bon, et nous faire acheter un iMac. Ça se tient, non ?</p>
<p>Comparaison de prix rapide : un iMac 2.8 GHz Intel Core i7, écran 27 pouces, RAM 4 GB DDR3 1066 MHz, disque dur 1 To, carte graphique ATI radeon HD 4850 512 Mo, lecteur/graveur DVD double couche, carte son avec sortie numérique, souris Magic Mouse bluetooth, carte son, FireWire, sans-fil 802.11n, haut-parleur intégré, clavier international avec pavé numérique coûte <strong>17 190 NOK</strong> livraison comprise. Et <a href="http://www.apple.com/imac/specs.html">produit 18 dBA</a> au repos.</p>
<p>Pour un équivalent PC, petit saut sur le site de <a href="http://www.dell.com">Dell</a>, gamme semi-professionnelle (on ne me surprendra plus à taper dans la gamme grand public) : un Dell Precision T1500, Windows 7 Professionnel 64 bit (je ne me fais pas d&#8217;illusion quant à la possibilité de <a href="http://www.valerie-et-guillaume.com/2009/02/27/la-berezina-hewlett-packard-a6643fr">remboursement de la taxe Microsoft</a> pour installer un Ubuntu Lucid à la place), Intel Core i7 2.8 GHz, RAM 4 GB DDR3 1066 MHz, carte graphique NVidia Quadro FX 580 512 Mo, adaptateur DisplayPort to DVI, disque dur 1 To, lecteur/graveur DVD 16x, carte son Sound Blaster, Firewire, sans-fil 802.11n, anti-virus Tend Micro pour 15 mois, écran Dell UltraSharp 24 pouces, haut-parleurs, clavier, souris sans-fil, DVD avec pilotes coûte <strong>22 214 NOK</strong> livraison comprise (17 371 NOK hors livraison). Pas de précision sur le niveau sonore.</p>
<p>Point de vue <a href="http://en.wikipedia.org/wiki/Woman_acceptance_factor">WAF</a>, y&#8217;a pas photo.<br />
<img src="http://www.valerie-et-guillaume.com/upload/2010/04/overview_hero1_20091020.png" alt="" title="overview_hero1_20091020" width="149" height="149" class="aligncenter size-full wp-image-420" /></p>
<p><img src="http://www.valerie-et-guillaume.com/upload/2010/04/dell.png" alt="" title="dell" width="149" height="149" class="aligncenter size-full wp-image-421" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/04/25/la-berezina-hewlett-packard-a6643fr-v/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quand Google Chrome s&#8217;installe</title>
		<link>http://www.valerie-et-guillaume.com/2010/03/30/quand-google-chrome-sinstalle</link>
		<comments>http://www.valerie-et-guillaume.com/2010/03/30/quand-google-chrome-sinstalle#comments</comments>
		<pubDate>Tue, 30 Mar 2010 20:22:57 +0000</pubDate>
		<dc:creator>guillaume</dc:creator>
				<category><![CDATA[Geek]]></category>

		<guid isPermaLink="false">http://www.valerie-et-guillaume.com/?p=405</guid>
		<description><![CDATA[Votre serviteur n&#8217;a pas de sympathie immodérée pour Google, mais les lenteurs de Firefox commençaient à quelque peu le fatiguer. Suffisamment en tous cas pour jeter un coup d&#8217;œil approfondi à Google Chrome. Comme tout le monde, on commence par aller voir chez Google, qui nous offre un lien vers un paquetage Ubuntu 64 bits. [...]]]></description>
			<content:encoded><![CDATA[<p>Votre serviteur n&#8217;a pas de sympathie immodérée pour Google, mais les lenteurs de Firefox commençaient à quelque peu le fatiguer.</p>
<p>Suffisamment en tous cas pour jeter un coup d&#8217;œil approfondi à Google Chrome.<br />
Comme tout le monde, on commence par <a href="http://www.google.com/chrome">aller voir chez Google</a>, qui nous offre un lien vers un paquetage Ubuntu 64 bits. Parfait.</p>
<p>Sauf que&#8230; Qu&#8217;est-ce qui me garanti que le paquetage va être mis à jour ?<br />
Je n&#8217;ai aucune envie d&#8217;aller vérifier régulièrement la dernière version, et je tiens en horreur les systèmes de mise à jour ad-hoc qui dépendent des lubies de chaque éditeur de logiciel.</p>
<p>Dans le genre, il a été servi le Guillaume.</p>
<p>Le paquetage google-chrome-beta installe un script /etc/cron.daily/google-chrome (qui s&#8217;exécute donc tous les jours). Ce script rajoute une clef d&#8217;authentification apt (ces clefs qui identifient les sources de paquetages auxquelles apt fait confiance) :<br />
<code>pub   1024D/7FAC5991 2007-03-08<br />
uid                  Google, Inc. Linux Package Signing Key
<linux -packages-keymaster@google.com>
sub   2048g/C07CB649 2007-03-08
</linux></code></p>
<p>Le script s&#8217;assure aussi que la source de paquetages Google est réactivée en cas de mise à jour de la distribution.</p>
<p>Nous voici face à un paquetage qui s&#8217;occupe de lui-même d&#8217;assurer ses mises à jour et d&#8217;authentifier son éditeur auprès de mon apt. Qui se fait suffisamment confiance pour ajouter une clef d&#8217;authentification qui n&#8217;a pas été plus vérifiée que ça, comme elle a été servie en texte clair. Qui ouvre la porte à plein d&#8217;autres applications Google &#8211; la ligne sources.list.d/google-chrome-list est très générique :<br />
<code>deb http://dl.google.com/linux/deb/ stable main</code></p>
<p>Dubitatif le Guillaume.</p>
<p>J&#8217;aurais quand même bien aimé qu&#8217;on me demande mon avis.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.valerie-et-guillaume.com/2010/03/30/quand-google-chrome-sinstalle/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

