« Mayo 2005 | Main | Julio 2005 »

Junio 2005 Archives

Junio 13, 2005

...al menos un chistecito!

Estaba cachando que esto lo tengo más botado que nunca... y para que no se sienta tan abandon-ware esto, publico un chiste:

Carta de un cadaver

Junto al cadáver de un suicida se encontró una carta dirigida al Sr. juez, en los siguientes términos:

No culpe a nadie de mi muerte, me quito la vida porque dos días más que viviese no sabría quién soy en este mar de lágrimas, vera ud... Sr. juez. Tuve la desgracia de casarme con una viuda, ésta tenía una hija, de haberlo sabido, nunca lo hubiera hecho. Mi padre, para mayor desgracia era viudo, se enamoró y se casó con la hija de mi mujer, de manera que mi mujer era suegra de su suegro, mi hijastra se convirtió en mi madre y mi padre al mismo tiempo era mi yerno.

Al poco tiempo mi madrastra trajo al mundo un varón, que era mi hermano, pero era nieto de mi mujer de manera que yo era abuelo de mi hermano. Con el correr del tiempo mi mujer trajo al mundo un varón que como era hermano de mi madre era cuñado de mi padre y tío de sus hijos. Mi mujer era suegra de su hija, yo soy, en cambio padre de mi madre, y mi padre y su mujer son mis hijos; además, yo soy mi propio abuelo.

Sr. juez: Me despido del mundo porque no sé quien soy.

El cadáver.

Eso... un burdo juego de palabras... pero es lo que hay :P


Escuchando: "Let's get it on" de Marvin Gaye

Junio 27, 2005

Damn... Soy un nerd :(

Estaba visitando la página de Cristofer, cuando me doy cuenta que hay otro de aquellos tests que tengo que hacer...

El resultado, fue el siguiente:

Overall, you scored as follows:

15% scored higher (more nerdy), and
85% scored lower (less nerdy).

What does this mean? Your nerdiness is:

High-Level Nerd. You are definitely MIT material, apply now!!!.

...Triste espectáculo...

I am nerdier than 85% of all people. Are you nerdier? Click here to find out!



Escuchando: "Te vi venir" de Sin Banderas... (por favor NO pregunten... fue una promesa que tengo q cumplir :P)

Junio 29, 2005

Maravillas de los lenguajes computacionales...

Hace poco estaba viendo un artículo publicado en wired.com, donde mostraban cómo poder "decifrar" (no encuentro una mejor palabra para "descramble"... ya, ok... ok... hackear si se quiere :P), los DVDs que vienen cifrados como manera de protección, para que no puedan verse sin su debida autorización.

En el articulo mencionado, dicen que en 7 líneas de PERL es posible lograr esto: (Obviamente, hay que obviar los comentarios que comienzan con "#")

#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz 
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order

$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%
16or$t^=$c^=( $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,
@z=(64,72,$a^=12*($_%16 -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..
271);if((@a=unx"C*",$_)[20]&48){$h =5;$_=unxb24,join"",@b=map{xB8,
unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$ d=unxV,xb25,$_;$e=256|
(ord$b[4])<<9|ord$b[3];$d=$d8^($f=$t&($d12^$d4^ $d^$d/8))<<17,
$e=$e8^($t&($g=($q=$e14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^ (($h=8)
+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval

Lo más simpático de la historia, es que este pedazo de código, fue escrito por 2 alumnos del MIT (Instituto Tecnológico de Massachussets) que también están involucrados en un sistema desarrollados por ellos para compartir musica a través de las instalaciones de TV cable

Pero eso no es todo... como yo soy un BASH-man por defecto... tenia que buscar algo al menos similar al respecto... por lo que encontré en una Signature el siguiente trozo que permite generar un código en C:

for DVDs in Linux screw the MPAA and; do dig $DVDs.z.zoy.org ;
done | perl -ne 's/\.//g; print pack("H224",$1) if(/^x([^z]*)/)' \|
gunzip > css_unscramble.c

Lindo... no?

Volviendo a las maravillas de PERL... ´Ż┐Conoces el método de cifrado llamado RSA? bue... acá tenemos el código para hacer un cifrado, gracias a Adam Back:

print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc`

Algún otro material de código simpático? Creo que indicado sería mostrar el binario más pequeño para Linux, que compilado pesa sólo 42 bytes (Hecho en assembly):

; tiny.asm

BITS 32

   org  0x00001000

   db   0x7F, "ELF" ; e_ident
   dd   1                       ; p_type
   dd   0                       ; p_offset
   dd   $$                      ; p_vaddr
   dw   2           ; e_type    ; p_paddr
   dw   3           ; e_machine
   dd   filesize    ; e_version ; p_filesz
   dd   _start      ; e_entry   ; p_memsz
   dd   4           ; e_phoff   ; p_flags

_start:
   mov  bl, 42      ; e_shoff   ; p_align
   xor  eax, eax
   inc  eax         ; e_flags
   int  0x80
   db   0
   dw   0x34        ; e_ehsize
   dw   0x20        ; e_phentsize
   db   1           ; e_phnum
                                 ; e_shentsize
                                 ; e_shnum
                                 ; e_shstrndx
filesize      equ     $ - $$

Luego se podemos ver que:

  $ nasm -f bin -o a.out tiny.asm
  $ chmod +x a.out
  $ ./a.out ; echo $?
  42
  $ wc -c a.out
       45 a.out

Increíble... ah?

Finalmente, sugiero que revisen el sitio www.roesler-ac.de/wolfram/hello.htm, donde salen más de 200 formas de hacer un hola mundo!... impresionante. Algo que cualquier ñoño no debe perderse :-)


Escuchando: "What's The Beef" de Notorious B.I.G.

About Junio 2005

This page contains all entries posted to MAVE's blog in Junio 2005. They are listed from oldest to newest.

Mayo 2005 is the previous archive.

Julio 2005 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.35