¿Como empezó todo esto?

Hace unos días me compré un Floppy USB para leer unos disquetes que tenía por casa, dentro había código que escribí en mis inicios, a los principios de los 90, con 11 o 12 años. Me ha hecho pensar en como empecé, y, aunque no es un tema técnico, he creído oportuno escribir un post al respecto.

La familia

Mis inicios en la informática están vinculados a la historia de mi hermano Salvador.
En la década de los 80’s mi hermano tuvo que interrumpir sus estudios en COU por que en casa hacía falta dinero y tuvo que ponerse a trabajar, en mi pueblo, si no eras hijo de, tenías que trabajar en el campo, a mi hermano le gustaban las ciencias y en el trabajo se sentía desaprovechado así que cuando terminaba de trabajar iba a la “academia” del pueblo a aprender contabilidad, informática y programación. La cosa es que aprendió bastante y se le daba bien así que empezó a buscar trabajo y como no había decidió emigrar a Ibiza a buscar trabajo.

Al poco tiempo estaba trabajando y a finales de los 80 principios de los 90, sobre el 89 o 90 montó una academia de informática. Así que los veranos en cuanto yo terminaba la escuela, mi madre y yo nos íbamos a pasar allí todo el verano a estar con él. El primer año que fui era el año 89 y recuerdo que mi hermano tenía en su habitación un aparato de color beis con una “televisión” encima y un teclado delante, mi hermano decía que eso era un “ordenador” y yo curioseaba preguntándole que hacía eso y tal. A mi me gustaba mucho por que tenía un juego de ajedrez que estaba muy chulo la pantalla era de fósforo verde y se veía regular, pero vamos que lo único que hacia era jugar a él y pocas veces ya que el ordenador estaba en su habitación y yo no entraba mucho allí.

Al siguiente año mi hermano se había cambiado de casa, a una urbanización en las afueras de Santa Eulalia (Miramar se llamaba), allí el ordenador estaba en el comedor y tenía más acceso a él, así que me picaba la curiosidad, mi hermano me llevaba a bañarnos a la playa o a la piscina y mientras le preguntaba cosas de la “informática” y él me explicaba que era un sistema operativo, los discos, que eran los ficheros, que eran los directorios (en aquellos entonces no había carpetas XD), me iba enseñando algunos comandos de MSDOS para cambiar de unidad, cambiar de directorio, mirar el contenido de ficheros, … También me enseño algunos programas como el Wordstar, un programa del que no recuerdo el nombre de clip art que funcionaba en modo gráfico con el que hacíamos tarjetas de felicitaciones, …

Poco a poco me iba picando, tenía algunos juegos, el que más me gustaba era el Digger pero al final terminaba por aburrirme y me salia a MS-Dos y empezaba el verdadero juego; moverme por los directorios del disco duro (20 MB de disco duro, era una pasada), a hacer “type” de los archivos, a cotillear, a crear nuevos directorios, a hacer “dir” en directorios con muchos archivos y cronometrar lo que tardaba … me aburría de eso y entonces reiniciaba y miraba como contaba los 512kb de memoria ram, y leía toda la info de la bios en el boot, … Escribía una carta con el WordStar, o una tarjeta de felicitación, …

Era muy divertido y mi hambre crecía, quería saber más, así que estaba todos los días deseando que llegara mi hermano para coserlo a preguntas, yo veía como el WordStar hacía cosas y quería saber como se hacían esas cosas. Entonces mi hermano me enseño a crear archivos .bat para encadenar comandos de MS-DOS y como quería más y más me habló de la programación.
La cosa consistía en abrir un programa que se llamaba “Basic” y dentro empezar a escribir números de linea jeje. Empecé escribiendo mi nombre en pantalla con un “PRINT”, usar COLOR para cambiar el tono de verde con el que se veían los textos en la pantalla (era CGA pero fósforo verde), usar LOCATE para poner texto en una coordenada de la pantalla, …
Con eso me mantuve bastante ocupado, recuerdo cuando aprendí lo que eran los bucles y como usarlos, se me saltaban las lagrimas jajajaja; resulta que aprendí a activar el modo gráfico y pintar lineas con LINE, se me ocurrió pintar un marco al rededor de la pantalla, una linea arriba otra abajo, otra a izquierdas y otra a derechas … se veía el marco muy estrecho, la linea era muy fina, quería que fuera más gorda, así que lo que hacía era pintar otras lineas al lado de las otras para ganar grosor en el marco, al final el grosor del marco fue de 10, así que aquí “el menda” se curró sus 40 instrucciones LINE para pintar mi marco. Cuando vi a mi hermano fui a enseñárselo y me dijo que le enseñara el código, cuando vio los 40 LINE se sonrió y mirándome me dijo, ha llegado el momento de que aprendas lo que son los bucles, jejeje me enseño lo que eran y lo flipé, “me se” saltaban las lágrimas, que chulos estaban los bucles jaja.

