Entradas de mayo de 2010

Frases con historia (X)

Siempre se ha dicho que un millón de monos golpeando un millón de máquinas de escribir conseguirían eventualmente reproducir las obras completas de Shakespeare. Ahora, gracias a Internet, sabemos que no es cierto.

Robert Wilensky, Profesor emérito de UC Berkeley. 1996.

Rotoscopiando desde Betty Boop hasta ‘Avatar’

Rotoscopio original

Rotoscopio original

No, el verbo rotoscopiar no existe, pero me molaba un título (como diría Borja de QVMT) «así, a lo gerundio». Cosas de la edad, ya sabes.  

En 1912, Max Fleischer, uno de los pioneros en la creación de dibujos animados, y su hermano Dave inventaron un aparatejo al que llamaron rotoscopio. Bueno, supongo que ellos lo llamarían en inglés o en polaco (porque polacos eran), pero aquí lo conocemos con ese rotundo nombre.  

El rotoscopio, que nada tiene que ver con un instrumento para observar las estrellas estropeado :-), era un dispositivo que permitía utilizar fotogramas de cine capturados de la realidad como referencia a la hora de animar los dibujos, es decir, servía para copiar uno a uno los frames de una filmación real, transformándola en dibujos animados y consiguiendo así un realismo excepcional en los movimientos de los personajes.  

La técnica en cuestión es muy sencilla. Un proyector, controlado por el dibujante, va plasmando los fotogramas de la grabación realizada sobre un escritorio transparente y, sobre éste, se calcan literalmente los contornos de las personas, animales o cosas cuadro a cuadro. El artista agregará después sobre estos bocetos los elementos propios de la animación como, por ejemplo, caras caricaturizadas. El resultado final es un personaje de dibujos animados con un movimiento prácticamente igual al del mundo real.  

Rotoscopia de un caballo trotando

Rotoscopia de un caballo trotando

La primera animación rotoscópica fue la de Koko el payaso (Koko the clown), el personaje principal de la serie ‘Out of the inkwell‘, creada por los hermanos Fleischer en 1914. El propio Max Fleischer fue grabado realizando los movimientos del payaso para, posteriormente, pasar por el rotoscopio y generar la animación  de Koko.

En el siguiente vídeo se puede visionar el capítulo ‘The tantalizing fly’ de esta serie y comprobar los movimientos tan perfectos del payaso.

[youtube]http://www.youtube.com/watch?v=M-K67eHDKpc[/youtube]

El éxito de la técnica fue tal que, en los años siguientes, la utilizaron multitud de animadores en sus producciones. Los ejemplos más notables fueron el de Betty Boop, un personaje femenino de mucho éxito en los años treinta, y el de la película ‘Blancanieves y los siete enanitos‘, el primer largometraje animado de Walt Disney, de 1937.  

[youtube]http://www.youtube.com/watch?v=KCgriuRQk6E[/youtube]

Sólo hay que visualizar el baile de Betty Boop en las últimas escenas (minuto 6:25) del corto ‘Betty Boop’s Bamboo Isle‘ (vídeo anterior) o los movimientos de Blancanieves (siguiente vídeo), su madrastra y la bruja para darse cuenta de que son impecables. Ni los actuales dibujos animados en 3D gozan de una movilidad tan real a la hora de bailar, correr, aplaudir o huir.  

[youtube]http://www.youtube.com/watch?v=4Wgm2OzDYVo[/youtube]

Desde aquellos días hasta la actualidad, la rotoscopia no ha sido abandonada en absoluto, si bien ha evolucionado hasta las modernas técnicas 3D de captura de movimiento, conociéndose también como rotoscopia 3D. En la primera trilogía de ‘La guerra de las galaxias‘ (‘Star Wars’) se usaron técnicas rotoscópicas para dibujar el haz láser de los sables de luz sobre las escenas ya filmadas de los actores, que portaban palos para la lucha. Hoy en día el dibujo ya no se hace a mano, sino mediante un ordenador, pero el concepto es el mismo.  

