[Retropapelote de la semana] Tapper, el juego de las birras

'Tapper' (clic para ampliar)

‘Tapper’ (clic para ampliar)

El videojuego Tapper (también conocido como Root Beer Tapper), desarrollado por la mítica Bally Midway y distribuido por un montón de compañías en función de la plataforma a la que fuera dirigido, es uno de los juegos legendarios que marcaron una época. Aparecido en 1983 para las recreativas y portado a una gran variedad de ordenadores y consolas de la época (y también modernas) deja su impronta en este retropapelote con el anuncio publicitario de su aparición para ZX Spectrum 48K.

Sirviendo cervezas a todo trapo a los ansiosos y sedientos clientes, el bar de Tapper ha llegado a aparecer hasta en la película ‘¡Rompe Ralph!‘ (‘Wreck-It Ralph’) de Disney como el garito donde vas los personajes de videojuegos a ahogar sus penas.

Un gran videojuego de los ochenta que todavía hoy nos hace vibrar cuando disfrutamos de él.

La congruencia de Zeller y cómo calcular el día del cambio horario

Cambio de hora

Cambio de hora

En poco más de una semana llegará el tan denostado y ultrajado cambio al horario de verano que muchos países del mundo (hay muchísimos que ni se lo plantean, ni se lo van a plantear) realizan para volver locos a sus ciudadanos y con la intención de ahorrar (¿?) un poquito en el tema energético. El cambio horario fue una medida que se implantó por primera vez durante la Primera Guerra Mundial, cuando algunos de los países implicados la adoptaron con la finalidad de ahorrar combustible. Esta situación se repitió en 1973, durante la crisis del petróleo, en la cual la mayoría de los países industrializados adoptaran la misma medida para hacer frente a la complicada situación.

No vamos a entrar en la eterna discusión de si esto tiene o no algún sentido, pues nosotros nos vamos a centrar en el tema tecnológico geek del asunto, en el fundamento friki del algoritmo que hace que nuestros ordenadores, teléfonos, televisores, relojes y demás gadgets se actualicen automáticamente.

La verdad es que, hoy día, los diversos sistemas operativos fundamentan sus cambios horarios en el manejo de bases de datos cooperativas mundiales que almacenan toda la información de las características horarias de cada país y sus circunstancias particulares. Y es que no todos somos iguales, y algunos somos muy, pero que muy, raritos. Por poner tres ejemplos simples: primero, en España manejamos un huso horario que no nos corresponde (reminiscencias franquistas desde 1942); segundo, en Brasil sólo cambian la hora en el sur del país; tercero, en Israel, hasta 2005 el horario cambiaba una vez al año. Y así podríamos seguir un buen rato.

La base de datos más utilizada para estos menesteres es la llamada TZ Database, más conocida como Zoneinfo Database, que procura registrar todos los cambios en zonas horarias, ajustes verano/invierno e, inclusive, las correcciones de segundos astronómicas desde 1970. Es el procedimiento utilizado por la mayoría de los sistemas operativos descendientes de Unix, por aquellos derivados de BSD, por los lenguajes de programación más extendidos y por la mayoría de sistemas de gestión de datos. Por otro lado, HP dispone de una base de datos propia (llamada tztab) que es similar pero incompatible. El otro gran sistema es el propietario de los entornos operativos Microsoft Windows y sus servidores horarios en Internet.

Al margen de todo ello, y olvidándonos de estas bases de datos, aquí vamos a imaginar que no existieran y que nosotros tuviéramos que calcular el día en que se debe cambiar la hora o, más concretamente, si el día en el que estamos es el del cambio de hora (que es lo que hacen los computadores). La estandarización internacional llegó hace tiempo a la conclusión de que esto se realizaría el último domingo de marzo (horario de verano) y el último domingo de octubre (horario de invierno). ¿Cómo calcular de manera informática, pues, cuáles son los últimos domingos de marzo y octubre?

