Más de 256 GB almacenados… ¡en una hoja de papel!

Technorati Tags: , ,

Hace ya unos días de esta noticia: Más de 256 GB almacenados… ¡en una hoja de papel!. Después de leer la descripción del supuesto método para realizar tal proeza, pensé «manda cojones las chorradas que dice la gente, estos del 20 Minutos». Pero no, resulta que se lo han colado a Techworld.com, a The Register e incluso a Barrapunto y menéame.

Se supone que se almacenan los datos en figuras geométricas de diversos colores y luego se decodifica usando un «escáner especial». Ya empezamos con las cosas esotéricas y especiales.

Después de leer una explicación de por qué es un timo, no quedé demasiado satisfecho, sobre todo por eso de «usando una cámara de 15 Mpx no nos da para capturarlo todo», porque se puede usar la misma cámara de 15 Mpx por sectores, pero no es el tema de todo esto.

Resulta que con la tecnología actual, los colores se representan con varios puntos mezcla de los 4 colores básicos de toda impresora. Bien, supongamos una impresora que a todo color nos da una resolución de 600 puntos por pulgada (lineales) y que es capaz de imprimir con muchísima calidad, diferenciando claramente hasta 16 bits (65536 colores), y que además somos capaces de distinguir al escanear esos 65536 colores sin problemas. Mejor nos olvidamos de los 24 y los 32 bits.

Con todas estas suposiciones, nos encontramos que cada pulgada lineal permite almacenar 600 símbolos que representan cada uno 16 bits, es decir, que cada línea de 1 pulgada de longitud almacena 9600 bits (1200 bytes). Cada pulgada cuadrada almacena por tanto 720.000 bytes, que al pasarlo a un papel A-4 de dimensiones 297mm x 210mm (8,268 x 11,693 pulgadas cuadradas) nos da la friolera de:

600 x 600 x 16 x 8,268 x 11,693 = 69607961,28 bytes = 66,3833 MB

De acuerdo, hemos supuesto una resolución no demasiado alta, 600 ppp, pero es que suponiendo una resolución de 4800 ppp en las dos coordenadas y 32 bits de color nos salen unos 8 GB. Y por lo que leo en Can you get 256GB on an A4 sheet? No way!, lo normal es usar una resolución de 300 ppp para imprimir revistas.

Por si fuera poco, usando esos 4800 ppp, 32 bits de color y un papel de 1 metro cuadrado, nos da 133 GB. Sencillamente, no cuela.

Siguiendo con el tema de la resolución, veamos lo que ocurre en un lector de CD, por no mencionar el DVD que tiene muchísima más capacidad. Los datos en un CD se almacenan en hendiduras hechas sobre la superficie del CD, separadas cierta distancia y con cierta anchura. Estas hendiduras tienen un ancho de 0,6 micras (6 x 10^-7 metros) y la separación entre pistas es de 1,6 micras. Para poder hacer una lectura en una estructura así es necesario un láser, y si queremos ver cuál es el equivalente en ppp para un escáner y una impresora que saque los datos, sería de unos 17900 ppp.

Hasta el momento no se ha considerado otro problema importantísimo en todo medio de almacenamiento: la fiabilidad.

Para que un medio de almacenamiento sea fiable debe cumplir una serie de características, y es que la información sea recuperable en cierto margen de tiempo. ¿Y qué problema hay con esto? Por el momento he considerado que no se utilizan mecanismos de detección y corrección de errores, como los conocidos CRC, que introducen bastante sobrecarga, reduciendo la capacidad de almacenamiento efectivo.

Y un problema extra es la degradación del papel y de las tintas con el tiempo. Si en ocasiones se nos puede fastidiar una foto o una hoja puede volverse amarilla con el paso del tiempo, esto no deja de ocurrir en este caso, y si queremos diferenciar entre tantos colores, que son muy cercanos, el invento se nos va a paseo. Se ha inventado el sistema de almacenamiento masivo variante en el tiempo. Pues vaya una cosa inútil.

Por cierto, que usar figuras geométricas determinadas es mucho menos eficiente que usar todos los puntos posibles del papel.

