De portabilidad, escalabilidad, y otras bilidades
Hace por estas fechas unos diez años, me encontré con que tenía que procesar el turno en la otra punta del planeta. No tenía portátil ni nada que se le pareciese, así que no podía permitirme el lujo de copiar simplemente todo el quiosco tal cual. Encima, en el sitio al cual iba a trabajar no sabía si iba a encontrarme con sistemas Windows 3.11, Windows 95, OS/2 o AIX. En aquella época, el mínimo común denominador era MS-DOS, así que decidí poner a punto la aplicación en dicho sistema, con la seguridad de que funcionaría en cualquier parte, y de hecho así fue. Tuve ocasión de probar la aplicación de En Garde! incluso en algo tan marciano como un AS/400 (con IPCS, claro).
Pero como los problemas nunca vienen solos, al problema previsto y resuelto de la portabilidad de sistema se unió el de la portabilidad de las comunicaciones. En aquella época las comunicaciones de la partida se llevaban mediante tecnología FidoNet (¿algún abuelete entre los presentes?). Pero la tecnología FidoNet se basaba en modem y línea telefónica directa, llamadas automáticas de diez o quince segundos a las cuatro de la mañana para reducir costes al máximo, etc, etc. Obviamente, en el laboratorio donde trabajaba estas cosas no me las podía permitir. Solución: generar los mensajes de FidoNet de la manera normal y, en lugar de enviarlos, abrirlos con el Bloc de Notas, copiar todo el texto, pegarlo en un e-mail (de los primeros que hubo) y enviar dichos e-mails. Uno a uno.
Ese turno fue traumático. En primer lugar, porque mucha gente se quedó fuera. En esa época comenzaba el boom de Internet y, en consecuencia, el ocaso de FidoNet. Mi plan era realizar una transición gradual, dar tiempo a todos, incluso montar algún gateway de enlace para que los fidoneteros pudiesen tomarse todo el tiempo necesario, pero no pudo ser. Tres meses en Estados Unidos, tres meses sin acceso a FidoNet, significaba dejarlos colgados a todos. Así que tomé la decisión de migrar a Internet lo más rápidamente posible. Algunos jugadores tuvieron que dejarlo, muy a su pesar y muy al mío. Unos pocos se reengancharon cuando se pasaron a Internet. Otros no, seguramente descontentos con mi forma de abordar la migración, pero las circunstancias eran las que eran y no pude permitirme hacer otra cosa. No creáis que no lo sentí.
Evidentemente, copipegar cada turno a mano era un palo, una fuente de errores, etc, etc. Además, al montar la página web de la partida la cosa se complicó: ¿cómo trasladar las listas de personajes, damas, cargos, etc, a la web? Estos y otros problemas parecen muy sencillos, pero no olvidéis que estamos hablando de una aplicación hecha en BASIC de MS-DOS, es decir, modo texto, pantalla de 80x25, nombres de archivo de ocho caracteres+puntito+tres caracteres, ni acentos, ni espacios, ni nada parecido, página de códigos diferente, etc, etc. Total, que con el tiempo, la aplicación súper-portable fue evolucionando: cuando me conseguí un portátil con Linux, instalé todo allí y mediante una serie de chapuzas y parches conseguí que la cosa fuese bastante automática (para los que sepáis lo que es: nunca había visto tantos "ln -s" en una misma máquina). Como os decía, de súper-portable evolucionó a súper-enquistada-en-el-portátil.
Ahora este portátil está llegando al final de su vida útil. Ya me ha dado un par de sustos este último año, sustos de los que ni os habéis enterado gracias a mi escrupulosa manía de hacer copias de seguridad. Como no tengo perspectivas de pillarme otro portátil en un futuro próximo, principalmente porque no lo necesito excepto para cuando Marc y yo decidimos procesar el turno en su casa, he decidido tomar una aproximación diferente: instalar todo en un servidor y procesar el turno remotamente. Y esa ha sido la causa de tantos problemas: migrar la aplicación "súper-portable" a otra máquina muy parecida (de Linux a Linux), pero con la filosofía de no moverla de su sitio y hacerlo todo en remoto. Claro: permisos de archivos, pasar de una consola directa a una ejecución vía SSH dentro de una ventana X11, de POP a IMAP (teniendo en cuenta que la aplicación, como no soporta e-mail, escribe texto directamente en los ficheros de correo), pasar de hacer un "mirror" directo de la web con un FTP semi-automático a uno incremental, etc, etc. Total: que podíamos esperar sorpresas de todo tipo, y las hemos tenido. He pasado una semana de lo más surrealista, y aún me parece que la cosa ha ido medianamente bien.
"¿Y por qué no cambias la aplicación por otra más moderna?", me preguntaréis. Respuesta: todo llegará. Cuando tenga el chiringuito montado y fun-cio-nan-do en la máquina nueva, comenzaré a escribir desde cero una aplicación web para gestionarlo todo, e integrada con todos los servicios necesarios: correo, web, etc, sin necesidad de chapuzas, y lo haré de una forma que me permita pruebas, funcionamiento en paralelo, y lo que haga falta.
Con calma. Esta vez no me pasará como hace diez años. Y la aplicación nos tiene que durar, por lo menos, otros diez, y ser adaptable, escalable y evolucionable. Lo de portable mejor me lo callo, por si acaso.