Cuando la corrupción empieza por casa

No voy a hablar de retrocomputación, sino mas bien a escribir una reflexión que tengo dando vuelta hace varios días.

El catalizador de este texto fue una noticia del diario Clarín, sobre la falta de respeto por las normas de tránsito de los
ciclistas porteños
. El último sábado de abril de éste año me vi obligado a clavar los frenos en dos oportunidades en
avenidas teniendo el semáforo verde de mi parte, para evitar pisar a dos ciclistas que cruzaban (en rojo, obviamente) como si estuviesen exentos de todo tipo de norma y de accidente. Es decir, como si fuesen impunes a una fatalidad o a un castigo por su negligencia.

En estos días es muy común escuchar “que se vaya estos corruptos del gobierno”. Estos corruptos, aunque muchos no lo crean, son parte de nuestra población argentina. Sus actos, que revisten gravedad extrema debido a la posición que ocupan, en esencia no son más que cualquier otro acto de la misma categoría, que pudiese cometer un ciudadano común, digamos. Sin embargo, también gracias a la posición de quién lo comete, omitimos equivocadamente catalogarlo de corrupción y en mayor o menor grado de una típica avivada criolla. Ejemplos sobran:

  • manejar a una velocidad mayor a la permitida, si nadie te controla.
  • conducir mientras se hablar por celular, porque uno maneja bien.
  • conducir con unas copas de más, total, también porque uno maneja bien. En caso de accidente, la culpa quizás sea de ese viejito que no pudo moverse más rápido con su andador para cruzar la calle.
  • tirar un papelitos de caramelos / cigarrillos en la calle.  Para qué está el barrendero?.
  • empujar un poco más para entrar en el subte / tren, total a mí me aplastan todos los días, que lo haga una vez…
  • anotarse en una categoría más baja del monotributo, si en dfinitiva es para que me saquen plata estos chupasangres.
  • intentar coimear al agente de policía que nos está haciendo una multa por estacionar tapando una rampa para discapacitados: “pasa que no la vi, oficial, cómo podemos hacer…”.
  • colgarse del cable de televisión del vecino jubilado, que como está un poco duro de oído y su vista no es muy buena, no se da cuenta.
  • tirar una bengala en un recital en un boliche. En caso de un siniestro, la culpa no es mía,  es del dueño del local que no pudo impedir que yo prendiera el cohete  o de la coimas que pagó para permitir tener materiales inflamables en el local. ¡Vamos los pibes!
  • ir en bicicleta, por bicisenda o no,  y omitir los semáforos y/o  no respetar el sentido de las calles. Al fin y al cabo uno no maneja un automóvil y es casi un peatón.
  • Colectivos de la línea 141 (o de cualquiér otra), que a toda velocidad doblan en rojo sobre  Santa Fe o cruzan Corrientes porque el semáforo en ambos casos demora mucho en permitir nuevamente el paso.
  • Querer comprar un nuevo IPhone,  y teniendo la posibilidad,  pasarlo como gasto interno del departamento de comercio exterior de la empresa dónde uno trabaja.

Seguro me quedé corto. Pero independientemente de los ejemplos, es imposible generalizar la actitud a la población puesto que en rigor, debería chequear este tipo de hecho para cada uno de los habitantes. Sin embargo,  un refrán dice que para muestras, basta con un botón. Esta idea se puede formalizar un poquito más con estadística, que nos permite llegar a conclusiones con determinado grado de veracidad a partir de una determinada muestra poblacional.

En este contexto, me pregunto ¿estamos en condiciones de pedir “paredón para los que cometen actos de corrupción?” No sea cosa que terminemos suicidándonos. Estamos en condiciones de tirar esa primera piedra ante un hipotético nuevo desafío de Jesús “quién esté libre de pecado…”? ¿Cómo pretendemos que no haya corrupción de parte de un funcionario, que a la postre, es uno de nosotros, cuándo la corrupción viene ya incorporada en pequeños actos del ciudadano común? Aquí no hay buenos contra malos, aquí hay malos contra malos disfrazados / malos que señalan al otro como malo y no quieren ver su realidad.

No tengo una solución para el problema, pero creo que veo el problema. Tal vez solamente puedo responder con un pensamiento naive de mi parte: no creo que nosotros veamos la solución a esto, pero quizás podríamos ayudar a que nuestros hijos / nietos la vean, si además de vivir lo que nos merecemos, intentamos NO TRANSMITIRLES todo este bagaje de enseñanzas nocivas que, no solamente pervierten el comportamiento de generaciones futuras, si no que en definitiva van en detrimento de nuestro país.

Si es para ahorrar, está bien…

Hace unos días, estaba en la casa de un coleccionista amigo, cuándo nos pusimos a charlar sobre el diseño de un joystick CZ800s que tenía a la vista y que había sido construido por la Czerweny Electrónica para completar el lanzamiento de la línea Plus por el año 1986. Ésta línea implicó el rediseño exterior y la incorporación de entradas para monitor, joystick y botón de reset de las computadoras CZ1000, CZ1500 y CZ2000 que respectivamente pasaron a llamarse CZ1000 Plus, CZ1500 Plus y CZ Spectrum.

Puntualmente, el joystick CZ800s estaba diseñado para trabajar con CZ Spectrum, mientras que las computadoras más chicas, sólo operaban con el joystick CZ800. Lo único que diferenciaba a ambos modelos de controlador, además de la letra “s”, era el cableado interno.


Éstos joysticks tenían -tienen, en realidad- un aire de robustez inspirado por su palanca y el botón,  de aspecto sencillos y similar a los de los controles en las máquinas arcades.

Pero esta semejanza sólo quedaba en apariencias, puesto que al tener en manos el CZ800s/ CZ800, se podía palpar una durabilidada apenas correcta.