Películas como ‘Tron‘, ‘La sirenita‘, ‘La bella y la bestia‘, ‘Aladdin‘ o ‘Pocahontas‘, entre otras, se han servido de la rotoscopia para generar todas o parte de sus escenas. La propia ‘Blancanieves y los siete enanitos’ fue tremendamente laureada en su época y, sin embargo, recibió también infinidad de críticas de descrédito por parte de muchos especialistas del sector, pues alegaban que aquello no era animación pura y dura, sino un simple plagio de la realidad. Se llegó a decir que los animadores de Disney eran tan malos en su trabajo que necesitaban recurrir al calco para obtener una animación fiable. ¡Ay! Si la envidia fuera tiña…  

Las modernas técnicas de captura de movimiento derivan del uso de la fotogrametría y de la utilización de un software específico en un ordenador. La fotogrametría es una técnica para determinar las propiedades geométricas de los objetos y sus situaciones espaciales a partir de imágenes fotográficas. Es una disciplina topográfica y geodésica que ha sido inteligentemente portada al mundo del cine.  

Seguro que has visto en los making of de las películas a esos actores con trajes especiales llenos de bolitas reflectantes. Esta es una de las técnicas, aunque existen varias. Esos puntos son seguidos por varias cámaras que remiten la información a un ordenador con un software que se encarga, mediante triangulación, de calcular la posición exacta en el espacio de cada punto. Los movimientos del actor son guardados y, posteriormente, se aplican a modelos 3D generados por computadora.  

Este sistema, que aún se conoce como rotoscopia 3D (aunque poco tiene que ver con la rotoscopia original), fue el utilizado, por ejemplo, en películas como ‘El señor de los anillos‘. El director, Peter Jackson, buscaba a un doblador para ponerle voz a Gollum y casi de casualidad se encontró con un actor (Andrew Serkis) muy atlético que no sólo le pondría voz al personaje sino que, con sus movimientos y expresiones, crearía el imaginario de Gollum y le daría la vida que tanto se había estado buscando. El actor asumió, pues, el rol de Gollum como personaje de carne y hueso. Además era mucho más fácil para los actores interactuar con otro actor que con el vacío, lo cual generaba ya de entrada un mayor realismo de toda la acción.  

Por exigencias del guión de la tercera parte de la saga, Gollum tenía que parecerse al actor real, lo cual supuso recrear digitalmente las facciones a partir del propio actor. Se trata de la captura de movimiento llevada a su máxima expresión, a la de los gestos faciales, mediante puntos emisores de datos en zonas determinadas de la cara. Este tipo de captura de movimiento (con diversas técnicas), así como la de los movimientos corporales, se ha utilizado en infinidad de producciones como, por ejemplo, ‘Avatar‘, donde los habitantes de Pandora habían de parecerse claramente a los actores que los encarnaban.  

Captura de movimiento facial en 'Avatar'

Captura de movimiento facial en 'Avatar'

Las técnicas rotoscópicas y sus derivados modernos no sólo se han empleado en el mundo del celuloide. Muchos de los videojuegos actuales se sirven de esa tecnología para crear animaciones realistas de sus personajes durante el juego o en las sucesivas escenas de vídeo animado que van entre niveles (y que ahora no me acuerdo cómo demonios se llaman). Juegos como ‘Another World‘, ‘Hotel Dusk: Room 215‘, ‘Resident Evil 2‘ o ‘Final Fantasy VIII‘ son un buen ejemplo de ello. También destacan en este aspecto la mayoría de juegos deportivos de última hornada.  

No obstante, en el terreno de la animación facial realista orientada a los motores de videojuegos queda aún bastante camino por recorrer. Títulos como ‘Heavy Rain‘ han tenido un ambicioso objetivo: ser capaces de sortear el temido valle inquietante (o al menos pasar a hurtadillas al lado del mismo sin perecer en el intento) para demostrarnos que nos encontramos ante la generación definitiva de la representación efectiva de personajes en tiempo real.  

Captura de movimiento para un videojuego deportivo

Captura de movimiento para un videojuego deportivo

Pero si existe un juego que utilizó una técnica rotoscópica y que más llamó mi atención por rudimentaria y excelente, ese es sin duda el ‘Príncipe de Persia‘, el de 1989. Su autor, Jordan Mechner, estudió durante varias horas filmaciones de su hermano pequeño corriendo y saltando con ropa blanca para, después, trasladar todos esos movimientos, píxel a píxel, al personaje que comenzó una de las mejores y más exitosas sagas videojueguiles de la historia.  