Empecé a copiar código de un libro que mi hermano tenía en casa, no sabía lo que hacía pero lo copiaba y lo ejecutaba y empezaba a cambiar cosas para ver los efectos de los cambios, así aprendí mucho. Ese verano fue la hostia, me encantaba “esa cosa beis” con una pantalla encima y un teclado que tenía mi hermano.

El problema era que el verano acababa y yo tenía que volver al pueblo con mi madre a empezar la escuela, … tenía 11 años recién cumplidos iba a entrar a 6º de EGB. Con mucha lástima me volví y me despedí del ordenador hasta el siguiente año.

Quick Basic 4.5

El siguiente verano cuando llegué a casa de mi hermano tenía ganas de reencontrarme con el ordenador, mi hermano ya sabía que me gustaba mucho y empezó a enseñarme código suyo, heredé muchas rutinas suyas y empecé a trastear guardando información en ficheros, creándome registros lógicos con DIM y guardando fichas de clientes y cosas así. Fue entonces cuando mi hermano me enseñó un nuevo programa que él no había podido empezar a usar por falta de tiempo pero que él sabía que era mejor que el GW-BASIC que usaba, el Quick Basic 4.5, donde ya no hacían falta los números de linea y se podían crear trozos de código independientes con parámetros de entrada, las “SUB” y las “FUNCTION”, wow!!! además ya por fin podía crear archivos .EXE !! Me encantaba eso de poder separar el código, de aislar el comportamiento de un trozo de código del resto, sin saberlo estaba aprendiendo programación estructurada. Ese verano el ordenador echaba humo y yo más aprendía rápido y lo que me faltaba eran cosas por hacer así que fue entonces cuando mi hermano empezó a enseñarme su código, como estructuraba las aplicaciones, como guardaba la información en los archivos, como pintaba las pantallas … Así en los veranos iba poco a poco avanzando.

No se si pasaron 1 o 2 años más cuando mi hermano, unas navidades que vino a casa, me trajo un ordenador, me lo regalo!! … sniff …, me regaló un 8088 con 640kb de RAM, un disco duro de 20Mb o 40Mb y dos disquetera de 5″ y 1/4 de doble cara y doble densidad!! 360kb por disquete!!, yo daba volteretas encima de la cama de verlo en mi habitación, así que poco a poco seguí aprendiendo por mi cuenta. Allí ya pasaron los años y no recuerdo muy bien como se sucedieron las cosas, pero recuerdo que lo peor de programar era que no conocía a NADIE con quien hablar del tema, no tenía amigos que supieran lo que era la programación, no había internet, nadie podía entender que hacía tantas horas delante del ordenador. Eso era la peor parte, y entonces se sucedieron temporadas donde no programaba tanto, como no tenía ningún proyecto que llevar a cabo pues me sentaba delante del Quick Basic, le daba al F1 para ver la ayuda y recorría la lista de instrucciones del lenguaje en busca de alguna instrucción que no hubiera usado, … pero con el tiempo no había nada que no hubiera hecho ya y me empecé a aburrir, por supuesto después de haber colgado el ordenador millones de veces por usar una instrucción que se llamaba POKE, había otra que se llamaba PEEK que no jodía el sistema, pero el POKE este … jaja con este si me entretení bastante pero al final … me aburría.

El libro que lo cambió todo