Mi amigo acercó al joystick el estuche de una calculadora CZ Matemática, fabricada por la misma empresa en 1982 y me pidió que notara diferencias en los diseños. No hubo que hacer mucho esfuerzo. Era bastante evidente que decidieron reutilizar la matricería, por temas de practicidad o tal vez de costos, por lo que vale decir, que la base del joystick CZ800s es la cubierta  de la calculadora CZ Matemática! A las pruebas me remito:


CZ Matemática

La CZ Matemática es una calculadora fabricada completamente en nuestro país por Czerweny Electrónica en 1982. Opera con notación postfija (o polaca inversa), con display de ocho dígitos de LED rojos, de siete segmentos. Tiene un estuche de plástico rígido como pude apreciarse.

CZ800s vs cubierta de CZ Matemática. Es muy evidente que ambos objetos partieron de una matriz muy similiar, sino la misma

CZ800s vs cubierta de CZ Matemática. Es muy evidente que ambos objetos partieron de una matriz muy similiar, sino la misma.

CZ800s vs cubierta de CZ Matemática

CZ800s vs cubierta de CZ Matemática

Cómo corolario de esta comparativa, me viene a la memoria sketch del programa Peor es nada, de los geniales Jorge Guinzburg y Horacio Fontova. Había un superhéroe de la “cole”, llamado Zuckerman, que tenía como latiguillo la frase: “…y.. si es para ahorrar, está bien…


La leyenda del “Cozito”

Entendemos por viveza criolla a las prácticas que se ejercen para obtener ventaja de las situaciones, perjudicando al prójimo de ser necesario. En torno a esta frase se tejió la leyenda del “cosito” , que en poco tiempo fue desmentida.

Una tarde del año ´87, estaba en la casa de computación Desys Soft, en San Martín. En aquel momento, yo era usuario de Commodore 64 todavía con datasette y había concurrido a copiar juegos al local. Un chico de aproximadamente mi edad, preguntó a uno de los vendedores:

- Y cuánto zale eze cozito? -señalando a esto:

El "cozito" (si, con z). También conocido como Duplidisk

El "cozito" (si, con z)

Ese tono seseoso que me había enervado se convirtió en gracioso cuando me percaté  que estaba señalando una perforadora de diskettes de 5.25″,  muy similar en aspecto a las de papel diferenciándose por ser de plástico, de menor tamaño y por dejar perforaciones cuadradas. En aquel momento, me parecía motivo de burla cualquier persona que adquiriese ese tipo de perforadora, cuando con las comunes, que de hecho eran más económicas, podían obtener un resultado similar, lo mismo que con tijeras, pero siempre teniendo bastante cuidado.

La Duplidisk -así se llamaba esta pinza perforadora- , fabricaba una perforación cuadrada a la altura diametralmente opuesta a la que los discos traían de fábrica, con el objeto de utilizar la otra cara en unidades de floppy como la Commodore 1541, la Atari 1050 o la unidad Disk II de Apple, que solo contaban con una cabeza lecto/escritora. Este truco sencillo que permitía el aprovechamiento completo de un diskette, parecía ser una típica viveza criolla y, al menos por el barrio, se conjeturó acerca del origen argentino de la idea, evidenciado por el hecho de que el Duplidisk era de fabricación nacional.

Una parte de la leyenda urbana, o barrial, mejor dicho, caía en cuanto uno podía leer artículos como Flipping your Disk de M.G. Sieg, publicado en la revista Compute! número 10 (Marzo de 1981) en la página 71, proponía el aprovechamiento de la segunda cara de los diskette mediante la técnica de la perforación, para los drives de las computadoras Apple II. La otra parte de la leyenda, la del origen nacional del invento de la pinza, se esfuma con la revista Infoworld número 27 (Julio de 1983),   página 47,  dónde un auncio promociona el uso de la pinza Nibble Notch (nombre de marca registrada y patente pendiente), para duplicar el espacio en diskettes de 5.25″.

Duplidisk en acción

Duplidisk en acción

Para resumir,  tanto la idea de una mejor utilización de los diskette y la perforadora existían en Estados Unidos (al menos) antes del aluvión de Commodore en Argentina ocurrido desde 1985 . En la actualidad el Duplidisk, Nibble Notch, Disk Notcher o simplemente cosito (ahora sin z, cómo debe ser), es decir, esa pinza cuyos dueños me causaban cierto desprecio, se convirtió en objeto de colección bastante valorado por aparición poco frecuente. Más aún, no hace mucho que pude conseguir de casualidad mi propio “cozito”!

Lenguas Muertas I – Yoda Programa

Creo que debe ser uno de los fanáticos de Star Wars más jóvenes que conozco. Con sólo tres años y medio, ya vió toda la saga y sigue viendo algunos fragmentos de sus episodios favoritos, como el enfrentamiento el primer enfrentamiento de Qui-Gon Jinn y Obi Wan Kenobi contra los droides en la nave de la federación de comercio en Episodio 1 o el escape de Luke Skywalker y sus amigos del pozo de Carkoon , con su frase “Jabba…es tu última oportunidad…libéranos o muere…” en Episodio VI.

Entre sus personajes favoritos están Obi Wan y Anakin Skywalker antes de “hacerse malo”. Aunque también le cae simpático Yoda. Tal vez porque se ve representado por el tamaño tal vez porque le resulta simpática esa forma especial que el maestro Jedi tiene de hablar utilizando estructuras gramaticales compuestas con verbo , sujeto y modificadores directos, de modo tal que suele decir frases como “ir tu debes”.

Este hablar “alrevés” del maestro Yoda me lleva a asociarlo con un lenguaje de programación puesto en escena a principios de los ‘70 y que no pudo proyectar una posición más allá de mediados de los ‘80. Se trata del Forth, creado por el físico Charles Moore con el objeto de controlar el posicionamiento de los telescopios de su lugar de trabajo, el National Radio Astronomy Observatory of Arizona.

