aziraphale.org

Login

random password generator (du pauvre)

Version de base, humainement lisible :

perl -le '@a=map{chr}(48..57,65..90,97..122);print map{$a[rand scalar @a]}(1..10)'

Version un peu plus évoluée :

perl -le '@a=map{chr}(33,35,37,43..58,65..90,95,97..122);print map{$a[rand scalar @a]}(1..10)'

(Oui, j'ai négligé volontairement plein de caractères...)

Output :
respectivement de la forme Al7vH7mPua et nGwR#X_pj0.

Si un golfeur passe par là et qu'il veut s'amuser, hein...

À ceux qui se poseraient la question

Oui, j'ai été cyber-squatté par Benzeone, ou plus précisément par son ancien blog.

Bon, ok, l'intéressé n'y est pour rien, je me suis moi-même tiré une balle dans le pied via mes vhosts Apache.

Bref, désolé pour la gêne occasionnée, pardon aux familles, toussa.

Noël, Joyeux Noël

Une guirlande de Noël, pour les Geeks.
QUE pour les Geeks.
Et encore, même pas tous !

Read next

Adhésions / Donations

Promouvoir et soutenir le logiciel libre
J'ai adhéré,

Wikipedia Affiliate Button
J'ai donné !

pstree minimaliste en Perl

Parce qu'il manque à chaque fois que l'on en a besoin, un pstree minimaliste :

#!/usr/bin/perl -w
## pstree.pl (C) Tom Mattmann
## This program is free software - the BSD license applies.
## Adaptation - 2008/11/06 glb.

use strict;

my %process;      # process information
my %pstree;       # process hierarchy, HoA
my %psuid;        # process uid
my @childs;       # number of childs remaining
my $process = shift @ARGV ;

# print process information
sub prnpid {
   my ($level,$pid) = @_;
   $childs[$level] = $#{$pstree{$pid}};

   for (my $x = 0; $x < $level; $x++) {
      if ($childs[$x] == 0) {
         printf $x==($level -1) ? "`-- " : "    ";
      } else {
         printf $x==($level -1) ? "+-- " : "|   ";
      }
   }
   printf "%-5u  %s (%s)\n", $pid, $process{$pid}, $psuid{$pid};

   if (exists $pstree{$pid}) {
      for (sort {$a <=> $b} @{$pstree{$pid}}) {
         prnpid($level+1, $_);
         $childs[$level]--;
      }
   }
}

# fetch ps output and build process tree
my @psoutput = `/bin/ps -ef -o ppid,pid,user,args`;
for (@psoutput) {
   next unless /^\s*\d+/;
   my ($ppid,$pid,$user,$cmd) = $_ =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.+)/;
   $process{$pid} = $cmd;
   $psuid{$pid}   = $user;
   # kernel threads show up with pid=0, do not reference them
   push(@{$pstree{$ppid}}, $pid) if ($ppid != 0 && $ppid != $$);
}

# Did the user ask for a particular PID? If not, 
# We're simply assuming that the lowest PID belongs to init
my ($first) = defined $process ? ($process) : sort keys %pstree;
exit 0 unless exists $pstree{$first};

# prnpid will recursively call itself
prnpid (0, $first);

Ramassé ici, un peu au hasard, et adapté selon mes goûts.

[EDIT] : Laurent aurait aimé laisser un commentaire, mais ceux-ci sont fermés un peu rapidement à son goût... Donc il faut aller voir chez lui pour avoir la suite :-)

Chtit résumé (Les Poupées Russes)

     
                   |                   |
                   |                   |
 Table < TBS < DBF < FS < LV < VG < PV < LUN < Disques (RAID)
`-----------------´|`-----------------´|`--------------------´
       Oracle      |        OS         |          SAN
                             `-------FC-----------´

        TBS = tablespace
        DBF = databasefiles
        FS  = filesystem
        LV  = logical volume
        VG  = volumes group
        PV  = physical volumes
        LUN = Logical Unit Number
        OS  = operating system
        SAN = storage area network
        FC  = liaison fibre channel

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...