GF+

Cuaderno de Bitacora y apuntes varios. (todo relacionado a Tecnologías y su impacto en la sociedad... aunque no lo creas)

miércoles, julio 16, 2008

Robot, Siempre luchas por amor...


..."Cuando encuentras el mal siempre cambias tu cuerpo a metal"
(Festival de los Robots - 1979)

Algo de fantasia siempre es necesaria, la realidad suele aburrir; de niño solia soñar con hacer viajes fantasticos al espacio y pasaba horas de horas dibujando planos de robots y de naves espaciales. Siempre lo tuve todo, fui un niño feliz, con tener un lapicero y un papel era suficiente...

Ese niño feliz pensaba asi:

"las computadoras son el cerebro de los robots, entonces si quiero hacer un robot con esta lavadora debo ponerle un cerebro"

No se por que, pero le veia un parecido a mi lavadora con el robot de "Lost in Space" (Peligro Will Robinson!); en teoria, cualquier cosa que tenga un cerebro deberia mostrar "algo" de vida...

Disfrutaba de la vida, queria que todo se moviera.

Aprendi el uso de las ligas de goma, la flexibilidad de los clips y que no decir cuando uno se chanca el dedo con el martillo; un momento memorable de mi infancia debio ser cuando aprendi a desentornillar... con el cuchillo de la mantequilla, entonces podia ver el interior de cuanto juguete caia en mis manos, lo primero que desarme fue un carrito a cuerda, recuerdo haberme quedado horas de horas enroscando el fuelle con el dedo y viendo como se transmitia el movimiento a los engranajes; todo esto cuando cruzaba los 4 o 5 años. Todo muy curioso... hasta que ( uno de los primeros "hasta que" que aparecio en mi vida) empece a entender las historias vistas en la TV; veia a Ultra Siete, me gustaba como acababa con los alienigenas mutantes cada capitulo, cuando de pronto cai en una duda existencial ¿No le doleran los golpes? ¿Por que se enfrenta a esos monstruos?, creo que todo esto luego de que se me soltara una liga en la mano.

Luego observe las otras series, encontre la razon de ser del heroe: "defender al debil" todas las series de tv tenian heroes que se regian por esta regla... incluso el chapulin colorado!!!

Los buenos siempre ganaban y los malos desaparecian, el sol volvia a brillar y las praderas lucian tan verdes como antes de la llegada de los malos.

"¿Mi lavadora puede ser buena?", fue una pregunta que cruzo por mi mente... y de inmediato la pregunta contraria "¿Como seria una lavadora mala?"; entendi a mi forma que el bien y el mal se notaba en la forma como obraba el objeto en cuestion. Pero como seria? una lavadora buena me permitiria escapar de una explosion atomica (se me ocurrio primero a mi, Indiana) y una lavadora mala me atraparia el brazo y me lo cortaria...

Si que fue una duda existencial...

Asi como surgio este intringulis tambien se resolvio, a inicios de los 80's se estreno en la television peruana el "festival de los robots" con la presentacion de "El Vengador"; Era otro justiciero, protegia a los debiles, se convertia en robot y volaba por los aires; lo que pude apreciar claramente era LA ESENCIA HUMANA que se reclamaba para si, por muy cyborg que fuera Febo, habia una parte espiritual que lo movia, espiritu... eso era... los buenos tienen un espiritu bueno, extrañan a su padre, respetan a los ancianos, se enamoran, cumplen sus promesas (mas aun si se le hizo a un niño)y no bastaba con tener dentro una supercomputadora faltaba sentir un corazon. Los malos siempre eran humanoides, pero nunca totalmente humanos.


En conclusion, para que la lavadora fuera buena, debia tener un cerebro que actue con bondad... habia que darle un espiritu bueno, nada mas.

Corolario: Dios Existe y debe programar en Assembler.

Recordado por Nemo a las 12:27 AM |
1 comentarios

enlaces a este Recuerdo

jueves, junio 29, 2006

Primeros Sueños (o delirios de grandeza)