Si alguno de los lectores ha jugado alguna vez a aquella primera entrega del POP podrá identificar en el siguiente vídeo, con completa claridad y precisión, los movimientos de nuestro querido príncipe en el chaval de las imágenes. Sin duda un muy buen trabajo del señor Mechner, teniendo en cuenta que era un juego en vista lateral 2D y que los sistemas gráficos de la época no eran precisamente PureVideo HD.

[vimeo]http://vimeo.com/1854745[/vimeo]

Parece que la rotoscopia (aquel gran invento de principios del ¡siglo pasado!), o alguno de sus coletazos, nos seguirá acompañando durante muchos años. Y es que el mundo del ocio se reinventa cada pocos años, consiguiendo que, no tardando mucho, lleguemos a disfrutar de una experiencia completa que, en realidad, no será del todo plena, porque siempre vendrá otro detrás al que se le ocurra algo nuevo.

Concurso I teknoPLOF!

Camiseta teknoPLOF!

Camiseta teknoPLOF!

Con motivo de la próxima inauguración de la tienda online de teknoPLOF! (a la que, haciendo alarde de un friquismo desmedido, llamaré tiendaPLOF!), este blog anuncia su primer concurso abierto a toda la galaxia conocida. La tienda en sí (powered by Spreadshirt) recogerá un amplio catálogo de camisetas y artículos varios de merchandising con motivos geek diversos, además de las camisetas y otros productos oficiales de teknoPLOF!  

El premio del concurso es la primera camiseta (remera, para los visitantes del otro lado del charco) teknoPLOF!; en realidad la segunda, porque la primera la tengo yo puesta. La forma de participar es sencilla, pues el único requisito es dejar un comentario a esta entrada. Es importante que a la hora de añadir el comentario escribas una dirección de correo válida y real, porque será en dicha dirección donde el editor de este blog se pondrá en contacto contigo para indicarte tu condición de ganador y solicitarte tus datos postales para enviarte la camiseta.  

Camisetas básicas negras teknoPLOF! de chico y de chica

Camisetas básicas negras teknoPLOF! de chico y de chica

El concurso empieza hoy mismo (17 de mayo) y termina el día 31 de mayo del año en curso. El ganador será elegido aleatoriamente (vía RANDOM.ORG) entre todos los comentarios recibidos, asignándole a cada comentario un número de posición según el riguroso orden de aparición en pantalla, y comenzando por el número 1 (uno).  

Puedes leer las bases completas del concurso a continuación (te lo recomiendo encarecidamente). Y ahora ¡a comentar se ha dicho!, que está en juego una camiseta de teknoPLOF!. Vamos, que tiramos la casa por la ventana. ¡Mucha suerte!  

Bases completas del concurso  

1. teknoPLOF! convoca su concurso I con motivo de la apertura de su tienda de merchandising en línea. teknoPLOF! no es una empresa, sino un blog particular editado por una sola persona física, por lo que el concurso se celebra de manera no oficial y fuera de cualquier normativa estatal de concursos, sorteos y rifas contemplada por la ley.  

2. Podrán participar en el concurso todas aquellas personas que lo deseen, sin distinción de sexo, edad, nacionalidad o lugar de residencia.  

3. La mecánica de participación requiere emitir un comentario, sin ningún contenido en particular, en esta misma entrada o post.  

4. El comentarista deberá escribir, así mismo, una dirección de correo electrónico válida y perteneciente a su persona o, en su defecto, a otra persona que conozca la existencia de este concurso y esté de acuerdo en participar en el mismo.  

5. Cada persona, de manera individual, sólo podrá participar con un único comentario asociado a una única cuenta de correo electrónico. Sin embargo, se contempla la posibilidad de que un solo individuo con distintas cuentas de correo participe en tantas ocasiones como direcciones electrónicas tenga. No se permiten, pues, varios comentarios con la misma cuenta de e-mail.  

6. Los comentarios insultantes, racistas, homófobos, sexistas y, en general, cualquier otro que el editor de este blog considere inadecuado, serán automáticamente eliminados y descalificados del concurso. Lo mismo ocurrirá con los comentarios que atenten contra el punto 5 de estas bases.  

