Archivo

Entradas Etiquetadas ‘personal’

Programando en los ’90

Jueves, 20 de abril de 2017 Sin comentarios

Programar siempre me ha sido entretenido pero difícil. No me malentiendan, puedo lograr buenos resultados pero eso no implica que sea fácil, sólo que soy lo suficientemente porfiado para seguir adelante hasta lograr lo que quiero hacer. El poder convertir en real algo que antes sólo existía en la imaginación es una de mis principales motivaciones, y si esto plantea algún desafío técnico interesante, mejor aún.

Creo que uno de los motivos por los que ya no me entusiasma por ejemplo entrar a la programación de videojuegos, es que ahora tienes libertad para hacer cualquier cosa, y básicamente lo que se trabaja es el gameplay y el contenido. A mi en realidad lo que me llamaba la atención era el desafío técnico, como por ejemplo tratar de hacer un port de un juego de arcade al Atari (800): Cómo usar adecuadamente los 4 colores por línea, o los cuatro canales de sonido, o sacar el jugo a su CPU de 1.79Mhz con apenas 3 registros.  Recuerdo que podía pasar una tarde entera trabajando en una “rutina” de assembler en un cuaderno hasta llegar a su mejor versión.  Era una época en que una simple optimización podía significar que algo fuera factible o no.

 

2017-04-20 22.06.15

Reproductor de música FSTR

 

Bueno, eso era en los ’80 y reservaré ese relato para un próximo articulo de Prince of Persia para Atari.  Ahora vamos a ir “no tan lejos” pero sí a una época que ya no existe y que creo que sería difícil imaginar para quien no la vivió, y para los que la vivimos se nos ha ido olvidando con el tiempo.  Ahora es tan simple aprender algo que no nos acordamos de cómo se hacían las cosas cuando no existía stackoverflow, no había a quién preguntar y peor aún, no había documentación de ningún tipo.

Internet a inicios de los ’90

La primera mitad de los ’90 es una época que recuerdo con mucho cariño, se comenzaba a hacer accesible tener computadores más potentes y comenzaba a haber algo de información disponible para aprender a programarlos, por ejemplo en la biblioteca de la UTFSM podías encontrar algunos libros de Intel sobre la programación x86 y lo más importante, algo de código fuente para mirar en algunos rincones de Internet.

 

Intel 286 programming

iAPX 286

 

A ojos de hoy eso suena muy natural, pero era muy diferente a lo que tenemos hoy en día.  De partida el acceso a Internet no existía en las casas, sólo en las  universidades,  y siendo mechón como yo… ni siquiera podías usar internet en la universidad.  Entonces, no era llegar y escribir en un buscador lo que andabas buscando, no señor! No había tal buscador, ni siquiera tenías un navegador, la información estaba principalmente en servicios de grupos de noticias (usenet / newsgroups) – imaginen algo como un foro universal de internet de sólo texto – y sitios de descarga por ftp que se usaba por linea de comandos.  Para buscar, existía una aplicación llamada Archie que buscaba archivos, entonces sólo si el sitio contaba con un índice decente, podías llegar a encontrar algo.

 

tin

Newsgroups en Usenet (via TIN)

 

Ahora, como Internet no era tan grande como en la actualidad, los sitios que tenían información sobre programación de PC eran pocos y por lo tanto muy conocidos. Había un repositorio en especial que estaba replicado en varios servidores de FTP, se llamaba Simtel y era un paraíso.  No sólo había código fuente para mirar, sino que también documentación! Todo eso disponible al alcance de un comando GET.  El problema era que no podías llegar a ese punto si el acceso a esos sitios estaba bloqueado o peor aun, eras mechón como yo.

Siendo mechón en la UTFSM a inicios de los ’90

Y es aquí donde creo que por primera vez hablaré en público de las historias no contadas de mis tiempos en la UTFSM, cuando sabías que el conocimiento estaba disponible, sólo que no lo podías alcanzar. Esto era más o menos entre 1993 y 1994, y la UTFSM pagaba por tráfico internacional por lo que éste estaba permitido sólo para alumnos que tuvieran ramos o actividades que lo justificaran. El acceso para el resto de los alumnos era sólo a las réplicas nacionales en donde estaban los newsgroups (saludos a chile.comp.pc), pero no estaba Simtel.  Entonces algo había que hacer.

Aparte de no tener acceso a Simtel por estar en redes internacionales (que divertido suena eso ahora), estaba el inconveniente de que si llegabas a conseguir algo de información, sólo te podías llevar una copia en la mente, porque no podías pasar esa información a diskettes – ni hablar de pendrives, aun faltaban varios años para que siquiera inventaran el puerto USB. El único acceso era un terminal de texto monocromo en donde al menos podías descomprimir y leer los archivos in situ. Dado el estado de la tecnología todo era archivo de texto, incluso las revistas, así que bastaba con eso.  Aún así, persistía el problema de llegar a Simtel.

 