El origen de su nombre tiene dos raíces, por un lado de una simplificación de la palabra fourth que aludía a un lenguaje destinado a las computadoras de cuarta generación, es decir, aquellas que adoptaron los primeros circuitos integrados en su construcción, y por otro, del sistema operativo de la máquina IBM 1131 en dónde se compiló el primer entorno, que contaba sólo con cinco caracteres para los nombres de los archivos. Por esta limitante, el archivo compilado se llamó FORTH.

Forth es un lenguaje imperativo, de nivel medio y sus implementaciones consisten en una consola de comandos y un compilador interactivo con el que se puede extender el lenguaje, creando nuevas palabras, que serían el equivalente a rutinas o funciones en otros lenguajes. Esta arquitectura recuerdo un poco a la de Smalltalk, en donde es posible definir e interactuar con los objetos que viven en el entorno.

Pero volviendo a Forth, digamos que siempre estuvo pensado para interactuar con pocos recursos de hardware y de hecho, para interactuar con dispositivos pequeños y medianos en forma embebida. Hasta principios de los ‘90, por ejemplo, Federal Express utilizó un dispositivo denominado SuperTracker, con un firmware desarrollado en Forth, para registrar encomiendas guardando los ID escaneados en una RAM y luego sincronizando contra una computadora central regional. Otro uso de Forth tuvo lugar en un proyecto de plataforma para la creación de Smartcards en Europa, en 1995, llamado Open Terminal Architecture. Pero hay más ejemplos de uso que pueden encontrarse en esta dirección.

Esa gramática distintiva de Forth está dada por la estructura de pila de datos con que operan todas sus palabras, puesto que no existe el pasaje de parámetros ni los retornos de valores sino que son tomados y almacenados en esta estructura. Recordemos que como toda pila, por ejemplo la de platos lavados, el primer elemento a guardar, será el último plato que se lavó.

Utilizar esta metodología para cálculos, nos brinda el sistema con notación postfija que también es conocido como notación polaca inversa y que se utiliza en las calculadoras Hewlett-Packard. Recordemos que con este sistema, el uso de paréntesis en las expresiones algebraicas es innecesario. Supongamos, por ejemplo, que en una planilla de cálculos ingresamos la siguiente cuenta:

3 x (5 + 15)

El resultado es 60. Pero si ahora lo quisiéramos calcular con nuestra HP-48GX, deberíamos ingresar:

3 5 15 + *

Y deberíamos interpretar de la siguiente manera: apilar los números 3, 5, y 15, sumar los últimos dos números ingresados (5 + 15) y resultado dejado en pila, multiplicarlo con el primer número.


Volviendo al primer cálculo hecho con nuestra planilla, si no hubiesemos utilizamos paréntesis, el resultado sería otro, puesto que la suma separa los términos: 3×5 =15 + 15 = 30

Con el ejemplo anterior en mente, estamos más o menos en condiciones de aceptar que las palabras en Forth, consumen sus argumentos de la pila (es decir, los sacan), hacen lo que tienen que hacer y finalmente dejan en la estructura el valor resultante. Veamos por ejemplo, cómo escribir una estructura condicional:


3 4 < IF .“ TRES es menor que CUATRO” ELSE .“ TRES es mayor o igual a CUATRO” THEN;


A no alterarse! Pensemos en la pila! Se ingresan los operandos 3 y 4. Luego se aplica la palabra “<”, es decir 3 y 4 son los argumento del operador lógico <. El resultado de la operación es 0 -porque representa a TRUE- va a parar al tope de pila. Este valor es el argumento del IF, y por ser verdadero, ejecuta lo que está antes del ELSE, en este caso

imprime -es lo que hace el punto- el literal entre comillas. Lo que está luego del ELSE es opcional y en este caso particular, nunca se ejecutará y sólo aparece para mostrar la estructura completa que finaliza con THEN


Y qué pasaría con un ciclo definido? Bueno, si quisiéramos imprimir los primeros diez números naturales, podríamos escribir:

11 1 do . I loop;


Aqui, el 11 y el 1 se alojan en la pila y este último valor pasa a ser el valor inicial del ciclo que deberá iterar y ejecutar el contenido diez veces (en la vuelta once terminaría). Notar la aparición de I, que es una variable implícita del ciclo y conserva el valor del número de iteración, que en este caso, se está imprimiendo. Y por supuesto, el ciclo termina con loop.


Esto, como suele decirse, es sólo la punta del iceberg y en caso de interés, se puede extender el tema visitando Forth o leyendo Thinking in Forth. En mi caso, ambos recursos fueron bastante efectivos y gracias a ellos pude escribir mi primer programa Forth.


Para aquellos nostálgicos que quisieran probar el lenguaje en un ambiente más adecuado a su época de esplendor, podemos decir que prácticamente todas las home computers tuvieron -tienen- su versión de Forth, siendo el máximo exponente la Jupiter Ace de la empresa Jupiter Cantab LTD.

Esta empresa, que fuera fundada por dos ex miembros de Sinclair integrantes del equipo desarrollo de la ZX Spectrum, Richard Altwasser y Stephen Vickers, construyeron una computadora de rasgos similares a la Sinclair ZX81 pero varias distinciones:: poseía un gabinete de color blanco, con un teclado de goma, generador de sonido similar al de Spectrum y 3Kb de RAM, todo dirigido por un microprocesador Z80. Pero el rasgo más sobresaliente resultó ser el entorno Forth que incorporaba en ROM, al contrario de la tendencia de la época de utilizar BASIC. Los programas construidos en Forth se ejecutaban tres veces más rápido que su equivalente en BASIC, pero debido a la dificultad de aprendizaje, la Jupiter Ace tuvo muy poca aceptación de mercado y en sus dos años de producción, se crearon cerca de 8000 unidades.


Antes de terminar, quisiera dejar el listado de mi primer programa Forth. Se trata de un pequeño juego que suelo escribir en distintos sistemas / lenguajes que cae en mis manos, como una alternativa al tradicional “Hola Mundo”. Consiste en un juego de adivinanza, en dónde la computadora selecciona aleatoriamente un número del uno al diez y el usuario cuenta con tres posibilidades para adivinarlo. En cada intento fallido, el programa ayuda informando si es número elegido es mayor o menor al ingresado.