7. El período de aceptación de comentarios abarca desde la publicación de este post hasta las 23:59 horas del día 31 de mayo de 2010. Todos los comentarios posteriores no serán tenidos en cuenta.  

8. Una vez terminado el plazo de recepción de comentarios, el orden en el que se encuentren será el orden definitivo para el sorteo, con la salvedad de que, posteriormente, se pueda eliminar alguno de ellos considerado inadecuado según lo comentado en el punto 5 y punto 6 de estas bases. En todo caso, el orden a fecha 2 de junio, a las 00:00 horas, será el definitivo.  

9. El sorteo se celebrará el día 3 de junio, sin hora concreta, utilizando la herramienta gratuita que proporciona el sitio web RANDOM.ORG, un generador de números aleatorios reales que utiliza una serie de tarjetas de radio que capturan el ruido atmosférico y, mediante un algoritmo, utilizan la señal como semilla de generación.  El resultado del sorteo se hará público durante el mismo día 3 de junio en este blog.

10. El resultado de RANDOM.ORG será definitivo e inapelable.  

11. El único premio del concurso es una camiseta (remera) básica de color negro con el logotipo y nombre del blog.  

12. Una vez identificado el comentario ganador, el editor del blog se pondrá en contacto con la persona agraciada mediante el correo electrónico proporcionado en el propio comentario. Se solicitarán todos los datos necesarios para realizar el envío postal del premio (nombre y apellidos, dirección, código postal, provincia, estado, país, etcétera). Asimismo, se pedirá el tipo de camiseta que quiere recibir (camiseta de hombre o de mujer) y la talla (S, M, L, XL, XXL o XXXL), teniendo en cuenta las medidas y particularidades de las prendas de Spreadshirt, de las que será informado el ganador en el mismo correo electrónico.  

13. Si el ganador rehusara el premio, no respondiera en un plazo de tres (3) días o si no se pudiera contactar con él, se realizaría un nuevo sorteo eliminando el comentario relativo a ese primer ganador de la lista, pero sin variar el resto de números de orden posteriores. Cuantas veces ocurra lo anterior, tantas otras se realizarán nuevos sorteos, hasta dar con un ganador real o hasta la realización de seis (6) sorteos en total (teniendo en cuenta el primero). Si en el transcurso de algún sorteo el número ganador resultara ser uno de los eliminados, se realizará un nuevo sorteo sin acumularse en los seis (6) sorteos máximos.  

14. La espera de la recepción del premio por parte del afortunado dependerá de varios factores, como el tiempo que tarde Spreadshirt en imprimir la camiseta o lo lejos que haya que realizar el envío. No se asegura el envío en un plazo determinado.  

15. Cualquier persona que participe en este concurso debe aceptar todas las normas de estas bases.  

16. El administrador y editor de teknoPLOF! se reserva el derecho de cambiar, anular o agregar nuevas bases a esta lista, así como de invalidar el concurso o variar las fechas y los plazos. 

Actualización Bases 1. Se han desactivado los trackbacks y los pingbacks para que no generen comentarios nulos. Así mismo se han eliminado los que ya se habían producido.

Y recuerda que la apertura de tiendaPLOF! es inminente. No olvides visitar el blog, pues descubrirás un amplio surtido de camisetas y otros productos a muy buenos precios.

Web con acceso a datos sólo con Javascript y un TXT

Javascript + TXT

Javascript + TXT

En contra de lo que piensa el común de los mortales, es posible disponer de un sitio web con acceso a datos sin necesidad de utilizar ni una sola base de datos y ni una sola línea de código PHP o ASP. Es muy común descubrir foros de noticias donde los novatos preguntan cómo pueden acceder a una serie de datos almacenados sin necesidad de crear una web con código del lado del servidor, generando un acceso desde el propio navegador del lado del cliente. Y también es muy común encontrar las respuestas de «los entendidos» comentando que eso es imposible y que, si lo fuera, sería muy peligroso.  

Bueno, pues peligroso no sé, pero posible sí que es, y también muy sencillo. Sólo necesitamos un archivo de texto plano y unas cuantas sentencias en Javascript. ¿Empezamos?  