Terminal-wyse50

Terminal de texto Wyse 50

 

Los laboratorios de “investigación”

Y es aquí en donde aparecen los amigos de siempre: Luis Cueto, Max Celedón, Cesar Hernández.  Ellos por estar en cursos superiores tenían otros amigos que tenían acceso a otros laboratorios, en donde se hacía “investigación” y por lo tanto sí tenían acceso a los nodos internacionales.  Entonces, desde ahí se podía llegar a Simtel, pero tampoco había forma de llevarse archivos a la casa para estudiarlos con calma, ya que eran terminales de IBM conectados a un mainframe, al que sólo tenía acceso un grupo selecto de operadores – capa blanca incluida – a los que tenías que llamar con un timbre para que te mataran un proceso si éste se caía… cosa que ocurría habitualmente dado el número de veces que se escuchaba sonar el timbre famoso.

 

2bb5fd362fb409376af3b0108f19982f

IBM: Nunca los vi, pero es para hacerse una idea

 

Y es aquí donde entra a jugar la audacia de Max. La maquinaria de descarga de información funcionaba de la siguiente forma:  Max, Luis o César se conseguían una cuenta de IBM con algún amigo “investigador”, eso nos permitía usar ese laboratorio para llegar a Simtel siempre y cuando estuvieras dispuesto a suplantar presencialmente al verdadero dueño de esa cuenta. Yo no era de los valientes puesto que era muy joven para darme cuenta de que los usuarios de ese laboratorio no se caracterizaban por sus habilidades sociales, por lo que difícilmente te preguntarían el nombre. Esas cuentas iban muriendo pero Max siempre aparecía con una nueva, cuentas con nombres como i5elo200 o i5esp101 eran algunas de las regalones, e incluso Max tuvo una propia más tarde, i5mceled.

 

Captura de pantalla 2017-04-20 22.28.05

Inicios en la comunidad MSX con cuenta de “alguien”

 

Una vez encontrados y descargados los archivos en ese laboratorio IBM, tenías que pasarlo a tu cuenta Unix en el laboratorio que no tenía acceso a los nodos internacionales, pero sí tenían disketteras. Transferir los archivos era fácil porque esos laboratorios estaban conectados, y mientras no revisaran los logs del servidor ftp de Unix no habría problema.  Una vez con los archivos en la cuenta, venía el paso final que era pasar esos archivos a diskette.

Pidiendo favores a los verdugos

El último paso era pasar los archivos a diskette, y el más complicado porque tenías que pedírselo a una persona. Y no era a cualquier persona. En una zona especial del laboratorio Unix (labsw para los amigos), había un grupo de unas 4 personas que estaban tras un vidrio, intocables, omnipotentes, omniscientes. Esa división no era antojadiza, eran los únicos con acceso a todos los nodos de internet y a las estaciones de trabajo Unix de la época. Mientras los alumnos regulares como uno usaban un terminal de texto, ellos usaban equipos con 128MB de RAM, pantallas de 21 pulgadas, discos duros gigantes y mouse con puntero láser, cuando lo normal en las casas era tener 1MB de RAM, pantalla de 14 pulgadas y mouse con bolita.  Sí señor, ellos eran unos elegidos – literalmente porque había que postular al cargo – y tenían el poder de cerrar tu cuenta en cualquier momento (omnipotente) y saber todo lo que estabas haciendo (omnisciente).

 

Sun SPARCstation

 

Sí, a ellos tenías que pedir que te copiaran a diskette los archivos que obtuviste desde nodos prohibidos, usando cuentas que no eran tuyas, suplantando a personas que ni siquiera conocías. Y algunos de ellos eran famosos por ser de malas pulgas, con varias víctimas a quienes se les cerró la cuenta por mucho menos. Siempre recordaremos con cariño al famoso Arcadia, de quien no daremos detalles para proteger su verdadera identidad.

Pero esto no era problema para Max, a su modo de ver las cosas, bastaba con decir que necesitabas copiar una tarea de tu cuenta Unix a un diskette y listo.  Su apuesta era que el ayudante no se iba a dar el trabajo de revisar los archivos, sólo era cosa de usar los nombres adecuados, y así era como el archivo tarea.zip podía incluir los artículos de optimización y gráficos de Michael Abrash y nadie se enteraría.

Y así fue!

Con el tiempo, comenzamos a descargar información de hardware de PC para aprender a programar la VGA, Adlib, Soundblaster, llamadas a la BIOS, llamadas a DOS, luego comenzó a surgir información más interesante aún como partes no documentadas de la VGA, el famoso ModoX, smooth scrolling, algoritmos de sonido, hacking, se pueden imaginar el paraíso que eso significaba para alguien que antes sólo contaba con el manual de usuario del PC.

