aziraphale.org

Login

Radiohead - Nude (Low Tech)

Trouvé .

FPW 2008 / Les Journées Perl 2008

FPW 2008

FPW 2008

FPW 2008

iFlickr

Soupir...

aziraphale.org:~# uptime
 23:49:05 up 454 days,  9:34,  1 user,  load average: 0.39, 0.38, 0.16
aziraphale.org:~# shutdown -r now
The system is going down for reboot NOW!

Parce que.

Mail : éviter le catch-all, c'est mieux

Résultats "intéressants" :
perl -ne 'next unless /^To: (.+)$/;@a=split/[,;]/,$1;for(@a){s/ //g;if(/<(.+\@.+)>/){$a{$1}++}else{$a{$_}++}};END{for(sort keys %a){printf"%-50s %4s\n",$_,$a{$_} if m/aziraphale/}}' Inbox

Yep, le code est imbitable, et trop long pour un uniligne...

Origami

Du Perl pour l'extraction de logs, à l'arrache

Ou : comment extraire les infos intéressantes d'un ramassis de logs applicatives, correspondant à des traitements lancés "en sournois" via des jobs Oracle.


for i in Pkg_Tfj*trc*
do 
  echo $i | perl -nle 'exit 1 if m/.+\.gz$/'
  if [ $? -eq 1 ]
  then
    gzcat $i | perl -nle 'print if m/(?:P_TFJAuto.+(?:Debut|Fin)\s\s|Erreur)/'
  else
    cat   $i | perl -nle 'print if m/(?:P_TFJAuto.+(?:Debut|Fin)\s\s|Erreur)/'
  fi
done| \
  perl -nle '$a{$3.$2.$1.$4}=$_ if m{^(\d+)/(\d+)/(\d+)(.+)};
             END{print $a{$_}foreach sort keys %a}'

Qui nous donnera un magnifique :

(...)
19/09/07 22:30:05 -P_TFJAuto ---- Debut ----xxx
19/09/07 23:24:48 -P_TFJAuto ---- Fin ----xxx
20/09/07 22:30:06 -P_TFJAuto ---- Debut ----xxx
20/09/07 23:28:59 -P_TFJAuto ---- Fin ----xxx
21/09/07 22:30:02 -P_TFJAuto ---- Debut ----xxx
21/09/07 23:29:48 -P_TFJAuto ---- Fin ----xxx
24/09/07 22:30:04 -P_TFJAuto ---- Debut ----xxx
24/09/07 23:29:39 -P_TFJAuto ---- Fin ----xxx
25/09/07 22:30:05 -P_TFJAuto ---- Debut ----xxx
26/09/07 06:49:19 -P_TFJAuto ---- Fin ----xxx
27/09/07 02:00:03 -P_TFJAuto ---- Debut ----xxx
27/09/07 02:02:58 -Erreur dans TFJ
27/09/07 02:02:58 -P_TFJAuto ---- Fin ----xxx

La dernière ligne de Perl servant à trier les logs par ordre chronologique (dates dans les logs au format français... application "professionnelle").

Je laisse le soin au lecteur d'utiliser les données extraites pour calculer les temps de traitement !
^__^

EMACS (Escape, Meta, Alternate, Control, Shift)

User Friendly

Trouvé là : User Friendly.

À tous les geeks qui passent par là...

Dating Pools


Fixed Width


Letting Go


Regular Expressions


Lisp


Trouvés là : XKCD.

French Perl Workshop 2007

Le French Perl Workshop 2007 se passera à Lyon, les 16 et 17 Novembre.

Teaser :

Cette vidéo a été diffusée à YAPC::Europe 2007.
Très gros succès ;-)

EDIT : Vidéo remplacée par une vidéo Google. L'original reste accessible

EDIT2 : en français, on appelle ça "Les Journées Perl 2007" :-)

Apache Reverse Proxy (ou : comment bypasser certaines "limitations professionnelles")

Un des trucs qui m'énerve souvent en clientèle, c'est les règles de filtrage des proxys. Que les sites de c*l soient filtrés, rien à redire ; que Bloglines, syndicateur de feeds RSS le soit, là, ça me... pénalise.

Donc, ayant un serveur à disposition, un Apache qui tourne dessus, un mod_proxy, la manière pour arriver à mes fins est de monter un vhost faisant du reverse proxy, pardon, office de serveur mandataire :

<VirtualHost *:443>
    DocumentRoot /var/wwwroot/bl.mon-domaine.com
    SSLEngine On
    SSLCertificateFile /etc/apache2/mon-domaine.com-cert.pem
    SSLCertificateKeyFile /etc/apache2/mon-domaine.com-key.pem
    ServerName bl.mon-domaine.com
    Errorlog /var/log/apache2/bl.mon-domaine.com.error.log
    CustomLog /var/log/apache2/bl.mon-domaine.com.access.log combined
    <Location />
      Order allow,deny
      Allow from all
      AuthName "restricted stuff"
      AuthType Basic
      AuthUserFile /etc/apache2/users
      require valid-user
    </location>
    ProxyRequests Off
    ProxyPass / http://www.bloglines.com/
    ProxyPassReverse / http://www.bloglines.com/
</VirtualHost>

Et voili !