Los primeros video juegos quizas no eran tan espectaculares como los actuales, no manejaban texturas ni 3d, sus dispositivos de video no tenian los problemas de calor ni necesitaban mas de 2K para funcionar; tampoco incluian tramas muy enrevesadas ni generaban stress; si perdias, simplemente perdias en un videojuego y todo esto desvinculado a tu vida, no necesitaban redes ni internet pero compartias mucho con tus amigos al respecto, tus amigos eran reales y vivian a unas calles de tu casa.

Estos videojuegos rudimentarios no embotaban tu creatividad y te daban, sin proponerselo, los espacios para que puedas imaginar y pensar.

Recordado por Nemo a las 1:38 AM |
2 comentarios

enlaces a este Recuerdo

sábado, mayo 27, 2006

La primera vez siempre duele...

Como nada podia ser perfecto tarde o temprano me enfrentaria a los bucles infinitos, a esos estados en los que por una omision de poner ">" en lugar de "<" tienes a perpetuidad un cursor parpadeando en el mas absoluto vacio. En mi jueguito del "combate naval" habia logrado plotear aleatoriamente los "barquitos", pero como relate antes, estos en su conjunto de ponian muy cerca de una misma coordenada, y era en la iteracion 4 o 5 en la que aparecia el fallo 6/20; el cual me botaba de la ejecucion del programa, el cual modificaba sin mucha tecnica ya que solo movia coordenadas, le pasaba otro parametro al RND, etc... hasta que de pronto me ligo. y tuve una distribucion perfecta... entonces lo probe una vez, 2 veces, 5, 10... hasta que estuve convencido que todo estaba ok. No obstante, tenia la pesima costumbre de no anotar los cambios que realizaba, como siempre me botaba con algun mensaje de error y me regresaba al editor Basic jamas me cruzo por la mente que pudiera caer en un bucle infinito. y sucedio lo que tenia que pasar, justo cuando dije "luego de esta, anoto lo que hice".
Tuve la distribucion de los "barquitos" sobre toda la pantalla y esperaba que me apareciera la entrada de cooRdenadas... y las cooNdenadas no aparecian. Pasaron 10 segundos, luego 15, un minuto, 2, 3, me fui al baño, regrese y... NADA de aparecer las coordenadas... lo que si habian aparecido eran mas "barquitos"... al principio no me di cuenta, pero de pronto aparecio otro "barquito" mas, y luego otro y otro... al cabo de 45 minutos, casi toda la pantalla de mi televisor IMPERIAL estaba de color negro con unos puntitos blancos.

Habia caido en un bucle infinito.

¿Que podia hacer? , ya habian transcurrido 2 horas (eran la 1:30 am del sabado) y nada con aparecerme el mensaje 6/20, ya tenia una pantalla de color negro y una madre que me decia "Estas viendo peliculas de medianoche(1)???".

Una pregunta daba vueltas en mi cabeza: "¿Como corto esto?"...

Apague el televisor, la luz de mi cuarto y deje que el farol de la calle alumbre el cuarto... escuchaba en la casa del frente a Billy Idol (eyes without faces), mientras imaginaba como seria mi vida si estuviera en esa fiesta note como las paredes de mi cuarto cambiaban de tonalidad hacia el negro, luego la calle, la pared frente a mi... era posible que haya ploteado fuera del televisor???, luego cuando me apoye en la ventana para ver mejor lo que pasaba note que mis manos estaban siendo ploteadas... ahi me desperto mi mama, que me vio quedarme dormido con el televisor encendido y decidio desenchufar la computadora "para que no gaste luz por las puras".

Entonces conoci el significado de la palabra resignacion.

(1)Peliculas de medianoche: es la forma suave que tiene mi madre para decir Peliculas Porno o con calatas.

Recordado por Nemo a las 6:18 PM |
0 comentarios

enlaces a este Recuerdo

lunes, marzo 27, 2006

BASIC

Actualmente a mis alumnos les suelo decir que un Lenguaje de Programacion no es mas que un Interprete del Pensamiento Humano, es decir, se pone "la idea" en terminos que el computador pueda entender. Entonces con ellos llegamos a la conclusion siguiente: Un pensamiento caotico producira programas (aplicaciones) inestables, luego habria que tener las ideas claras antes de pensar en trazar una linea de un diagrama de flujo.

