Néstor Soriano, conocido en «los internetes» como Konamiman ¡es la primera persona de la historia de la humanidad que logra twittear desde un MSX, todo un frikilogro! Por eso dedidí que era hora de dedicarle una entrevista y contaros como se enamoró de los ordenadores MSX de por vida MSX y también de una mujer japonesa… pero no os adelanto más, os dejo con la entrevista.
> – Tu vida en 5 frases
Néstor Soriano para servirles, andaluz de nacimiento pero mallorquín
de adopción. Fui un niño normal hasta el 6 de enero de 1986, día en el
que a punto de cumplir yo doce años cayó en mis manos un flamante
Canon V-20 que me convertiría en un geek-friki de esos. A principios
de los 90 el sistema MSX murió oficialmente, pero yo me uní a la
resistencia, formada por más geek-frikis que se empeñaban en
mantenerlo vivo. En 1993 empecé la carrera de ingeniería en
telecomunicaciones, que finalicé en 2002 presentando como proyecto de
fin de carrera una pila TCP/IP para MSX. En 1997 conocí en un chat
internetero a una señorita japonesa que me envió un producto típico de
su tierra: un MSX Turbo-R; por supuesto acabé casándome con ella.
Desde 2002 trabajo de programador, como no podía ser de otra forma.
> – ¿Qué significa MSX? ¿Qué es?
MSX fue un intento, exitoso según algunos y «fracasoso» según otros,
de poner algo de orden en el caótico panorama de la informática
doméstica a principios de los años 80. El sistema MSX define unas
especificaciones mínimas para ordenadoers personales que pueden ser
implementadas por cualquier fabricante, asegurando así que todas las
máquinas que llevan el logo «MSX» son compatibles a nivel de hardware
y software. Vamos, lo mismo que hoy en día son los PCs.
El estándar MSX fue presentado en 1983, y la última máquina, un MSX
Turbo-R, salió de una fábrica de Panasonic creo recordar que a finales
de 1993. Empresas no precisamente pequeñas como Sony, Sanyo,
Panasonic, Mitsubishi, Toshiba o Philips fabricaron ordenadores MSX.
El estándar MSX fue desarrollado principalmente por Microsoft y ASCII
(empresa que era la filial japonesa de Microsoft en aquella época), y
el significado de las siglas sigue sin estar claro aún hoy en día. Las
tres hipótesis más plausibles son «MicroSoft eXtended»,
«Matsushita-Sony-X» y mi favorita, «Machines with Software
eXchangeability».
> – Cuéntanos el origen de tu nickname konamiman
Allá por 1991 mi padre compró una tarjeta para conectar el PC a la red
Ibertex (lo que vendría a ser el tatarabuelo de las redes sociales
actuales). Para los chats al principio yo usaba «Néstor Soriano y su
MSX2+» como nick, pero no me parecía muy glamouroso, así que me puse a
pensar y me dije: «Ya está, me pondré konamiman porque me gustan mucho
los juegos de Konami» (siento decepcionar a los que esperaban una
historia más rocambolesca).
Años después me enteré de que en un juego de NES aparecía un personaje
con el mismo nombre, pero tampoco era cuestión de denunciar a Konami a
esas alturas. 😛
> – ¿Lo de hacer un cliente de twitter para MSX se te ocurrió un día cualquiera? ¿Inspiración divina?
Antecedentes rápidos: en 2002 hice InterNestor Suite, una pila TCP/IP
para MSX que presenté como proyecto de final de carrera. En 2003
simplifiqué la pila (la original era muy estándar y muy bonita pero
muy pesada) convirtiéndola en InterNestor Lite, INL para los amigos.
En 2004 un usuario de MSX manitas desarrolló ObsoNET, una tarjeta de
red para MSX; yo adapté INL para poder usar la susodicha.
El año pasado otro usuario desarrolló DenYoNet, otra tarjeta de red
que procesa el TCP/IP por hardware (lo cual se agradece muy mucho
cuando tu CPU es un Z80). Problema: INL y DenYoNet iban a usar APIs
distintas, con lo cual las aplicaciones hechas para el uno no
servirían para el otro. Solución: desarrollar una API estándar para
pilas TCP/IP. Esto implicaba cambiar INL de arriba a abajo, para que
cumpliera la nueva API, y convertir las aplicaciones existentes.
Para «promocionar» el nuevo INL, pensé que sería interesante
desarrollar alguna aplicación más, aparte de la básicas que ya hice
(los clientes de ping, FTP, TFTP y telnet). Hice un cliente de SNTP,
que permite poner en hora el MSX remotamente, pero pensé: necesito
algo con más chicha.
Entonces recordé cómo otro usuario había modificado en el pasado mi
cliente de telnet, convirtiéndolo en un cliente de IRC. Pensé que
igual se podría hacer lo mismo con Twitter, que es algo que tiene
bastante gancho hoy en día. Y efectivamente, encontré una web que
explicaba cómo twitear desde telnet, era realmente sencillo.
Pero, ¡ay! Dicho ejemplo usaba la autenticación básica, y en cuanto
indagué un poco descubrí que desde julio de este mismo año Twitter
sólo aceptaría autenticación OAuth, que implica calcular hashes SHA1 y
redirigir al usuario a una web para completar la autenticación. Al
principio pensé: «demasiado lío». Pero después pensé: «pues oyes, si
lo consigo, anda que no va a molar». Y me puse a ello.
> – ¿Cual fue el mayor obstáculo a la hora de la implementación del cliente?
El mayor obstáculo para todos mis proyectos actuales es la falta de
tiempo. Trabajo hasta las siete y al volver a casa hay una señora
nipona y dos monstruitos mitad y mitad que requieren atención, y con
toda la razón del mundo. Así que tengo que buscarme la vida, usando un
emulador de MSX en el rato libre que tengo a la hora de comer, y
levantándome un poco más temprano para usar mi Turbo-R.
Ya en el plano técnico, las dos dificultades que he encontrado han
sido el tener que hashear (ahora que lo pienso, ¿existe esa palabra?)
en SHA1, para lo cual he buscado un módulo en C ya existente y lo he
adaptado; entendérmelas con el OAuth, aunque por suerte en oauth.net
hay un tutorial interactivo bastante detallado; y conseguir que el
tamaño total de la aplicación no se desmadre y no se necesiten más de
64K de memoria (en ese caso, ya hay que meterse con gestores de
memoria y la cosa se complica).
Autentificación OAuth vía MSX.
> – ¿Qué es lo más interesante que has aprendido durante la implementación del cliente? Así los demás nos ahorramos trabajo 😉
Pues he aprendido que si bien es cierto que los machos muy machos
programan directamente en su MSX y en lenguaje ensamblador, cuando la
vida real ataca y queda poco tiempo para frikismos no pasa nada por
ser un poquito menos macho y programar en C, usando un ensamblador
cruzado (en mi caso SDCC) y un emulador de MSX (aunque por supuesto,
las pruebas finales hay que hacerlas en el MSX «de carne y hueso»).
Dudo que esto ahorre trabajo a alguien que no esté también en la secta
del MSX, pero es lo que hay. 🙂
Este es el resultado final, twitteando directamente desde un MSX!
> – ¿Qué es lo que más de te gusta de Japón?
¿Hace falta decirlo? Ir a Akihabara en Tokyo o a Nihombashi en Osaka,
entrar en Sofmap o en Super Potato, y encontrar una estantería llena
de juegos de MSX y de modelos de MSX que encima yo no había visto
jamás. Y eso que de MSX hay poca cosa: de NES y SNES hay
tranquilamente el triple de material.
Aparte de eso, es una delicia poder planificar tu tiempo sabiendo que
tanto la gente como el transporte público son extraordinariamente
puntuales; la comida es deliciosa, sobre todo en la zona de Osaka, de
donde es mi señora; y qué decir del acceso a internet: por ejemplo mi
suegro, que está un poco anticuado, tiene una conexión de «sólo» 30
megas.
> – ¿Y lo que menos?
Pues por increíble que parezca, el incivismo de la gente; no me
refiero a no tirar basura en la calle (ya se sabe que las calles
japonesas son una patena) sino al trato humano con la gente que
necesita algo de ayuda. Y no es que lo diga un maldito extranjero como
yo, es que mi mujer opina lo mismo.
Nos ha pasado más de una vez estar en un tren abarrotado de gente, con
un bebé en brazos, y no levantarse nadie, absolutamente nadie para
cedernos el asiento (el teléfono móvil parece ser una excusa perfecta
para disimular en estos casos). De forma similar, los ascensores de
los centros comerciales están siempre llenos de lozanos jóvenes que
bien podrían usar las escaleras mecánicas, y ni se inmutan cuando te
ven cargado con un bebé y un cochecito de ídem.
También me sorprende que una sociedad tan avanzada en algunos aspectos
esté tan retrasada en otros. ¿Cómo es posible que esté mal visto vivir
en pareja sin matrimonio de por medio? ¿Por qué una mujer tiene que
renunciar a su vida laboral en cuanto se casa? ¿Por qué la pornografía
está censurada? (eh, que esto último lo sé porque me lo han dicho,
¿eh?) 😛
> – Una lección de vida que hayas aprendido de Japón y sus gentes
Pues no creo que esto sea lo que la gente espera que diga, pero a
colación de las dos preguntas anteriores, podría decir que he
aprendido que en todas partes cuecen habas. Quien dice «es que Japón
nos lleva años de ventaja» tiene razón sólo en parte: el caso
contrario también se da, en algunos aspectos llevamos años de ventaja
a los japoneses. Todos los países/culturas tienen algo que aprender de
los demás.
Después de haber dicho todo esto puede parecer que no me gusta Japón,
pero nada más lejos de la realidad: es un país que me encanta, voy una
vez al año y espero poder seguir así mucho tiempo.
> – ¿Tienes en mente algún otro proyecto friki?
Huy, y tanto, otra cosa es de dónde sacaré el tiempo para ellos. A
corto plazo, estoy trabajando en la BIOS de la tarjeta DenYoNet que he
mencionado antes; y quiero ampliar el MSX trivial tweeter para poder
escribir en japonés (los MSX japoneses usar el juego de carácteres
shift-jis y Twitter sólo acepta UTF8; convertir de uno a otro no es
algo trivial) y quizá también para mostrar el timeline del usuario
(que es algo que ya me han pedido; es que les das la mano y piden el
brazo). 🙂
A más largo plazo, me gustaría poder retomar algún día el proyecto de
la tarjeta USB para MSX. Hace cinco años un usuario hizo un prototipo
y me lo envió, hice el software controlador y conseguí que el sistema
operativo del MSX leyera y escribiera ficheros de un pendrive. Pero el
proyecto no pasó de eso, un prototipo, y claro, si nadie se decide a
desarrollar algo similar hoy en día pues no hay software que valga.
> Muchos abrazos,
Veo tus abrazos y los doblo.
Podéis seguir las aventuras de Konamiman en:
konamiman.blogspot.com