Si precisamos tener una web que almacene una gran cantidad de datos, como usuarios y contraseñas, artículos de una tienda, documentos o información de clientes y proveedores, se intuye necesario el camino más largo, esto es, un sitio con código de acceso a datos del lado del servidor (ASP, PHP…) y un gestor de bases de datos al uso (SQL Server, MySQL…). Sin embargo, en muchas ocasiones solamente es necesario mantener unos pocos datos que se actualizan a mano cada cierto tiempo, por ejemplo un listado de licitaciones abiertas de un ayuntamiento o una serie de ofertas de trabajo de una empresa.  

Cualquiera puede pensar que, en alguno de esos casos, la opción menos costosa sería la de modificar manualmente los archivos HTML cuando proceda y listo. Sin embargo, si la persona que tiene que realizar dichas modificaciones no es experta en diseño web (la secretaria del ayuntamiento, con respecto al ejemplo de las licitaciones, o la de la empresa, en el supuesto de las ofertas de trabajo) es más que probable que no sepa editar los documentos o que, si lo hace, los estropee para los restos.  

Para estas situaciones, o similares, existe un pequeño truco del que podemos hacer uso. El sistema consiste en pasar datos a un HTML como si de variables Javascript se tratara, enlazándolas desde un TXT externo. Veamos primero el archivo de texto y el HTML con Javascript para, después, pasar a comentarlos.  

Archivo 'datos.txt'javascript
Mostrar códigoOcultar código
  
<pre>Registro1="Administrador de sistemas";
Registro2="Programador en Java";
Registro3="Content Manager";
Registro4="Técnico Help Desk";
Enlace="empresa.html";</pre>

  

Código HTML + Javascriptxml
Mostrar códigoOcultar código
  
<pre><html>

 <head>

  <script src="datos.txt"></script>

  <script type="text/javascript">
   function cargarDatos(){
    document.getElementById("Campo1").innerText=Registro1;
    document.getElementById("Campo2").innerText=Registro2;
    document.getElementById("Campo3").innerText=Registro3;
    document.getElementById("Campo4").innerText=Registro4;

    document.getElementById("CampoEnlace").href=Enlace;
   }
  </script>

 </head>

 <body onload="cargarDatos()">

  <table>
   <tr>
    <td colspan="3" id="Campo1"></td>
   </tr>

   <tr>
    <td id="Campo2"></td>
   </tr>

   <tr>
    <td id="Campo3"></td>
   </tr>

   <tr>
    <td id="Campo4"></td>
   </tr>
  </table>

  <br />
  <a id="CampoEnlace">Volver a la página anterior</a>

 </body>

</html></pre>

  
Como podemos observar, el archivo de texto es muy sencillo, ya que sólo guarda una serie de constantes (Registro1, Registro2, Registro3, Registro4 y Enlace) con un valor alfanumérico asignado. Estas constantes las importamos desde el HTML como si de un archivo fuente de Javascript se tratase, concretamente en la línea <script src="datos.txt"></script>. De esta manera, el navegador adquiere el código externo para ser utilizado en la página actual, sólo que en este caso el código se compone exclusivamente de constantes y datos.  

Posteriormente se genera una función cargarDatos() (se inicia en el body onload) que lo que hace es asignar la información importada a cada etiqueta HTML identificada por su id, mediante la función document.getElementById. Hay que tener en cuenta el tipo de etiqueta que se quiere rellenar y sus peculiaridades particulares. Así pues, en el caso de los <td> (celdas regulares) se utiliza la propiedad innerText, y en el <a> (hipervínculo) se usa href para referirse al atributo que permite especificar el destino del enlace.  

Como vemos, es una técnica muy sencilla y altamente rentable, pues para pequeños conjuntos de información no sería necesario contratar alojamientos web de altas prestaciones en cuanto a acceso a datos se refiere. Además, lo único que debería aprender a manejar la persona al cargo es un software de FTP para poder subir el archivo TXT modificado cuando fuera necesario.  

Por supuesto que es un ejemplo muy sencillo, pero se puede complicar hasta el infinito. Imaginemos que deseamos ir añadiendo filas a la tabla dependiendo del número de registros, algo muy lógico; no siempre tienen por qué ser cuatro. El siguiente archivo de texto muestra un ejemplo de este caso.  