La lógica de nuestras rápidas mentes de desarrollares nos puede llevar a pensar lo siguiente (caso de marzo): pregunto si hoy es marzo; si lo es, pregunto si hoy es domingo; si lo es, calculo el día de hoy más siete; si es abril, hoy es el último domingo de marzo. Por ejemplo.

Sin embargo, existe un manera más sencilla y menos farragosa de calcular esto. Se llama congruencia de Zeller y es un algoritmo ideado por Julius Christian Johannes Zeller para calcular el día de la semana de cualquier fecha del calendario. En el presente, los lenguajes de programación actuales disponen de funciones propias que realizan esta función (por cierto, basadas en este algoritmo o en otro parecido), pero nunca está de más aprender cómo podríamos ejecutar este cálculo sin recurrir a estas avanzadas técnicas.

Hay diversas interpretaciones e implementaciones de las fórmulas de Zeller para realizar este tipo de cálculos, tanto en fechas del calendario gregoriano como del calendario juliano. Asimismo, el código fuente de una aplicación puede diseñarse de diferentes maneras. Nosotros aquí vamos a rescatar un código de C# que es fácilmente exportable a otros lenguajes de programación.

El código que devuelve el día de semana que es (0=domingo, 1=lunes, 2=martes, etcétera) es el siguiente.

static int Zeller(int anno, int mes, int dia)
  {
    if (mes <= 2)
    {
      mes = mes + 10;
      anno = anno - 1;
    }
    else
    {
      mes = mes - 2;
    }
 
    int a = anno % 100;
    int b = anno / 100;
 
    int resultado =
    (
      700 +
      ((26 * mes - 2) / 10) +
      dia +
      a +
      a / 4 +
      b / 4 -
      2 * b
    ) % 7;
 
    return resultado;
  }

De tal modo que, si quisiéramos implementar una función que, tras introducir el año que deseemos, nos devuelva los días exactos en los que comienzan los horarios de verano e invierno, es decir, los últimos domingos de marzo y octubre, respectivamente, haríamos lo que sigue.

static void Main(string[] args)
  {
    Console.WriteLine("Año: ");
    int anno=int.Parse(Console.ReadLine());
 
    //el último domingo de Marzo
    int dhv = 31 - Zeller(anno, 3, 31);
 
    //el último domingo de Octubre
    int dhi=31 - Zeller(anno,10,31);
 
    Console.WriteLine(
      "El horario de verano empieza el {0}/Marzo/{1}",
      dhv,anno);
    Console.WriteLine(
      "El horario de verano termina el {0}/Octubre/{1}",
      dhi,anno);
 
    Console.ReadLine();
  }

Expliquemos un poco este último código. Lo que estamos haciendo es pasarle a la función del algoritmo de Zeller el último día de marzo y el último de octubre del año solicitado (siempre serán un 31 del 3 y un 31 del 10). La función nos devuelve con qué día de la semana se corresponde. Lo que hacemos es restar a 31 el resultado de la función algorítmica. La solución final será el último domingo de cada mes.

Y así es cómo podemos implementar la congruencia de Zeller en un algoritmo informático. La verdad es que existen múltiples formas de calcular el día de la semana de una fecha dada; la de Zeller sólo es una más. Lo importante es que el próximo domingo, día 29, a eso de las dos de la mañana, no olvidemos que nuestro reloj ha de adelantarse una horita, ni más ni menos. Este es de esos días en los que la gente dice que dormimos una hora menos y se llevan las manos a la cabeza porque el domingo se les pasa volando.

En fin, lo que está claro es que nuestros relojes y gadgets, seguramente, se adelanten todos ellos solitos para mantenernos en hora de forma automática. Ellos no acusan el cambio horario, nosotros, digan lo que digan, sí.

Podcast ReadySetClick! T2x09

RSClick! podcast 2x09

RSClick! podcast 2×09