El programa fue escrito en Win32Forth, aunque podría correr en la versión online jsForth. Está dividido en tres secciones: la primera contiene una declaración de variables y constantes, que también dispone el lenguajes aunque su uso no es tan directo puesto que para almacenar o recuperar los valores es necesario hacerlo a través de la pila. En segundo lugar, se definen una palabra para controlar el acceso desde teclado del intento del usuario, que se representa mediante una cadena de caracteres. Éstas, son operadas de manera similar al lenguaje C mediante utilización de punteros que, aunque, las referencias se hacen a través de la pila.

Dado que no existe en Forth un método nativo para elegir valores al azar, hay que definir algún método, como por ejemplo, la congruencia lineal implementada en tercer lugar mediante la definición de la palabra RANDOMN. Por último, la cuarta sección contiene el código de la palabra ADIVINA que dirige la ejecución del programa en sí.

Ahora es momento de dejar de hablar de lenguas muertas y volver al rol de padre, mi hijo Ian, el pequeño fanático de Star Wars, está reclamando una repetición de la pelea final de Episodio III.


3 CONSTANT INTENTOS

VARIABLE numero

VARIABLE vuelta

VARIABLE semilla

VARIABLE numero ( Declaracion de variables)

VARIABLE vuelta

HERE semilla ! ( la semilla arranca con el valor de la dirección de memoria)

: INPUT$ ( Palabra para efectuar input de hasta 2 caracteres)

PAD 1+

2 ACCEPT

PAD C!

PAD

;

: RANDOMN ( Esta palabra recibe un valor limite de numeros aleatorios y actualiza la semilla)

semilla @ 31421 * 6927 + DUP semilla ! swap mod

;

: ADIVINA

CLS

11 RANDOMN ( Numero al azar entre 0 y 10)

numero ! ( El valor elegido que quedó en el tope de pila y se guarda en la variable)

CR .” Adiviná el numero que pensé, tenés ” INTENTOS . .” intentos ” cr

1 vuelta ! ( Vuelta es 1)

BEGIN

cr .” Intento ” vuelta @ . .” : ”

INPUT$ COUNT NUMBER? ( Input y conversión de cadena a entero)

2DROP ( Se tiran los flags de la conversión, queda en el tope el número ingresado)

dup ( Copia del número ingresado, para la siguiente comparación)

numero @ <> IF vuelta @ 1 + vuelta ! THEN ( Si no se adivinó, se da una vuelta más)

numero @ = vuelta @ INTENTOS > OR UNTIL ( En pila está el numero ingresado. Se sale si el igual al elegido o si hay más de 3 vueltas)

CR

vuelta @ INTENTOS > IF .” PERDISTE! ERA EL ” numero @ . ELSE .” ACERTASTE” THEN ( Resultados)

CR ;

Tarta de Frambuesas

Hace unos días y luego de casi un mes de espera, llegó a casa la Raspberry Pi que compré por Element14. La verdad es que resulta impresionante el desempeño de esta computadora en relación a su tamaño y características. En una superficie con las dimensiones de una tarjeta de crédito, contiene un conector ethernet, dos USB, una salida HDMI, otra de video compuesto, una salida de audio estéreo y una entrada de tarjeta SD para almacenamiento persistente. La memoria RAM es de 256Mb y parte de la misma es usada por el procesador gráfico VideoCore. Todo esto está dirigido por un microprocesador ARM11. Estas características están presente en la versión B -la última a la fecha- por un costo de 35 dólares más 17 de gastos de envío.

Esta pequeña computadora, promocionada por la fundación de caridad inglesa Raspberry PI, empezó a producirse con esta configuración el 10 de enero de 2012 (este año), con el objeto de difundir y facilitar el estudio de distintos aspectos de la computación y fomentar el uso de software libre en niños y jóvenes de edad escolar. Por esto, en el sitio oficial del proyecto, se encuentran cuatro distribuciones del sistema operativo Linux Debiany tres de ellas incluyen un intérprete Phyton y Scratch, un lenguaje gráfico desarrollado por el MIT para despertar el gusto por la programación en los chicos.


Con tan poco tiempo de vida, la Raspberry se convirtió en furor entre geeks y desarrolladores que empezaron a darle uso en proyectos diversos, como controladores de media centers, pequeños dispositivos robóticos, traductores en línea y por supuesto de forma recreativa con algunos juegos, no tan pequeños en algunos casos, como ocurre con Quake 3D.

Raspberry PI Model B
Raspberry PI Model B


El microprocesador utilizado es uno de los más difundidos entre los smartphones por su potencia y consumo, sin embargo el ARM no es nuevo.


Para hablar de sus orígenes, habría que remontarse a 1983, cuando la empresa inglesa Acorn, fundada en 1978 por Chris Curry -un ex empleado de Sinclair Radionics-  y su amigo Hermann Hauser, iniciara la búsqueda de un nuevo microprocesador para los próximos desarrollos que superase al MOS 6502, en el que venían basando sus cinco modelos System -máquinas de laboratorio-, su primera home computer, la Acorn Atom, el prototipoAcorn Proton y un modelo posterior, la Acorn Electron.

La Proton, diseñada en 1981 a partir de Atom -aunque conceptualmente fuera anterior a este modelo-, fue construida en una semana para concursar en una licitación convocada por la British Broadcasting Corporation-BBC- para su programa de alfabetización informática Computer Literacy Project, basado en una computadora hogareña multipropósito.

Excediendo los requisitos de la BBC, Acorn ganó la licitación con la Proton que pasó a ser producida con el nombre de BBC Micro. De los dos modelos de Beeb -así las apodó el público-, llegaron a venderse un millón de unidades, brindando a Acorn ganancias alrededor de los 8.5 millones de libras.

