Mostrando entradas con la etiqueta pc. Mostrar todas las entradas
Mostrando entradas con la etiqueta pc. Mostrar todas las entradas

domingo, 15 de septiembre de 2013

Vagan libres alimentándose de dinero

"Un ecosistema artificial creado por humanos, donde los eventos son tan rápidos y masivos, que sufrimos sus consecuencias en tiempo real; pero que nos enteramos que está sucediendo, hasta mucho tiempo después.

Se trata de algoritmos, equiparables a depredadores de mercados, que medran digitalmente en el mercado financiero. Tan veloces, que están fuera de la supervisión humana en tiempo real, de hecho, su actividad está fuera de nuestro umbral de reacción (de aproximadamente 1 segundo).

El mercado financiero nos afecta a todos y estos depredadores digitales vagan libres en ese ecosistema artificial. Se necesita de una nueva teoría científica de los fenómenos financieros, porque la anterior, no aplica a escala de milisegundos.

Se cree que participaron en el colapso financiero del 2008.

_____
Johnson, Neil; Guannan Zhao; Eric Hunsader; Hong Qi; Nicholas Johnson; Jing Meng and Brian Tivnan. 2013. Abrupt rise of new machine ecology beyond human response time. Scientific Reports, 3(2627), doi:10.1038/srep02627.

lunes, 25 de junio de 2012

on error

Please insert coin to continue...

_____
x

wiki: List of HTTP status codes // Link

vía:
alt1040: Error 451, un nuevo status para la censura en la red en honor a Bradbury // Link

viernes, 18 de febrero de 2011

oh Altair

¿Por qué no convertir el teléfono celular en una super-computadora?
"Al fin y al cabo el teléfono [celular] hay que llevarlo igualmente" [1]

Parece una frase sin importancia, pero el cambio de paradigma, suele traer un mundo nuevo de posibilidades. Recuerdo el Altair 8800 de mediados de los 70's. Era un kit para armar en tu casa una microcomputadora y que inadvertidamente empezó el camino hacia el concepto de la PC, al BASIC y a MICROSOFT.


_____
[1] microsiervos: Motorola Atrix, el teléfono que quería ser ordenador // Link
wiki: Altair 8800 // Link
voci dal web: Logotipo 2: Microsoft y Windows // Link

miércoles, 14 de julio de 2010

pseudocódigo

Savitch (2000: 138), recomienda utilizar pseudocódigo cuando se diseña un algoritmo:
"Los algoritmos por lo regular se expresan en pseudocódigo. El pseudocódigo es una mezcla de C++ (o el lenguaje de programación que esté usando) y el español ordinario (o el lenguaje humano que esté usando). El pseudocódigo nos permite expresar nuestro algoritmo sin precisión [y] sin tener que preocuparnos por todos los detalles de la sintaxis de C++. […] Cuando un paso es difícil de expresar en C++, el algoritmo será más claro si expresamos el paso en español".

Se supone que esto es útil para cualquier mezcla de lenguaje de programación vs. idioma.

Posiblemente no.

Existen lenguajes de programación que definitivamente su mejor parte en un pseudocódigo, es la parte del idioma; ya que son altamente ofuscados, por ejemplo: Intercal, Brainfuck, Befunge, Malbolge, Unlambda, Whitespace, Ook!, etc.

No creo que exista pseudocódigo útil que utilice algo de la sintaxis de Ook! o de Whitespace.

Por otro lado, un algoritmo también se puede actuar y en este sentido, inicialmente no necesita de ningún lenguaje de programación. El problema es cuando se tiene que implementar la actuación en un lenguaje específico y que el resultado sea funcional; como por ejemplo los robot futbolistas que tan de moda están.

La marcha del algoritmo con ninjas [video] // Link
La marcha del algoritmo con ninjas [video, fragmento, actualización 8/sep/2019] // Link

Algorithm March - Ninja [video, actualización 8/sep/2019] // Link


Torito! ¿Que lenguaje de programación se puede utilizar para implementar "La marcha del algoritmo con ninjas"?  y ¿cómo se puede codificar el concepto "ser mejores personas"? Definitivamente no en Ook!