Cuando me encontre con mi Timex, de primera intencion no crei necesitar mas que INPUTS, PRINTS y los caracteres aritmeticos ( + - / * ) ; si queria mostrar un texto debia usar PRINT "texto" ; variable; "texto"... ; si queria leer un valor, INPUT VARIABLE para un numero e INPUT VARIABLE$ para una cadena de texto; luego si queria operar numeros esto lo cargaba mediante un LET VARIABLE = OPERANDO1 (operador) OPERANDO2... ; al principio no necesitaba siquiera de bucles GOTO ni FOR NEXT, ya que solo queria probar la aritmetica del Z80, osea del procesador Zilog de 1 Mhz!!!.

De pronto me empece a aburrir, el invento no emitia ni un beep y como en aquellos tiempos tener una casettera era algo como tener un discman mp3 pues no pude conseguirme ni siquiera programas para correr y escuchar el ruidito de la transferencia, es asi que me acorde de un jueguito que se me ocurrio a nada mas ver las consolas Atari y las clases de la recta numerica: era el combate naval, en este juego mi contrincante y yo poniamos en unos ejes coordenados (usualmente las hojas del medio del cuaderno de matematicas) unos dibujitos de unos barquitos, en la mitad de la hoja los mios y en la otra la de mi amigo, con el lapicero poniamos una bolita en el lado de la hoja que me correspondia y luego doblaba la hoja cubriendo el lado contrario y marcaba mi disparo con la uña, si coincidia con la nave de mi amigo pues le hundia ese barco.

El sistema grafico del Timex tenia una matriz de 44x64-ahora se que se llama matriz- y tendria entonces por lo tanto 44 filas por 64 columnas, para hacer que el Timex me coloque los barquitos (un caracter de cuadraditos como el mostrado en la figura) tendria que tener la capacidad de elegir dichas filas y columnas. Mediante las sentencias INPUT deberia ingresar las coordenadas de mi disparo y cotejarlas con las coordenadas puestas por el Timex 1500, si eran iguales hundia el barco. La logica era relativamente correcta solo que habia un detalle en el que no habia pensado: ¿Cómo se programa un enemigo?

Aca vino el primer problema de definiciones, necesitaba numeros al azar... busque en el diccionario en ingles, azar y ahi encontre "chance" ... fui al index del "User Manual" y no encontre nada parecido, entonces fui al diccionario de sinonimos y antonimos (ideas afines y paronimos) y busque sinonimos para la palabra azar, ahi encontre : ventura, sino, destino, hado, albur, acaso, eventualidad, casualidad, circunstancia, accidente, desgracia, fatalidad, contingencia, coincidencia, aventura, riesgo, fortuna, suerte, chiripa, chamba. De este grupo de palabras escogi eventualidad y casualidad (y cree los numeros casualisticos, jajaja) obteniendo el mismo resultado... luego recorde a mi madre decir otro sinonimo, pero usado en estadistica... cuando me convenci que no me acordaba decidi preguntarle, cuando fui a su cuarto... ya estaba durmiendo... asi que pille uno de sus libros de la coleccion Schaum y ahi fui viendo estadigrafos, dispersion, etc, cada uno con su respectiva consulta en mi diccionario Rances hasta que llegue a la seccion de "Pruebas de hipotesis" y... me vencio el sueño.

Para entonces me habia aprendido 32 palabras nuevas...

Al dia siguiente mi madre me preguntó que hacia durmiendo con el libro de estadística sobre la cara y le explique, entonces me dijo: la palabra que buscas esta en la parte de prueba de hipotesis (PLOP!) , y debe ser ALEATORIA o distribucion aleatoria o NUMEROS ALEATORIOS, entonces retome mi busqueda y encontre la palabra RANDOM, que en mis puestas de cabeza del manual habia visto por alguna parte. Registre de inicio al fin el manual y encontre las funciones RANDOM o RND, me alegre un monton dije:

LET X = RANDOM A
LET Y = RANDOM B

Luego... Ploteo en X,Y sonaba coherente... pero para el timex no.

Asi es que probe lo siguiente:

10 FOR X = 0 TO 63
20 PLOT X , X
30 NEXT X


el resultado? una linea diagonal..

luego intente incluir la funcion rnd, me quedo asi:

10 FOR X = 0 TO 63
20 PLOT X, RND(X)
30 NEXT X