La mejora financiera permitió pensar en un futuro de nuevos desarrollos basados en algún microprocesador más poderoso que el habitual 6502. Sin lograr encontrar un microprocesador adecuado, la Acorn se propuso construir uno propio basada en arquitectura RISC -Reduced Instruction Set Computer-, asignando a la tarea de diseño del hardware a Steve Fuber y del juego de instrucciones a Roger Wilson, pieza clave de la empresa, puesto que él fue quien diseñó la System-1, la Atom y extendió el lenguaje Basic de esta última, para incorporarlo en la Proton.

Para octubre de 1983, la empresa VLSI Technology fue encargada de implementar el diseño del nuevo procesador de arquitectura RISC. Esta filosofía, recordemos, prepondera a un conjunto de instrucciones pequeño, de tamaño fijo y pocos formatos de uso, de las cuales sólo se accede a memoria con instrucciones especiales y se utiliza registros para efectuar las operaciones. Las instrucciones, además, se encuentran implementadas en hardware, al contrario de la arquitectura CISC, que utiliza microcódigo.

El 16 de abril de 1985, estuvo listo el procesador de 32 bits Acorn RISC Machine v1, también conocido comoARM1. Sus primeros usos fueron en desarrollos internos de la Acorn, pero habiendo demostrado cualidades superiores de velocidad de procesamiento y bajo consumo gracias a sus 30.000 transistores contra los 68.000 del Motorola 68000, en 1987 se utilizó la versión ARM2 como el corazón de la Archimedes, la competidora de Acorn en el terreno de los home computers de 16/32 bits liderado por Commodore Amiga y Atari ST.

No viene al caso hablar mucho de la Archimedes, aunque valdría quizás mencionar que carecía de chips especializados para tratamiento gráfico pero la potencia del ARM suplía esta falta.

Hacia 1990 y ante el avance de las PC clones de IBM, ocurrió una estratégica escisión de la Acorn, dando lugar a una nueva compañía especializada en el desarrollo de microprocesadores, que evitase una imágen monopólica de una Acorn creadora de componentes, computadoras y software.

En una sociedad con VLSI y Apple se creó la Advanded RISC Machines LTD, que se encargó de definir lasversiones de la arquitectura del procesador y de la construcción de las familias de dentro de cada arquitectura. Por otro parte, creó un mecanismo de licenciamiento -de la arquitectura-, para habilitar a terceros a construir los ARM para extender sus funcionalidades segun el caso, para diferentes productos.  Así, uno de los primeros interesados en el ARM fue justamente Apple, que en 1991 utilizó una versión modificada de la tercera versión de la arquitectura, conocida como ARM6 en su handheld Newton.

La ARM LTD cambió su nombre a ARM Holdings en 1998 y  en la actualidad liberó la séptima versión de la arquitectura, que define a la familia de múltiples núcleos Cortex: Cortex-A, Cortex-M y Cortex-R. Como ejemplos de uso, tenemos al nuevo móvil Samsung Galaxy S III con un Cortex-A y nuevamente a la Raspberry PI con un ARM11 -sexta versión de la arquitectura- que además resulta ser un buen ejemplo del licenciamiento: el procesador forma parte de la misma pastilla que contiene, además, la memoria y el procesador de video.


Pero el uso del ARM está muchísimo más difundido: no sólo se estima que el 95% de los smartphones lo utilizan; sino que está presente en las consolas de juegos portátiles como Nintendo Gameboy Advance, DS ,3DS; receptores GPS, tablets, reproductores de BluRay, smart TVs y routers. Todo parece indicar que se a incluirlo en cualquier dispositivo pequeño / mediano que realice algún tipo de procesamiento o que se catalogue de “inteligente”.

Y qué fue de la vida de los diseñadores de este micro tan poderoso? No es de extrañar que con la presencia del ARM, aún continuen trabajando alrededor de su creación.

En el caso de Steve Furber,  docente de Ciencias de la Computación de la Universidad de Manchester, escribió el libro, ARM System-on-Chip Architecture en donde analiza detalladamente la arquitectura y presenta una lista cuantitativa de familias de procesadores y productos que hacen uso. También pensó en usar los ARM en su proyecto Spinnaker, que consiste en la construcción de una gran red neuronal en hardware en base de un millón de procesadores interconectados.

Por su parte, Roger Wilson, que cuenta con un título de grado en Ciencias de la Computación, tuvo un cambio radical en su vida luego de una operación de cambio de sexo que lo convirtió en Sophie Wilson. En la actualidad es CEO de la compañia Broadcom, dedicada a la construcción de componentes para comunicación y como era de esperar, licenciataria de ARM, pero también integra el directorio de la empresa de juegos Eidos.

Luego de esta breve recorrida por la historia del ARM, voy a instalar el Fuse, el emulador de Spectrum que me pasó un conocido, luego a compilar el navegador Chromium y probar capacidades multimedia. Algo interesante podía surgir de todo esto!

Y tu mamá también

Mi mamá, mi suegra y algunas otras personas con ciertos años encima, siguen teniendo pendiente sentarse frente a una computadora y empezar a disfrutarla. Están al tanto de la facilidad de operación y saben, por ejemplo, que su  nieta de siete años ya tiene más de dos de experiencia con teclados y mouses. Pero aún así no se animan.

Este grado de facilidad de operación, casi fantástico, que tienen las computadoras actuales, se debe al aprovechamiento de los recursos que hacen sistemas operativos como Windows y los muchos sabores de Linux con sus sistemas gráficos Gnome o KDE.

Todos estos tienen un origen común que se inicia por 1962 en ARPA, cuando el psicólogo John Licklider, que había ingresado a la agencia como parte de un programa que desarrolló el sistema de defensa antimisiles llamado SAGE para trabajar en aspectos de interacción de dispositivos electrónicos y las personas, creó la oficina de Técnicas de Procesamiento de la Información.