_____
Emezetablog: Lenguajes de programación complicados // Link
The International Obfuscated C Code Contest // Link
eliax: Mini-guía sobre cómo ser una mejor persona... // Link

Del libro que actualmente leo:
Savitch, Walter. 2000. Resolución de problemas con C++: El objetivo de la programación. Pearson Educación, México. 915 pp.

sábado, 4 de julio de 2009

Player/Missile

youtube: James - I know what I'm here for // Link

Este video donde la corista cambia de vestuario instantáneamente, me recuerda el simulador de vuelo 'LHX Attack Chopper' que usábamos a inicios de los 90's. Este simulador tiene una característica muy curiosa, un 'huevo de pascua' que permite cambiar de vehículo instantáneamente con la pulsación de una tecla. Así, al volar, se puede cambiar a otras naves, e incluso a vehículos terrestres, como por ejemplo a una tanqueta radar, y seguir volando!

Los personajes planos del video también me recuerdan los famosos 'Player/Missile' (también se les llamaba sprites), que usaba por esas fechas (ca. 1995) para programar objetos que interactuaban con la imagen de la pantalla del televisor, sin ser parte de ella (Como la imagen del cursor que se usa en la actualidad en la computadora). Los 'Player/Missile' eran mapas de bits (imágenes planas!) con capacidad de interacción booleana con otros 'Player/Missile' y con la imagen de la pantalla. Se usaban para lograr un efecto de movimiento e interacción en un ángulo perpendicular a nuestra visión. Nunca se me ocurrió girarlos como en el video mencionado, yo creo que porque ANTIC sólo tenía funciones 2d, aunque podrían agregarse en ensamblador, como otras funciones que se requerían tener.

PD. Televisor, porque la computadora ATARI 65XE la conectaba al televisor, no al monitor.

_____
youtube: James - I know what I'm here for // Link
youtube: Texas - In our lifetime // Link

wiki: LHX Attack Chopper // Link
LHX Attack Chopper // Link
wiki: huevo de pascua (virtual) // Link
The Easter Egg Archive // Link
wiki: ATARI 65XE // Link
wiki: ANTIC // Link
De Re ATARI: PLAYER-MISSILE GRAPHICS // Link
Mapping the Atari: Player/Missile Graphics Memory Map // Link

[entrada publicada originalmente el 04-07-2009 23:58 en Perfiles Yahoo!]

domingo, 17 de mayo de 2009

Algorithmic scene

No son montañas, son polinomios aleatorios. Iñigo Quílez.


youtube: Elevated by RGBA and TBC // Link

Sobre este vídeo de vuelo en un espacio 3d sintético en tiempo real, su autor, Iñigo Quílez dice: "No son montañas, son polinomios aleatorios", "Después de todo, la gente ve montañas donde en verdad sólo hay unos polinomios". Está definido en 4 kb de código (el motor, modelo, textura, animación, post proceso, sintetizador y pista musical) y al parecer, con DirectX y Visual C++.

[...]

Este trabajo me recuerda un sistema de información geográfica que diseñe hace más de 10 años y que tenía como meta funcionar totalmente en 64kb de memoria en DOS. Se llamaba vGis y se basaba en una librería de mi diseño llamada EngineNT (antes EngineCAD); ahora es obsoleto.

Una de sus funciones era render3D, que permitía visualizar y desplazarse en tiempo real sobre la topografía de cualquier parte del mundo en 3d. Utilizaba la base de datos de altimetría mundial llamado ETOPO5. Su objetivo no era la de producir escenas fotorealísticas, como en el ejemplo 'Elevated' mencionado arriba; el objetivo era manipular puntos georreferenciados de una base de datos (localidades de colecta) en un ambiente gráfico interactivo. Bastaba con mostrar el relieve.

El motor era muy sencillo. En tiempo real y de manera automática tomaba una 'foto' de ETOPO5 de la región a trabajar, la amplificaba por promedios móviles (me quede con las ganas de hacerlo por polinomios) y el resultado era el espacio 3d. El modelo se giraba según la posición de la cámara (nuestra vista) y después se visualizaba según un rudimentario modelo de color para relieve: cada cota con un color en 5 tonos (2 tonos para iluminado por el sol y 2 tonos para en sombra, seleccionados según la pendiente del terreno). Lo último era ubicar en la imagen los puntos de interés de una consulta previa a la base de datos de localidades de colecta. Ya visualizada la escena, se podía mover la posición de la cámara, avanzar en cualquier dirección, aplicar zoom, cambiar el modelo de color del relieve y seleccionar cada punto de colecta para manipularlo (su nombre, coordenada, altitud y notas).