Y como sucede muchas veces – sino pregúntenle a Penta y SQM – con el tiempo agarramos confianza y comenzamos a descargar tablaturas, demos (de la demoscene), juegos shareware, música en formato MOD, MIDI… todo era tarea. Tarea, tarea, tarea.

Imagen de previsualización de YouTube

La bienvenida

Hasta que un día, Max llegó al laboratorio Unix y ahi lo estaba esperando Arcadia junto al resto del olimpo. Pero no estaban solos, ya que con ellos se encontraba el ser superior (literalmente): Horst von Brand dueño y señor del laboratorio Unix, fundador y prócer de ése y otros imperios. Si Horst quería hablar contigo era porque habías hecho algo muy bueno, o muy malo. Siendo éste último nuestro caso.

Tal honorable bienvenida tenía un propósito claro y preciso: Presentar ante Max los logs de transferencia de todas las “tareas” a la fecha, que ya sumaban megas y megas internacionales, multiplicados por su equivalente monetario.  Según cuenta la historia, gran porcentaje del millonario costo por transferencia de datos de toda la universidad se debían a nuestras “tareas”.

 

227518_1030506880700_7197_n

Con Max en el verano de 1994

 

El resto de la historia sólo la conoce Max y el comité de bienvenida.  Por supuesto, su cuenta fue cerrada y a la larga la mía también, pero por otros motivos que podré contar en un nuevo post.

i5esp101@loa, i5meceled@loa, hydefus@inf, human@inf nunca los olvidaremos.

Y qué hice con toda la información descargada? Todo lo que pude y quise! Desde algunos experimentos como rutinas de reproducción de mods que nunca fueron utilizadas, hasta una aplicación para reproducir músicas de MSX (computador de 8 bits) en nuestros PCs.  Incluso las rutinas de sonido que pude ver en esa época me ayudaron años después a hacer DeFX – que más tarde me llevó a tvnauta – y después resucitó como MusicTrans.  Las partes en C de MusicTrans y RetroX le deben mucho a lo que aprendí en esos años también.

Cuando uno recuerda lo que costaba aprender a programar en ese tiempo comparado con lo que tenemos hoy, no hay excusas si quieres hacer algo interesante, las respuestas están al alcance de un click!

PD: Muchos detalles han sido omitidos para facilitar la lectura. Algunos eventos o especificaciones pueden ser no tan precisos, lo serían si no hubiese esperado 20 años para escribir este post.

Como teaser, les dejo un demo de la aplicación de música, a la que le dedicaré un próximo artículo.

Imagen de previsualización de YouTube

Amigo Secreto en TUXPAN 2008

Sábado, 20 de diciembre de 2008 2 comentarios

Una de las actividades típicas que se hacen cuando nos acercamos las Fiestas de Navidad en las empresas es el famoso Amigo Secreto. En TUXPAN esta costumbre de a poco ha ido cambiando y tenemos una celebración bastante particular.  En vez de hacernos regalos entre nosotros que no tiene mucho sentido, juntamos ese dinero para ayudar a una institución de beneficencia.

¿Entonces qué queda del Amigo Secreto?  También se hace un sorteo, pero en vez de regalar un objeto a la persona de quien uno es Amigo Secreto, se le dedican unos versos que se tienen que leer en público con la idea de que los compañeros adivinen quién es el Amigo, y los mejores versos sacan premio.

Esto que puede parecer fome, es todo lo contrario, ya que no tiene que ser algo necesariamente serio, y hay todo tipo de estilos, desde los más poéticos hasta los cercanos a la paya.  Incluso este año algunos incursionaron con cuentos.

Leer más…

Tags: ,

Academy Conference 2008

Lunes, 17 de noviembre de 2008 8 comentarios

El viernes se realizó la Academy Conference 2008 en DuocUC.  Estuve participando en dos frentes : Un debate sobre Linux vs Windows respecto a Seguridad y en la tarde con una charla a los alumnos de Enseñanza Media.  Lo que ocurrió es bastante interesante. Aquí vamos!!

El Debate y los fundamentalistas

El debate de Linux vs Windows fue muy distinto a lo que yo esperaba.  Tenía como referencia esa ocasión en que se armó una acalorada discusión con Enzo Fedrizzi de Microsoft en el programa UCVTV.CL, y esta vez llevaba mis boleadoras en caso de que el debate se pusiera complicado.

Representando a Microsoft se encontraba Pablo Rojo, especialista en temas de Seguridad y representando a Linux estaba yo.  Hicimos las presentaciones de rigor y comenzaron las preguntas del público.  Partieron directamente atacando a Microsoft, pero (segun yo), con poco fundamento.  Fue tanto así que tratando de mantener la objetividad tuve que corregir varias veces a los que hacían preguntas, porque en algunas partes estaban derechamente perdidos (LD style!).
Leer más…