en teoria habia conseguido buena parte de lo que queria... es decir, corria el programa una y otra vez y no marcaba los puntos en el mismo sitio, pero tenia un defecto: la dispersion de puntos era muy segada a un area en particular, es decir seguian el valor de X bastante de cerca, asi me paso en la primera, la segunda hasta que se detuvo el programa por error, con el anuncio 6/20 que significaba algo asi como Overflow.




Recordado por Nemo a las 12:24 AM |
0 comentarios

enlaces a este Recuerdo

jueves, marzo 23, 2006

Mis prejuicios Informaticos Ochenteros

Aqui mi Primer Programa


10 Print "deme un numero"
20 input n
30 let a = sqr(n)
40 print "la raiz cuadrada de"; n;" es : ";a


¿Qué me motivo a hacer esta huachafada? , pues aún no lo se, creo que fue lo primero que se me ocurrio ya que siempre me fascino la precisión que se supone tenian las computadoras, queria ver números con mas decimales que los que habia podido obtener en mis tareas y entonces empezo mi mania por depurar y hacer mas sencillos mis programillas. esto quedo asi:

10 print "deme un numero"
20 input n
30 print "la raiz cuadrada de"; n;" es : "; sqr(a)

Hasta antes de mi primer contacto con las computadoras, me devoraba cuanto comercial sobre ellas aparecian en la tele, recuerdo el spot de "Enrique Lulli" y trataba de extraer la mayor cantidad de informacion de ella, al menos de vista...