Obsoleto. Ahora Google Earth permite hace todo esto sin esfuerzo, ya que no se tiene que diseñar y programar un motor desde cero. Sólo hay que saber utilizarlo.

_____
El trastero: No son montañas, son polinomios aleatorios (April 14, 2009) // Link
Vimeo: Elevated by Inigo Quilez // Link
Iñigo Quílez // Link

via:
Microsiervos: Elevated: Increíble 3-D en 4 KB de código (17 May 2009) // Link

[entrada publicada originalmente el 17-05-2009 20:00 en Perfiles Yahoo!]

miércoles, 25 de marzo de 2009

ad alias prey


salud! Prey

rebootlog: Prey: Y rastrea tu computador robado (24 marzo 2009) // Link

_____
via:
alt1040: Rastrea tu computador portátil robado con Prey (25 marzo 2009) // Link


[Logo de Tomás Pollak bajo CC].

[entrada publicada originalmente el 25-03-2009 20:32 en Yahoo! 360]

martes, 1 de julio de 2008

Open Specifications

Un sueño largamente esperado:

Open specifications // Link

Ejemplo: [MS-DOC]: Word Binary File Format (.doc) Structure Specification (v1, 27 jun 2008) // Link

Añoro aquella época arqueozooica (finales de los 80's) en la que desarrollé en QB45, un interprete dinámico de formato binario para documentos WordStar, WordPerfect, Microsoft Word, PFS:Write y ChiWriter y los respectivos recuperadores de la información de archivos dañados.

En aquel entonces las cosas eran más sencillas. Se podía deducir (descodificar) con relativa facilidad el contenido de los archivos por fuerza bruta digital y entrenamiento (iteración) supervisado. El motivo de la necesidad: recuperar la información de tales archivos dañados. Los discos de 5 1/4 eran muy frágiles, por lo que se dañaban con suma facilidad, destruyendo la información que contenían.

En la actualidad, el software de recuperación mencionado es obsoleto.

PD. Mi tesis la escribí (ca. 1986) en ChiWriter en unas PC XT con DOS 3.30. Por curiosidad, la última vez que hice funcionar este obsoleto procesador de palabras fue en WIN98 hace unos dos años.

_____
via:
NoticiasTech: Microsoft comienza a abrir las puertas a los programadores // Link

[entrada publicada originalmente el 01-07-2008 02:49 en Yahoo! 360]

viernes, 30 de mayo de 2008

Harder, Better, Faster, Stronger

Este video implica la insuperable frase "salir a jugar".


dailymotion: "Alphajet et Mirage 2000" by racerboat // Link


Yo quiero salir a volar.

El primer video juego que escribí, allá por los inicios de los 80's, fue un rudimentario simulador de vuelo "a ciegas" por instrumentos.

La idea era despegar y volar libremente sin tener que aterrizar. Cuando el combustible era escaso buscaba por radar puntos específicos en el espacio 3d establecidos al azar y si lograba acercarme lo suficiente al punto, entonces el tanque se llenaba de combustible. Nunca me imaginé que esos puntos pudieran representar aviones cisterna; de hecho los consideraba como banderas en un mástil (similar a las carreras de aviones). Ya no suena muy divertido (!!!), pero la vivencia aquella simulación, es la esencia del video homenaje de racerboat arriba mencionado.

El título de Dapht Punk, "Harder, Better, Faster, Stronger", alude al A340-800 de este video, que en su costado lleva el eslogan "longer - larger - farther - faster - higher - quieter - smoother", visible en la escena @ 5:28''.


Torito! ¿La evolución tiene algún sentido más allá de la evolución? ¿El futuro será post-biológico?

_____
via:
Fogonazos: Los caballeros del cielo // Link

[entrada publicada originalmente el 30-05-2008 22:09 en Yahoo! 360]

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]