Hoy empezamos hablando sobre malware alojado en páginas web de contenido pornográfico, en concreto RedTube, y cómo ha podido infectar a miles de usuarios.

Siguiendo en el ámbito de la seguridad, tratamos un tema bastante espinoso: Lenovo y la inclusión de spyware dentro de sus portátiles como software preinstalado. Todo un escándalo.

Además, estos días, en la plataforma Kickstarter, un proyecto ha batido todos los récords de recaudación para financiación: el Pebble Time.

Poco a poco el futuro se va acercando, y en el mundo de la tecnología nadie puede esperar. Os explicamos, pues, los planes de Intel para saltar la barrera impuesta por los chips de silicio y la escala de los 10 nm.

Como nota curiosa, esta semana os presentamos un artilugio que va a estar disponible muy pronto y que viene de la mano de Ikea: una lámpara con cargador inalámbrico incorporado.

Para finalizar nuestras ‘Noticias’, os ofrecemos un buen resumen sobre los gadgets que más nos han llamado la atención en el recién concluido Mobile World Congress de Barcelona.

En la ‘Aplicación de la semana’, os acercamos la app 123D Catch, gracias a la cual podemos recrear objetos en 3D, con tan sólo unas cuantas fotografías, e imprimirlos.

Un anillo para gobernarlos a todos; o casi. Permitidnos esta pequeña broma para referirnos al nuevo wearable del MIT, el FingerReader. Más detalles en el ‘Teknoútil’ de hoy.

En la sección ‘Se habla de’ charlamos sobre lo más comentado estas semanas en las redes sociales. Y tú, ¿cómo veías el vestido: azul y negro o blanco y dorado? 😀

‘Debate’ intenso el de esta semana: la edad oscura digital, en palabras de uno de los padres de Internet y vicepresidente de Google, Vincent Cerf.

Para acabar el programa, y aparcando nuestro DeLorean particular, en la sección ‘RetroClick!’ hablamos sobre la historia de los simuladores de vuelo. Atentos que despegamos.

Puedes seguirnos en nuestro blog rsclick.es, en Twitter a través de @rsclick_es y en Facebook vía facebook.com/rsclick.

¡Empezamos!

El podcast, vía Ivoox, en http://www.ivoox.com/rsclick-t02x09-redtube-lenovo-pebble-mobileworldcongress-autodesk-vestido-edadoscura-simuladores-audios-mp3_rf_4190477_1.html

VU-FILE, una base de datos para ZX Spectrum

Presentación de Vu-File

Presentación de Vu-File

Los sistemas gestores de bases de datos, tal y como los conocemos hoy día, se remontan a la década de los años sesenta del siglo pasado. La tecnología que permite guardar datos informáticos, bien organizados, y recuperarlos de manera sencilla y rápida ha ido evolucionando desde aquellos tiempos hasta el tratamiento del Big data actual. Todas las plataformas han tenido sus propias utilidades para manejar bases de datos, y los pequeños ordenadores de 8 bits de los años ochenta no fueron una excepción.

En 1982 aparece en el mercado VU-FILE, un software de base de datos para ordenadores Sinclair de propósito general; lo mismo podías utilizarlo para clasificar tu colección de sellos o monedas, para catalogar un listín telefónico o para tener ordenados los libros de tu biblioteca particular.

Programado por la británica y entonces afamada PSION Software y distribuido en España por Investrónica, VU-FILE llenaba un pequeño vacío entre los gestores de datos de la época, pues ya había algunos, pero todos ellos para el ZX Spectrum de 48 kas. Este software corría en un Spectrum 16K, y también en un ZX81 (con el módulo de expansión a 16K, evidentemente).

Carátula de la cinta de casete

Carátula de la cinta de casete

El programa era muy sencillo y bastante intuitivo de manejar, siempre que nos alejemos del concepto que tenemos hoy de los sistemas de gestión de bases de datos. Empezamos creando los campos de la tabla para, posteriormente, comenzar automáticamente a rellenar registros.