Luego, de manera timida, aparecieron algunas notas en los periodicos y revistas, estas pecaban de no ser tan digeribles ya que crecio en mi la idea de que para programar una computadora habia que escribir el diagrama de flujo con un lapiz sobre la superficie del disquette (5 1/4").

Sin libros digeribles, un hardware limitadazo, menos una wikipedia para buscar, no tenia como entender el asunto de manera concreta hasta que un amigo tuvo su Commodore 64 con unidad de disquetera, la cual tenia casi el tamaño de un escaner para puerto paralelo de los años 90'. Yo como buen voluntario me ofreci a ayudar a mi amigo a entender que era lo que tenia, me presto su USER MANUAL y me lo lei... ahi comprendi lo que eran los famosos Files o archivos de los que oia hablar en las peliculas de ficcion, como era que se ponian los programas en la computadora y que diantres era efectivamente el diagrama de flujo. La C-64 era una beldad basada en un procesador y chipset motorola, un generador de tonos y Sintetizador ROLAND y unas memorias Texas Instruments.

Luego aparecieron las revistas "ZX", "INPUT", "Mi Computer" (y el termino "OE!, Que te computas?") , de esta ultima llegaron a caer en mis manos algunos numerillos gracias a mis ahorros de propinas con muchisimo esfuerzo, sobretodo por que esto me alcanzo cuando Alan Garcia era Presidente y los precios cambiaban en pocas horas, podia ver el interior de cada Minicomputador como los "Dragon", las series Commodore, las Apple, etc... Me intrigaba ver que decian de la mia, que podian destacar y que criticar y eso fue algo que jamas vi ya que el modelo Timex ya era OBSOLETO, lo que si consegui fue esa nueva palabra para mi diccionario.

Comparaba mi computadora con las otras y pues le sacaban el ancho, sobre todo en capacidad ya que la mia venia con 8 Kb instalados (pero ampliables a 16Kb) y el estandar de aquel entonces ya eran los 16 Kb, luego crei que si tenia mas memoria mi computadorilla podria procesar sonido (aun no admitia que el hardware que tenia lo hacia imposible).

ya para el año 1987 se hablaban de las XT, equipos que no vi sino hasta un par de años, casi por acabar el colegio. Era rarisimo encontrar computadoras en las casas, mas aun en los centros comerciales, paradojicamente las tiendas como SEARS e HIRAOKA vendian tecnologia de punta pero seguian usando la contabilidad manual y las cajas registradoras mecanicas, ni hablar de los organismos estatales, solo recuerdo haber visto una computadora en la decada del 80 en un organismo estatal, en el INEI y eso que era un mainframe con cintas de carreta y lo vi muy de lejos en medio de una palomillada al escaparme de las manos de mi madre en una visita a dicha institucion. Recuerdo que en un boletin del SUTEP (Sindicato Unico de Trabajadores en la Educacion del Peru) se comentaba que eso de las computadoras era una moda pasajera y que al contrario solo traian el vicio del PACMAN que embruteceria a nuestros jovenes.

Otra de las cosas que pensaba era que los profesores de ciencias podrian conocer mas de las minicomputadoras, recuerdo que una vez le pregunte a un profesor de laboratorio y me menciono que eso era para gente de alta especializacion, dado a que todo ello era muy complejo. Lejos de desanimarme creo que me alento...

Recordado por Nemo a las 11:16 PM |
0 comentarios

enlaces a este Recuerdo

sábado, marzo 18, 2006

User Manual

Imagina un instante lo que cruzaba por mi mente: Un MicroComputador! por fin podre jugar PacMan en mi casa! me entusiasmaba la idea de generar efectos de sonido como en la "Guerra de las Galaxias" y tambien la de componer musica como Harold Faltemeyer o Vangelis. Siempre me atrajo el sonido electronico, siempre senti que reflejaria mejor mi sentir. ¿Cómo encontraba información sobre aquel Timex-Sinclair en aquellos años 80's?. Sin internet ni foros BBS solo quedaba para este modesto Blogger tratar de entender el Manual de Usuario, a diferencia de los manuales actuales, en estos manuales existian detalles mas "intimos" del invento, como la region de memoria donde se cargaban las variables del sistema, habia detalles incluso del hardware.
En aquel entonces se pensaba que el español era un idioma condenado a desaparecer, que no llegaria al 2000, por lo tanto, ni pensar en versiones hispanas de estos USER MANUALs propietarios.

La estructura de este manual hasta ahora se conserva, las primeras paginas con los creditos de los redactores, todo un equipo de Ph.D., Drs, Ings y demas... menos mal que jamas lei esas paginas por que con mi 2do de secundaria en transito, tal vez me hubiera desanimado. Luego de los reconocimientos sigue la "90-Day Limited Warranty" osea, los terminos de Garantia, las cuales solo cubrian 90 dias como maximo, y solo cubrian fallos de fabrica, osea, que el teclado no engaste bien en la cubierta, que la fuente no funcione. A continuacion el Indice de Contenidos con el tipico "Getting Started" que incluia una suerte de monserga de que se tradujo en "si programas basuras, tendras basura como respuesta", pero siempre haciendo mencion que los mejores resultados estan en usar las aplicaciones desarrolladas por su staff de programadores.

Como era de esperarse, el capitulo de como conectar los perifericos al computador no lo lei, me parecia gracioso como era que los gringos le pusieran tanto enfasis en algo que resultaba logico, aun el dia de hoy cuando tengo un equipo nuevo, tengo esa tentacion de armarlo sin ver el manual, aunque claro esta, si y solo si es algo comprado con mi dinero, por que no me imagino haciendo eso con un servidor HP ML370 G4, creo que profesionalmente seria un suicidio, economicamente tambien por que un experimento con malos resultados me puede costar facilmente unos US$ 15000... mas IGV (19%)




Y entonces... se llegaba al asunto de fondo... ¿Cómo usar el invento?

Segun la caja, el computador debio traer consigo un Cassette con un pequeño procesador de texto, una calculadora de impuestos (el fantasma de la navidad pasada del PDT SUNAT) y un jueguito llamado StarZap, que era un mini-version del "defender". Le di mil vueltas a la caja y el dichoso cassette no estaba por ningun lado, siempre me pasaba lo mismo, compraba algo y en la lista aparecian cosas que jamas estuvieron dentro del empaque.

Solo quedaba usar el lenguaje Basic que venia incorporado...

En aquellos años, las academias de computacion enseñaban precisamente el uso del lenguaje basic, el cual estaba implementado de diferente manera en cada minicomputador, por ejemplo, el Basic del Commodore 64 soportaba arrays para las sentencias POKE, cosa que este Timex 1500 no tenia, cada poke debia hacerse por separado. Estas diferencias se debian esencialmente al hardware de cada maquina, no como ahora que son por caprichos comerciales. el lenguaje estaba compuesto por 60 palabras reservadas y un juego de caracteres especiales. No habia diferencias entre el modo de texto y el modo grafico, ambos eran lo mismo, si queria dibujar algo tendria que plotear con caracteres, de esta simple inspeccion me di cuenta que no veria el URIDIUM correr en mi televisor.


luego de revisar el "USER MANUAL" encontre mi primer obstaculo en mi meteorica carrera hacia la fama y fortuna como programador... en mi casa solo teniamos un televisor y estando de moda el grupo "Menudo" mi hermana dificilmente soltaria el televisor hasta despues de las 7:00 PM, que era cuando terminaba su novela...


Tambien existia otro escollo, mi madre guardaba el Timex-1500 en su armario, bajo llave, entonces eso significaba que podia sacarlo cuando ella llegaba de trabajar de IPAE, y eso era a las 11:00 pm, por lo que todos mis ensayos debia realizarlos los viernes despues de que terminen los programas politicos... que me los soplaba por la necesidad de probar.

Demas esta decir que mis habitos informaticos trasnochadores vienen desde esos años.

Luego de probar todos los programas del Manual, decidi modificarlos. al principio hice algo que todos deben haber hecho: poner mi nombre en donde decia "FRED", luego poner los mensajes en español, un poco dificil porque no existia la "ñ" pero suplantada por la union de "n" e "y".

y ... el audio??? donde esta el audio???

podria decir que fue mi primera decepcion amorosa, mi timex no tenia por ningun lado generador de tonos, osea no hacia ni "beep!" el unico sonido que emitia lo escuchaba en el parlante del televisor cuando cargaba un programa de una cinta y era un ruido por demas molesto ya que eran el sonido de las modulaciones de datos en audio, tipico sonido de transferencia de datos de pelicula de ficcion.

Asi es que superado esta puñalada en mis anhelos, me embarque en algo mas complejo:



Escribir mi primer programa.

Recordado por Nemo a las 9:12 PM |
0 comentarios

enlaces a este Recuerdo

martes, febrero 28, 2006

Hola Mundo

Me acabo de loggear en este servicio de blogs, que mas decir, el registro sencillisimo, la interfaz muy suave y ligera.

Este primer blog es el tipico "hello world" por el que todo programador a tenido que pasar,
al ser el primer blog que escribo, creo que debo compararlo con el "hola mundo" que hace unos 21 años escribi...

si, 21 años...

El primer computador que tuve fue una Timex Sinclair, un modelo anterior al ZX y al Spectrum, 4 Kb de RAM, teclado de membrana, conexion de microfono y audifono para cargar programas desde cinta magnetofonica (el abuelito del tape backup) y salida de RF para usar el TV como monitor. Este equipillo venia con un lenguaje Basic incluido en la ROM.


Me parece que fuera ayer...

Cuando, desempàque el minicomputador y lo enchufe, no fueron ni 10 minutos hasta que sintonice el canal adecuado, y pude ver el prompt del sistema... realmente la linea del interprete Basic... entonces... a probar...

10 PRINT "HOLA MUNDO"

habia que pulsar enter y luego presionar la letra "R" (Run)
de manera inmediata... aparecia en la esquina superior izquierda de la pantalla

HOLA MUNDO





Recordado por Nemo a las 8:49 PM |
1 comentarios

enlaces a este Recuerdo

Recuerdos Anteriores

  • Robot, Siempre luchas por amor...
  • Primeros Sueños (o delirios de grandeza)
  • La primera vez siempre duele...
  • BASIC
  • Mis prejuicios Informaticos Ochenteros
  • User Manual
  • Hola Mundo

Archivos

  • febrero 2006
  • marzo 2006
  • mayo 2006
  • junio 2006
  • julio 2008

Datos personales

Mi foto
Nombre: Gustavo Francia
Lugar: Lima, Lima, Peru

Ing. Electronico no se si de Hobbie o de Profesion, consumidor irrefrenable de Helados y Lomo Saltado, no voy a fiestas... soy tan aburrido que no tengo patas... solo tengo amigos ;)

Ver todo mi perfil


adopt your own virtual pet!

Powered by Blogger

Free Site Counter Vistazos
Locations of visitors to this page


NEMO