jueves, 21 de septiembre de 2006

Prehisteria

"It made a generation who can code,
a bubble before proper consoles,
who all know
" [1]


Los inicios de los '80s, "it made a generation who can code", produjo una generación que debía codificar, como modo de vida. No teníamos más.

Si necesitábamos algo --generalmente- lo teníamos que programar desde cero, todo a pie. PEEK, POKE, indirecciones (punteros), mapeo (de memoria), ensamblador, BASIC, etc ... y miles y miles de millones de páginas de manuales para tomar el control binario/hexadecimal de cada tarjeta y periférico. La interfase de abstracción HAL/HEL de DirectX --para liberar al programador de conocer cada bit de los periféricos-, ni siquiera eran un sueño descabellado.

Una auténtica prehisteria [prehistoria]. Y ahora ... ¿que puedes hacer con 16K?

Podemos recordar con el flash: Hey Hey 16K // Link

¡Alto! ... Pero si la vida existía antes de eso...

Me toco vivir desde 1979[2] una época anterior a la de las computadoras de 8 bits (parecidas a consolas de juego), tales como la Commodore 64, la ATARI 65XE o la Sinclair ZX Spectrum, etc. Previo a esas computadoras existían unas precámbricas computadoras --llamadas "calculadoras programables"-, en las cuales la capacidad no se medía en K, sino en número de memorias. Al paso del tiempo compre o me regalaron varias y las utilice a toda profundidad, fueron la TI-55, TI-57, TI-59 (prestada), TI-66, Casio FX 702P Personal Computer y la Tandy TSR 80 PC-6 (que aún conservo y funciona).

De entre mis triques les muestro un ejemplo sencillo de ese antiguo medrar. Es un programa que escribí para la TI-57, que calcula medias y momentos, apoyado en las rutinas estadísticas interconstruidas (x-, S+, OP 11).

La captura del programa se inicia al oprimir la tecla LRN ("aprender") y después la secuencia de nemónicos de las columna 2 y 3 de la tabla siguiente. En la pantalla se observa la equivalencia numérica de cada instrucción (parte de la columna 4). Para correr el programa se proporcionan los datos de la columna 1 y el nemónico de la columna 2 (la etiqueta de subrutina), que lanza la secuencia de instrucciones asociadas. Las respuestas son las indicadas con flechas en la columna 4. Es una variante rudimentaria de lenguaje ensamblador junto con la sintaxis AOS. El ejemplo:

Medias y Momentos
OP 119.48 ST 0->115


Lbl A' CMS 1 STO 08 STO 13 1 +/- R/S 010
[x-] ->Lbl B' STO 00 +/- R/S 015
[xi] ->Lbl A STO 07 Prd 08 1/x SUM 09


RCL 07 - RCL 00 = STO 13 x RCL 13 x RCL 13


= SUM 10 x RCL 13 = SUM 11


RCL 07 S+ R/S 051

Lbl B x- R/S -> [x-]


RCL 08 INV yx RCL 03 = R/S -> [g]


RCL 03 / RCL 09 = R/S -> [h]


OP 11 R/S -> [m2]


RCL 10 / RCL 03 = STO 12 R/S -> [m3]


RCL 11 / RCL 03 = STO 13 R/S -> [m4]


RCL 13 / OP 11 x2 = R/S -> [kurtosis]


RCL 12 / ( OP 11 yx 1.5 ) = R/S -> [skewness]


GTO B 115


Donde:
"x-" significa "x media" y también representa a su nemónico.
"S+" representa al nemónico "sigma +"

Programas y juegos se pueden consultar en: Old HP and TI Calculators // Link

_____
[1] MJ Hibbett & The Validators: Hey Hey 16 [lyric] // Link

[2] específicamente el 31 julio 1979, según lo estampado por mi padre en el manual de la TI-57 que me regaló. En este libro [3], está a lápiz mi primer programa escrito: OFF-ON LRN x 2 = R/S RST LRN RST

[3] Texas Instruments. 1977. Making tracks into programming. A step-by-step learning guide to the power ease and fun of using your TI Programmable 57: A complete owner's manual for the TI Programmable 57. Texas Instruments Incorporated.


[publicado originalmente el 21 de septiembre de 2006 en MS Groups]

miércoles, 30 de junio de 2004

DEM de Nuevo León

Tabla HTML utilizada para mostrar un modelo DEM (Digital Elevation Model).

El área considerada es de 23 00 00 a 28 00 00 N y 98 00 00 a 101 30 00 W en 42 x 60 celdas. Cada celda cubre una superficie de 5 x 5 minutos y representa un valor en msnm en el DEM mundial ETOPO5. El rango de altitud es de 5 a 3100 msnm.





:



: : : : : :

: :


:
: : : :


:



:
: : : : :



:




: : : : : + + : : :
+ :

: : : :

:



: : : : : : :

:
: :



: : : : *
: * : * * o *

: : :






: : : : :
: :

:
: : :


:
: : + :
: + : + + +

:
:



:
:
: : : : :
:

:
:
:
: :


+
:


: + :


:






: : : : : : : : :

: : : : :

:


: *



: * + :



:



: : : : : : : :
: :

:
: : :

:
+ * * +
:

: : + + : :





: : : : : : :
: :
:

: : :


: * * :
:

:


: : * :







: : : : : :
: :



:
:
: +

: :
:

o :

: * :







: : : : :
: :



: :


: * :
+ : : :


: :

: * :






: : : :
: : :

:






: +
*
o :
:

:
: :
+







: : : : :
: :
:

: :

:
: * + : * : : : : :


: * :



:



: : : : : :
: :


: :


: : : : *
: : : : :

+ * * +


:



: : : : :
: : :


: :

:

: : +
: : : : : :
:

* : :






: : :

: : :


: : :
:


: *
: :
: : :
:
* :
:






: : : :
: :
:



: : : + : + * + :
: : :
: o
:
+ *

:





: : : :
: :
:




: + : + :
: o
: : o :
: :

: : + : :

:



: : : :
:


: : : : * : : :

: o
: : :
:

:
o : * :


:

:
: : : : :


: :
+
: : : :
: :

: :
:


: : : + :

:



:
: : : :


:
: * : :

:
: :

: : :
:
:
o : : * +
: :





: : :



: : + * :


:
:
: :

: : : : : : o
: + :
: :




:
:





:
* + : : :
:
: :

: : : : o : :
: + + + :
: :




:


:

:
: * : :
o :
:



: : : : o : : : o

* : + * +

: :



: :


: +
:

o o o
o o
: : : : : :
: o
:
+ :
*
: :
:


: : :
:

+ :
: : : :
o o o : : : : :
o






: *
: :
:


:
: : :
+

o
: : o o
o

: : : :


o :



:
* : : : :


:
: :

* :
:
o : o : : : :
: : o :
:
o :



:
* : : : :




: :


+ + :
: o : : o o :

: : : :


:



: : *
: : :
:



: :




+ :
: : : : : : :
:
: :
:
:
:

: : + :
:

:



:
:




* :
: : o : : : : :
: :


: :





+ : :

:




: :




: + + : : : : : : :
: :

:
: : : :


* : : :
:




:



+ * + * : * : : o : :
o :

: : : : : :

* *
: : : :
:






: : :
+ : : * + + : : :
o :
:
: :

: :
*


: : : : :

: : :


: + *


: : : : : : :


: : : : : * + : * : :

:
: : :

:
:

:
+ +

: : : : : o :
:
: : : : : + : + +

:

:
: : : :


: :

: : + +


: : : :
: : : : : : : : : : +
: :
:
:


: : :



:

: : + + :


: : : : : : : o o
:
* *
:


: :
: :


:


:
:

+ :

: :

: : o : : : : : :
*


:
: :
: :
: :

:



: :


* :

:

: :
: o : : : : * :


: : : : : : :

:

:

:

: :

+ +


:

:
: : : : * *
:


:
: : : : :

:
: :

: :
: :

+
: :
: :

: : : : + : : :



:

: : : : : :


:

: :

: :

* + : :



: : : : + + : :



: :
: : : : :


: :

:

:
: :
+ +
:



: : : : : + : : :


: :

: : : :

:
:

:

:
: :
*



:


: : : : * : : : :
: : :

:
: : :

: :

:

:
: :

*
:
: :

: :
: + : : : : :





:
:
:
: :




: : :


: *
:
:

: : o : : + :
: :





: :



: :



: : :




+

: :
: : :

: * : : : :
:



: :


:
:

:

: :




* :
: :

: : o
: + : : : :
:



: : :


: :

:

: :


:
*


: :
: :

: * : : : : : : : :

: :
:

: :

:

: :
:
:
+


: :


+ * +
: : : : : : :



: : : :

:

:

: :
: :

: +

o :

* : : : : : : : : : :

:

: : : :

:

:
: : :
: :

: *
:
: :
+ : : : : :
: : : : :




: : :



: : :


: : :
* :
:

:
* : : : : :
: : : : :




: : : :


: : : :

: : :
+ :


o : +

: : : :

: : : : :



: : : :




:


: : :
* : : :
+ * +

: : : : :

: :
:


:
: : : :

:

: :
:
:
+ :
+ * + :
:
: : : :
: : : :
:


:
: : : :

:

: :
:
:

+ + :
+ : : :

: : :
: : : :
:




: : : :




: :


:
:
+ :

: :
:
: : :
: : : :
:




: : : :



:

:

: :

: :

: :


: : :
: :
: : :




: : : : :
........................................................................................................................................................................

0005 0187 0369 0551 0733 0915 1097 1279 1461 1644 1826 2008 2190 2372 2554 2736 2918 3100


Simbología:
o Cabecera municipal
* Límite estatal de Nuevo León, México
+ Vértice en límite estatal
: Pendiente decreciente hacia el E


Actualización:

El modelo de elevación digital mundial ETOPO5 es histórico. Su anuncio data de 1988 con solicitud de crédito a: "Data Announcement 88-MGG-02, Digital relief of the Surface of the Earth. NOAA, National Geophysical Data Center, Boulder, Colorado, 1988".

De 1993 a 1998 lo utilizamos por su relativamente pequeño tamaño (2160x4320 datos; 18Mb), que se podía implementar con facilidad como base de datos a visualizar interpolado como grid (en pixel o ASCII y en color o monocromo), en las PC de poca memoria de la época. Se visualizaba en conjunto con información vectorial de diversas fuentes.

Aquí se muestra un ejercicio muy posterior (2004), para expresarlo (no interpolado) como tabla HTML y ASCII, con la única finalidad de ser prueba de concepto.


_____
NOAA: ETOPO5 5-minute gridded elevation data // Link
NOAA: 5-Minute Gridded Global Relief Data Collection (ETOPO5) // Link

[publicado originalmente el 30 de junio de 2004 en MS Groups]