Es entonces donde empieza a jugar un papel importante en mi vida el Corte Inglés :|. Algunas veces mi madre decía de ir a Murcia capital a comprar alguna cosa o a hacer algún papeleo, cuando entrabamos al Corte Ingles, yo me iba a la sección de libros a leer cosas de informática y mi madre a sus cosas, la esperaba siempre en la sección de informática de los libros para irnos a coger el bus. Allí vi un libro llamado “BASIC. Tecnicas avanzadas.”, de Ethan Winer, este libro marcó un antes y un después en mi vida como desarrollador, corría el año 93 o 94. El libro estaba genial, y traía un DISKETTE!!! jaja, disquete que por supuesto durmió ese día en mi casa … vamos que lo virle!. A ver dentro de lo malo que supone robar en el corte inglés tengo que decir en mi defensa que cada disquete que robaba lo copiaba en casa y luego lo devolvía; sí, volvía al corte inglés, iba al libro y lo volvía a meter. Cada vez que iba a Murcia me metía en el corte inglés y me ponía a leerlo, una vez mi madre se acercó y se armó de valor y me dijo, “si que te gusta ese libro, … venga hacemos un esfuerzo y te lo compro, ¿cuanto vale?” jeje, cuando vio el precio me miró asustada y entristecida me dijo: “nene, son 4000 pesetas, no puedo…”. En mi casa nunca hemos tenido mucho dinero, y por razones que no tengo que argumentar, mi madre no podía permitirse gastar 4000 pesetas en casi nada.

Así que … en la siguiente visita al corte ingles … lo que me llevé fue el libro entero, con el disquete! 😀 Lo mejor de ese libro era que te enseñaba a hacer llamadas a funciones de otros archivos .obj con los que al final linkabas, y te enseñaba como hacer funciones en ASM, compilarlas con Turbo Assembler y hacer link con tu aplicación Quick Basic, … y lo mejor es que tenía un capitulo que te enseñaba ensamblador desde cero. Esto me abrió infinitas puertas, cosas que no podía hacer en Basic estaban ahora al alcance de mi mano, el ensamblador me “molaba mogollón” jeje

En ese libro fue la primera vez que leí sobre una tecnología que era el copón para acceder a los datos, algo llamado “SQL”, que no conocería hasta muchos años después y que el libro definía como “una caja negra” que no se sabía como funcionaba ni importaba, lo importante es que tu le decías lo que querías y el se encargaba de todo.

Vendimia en francia == 486 DX2 66Mhz

Mi ordenador estaba “mu” viejo, creo que corría el año 92 y yo andaba aún con mi 8088 640kb de RAM y 40 Megas bytes de disco duro … Pero el tema del dinero … estaba jodido. Así que se me ocurrió trabajar para ganarme unas “perricas” e intentar comprarme un ordenador nuevo, en concreto el 486 DX2 a 66Mhz. A ver a donde iba a ir con 14 años a trabajar… Dado a que tengo familia en Francia, mi tía María su marido y sus tres hijos vivían en Florensac, y que mi madre y mis hermanos habían estado yendo allí a vendimiar en los peores tiempos, se me ocurrió que podía hacer lo mismo, al principio costó convencerla a mi madre, pero claro … ella no podía comprármelo así que … tuvo que ceder. Y allí me fui yo a conquistar el sur de Francia, jajaja.
La cosa es que todo salió bien y hasta los 18 años estuve yendo todos los años a vendimiar a Francia para permitirme mis caprichos jeje.

No veas como corría el 486 wow que lujo, entraba en el C:\Dos y hacía “dir” y pasaban los ficheros tan rápido que ni los veía!! jajaja.

El dentista

Con 15 años tuve mi “primera experiencia profesional”, por llamarlo de algún modo, me surgió la posibilidad de crear un programa de gestión para un dentista en Ibiza, gestión de pacientes, colaboradores, intervenciones, planificador de citas, visualización de la mandíbula de un cliente con las intervenciones en cada pieza, … y no me acuerdo de más.

Fue toda una experiencia, pues me choque con dos cosas que me implicaron cambios muy grandes.

El primero fue que en Quick Basic 4.5 cuando ejecutabas, te ejecutaba el Basic interpretado y cuando tenías la aplicación entonces generabas el .EXE, mi aplicación funcionaba de pm en cuando lo interpretaba pero el .EXE no corría … no funcionaba. Al parecer el ejecutable era muy grande y entonces tuve que partirlo en dos partes y llamar desde un .EXE al otro, eso no me gustaba pero no había más huevos, o al menos no encontré otra solución, por supuesto que en aquellos entonces no tenía internet, todo era prueba y error.