Licklider, un egresado de Hardvard, estaba convencido de que las computadoras debería existir una suerte de simbiosis entre humanos y computadoras, para aumentar el conocimiento de las personas y para facilitar las tareas diarias; pero para esto, las computadoras deberían ser suficientemente amigables e interactivas como para que su operación no resultase tediosa. Mientras que su pensamiento quedó reflejado en  un paper llamado “The Man/Computer Symbiosis” , la oficina promovió la investigación cooperativa con las universidades de Stanford y Utah (entre otras) en temas como desarrollo de sistemas gráficos, técnicas de programación e interfaces entre hombres y computadoras.

Los primeros resultados de algunas investigaciones, estuvieron presentes en 1963, cuándo quedó operativo un sistema multiusuario denominado MAC -Machine Aided Cognition-, orientado a la edición de documentos de texto, de programas y su ejecución. Pero detengamos esta historia del MAC y su descendiente MULTICS, para centrarnos en los grupos de investigación de las dos universidades y un tercer actor que completa la historia.

El Human Factor Research Center -HFRC- de Stanford, también hacia 1963, estaba dirigido por Doug Engelbart y tenía como principal proyecto desarrollar una oficina electrónica utilizando computadoras. Esto implicaba la construcción de nuevas interfaces de usuario, que por sus características , el uso exclusivo del teclado como dispositivo de control resultaba incómodo e insuficiente. Para complementarlo idearon un dispositivo que patentaron como X-Y Position Indicator for a Display System , aunque por su forma resultaba más sencillo llamarlo mouse. Hacia 1965, se convirtió en el dispositivo más utilizado dentro del proyecto y para 1968, cuándo se presentó el prototipo de la oficina electrónica, resultó ser la estrella del evento.Sin embargo, el proyecto completo resultaba suficientemente costoso como para ser implementado a corto plazo.

En 1967 un estudiante de doctorado de Ciencias de la Computación de la Universidad de Utah, trabajaba en un proyecto orientado al manejo de la información y la sustitución del material impreso a través de una computadora del tamaño aproximado de una carpeta, con la capacidad suficiente para almacenar, presentar, buscar e intercambiar información a requerimiento. Ideado por Alan Kay, este dispositivo llamado Dynabook no llegó siquiera a la fase de prototipo, pero se convirtió en un concepto que sentó las bases de las modernas máquinas tablet y handhelds. Recordemos que Alan Kay es además uno de los padres de la programación orientada a objetos, puesto que sus investigaciones dieron vida a los lenguajes Smalltalk en 1972 y Squeak hacia 1990. Por otro lado, además de ser bajista profesional de Jazz, fue jefe de la división de I+D de Atari durante la era Tramiel.

A la presentación del HFRC de 1968, concurrió la gente de Xerox que se encontraba bastante preocupada por el avance de la tecnología japonesa y por lo tanto se había puesto en la búsqueda de alternativas para diversificar el negocio de las fotocopiadoras.

En tercer lugar tenemos a la gente de Xerox que se encontraba bastante preocupada para finales de la década del ‘60 por el avance de la tecnología japonesa y buscaba diversificarse del negocio de las fotocopiadoras. Afortunadamente pudieron presenciar aquella demostración de HFRC de 1968 y de ahí surgieron algunas ideas que derivaron en la instalación en Sillicon Valley del Palo Alto Research Center -PARC- cuya principal iniciativa fue crear la “oficina del futuro”. Hacia mediados de 1970, en el PARC, se habían destinado más de 50 millones de dólares para investigación de tecnología de punta y contaba con un equipo más que respetable: gente del ARPA cercana a Licklider, gente del HFRC de Stanford y al mismo Alan Kay de Utah.

Para 1973 se inició el desarrollo de Xerox Alto, una computadora desktop con una pantalla del tamaño de una hoja de resma A4 que podía mostrar documentos en formato bitmap y además contaba con un sistema operativo cuya interfaz gráfica estaba compuesta por íconos, ventanas, documentos y carpetas, todo controlado por un mouse de tres botones. Contaba con 128 Kb de RAM, un disco rígido de 2 Mb, conexión Ethernet y un microprocesador especialmente diseñado. Para 1975 Xerox Alto fue presentada a un público restringido y los primeros usuarios fueron la Casa Blanca y la Universidad de Washington.

La Xerox Alto tuvo una sucesora comercial, la Xerox Star que terminó fracasando debido a su altísimo costo -una workstation valía alrededor de 16.000 dólares -, pero permitió masificar el nuevo paradigma de sistema operativo: Steve Jobs estuvo de visita en el PARC durante el desarrollo de esta máquina y luego de una demostración, casi inmediatamente inició en Apple al proyecto Lisa. Aunque esta última máquina tampoco tuvo una aceptación pública por razones de costo, Apple tuvo su revancha en 1984 con Macintosh. Por otro lado, la gente de Microsoft,
que se encontraba desarrollando las versiones de Word y Excel para Mac antes de salir al mercado, recibió algunos prototipos para efectuar pruebas de las aplicaciones. Pero también tomaron algunas ideas sobre las funcionalidades del sistema operativo de la Mac y pudieron dar vida hacia 1985 a un casi ignorado Windows 1.0.

En resumen, las interfaces gráficas que nos facilitan tanto la comunicación y el manejo de las computadoras tienen cerca de 40 años y surgieron como una forma de agilizar la interacción entre el hombre y la máquina. Ahora me pregunto, habrán tenido éxito los sistemas operativos con interfaz gráfica, puesto que aún mi mamá y mi suegra no se animan a utilizar las compus?

Old school game

Battle for Asciion nos permite rememorar a aquellos juegos de las máquinas más pequeñas de Sinclair, cuando con pocos recursos  gráficos y de memoria, sorprendían con su calidad.

Construido completamente con caracteres ASCII, el juego se desarrolla de manera similar al Gradius o Salamander; pudiendo incrementar la capacidad de fuego de la nave al destruir las olas de enemigo y obtener los powerups…pero dejemos de escribir y vamos a probarlo!

