Hola,
El primer programa que hice fué un mastermind. Es un juego que consiste en adivinar una secuencia de 4 colores entre 10 posibles. Tienes 10 oportunidades y en cada una de ellas te va indicando cuántos colores has adivinado, y si éstos están o no en el lugar adecuado.
Lo programé en una calculadora hewlett packard con 229 pasos de programación y en notación polaca inversa. En vez de colores, era una secuencia de cuatro números.
Introducías cuatro números, y la calculadora devolvía un 0 por cada número acertado descolocado y un 1 por cada número acertado y colocado. Así hasta adivinar la secuencia o llegar a diez intentos. Utilicé 215 pasos de los 229. Se podía almacenar el código en unas bandas magnéticas que se introducían por un lateral de la calculadora.
Fué el mejor regalo que me han hecho nunca. Gracias papá.
Observad la ranura en el lateral para meter las bandas magnéticas, y que la calculadora no tiene tecla de 'igual a'.
Por 1981, tuve mi primer contacto con los ordenadores. Se trataba de un spectrum ZX81 que le compraron a un amigo.
Tenía una ROM de 8k (incluía el sistema operativo y el lenguaje BASIC) y una memoria RAM de 1Kb. Sí, 1024 bytes de memoria.
Se conectaba al televisor y tenía una resolución de 64x44 en blanco y negro.
Mi amigo no tenía mucho interés (típico niño de papá que tiene tanas cosas que no disfruta ninguna), pero lo único que pude conseguir que me prestara fué el manual.
Esa noche no dormí, y al día siguiente volví a su casa, y en una hora estábamos jugando a un juego que yo había programado durante la noche.
Era una réplica de un juego arcade que por entonces había en algunos billares. Consistía en un barco que se movía de un lado a otro por la supeficie del mar y por debajo salían submarinos.
Había que lanzar cargas de profundidad (10) y acertar a dichos submarinos.

En 1987 tuve mi primer contacto con microsoft.
Sin yo saberlo, mi antivirus del virus de la pelota se distribuyó por diferentes BBS y llegó a manos de Mark Antje, un gerente de microsoft Alemania.
La verdad es que, recordando ahora el código he de reconocer que no era ninguna maravilla, pero sirvió para establecer un contacto que por entonces a mí me parecía interesante.
Digo contacto porque Mark lo único que hacía era 'consultarme' sobre ciertos algoritmos, y yo siempre acababa enviándole dichos algoritmos (optimizados) para demostrarle que 'era capaz'.
Je, que joven y pardillo era. Le estaba haciendo su trabajo y gratis. Muy majo el tal Mark.
Luego llegó el IRC.
Por aquel entonces ya tenía mi propia casa, un cochecillo y mucho tiempo libre.
el trueno azul
Mi programa de interpretación de electronistagmógrafos ópticos (leen la frecuencia de la retina del ojo humano) me daba dinero de sobra para no tener que trabajar, salvo un par de días al mes personalizando el programa para cada óptico que lo requería.
En el IRC hice bastantes contactos interesantes, aunque también había mucha basura.
La gente se creía algo porque tenían scripts capaces de colgarte el ordenador. Ni siquiera sabían configurarlos, y mucho menos programarlos.
Enseguida me aburrí de colgarles los equipos, incluso a los 'poderosos' que manejaban el 7thsphere (el mejor script de aquella época, creado por precurs0r, un tío al que siempre admiré hasta que acabó como desarrollador de páginas weburridas).
Mi primer reto entretenido (y creo que dentro del IRC fué el único), consistió en acceder al canal #warez.
En teoría los mejores 'hackers' se reunían allí para intercambiarse importantísima y secreta información. je.
Utilizar ingeniería social no era nada atractivo para mí (no me gustaba perder el tiempo con charlas insulsas y aburridas para engañar a algún pardillo y conseguir la password del canal).
Así que había que utilizar la informática, por ende todos los bugs que ésta tiene.
El IRC se basa (o basaba al menos) en una red de equipos conectados entre sí que compartían un espacio común (el servidor de IRC). Cada máquina contaba con un 'conector' al espacio global de canales.
Si una máquina no estaba conectada, sus canales sólo contenían a los usuarios que estaban conectados a esa máquina.
Pero si una máquina perdía la conexión, reseteaba sus canales y reconectaba al server. Al hacer esto, reordenaba sus usuarios conectados 'insertándolos' (merge) en los canales adecuados del server central.
Bien, el proceso fué relativamente sencillo. Seleccioné un servidor pequeño, y le provoqué un netsplit (pérdida de conexión). Reconecté y antes de que hubiera hecho el merge, yo ya había creado un canal #warez.
Cuando hizo el merge.. plin! entré en #warez con Op.
Al poco rato empecé a recibir privados de los otros Op pidéndome que me identificara. En vez de eso, me autoquité la @. Pensé que así me dejarían tranquilo los pesaditos que sólo les importaba lo poderosos que eran siendo Op en #warez.
Así fué. Tan sólo insistieron un par de usuarios, curiosos por saber cómo había conseguido hacerlo.
Fué el comienzo de una 'inetteresante' relación. Con ellos asalté muchos servers y aprendí en profundidad a usar el vi. Tuve que formatear el ordenador un par de veces y la verdad que tuve mucha suerte de que no llamaran a mi puerta los señores policías (al final lo hicieron pero esa es otra historia).
Esta historia acaba con la venta de un algoritmo de búsqueda de caminos a microsoft.
Se utilizó en el primer AGE of EMPIRES para definir las rutas que debían recorrer las tropas cuando las mandabas de un punto a otro.
Esta vez Mark tuvo que pagar por el algoritmo, y gracias a ello pude estar 5 años sin trabajar.
Regards(las plantas)
un nuevo escritor apasionado
Una pena tio
sigue intentandolo... que Mark te espera 
Hola,
#2 No sé quién es la fuente que citas, pero he de reconocer que razón no le falta.
Evidentemente, ahora se mira hacia atrás y se juzga con parámetros distintos. Es fácil decir que algo era malo después de haberlo mejorado.
El algortimo de AGE, no es totalmente mío, ni mucho menos.
Podría escribir un blog - o varios- sobre dicho algoritmo, pero estoy seguro de que aburriría a la mayoría de la gente que intentase leerlo.
Sólo decir que hasta AGE, los algoritmos de búsqueda de caminos (PSA) estaban basados en álgebra matricial, lo que consumía mucho tiempo y recursos innecesarios de proceso.
Lo que yo 'innové' fué la transformación de ese álgebra (sus algoritmos) a tratamiento de grafos basado en teoría de punteros. Los PSA generados obtenían una gran eficiencia muy superior a la matricial.
Durante mucho tiempo, me consta que se ha seguido usando mi PSA, y también sé que ahora se ha vuelto al álgebra de matrices ya que los requisitos de mips ahora son muy inferiores a la época del AGE (osea, ahora la optimización de algoritmos no es importante ya que hay CPU y memoria de sobra, y lo que cuenta es la memoria gráfica, no de proceso).
Conseguí mejorar en eficiencia de rendimiento, pero cierto es que las tropas no siempre hacían lo que uno esperaba
Pero me valió 60 milloncejos de los de antes, y como dice un jugador de mus: 'Si has ganado la mano, es que la jugada está bien hecha'
Regards(las plantas)
Muy interesante el artículo y digna de admiración tu trayectoria aunque deja entrever que eres un vividor y que no eres constante!! Sin embargo creo que todos deberíamos seguir ese camino de trabajar para vivir y no el que muchos tomamos que nos lleva a vivir para trabajar.
See You (Viera no haría falta regard!)
Hola,