Y segundo, el tamaño de los ficheros de datos era muy grande, yo había hecho aplicaciones que manejaban 100, 200, 500 incluso 1000 registros, pero este dentista tenía 16000 clientes, le hice la migración de los datos (desde una base de datos DBase que leía a mano) y cuando probé el programa con los datos reales … eso se moría, claro, el acceso a los registros era secuencial, buscar por código era buscar por registro y era inmediato pero si quería buscar por nombre … tenía que recorrer todos los registros y ver si contenía la cadena buscada … esto era realmente un problemón que tenía que resolver si o si.
Fue entonces cuando se me ocurrió una brillante idea que solo a mi se me podría ocurrir y no estaba inventada, jaja que iluso. La idea fue crearme un fichero por cada letra del abecedario y almacenar allí los nombres de los clientes que empezaran por esa letra junto con el número de registro de tal forma que por ejemplo el fichero “A.dat” contenía los siguientes registros:

0002201 Antonio Pérez Fernández
0003204 Antonio Lúcas Lúcas
0004206 Alba Rodrígez Fernández
0005100 Anacleto Jimenez Gimenez
0012201 Ana Belén Pérez Guillen

De forma que al introducir un nombre, por ejemplo “Antonio”, de cliente cogía el primer carácter, la “A” e iba al fichero “A.dat” y allí recorría todos los registros y me quedaba con los números de registro que coincidieran, en el ejemplo me coinciden el 2201 y el 3204, le daba a elegir al usuario y accedía con el número de registro al fichero grande, … sin darme cuenta estaba implementandome una especie de indice por nombre.
Al final quedó bien aunque tuve que hacer muchísimos cambios para meter eso, pero mereció la pena.

Después de este vendí algún programa más, pero cosas más pequeñas, el primero fue el gordo.

De la soledad a la expansión

Como ya he comentado lo peor para mi era la soledad, el no conocer a nadie que programara, mi hermano se quedó atrás por motivos laborales y solo lo veía una o dos veces al año. No podía hablar con nadie de nada de informática y menos de programación y eso me hacía perder el interés. También tuve problemas en casa, dedicaba muchas horas al ordenador y luego las notas del instituto no eran buenas. Se creo en casa una alarma generalizada y pasé a estar en el punto de mira de todos mis hermanos (somos 6 y yo soy el menor). Pensaron incluso en quitarme el ordenador pero al final bajo el compromiso de mejorar las notas y con la ayuda de mi hermano Salvador lo esquivé y no fue la cosa a peores.

Terminé COU y en vez de irme a la universidad me fui a hacer un FP2, Formación profesional superior o algo así. Buah!! allí había gente que sabían lo que era un compilador … Lo mejor de mi FP fueron que tuve mucha suerte con los profesores, dos de ellos en concreto, que nos daban la parte técnica del módulo. Uno nos enseño Pascal y Delphi, y el otro nos enseñó C y C++ bajo unix (linux).
No se que me pasó allí pero fue increíble, pero en cuanto aprendí un poco de C, en dos meses, ya no sabía programar en Basic, no entendía el código de mis aplicaciones Basic y el C me lo dio todo. Y Delphi me permitió hacer las practicas del módulo en la empresa donde me quedé y donde sigo.

En fin, no sigo, luego de esto ya empecé a interesarme por los gráficos en tiempo real, la demoscene, conocí a mi buen amigo Javier Campos, pertenecí principalmente, como “tolemaC”, a dos grupos de demoscene Unknown productions y Elerium Core y presentamos producciones en distintas parties, en la Euskal Party, en la Bcn Party, en la Fallas Party, en la Xplanada Party, … incluso ganamos algún premio que otro, las principales producciones donde más activamente participé fueron:

Afraid of humans Reintroduce Video en YouTube Fast Made 2 Symply us

Y bueno, ahora mucho .NET, mucho Javascript, mucho TypeScript, y mil pajaros en la cabeza, como el primer día jeje

3 comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Demuestra que no eres un bot *