===> CLICK <===

30 años de ZX-Spectrum

Sencilla, poderosa y versátil son los adjetivos que describen a la ZX-Spectrum que hoy, 23 de Abril de 2012 cumple 30 años de su lanzamiento al público. Contruida los laboratorios de Sinclair Research -la empresa de Clive Sinclair- de Cambridge, la Spectrum hizo gala de la simplicidad, economía en sus versiones de 16Kb y 48Kb, manteniendo así las mismas premisas que dieron vida a sus antecesoras ZX-81 y ZX-80.

Sin embargo eran varias las novedades incorporadas en esta computadora, comenzando por la cantidad de memoria que, para la época, era más que suficiente y hasta quizás excesiva, como se pensaba acerca del modelo de 48KB. El modo de texto continuaba siendo el de los modelos anteriores, pero se agregaron capacidades gráficas que proporcionaban alta resolución de 192 por 256 pixels con 8 colores. A diferencia de las ZX80 y ZX81, se incluyó el juego de caracteres ASCII. Para la salida de la imagen por RF, se utilizó la norma oficial de Inglaterra, la PAL-B. También se incorporó un generador de sonido sencillo con salida por un beeper, un soporte mejorado de almacenamiento por cassette con mayor velocidad y menor sensibilidad a fallas. Se renovó además el port de expansión.

Se mejoró el gabinete que pasó a medir unos 23 por 14 por 3 cm y el teclado esta vez era de goma de 40 teclas. El sistema de introducción de comandos y funciones continuaba siendo el clásico: una tecla, un comando de un Sinclair Basic  extendido para explotar las nuevas características de la máquina. Internamente estaba conformada por un microprocesador Zilog Z80A de 3.5 MHz, la ROM esta vez ocupaba 16KB y en cuanto a la RAM, como se dijo, variaba según el modelo. Un nuevo integrado ULA fue introducido para administrar las características de video y sonido de la máquina. La alimentación seguía siendo mediante una fuente externa de 9 volts DC. El precio de las unidades se incrementó levemente, 125 libras para la Spectrum 16 y 175 libras la Spectrum 48. La demanda de esta máquina fue tan grande que, en su primer mes, no solo se agotó la tanda inicial de 20.000 unidades, sino que además se registraron 30.000 pedidos adicionales. Luego de regularizar la producción con los altos niveles de demanda, para el año siguiente se llegaron a registrar picos de venta cercanos a las 15.000 computadoras semanales.

Hay que destacar que la Spectrum apareció en una época en que Inglaterra atravesaba el conflicto del Atlántico Sur y su economía incurrió en una etapa depresiva que causó el cierre de numerosas fábricas y generó miles de desocupados, como consecuencia de las medidas económicas adoptadas por el gobierno de Margaret Thatcher. Frente al suceso de la máquina, la primera ministra se convirtió en una ferviente admiradora de Sinclair, y utilizó su figura como símbolo de la lucha frente a las adversidades -económicas-  y del creciente poderío tecnología nacional. Así fue como, en un viaje a Japón en septiembre de 1982, obsequió al primer ministro de dicho país, Zenko Suzuki, una ZX Spectrum 48. Para fines de 1983, Clive Sinclair recibió el título de Sir.

La ZX-Spectrum fue una de las computadoras más clonadas de la historia y sus copias llegaron a utilizarse hasta entrados los años ´90 principalmente en Europa central, oriental y Asia. Algunos modelos exóticos para destacar son el Hobbit ruso, con mejoras en el teclado y 64Kb de Ram y la MicroTIM rumana, con aspecto de PC y un Basic modificado. Aquí puede encontrarse una lista con muchos modelos muy llamativos.

Si de buscar más clones se trata, no tenemos que ir muy lejos. En Brasil se contruyó la TK-90X que presentó cierto grado de incompatibilidad con la Spectrum original producto de modificaciones en la ROM -idioma y rutinas agregadas-, pero que contó con una importante cantidad de usuarios. Esta máquina llegó a Uruguay y a nuestro país, y en éste último caso, compitió con poco éxito con la CZ-2000, el clon nacional 100% compatible de ZX-Spectrum, construido por la división electrónica de la empresa Czerweny de Paraná, Entre Rios.

A pesar de haber sido usuario y ser actual admirador de Commodore 64 , hoy en día no puedo dejar de maravillarme de la simpleza y potencia de la Spectrum. Felices 30 años, morocha!!!!

ZX-Spectrum, muy contenta con sus 30 años

ZX-Spectrum, muy contenta con sus 30 años

CZ-2000, el clon Argentino 100% compatible

CZ-2000, el clon argentino 100% compatible

TK-90X, el clon brasileño

TK-90X, el clon brasileño muy utilizado en su país con algunos detalles en su compatibilidad

Fallecimiento de Jack Tramiel

El domingo 8 de Abril de 2012, falleció a los 83 años Jack Tramiel, el fundador de Commodore. Su verdadero nombre era Idek Tramielski, nació en 1928 en Polonia y padeció junto a su familia los horrores de la guerra. Con la llegada de los aliados en 1945, fue rescatado por el ejército estadounidense, pero su familia no tuvo la misma suerte ya que su padre luego de enfermarse, murió víctima de experimentos médicos, mientras que su madre fue considerada muerta durante casi dos años, momento en el que se reencontró con ella en la ciudad de Lodz.

A mediados de 1947, Tramielski emigró a Estados Unidos y se enroló en su ejército, donde aprendió inglés, a reparar mobiliarios de oficina y máquinas de escribir eléctricas, concurriendo a cursos de la IBM. Para esa época también dio un toque americano a su nombre, haciéndose llamar Jack Tramiel.