Aunque la capacidad real de almacenar información en una hoja de papel sea infinita, es imposible extraerla toda, ni siquiera una fracción pequeña como 200 GB, por las limitaciones evidentes de nuestra tecnología.

Share

Programación de ns: problemas de mezclar C++ con Tcl sin dosis elevadas de cafeína

Technorati Tags: , , ,

Las cosas que pasan cuando se programan módulos de ns, que requiere mezclar los lenguajes C++ y Tcl, que tienen una sintaxis bastante diferente.

ns@autoslocos:~/ns-allinone-2.29-dev/ns-2.29$ make
g++ -c -Wall -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_11 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCL_H -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -I. -I/home/ns/ns-allinone-2.29/tclcl-1.17 -I/home/ns/ns-allinone-2.29/otcl-1.11 -I/home/ns/ns-allinone-2.29/include -I/home/ns/ns-allinone-2.29/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -I./diffserv -I./satellite -I./wpan -I./amor -I./OBS -I./monitor -o amor/rtProtoamor.o amor/rtProtoamor.cc
amor/rtProtoamor.cc: In member function ‘virtual void VarianceTimer::expire(Event*)’:
amor/rtProtoamor.cc:32: error: expected `(‘ before ‘{’ token
amor/rtProtoamor.cc:33: error: expected `;’ before string constant
amor/rtProtoamor.cc:33: aviso: statement es una referencia, no una llamada, a la función ‘puts’
amor/rtProtoamor.cc:33: aviso: statement no tiene efecto
amor/rtProtoamor.cc:34: error: expected primary-expression before ‘else’
amor/rtProtoamor.cc:34: error: expected `;’ before ‘else’
make: *** [amor/rtProtoamor.o] Error 1

Código causante del error:

void AMORTimer::expire (Event *e) {
Tcl & tcl = Tcl::instance();
tcl.evalf(«%s calcula-costes», agente_->name());
const char * resultString = tcl.result();
int cambios = atoi(resultString);

if {$cambios == 0} {
puts «No hay cambios»
} else {
puts «Hay cambios»
}
resched(delay);
}

Cualquier parecido con la realidad es pura coincidencia.

Share

Introducción a OBS

Technorati Tags: , , , ,

La última vez que hablé sobre OBS me limité a poner algunos enlaces interesantes donde se habla de esta técnica de conmutación para redes ópticas.

Ya llevo bastante tiempo trabajando en esta temática, y de hecho el Proyecto Fin de Carrera va bastante avanzado. Así que toca contar con mis palabras de forma resumida de qué va esto de la Conmutación de Ráfagas Ópticas, ya que tal vez a alguien le interese.

Decir que la aplicabilidad de todos estos conceptos suele limitarse a las redes troncales y metropolitanas, es decir, las que transportan el tráfico de una ciudad o de un país.

Sigue leyendo

Share

Los estilos del Wu Shu Chino (I)

Technorati Tags: , , , ,

¿Qué es Wu Shu?

Definimos el Wu Shu como «Artes Marciales Chinas», también conocidas como Kung Fu (Gong Fu en la transliteración Pinyin). Realmente, el significado de este último término es «un trabajo bien hecho» o «habilidad para hacer algo». Se usa a veces para referirse a la habilidad marcial de alguien. Por el contrario, el significado tradicional de Wu Shu es «el arte de partir la lanza», siendo la lanza el arma más poderosa de las antiguas armas chinas. En la actualidad lo veremos traducido como «artes marciales» en los diccionarios.

Transliteraciones

Las transcripciones de los ideogramas chinos a caracteres latinos son muy variadas, siendo las más extendidas la Wade-Giles, creada por los ingleses y que se aproxima bastante a la pronunciación, y la Pinyin, creada por el gobierno chino. En este artículo usaré la notación Pinyin, escribiendo entre paréntesis la transcripción en Wade-Giles sin los tonos (que esa es otra, existen 4 tonos más el atonal para las sílabas).

Decir que yo no hablo chino, por lo que puede que me equivoque con algo.

Sigue leyendo

Share