Rescatando un ensayo

Domingo, 28 de septiembre de 2008 2 comentarios

Anoche celebramos el aniversario número 15 de TUXPAN con una gran fiesta!!

Para este año me invitaron a participar con un número musical y armamos una banda flash entre 4 compañeros : Katherine Gallardo (Kathy) en voz, Vanessa Zúñiga (Mane) en el bajo, Miguel Manriquez (Mima) en guitarra acústica y yo en guitarra eléctrica y producción musical. La idea era hacer los otros instrumentos con una base para complementar los nuestros. Preparamos 3 canciones pero justo unos días antes de la presentación Kathy tuvo que viajar urgente a Brasil y tuvimos que echar pie atrás.

Para no quedarnos sin participar, usé unas tomas de la sesión de ensayo para armar entero el tema que más me gustaba (Como hemos cambiado / Presuntos implicados), y la Mane armó un vídeo con fotos de todos los tiempos de TUXPAN, me encantó como quedo todo al final. Espero que la próxima vez podamos tocar este y otros temas en vivo.

Mi idea era no hacer covers “iguales” a los originales, sino aportar con nuestras propias versiones de cada tema. En esta canción en particular aproveché los talentos brasileros del Mima para hacer un quiebre del estilo original (la idea fue antes de saber lo del viaje a Brasil!!!).


Descarga

También, para el recuerdo, registre un video con mi celular cuando practicaba la parte en guitarra del tema.

Click para ver el video (en Facebook). La foto es para los que no creen que soy yo el del video

Click para ver el video (en Facebook). La foto es para los que no creen que soy yo el del video

Atariada 2008 y el regreso de mis primeros programas

Domingo, 4 de mayo de 2008 14 comentarios

El sábado estuve en un encuentro de “retrocomputacion” bautizado como Atariada 2008. Fue un evento inolvidable, partiendo por el hecho de que pude recuperar varios discos con los primeros programas que hice, de hace unos 15 años atrás!

El encuentro fue organizado por los muchachos del RetroGames, foro en el que estoy participando hace poco. Pude compartir con varios personajes de la escena Atari de los 80 y principios de los noventa como Parche Negro (de NHP) y sus amigos de Prisma, disfrutando de toda una tarde de recuerdos y tratando de echar a andar los programas de la época de los microcomputadores.

CAIN para Injektor.. del año 92!

CAIN para Injektor.. del año 92!

Llegamos con Max Celedon pasado el medio día. Llevábamos todo tipo de cachureos, revistas, hardware, diskettes, etc. Max llevaba su Talent TPC-310 MSX2 + diskettera + decenas de diskettes, yo llevaba algunas revistas y mis diskettes que contenían los últimos programas que hice para el Atari, y al mismo tiempo diría, los programas de mi “primera generación”. Casi todos estaban relacionados con mi trabajo en la Electronica Johanne’s de Villa Alemana, en donde copiabamos juegos de Atari en una época en donde hasta el distribuidor “oficial” vendía copias.
Leer más…

De vuelta al Atari (800XL)

Viernes, 18 de abril de 2008 3 comentarios

Desde la semana pasada he estado revisando material del microcomputador Atari, que fue el que me ayudó a dar mis primeros pasos en la computación hace mas de 20 años.

Me inscribí en el foro de RetroGames y también he estado mirando AtariWare, en ambos hay mucha gente que vivió una infancia muy similar a la mía. Incluso están quienes hacían los programas que yo revisaba en esos años, además de gente que sigue haciendo cosas.

Hace un par de días fui a la casa de mis papás y encontramos el cuaderno que usaba para programar cuando tuve mi primer trabajo en la Electrónica Johanne’s de Villa Alemana. Un auténtico tesoro para mi, claro que ahora lo miro y me cuesta un poco entender lo que hacía en ese tiempo.

Después de más de 15 años de inactividad, hice mi primer programa en ASM para Atari, claro que fue mas que nada para ver si podía programar en Linux y luego cargar el código de máquina en un emulador. Es una tontera: Si se ponía la pantalla negra significaba que había funcionado.

fcatrin@shaman:~$ cat test.asm
    .word $FFFF
    .word start
    .word end-start
    * = $600
    code
start
    lda #0
    sta 710
loop
    jmp loop
end

fcatrin@shaman:~$ xa test.asm -o test.xex
fcatrin@shaman:~$ atari800 test.xex

Y voila!!! No hay excusas para no hacer algunas cosas entretenidas ahora que es más facil y tengo unos años más de experiencia que en ese tiempo. Pero tengo mucho que repasar aun.

PD: Estoy usando Atari800, xa65 y gedit.