Luego de abandonar el ejército y formar su familia, trabajó como mecánico y chofer de taxis, con lo que pudo juntar algo de dinero, que sumado a unos pagos del ejército y con la ayuda de su esposa, le permitió fundar la Singer Typewriters, un pequeño negocio del barrio Bronx, de reparación y venta de máquinas de escribir eléctricas reacondicionadas. Se mudó a Canadá en donde montó una pequeña fabrica de ensamble de máquinas escribir con partes importadas, a las que bautizó Commodore. Expandió el negocio fabricando máquinas de escribir eléctricas, calculadoras y más tarde computadoras.

Hacia principios de los ‘80 desató una guerra de precios con la intensión de desbarrancar del negocio de las computadoras a su enemigo Texas Instruments, que desembocó en una masificación de las computadoras hogareñas, siendo su nave insignia la Commodore 64 creada en 1982 que podía adquirirse por 590 dólares -el precio de costo rondaba los 120 dólares-, concretando así uno de sus lemas “computadoras para las masas, no para las clases” . De esta máquina se llegó a vender casi 20 millones de unidades en sus diez años de vida.

Dirigió la compañia de forma autoritaria y siempre que pudo intentó eliminar a sus competidores, nuevamente fiel a su lema “los negocios son una guerra”. Antes de mediados de los ‘80, fue forzado a abandonar su compañia debido a desacuerdos económicos con los inversores. Pero no se quedó con los brazos cruzados y compró en 1984 la división de desarrollo de computadoras Atari que daba pérdidas en aquel entonces a la Time Warner y desarrolló la línea XE de computadoras de 8 bits y las ST de 16 bits, para competir incluso con su ex compañia.

Se fue un luchador que padeció la pobreza, los horrores de la guerra y el nazismo, pero siempre supo salir adelante  con su estilo particular con defectos y virtudes, pero que siempre defendió y sostuvo lo que consideraba correcto.

Jack Tramiel

Jack Tramiel en el año 2004

En memoria del padre de CEFIBA

El 1ro de Marzo de 2012, falleció a los 93 años el Ingeniero Humberto Ciancaglini, un precursor del desarrollo de la computación en el país, oriundo de Salta. Ideó e impulsó la contrucción de la primera computadora de América Latina, contemporanea a la puesta en marcha de Clementina en el Instituto de Cálculo de la Facultad de Ciencias Exactas de la Universidad de Buenos Aires.

Luego de haber trabajado en diferentes paises de europeos para la empresa Phillips, hacia 1957, Humberto Ciancaglini consideró la importancia del desarrollo de las computadoras y la falta de proyectos de tal carácter en Argentina.

Estando al frente del Departamento de Electrónica de la Facultad de Ingeniería de la Universidad de Buenos Aires, Ciancaglini formó un grupo dedicado al estudio de diversos temas relacionados con el diseño de computadoras.

Cuándo el grupo consideró tener los conocimientos teoricos suficientemente sólidos, inició un ciclo de conferencias y hacia 1959 inició el proyecto de construcción de la CEFIBA: Computadora Electrónica de la Facultad de Ingeniería de Buenos Aires, bajo la dirección del Ing. Felipe Tanco, quien había estado trabajando entre 1954 y 1957 en los Estados Unidos en tareas de diseño de computadoras para la empresa RCA junto a los ingenieros Eduardo Ulzurrun y Oscar Mattiussi. Este último, unos años más tarde, tendría participación en el mantenimiento de Clementina. Al grupo se integraron los ingenieros Noemí Kaplan, Ricardo Criado, Edgardo Cohen, Arturo Vercesi y Jonás Paiuk -quien fuera más tarde el encargado del mantenimiento de Clementina-. La programación de la computadora estaría a cargo de la licenciada en Matemática Aida Cohn.

La CEFIBA tuvo dos características distintivas. Primero, diseñada según la arquitectura de Von Neumann, su construcción se basaba en transistores, lo que resultaba novedoso y resistido por la mayoría de los fabricantes de la época que confiaban en las válvulas de vacío. Los transistores contaban con la ventaja de su tamaño, menor consumo eléctrico y menor generación de calor, con lo que simplificaban los sistemas de refrigeración.

La segunda característica era la restricción impuesta por un presupuesto muy escaso, del que se supo sacar muy buen provecho construyendo ingeniosamente muchos dispositivos. Uno de las primeros elementos construidos fue el gabinete de alojamiento de la computadora y sus circuitos de alimentación eléctrica, utilizando dos armarios unidos a los que se agregaron divisiones para delimitar seis estantes y distribuir distintas componentes. También se construyó, a partir de un cilindro de aluminio pintado con ferrita, una memoria auxiliar de tambor magnético, cuya capacidad de almacenamiento era de 4096 palabras de 32 bits, -16 KBytes actuales-. El dispositivo presentó algunas fallas de funcionamiento, por lo cual, luego de varias reparaciones, fue reemplazado por un tambor de memoria comprado a Ferranti.

A partir de una máquina de escribir adaptada con el agregado de selenoides sobre los martillos de impresión, se contruyó una impresora que la computadadora podía accionar, enviando señales a estos dispositivos asociados a los caracteres que se iban a imprimir. Tanto la memoria de tambor como la impresora, estaban dispuestos en una consola de operaciones, fabricada a partir de un escritorio metálico, que además tenía una lectora de papel perforado y una suerte de teclado de entrada, consistente en un tablero de treinta y dos teclas con el cual se ingresaban a la CEFIBA las palabras de 32 bits.

La programación se llevaba a cabo con lenguaje de máquina, plasmado en una cinta perforada preparada a partir de un teletipo. La cinta era suministrada al lector de papel perforado y el contenido se almacenaba en el tambor magnético para ser compilado.

La construcción de esta computadora demoró cerca de cinco años. El 10 de Agosto de 1962, en un acto en la Facultad de Ingeniería y con la asistencia de las autoridades de la UBA, se presentó la computadora exponiendo su funcionamiento y sus detalles técnicos.

En 1966 los acontecimientos que oscurecieron a la UBA, afectaron y disolvieron al grupo que proyectó y construyó la CEFIBA, disolviendo también el destino de la primera computadora desarrollada en America Latina.