Una vez dispongamos de nuestros datos, un menú de opciones de comandos introducidos a través de sus iniciales por teclado nos servirá para agregar nuevas filas, eliminar datos, listar, imprimir, movernos por los registros, etcétera. Son comandos u órdenes del tipo ENTER, ALTER, SELECTBACK, FORWARD, DELETE, ORDER

El software nos permite cambiar los colores de los distintos campos y el tipo de formato con el que vamos a trabajar. Asimismo, podemos elegir el estilo de la impresión, seleccionando los campos que se imprimirán. Las fichas de los registros en pantalla pueden ser configuradas mediante el número de campos, la situación física de cada uno, los literales, los colores, etcétera.

Publicidad en una revista

Publicidad en una revista

VU-FILE trabaja siempre con todos los registros en memoria. Es lógico pensar que, conociendo las capacidades del Spectrum, otra cosa sería totalmente inoportuna. Sin embargo, en cualquier momento podemos grabar nuestro fichero de datos en cinta (o en ZX Microdrive) para volver a recuperarlo en cualquier otra ocasión.

Publicidad

Publicidad

La cara B de la cinta de casete donde venía VU-FILE traía un carga adicional llamada Gazetteer que no era otra cosa que un ejemplo de base de datos diseñada al detalle, con colorines varios y todos los datos ya introducidos. El fichero contenía un banco de datos de todos los países del mundo (ZX Spectrum 48K), o sólo los de Europa (ZX81/ZX Spectrum 16K), incluyendo nombre, capital, idioma, continente, moneda, población, renta per cápita y extensión geográfica.

La cinta costaba 7,95 £ para ZX81 y 8,95 £ para ZX Spectrum. En España venían a ser unas 2.700 pesetas de la época. La verdad es que nada cara en aquellos momentos, pues una base de datos de tal magnitud para un pequeño ordenador de 8 bits nos podía reportar una utilidad inimaginable para esos años. Cuando los grandes lectores de libros estaban pensando la manera en la que organizar su biblioteca a base de fichas dentro de un cajoncito, los que podíamos contribuir a aquella empresa de una manera digital éramos algo así como dioses rarunos y muy frikis (true story).

Por cierto, podemos descargar los dos archivos (cara A y B de la cinta) de VU-FILE para emuladores de Spectrum desde su entrada en la web World of Spectrum.

[Retropapelote de la semana] Commodore Magazine, versión erótico-húngara

Commodore Magazine, Hungría

Commodore Magazine, Hungría

La revista Commodore Magazine fue una publicación estadounidense que giraba en torno a la máquina de 8 bits y que llegó a publicar 34 números, entre enero de 1987 y octubre de 1989. Como muchas revistas del momento, y también actuales, Commodore Magazine tuvo sus ediciones en otros países.

El caso que nos ocupa se refiere al número de enero de 1988 de la edición húngara, al cual pertenece la estúpida portada que podemos ver en la imagen de esta entrada. En ella, un hombre parece preferir dedicar su tiempo a un juego en un Commodore 64 que a la estupenda mujer en paños menores que tiene entre los brazos.

Y digo estúpida, no porque no me parezca ingeniosa y divertida, que me lo parece, sino porque me resulta ridículo utilizar así la sexualidad y el cuerpo femenino semidesnudo para estos menesteres. Pero es lo que se llevaba en los ochenta, que le vamos a hacer; esto vendía (y vende). Muchos pensarán que hoy en día tampoco han cambiado tanto las cosas: simplemente cambia el C64 por una Xbox One y listo. 😀 😯 😀 😈 Entre lo jocoso, lo irrisorio y lo grotesco anda el juego.

30 de 111«...1020...2829303132...405060...»
eBook ‘retroPLOF!’

retroPLOF!

Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

Sigue teknoPLOF! vía…
 
RSS
Twitter
Facebook
Google
 
Ready Set Click!

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

CERRAR