sábado, 27 de marzo de 2010

Showtime Networks Incorported

Ayer me notificaron que Showtime Networks Inc. se estaba quejando sobre actividades que presumiblemente violan derechos de propiedad intelectual de terceros en una las computadoras de la red a mi cargo:

Case ID: 1024197398
Infringing Work: Dexter
First Found: 4 Mar 2010 00:05:03 EST (GMT-0500)
Last Found: 4 Mar 2010 00:05:03 EST (GMT-0500)
IP Address: 132.248.30.X
IP Port: 51413
Protocol: BitTorrent
Torrent InfoHash: 6B9F76C83C1B73EF852F9BC011698113A4F6966A
Containing files(s): Dexter.S04E02.Remains.to.Be.Seen.HDTV.XviD-FQM.avi.torrent (576,730,440
bytes)

¡Típico! El asunto ha sido arreglado. Showtime Networks Incorporated puede estar seguro de que en esa computadora en particular no hay ningún archivo de nombre Dexter.S04E02.Remains.to.Be.Seen.HDTV.XviD-FQM.avi.torrent con un tamaño de 576,730,440 bytes :-)

Me pregunto. ¿Cómo le hizo Showtime Networks Incorporated para obtener la información? ¿Será que tiene un sniffer en alguna computadora de nuestra red? ¿Una de esas tantas computadoras infectadas con malware y que están al servicio del mejor postor? ¿Tendrán un sniffer en el backbone de nuestro ISP?

No hace falta ser un genio como Dexter ni tener una hermana como Dee dee para darse cuenta que con una ligera modificación a un cliente bittorrent es posible obtener del tracker la lista de direcciones IP.

Por cierto: no estoy interesado en cereal killers. La última serie decente de showtime que recuerdo haber visto fue Penn & Teller. ¡Y ya no la pasan! ¿Se podrá conseguir por Internet en la tienda de vídeos?

jueves, 25 de marzo de 2010

Los mejores personajes de películas

No tengo idea de cómo llegué aquí. No estaré de acuerdo con todos, pero van mis favoritos:

¿Y tu que opinas?

viernes, 19 de marzo de 2010

filldisk.pl

#!/usr/bin/perl -w
#
# Usage: perl filldisk.pl > /dev/sdc

use Crypt::RC4;
use Crypt::Random qw(makerandom_octet);

my $BSIZE=4096;
my $KSIZE=16;

my $buffer;
my $rc4key=makerandom_octet(Length => $KSIZE, Strength => 1, Uniform=>1);

binmode STDOUT;

my $total=0;
my $wsize=0;

my $alarm=1;

local $SIG{ALRM} = sub { $alarm=1; };

while(1) {
if($alarm) {
print STDERR "\r$total KB";
$buffer=makerandom_octet(Length => $BSIZE, Strength => 0, Uniform=>1);
$alarm = 0;
alarm(1);
}

$buffer = RC4($rc4key, $buffer);
$wsize = syswrite(STDOUT, $buffer, $BSIZE);
last unless $wsize;
$total+=$wsize >> 10;
$rc4key=makerandom_octet(Length => $KSIZE, Strength => 0, Uniform=>1);
}

print STDERR "\n$0: $!\n$total KB written\n";

jueves, 4 de marzo de 2010

d2hms.c

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double d2hms(const double d, double *h, double *m, double *s)
{ double foo;
foo=modf(d,h);
foo*=60;
foo=modf(foo,m);
foo*=60;
foo=modf(foo,s);
return foo;
}

int main(int argc, char* argv[], char* envp[])
{
double d,h,m,s,c;

if(argc==2) {
d=atof(argv[1]); /* better use strtod */
} else {
printf("Usage:\n%s hora.decimal\n",argv[0]);
return -1;
}

c=d2hms(d,&h,&m,&s);
printf("%f=%.0f:%02.0f:%06.3f\n", d, h, m, s+c);
return 0;
}

---
$ gcc d2hms.c -lm
$ ./a.out 12.345678
12.345678=12:20:44.441