Archivo 'datos.txt'javascript
Mostrar códigoOcultar código
  
<pre>Registros=2;

Fecha1="11 de mayo de 2010";
Texto1="Contrato para el servicio de recepción y conserjería.";

Fecha2="11 de mayo de 2010";
Texto2="Contrato para el servicio de limpieza y mantenimiento.";</pre>

  
Veamos ahora cómo quedaría el código Javascript donde se define la función cargarDatos() en nuestro HTML.  

Código Javascriptjavascript
Mostrar códigoOcultar código
  
<pre><script type="text/javascript">
 function cargarDatos(){
  var Elemento1;
  var Elemento2;

  for (i=1;i<=Registros;i++)
  {
   Elemento1="Fecha"+i;
   Elemento2="Texto"+i;
   document.getElementById(Elemento1).innerText=eval(Elemento1);
   document.getElementById(Elemento2).innerText=eval(Elemento2);
  }
 }
</script></pre>

  
Podemos observar que ha cambiado sustancialmente. Ahora necesitamos un bucle (for) que recorra todos registros (variable Registros en el TXT) de uno en uno y vaya asignando valores a las etiquetas. En este caso hacemos uso de dos variables (Elemento1 y Elemento2) que nos sirven para generar los nombres de las etiquetas HTML para después pasárselas a la función getElementById. Además, por simplificar, hemos utilizado el mismo nombre de las etiquetas HTML para las constantes y deberemos evaluarlas con la función eval antes de asignarlas, porque si no Javascript no se entera al ser una cadena creada a mano mediante la concatenación de un texto y el valor del contador i.  

A continuación vemos el código Javascript para dibujar la tabla dependiendo del número de registros.  

Código Javascriptjavascript
Mostrar códigoOcultar código
  
<pre><script type="text/javascript">
 document.write("<table>");
 for (i=1;i<=Registros;i++)
 { 
  document.write("<tr>");
  document.write("<td id='Fecha"+i+"'></td>");
  document.write("</tr>");

  document.write("<tr>");
  document.write("<td id='Texto"+i+"'></td>");
  document.write("</tr>");

  document.write("<tr><td>&nbsp;</td></tr>");
 }
 document.write("</table>");
</script></pre>

  
Lo que hacemos simplemente es recorrer todos los registros e ir añadiendo filas y celdas con sus correspondientes etiquetas id. Al final de cada bucle se agrega una celda vacía (con un espacio) para separar un poco cada grupo.  

Evidentemente, el usuario deberá actualizar manualmente, además de los registros propiamente dichos, la constante que define el total de registros para que funcione todo bien. También habrá de preocuparse por escribir correlativamente los nombres de las constantes y no cometer ningún otro error en la generación del archivo.  

Lo que habíamos dicho al principio, si es un número reducido de registros de datos, y estos no se actualizan frecuentemente, nos puede ser de mucha utilidad el uso de esta técnica (hay que tener en cuenta que cada variable o constante es un espacio en memoria que ocupa sitio); para soluciones más complejas se nos queda corta. ¡Hala, a programar se ha dicho!

¿De dónde viene la «x» de la numeración de los capítulos en las series que descargas?

La 'x' famosa

La 'x' famosa

Me resulta llamativo y curioso que nunca antes nadie me haya preguntado por esa equis, flanqueada por números, que aparece al principio del título cuando se descarga un episodio de una serie. Si acabas de bajar el último capítulo de Lost, es muy probable que se titule algo así como 6x14 - El candidato. Yo creo que todo el mundo, a estas alturas de nuestra vida digital, ha conseguido indagar que ese 6x14 indica que el capítulo en cuestión es el número catorce de la temporada seis. Digamos que es una notación del tipo [Temporada]x[Capítulo]. 

Pero, ¿de dónde viene esta curiosa forma de identificar una serie y sus diversos episodios? Pues fíjate tú que de los años noventa del siglo pasado, cuando los cuatro friquis gafotas que nos conectábamos a Internet fuimos copiando costumbres americanas a la hora de movernos por la arcaica Red de aquellos tiempos. Escucha, escucha. 

(Haciendo un paréntesis, y ya que he hablado de la serie Perdidos, adelanto a todos los lectores que este próximo 23 de mayo, cuando se emita el episodio final, estaré ilocalizable para el resto de los mortales en, aproximadamente, 24 horas o, en su defecto, el tiempo que tarde en digerir lo que se prevé la madre del cordero de los capítulos de series en la historia de la televisión. Una vez haya terminado Lost, ya me podré morir a gusto; y John Locke también). 

En la última década del siglo XX, cuando la Red era en España sólo un hermoso bebé en pañales para la ciudadanía general, los más geeks del momento teníamos un módem de 14.400 bps para conectarnos a Infovía y, también, a Internet. Todo estaba en inglés y las páginas web eran horripilantes, llenas de GIF animados, fondos en mosaico e imágenes pixeladas. Las BBS dominaban las conexiones, pero con la llegada del HTML comenzaron su declive paulatino. 

Los incipientes hackers que pululaban por los antros digitales y los canales de chat IRC decidieron abandonar sus guaridas monocromáticas y comenzar a difundir su sapiencia vía HTTP. Fue el tiempo en el que nacieron los primeros ezines españoles, influenciados por los ya existentes en el ciberespacio yanqui. Saqueadores (posteriormente SET) fue uno de los primeros y principales ezines del panorama nacional. Nacido en una BBS de Murcia y, probablemente, inspirado en uno de los primeros ezines de habla hispana, el argentino Minotauro, dio el salto a Geocities para comenzar a crecer como la espuma. 

Aquellos ezines, imbuidos del ciberpunk de la época pero con un aura tecnológica, informática y muy geek, no eran más que archivos de texto plano (no existía el PDF) que recogían diversos artículos de sus editores y colaboradores, artículos siempre relacionados con la seguridad informática, el hacking, el phreaking y el desarrollo de virus. 

Al principio del fichero, tras el título y logotipo de arte ASCII del grupo, era costumbre que apareciera un índice con todos los artículos que contenía el ezine, como si de un libro se tratase. En un inicio, dicho índice seguía un relación lógica numérica (1, 2, 3, 4…) o alfabética (A, B, C, D…). Pero la moda cambió rápidamente para hacerse distinguir del resto de ezines de la época y remarcar el estilo geek del asunto, pasando a numerar las entradas indexadas con notación hexadecimal (base 16). 

En sistemas tipo Unix, así como en el lenguaje de programación C y sus derivados, la forma de escribir constantes numéricas en hexadecimal requiere del prefijo 0x antecediendo al número en sí. Por ejemplo, el valor decimal 7 sería 0x07 en hexadecimal, y el decimal 91 se simbolizaría como 0x5B. Este sistema de representación fue adoptado por los ezines para sus indizados, pasando a numerar sus entradas como 0x01, 0x02, 0x03… 0x0A, 0x0B, 0x0C… 

Con el transcurrir de los años, este sistema de numeración fue adoptado por el resto de la comunidad informática, ligeramente transformado y desvirtuado, para reflejar capítulos de libros digitales, episodios de series, tracks musicales o películas de sagas. Así pues, se pasó a considerar el primer número antes de la x como un índice general, y los guarismos posteriores a la x como subíndices del principal. 

De esta manera, si un capítulo comienza por 2x31 consideramos que es el número 31 de una segunda temporada, o temporada 2. Por supuesto que esto no es un número hexadecimal ni de lejos, pero su historia proviene de esa notación exclusiva geek que los primeros hackers internautas utilizaron para distinguir su lenguaje característico del resto de los lusers cibernéticos. 

Un relato para el recuerdo y la recuperación de la memoria histórica, que tanto se lleva ahora.

V I R I I

Un thriller ciberpunk retrotecnológico de conspiraciones, resistencia digital y ciudades ahogadas en neón, humedad rancia y corrosión.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON

Prontuario Anarquista de Resistencia Digital: Manifiesto de hacktivismo pasivoagresivo

Vivimos en una época donde cada clic deja rastro, cada palabra se convierte en dato y cada gesto digital puede ser observado, analizado y utilizado. En este escenario, la libertad ya no depende sólo de las leyes o de las calles, también se juega en las redes, en los servidores y dentro de los algoritmos.

[Jonathan Préstamo Rodríguez]

COMPRAR EN AMAZON