jueves, 25 de febrero de 2016

¿Cómo puedo emular películas fotográficas en Ubuntu?


¡Trabajadores!

La Conducción Política es un Arte, y como tal cuenta con su técnica y su teoría. Técnica y Teoría constituyen su parte inerte. Sin embargo su componente vital es de igual importancia: la conforma el Artista, el cual habrá de estar ungido con el óleo sagrado de Samuel que todos hemos recibido al nacer.
La fotografía también es un arte que vive bajo los mismos preceptos. Por ello debemos procurar comprender su técnica, su teoría, y también progresar en todo como artistas.

Sabemos que la reproducción de de tonos o crominancias es uno de los ejes de la reproducción fotográfica, y que como todo arte este aspecto está siempre bajo el escudriño de todos. Serán estos parte del lenguaje que hemos de dominar. Algunos intentan referir que tanto el tono como el color dependen de ciencias exactas, bajo las cuales podrían cuadrarse todo tipo de pigmentaciones y explicarse todo tipo de resultados, estigmatizaciones, patrones, etc. Esta visión - si bien difundida - cae ante el peso de la Realidad, que es la Única Verdad. El color, so pena de ser exacto, es en realidad un cuasi-producto de la intangible emoción humana, y su interpretación en tan personal como lo es la percepción visual, y tiene tanto que ver en el resultado expresado, como las frecuencias musicales tienen que ver con el gusto musical. Son parte componente, pero no el todo.

En la era de la fotografía química este discernimiento cromático se debía en gran parte al emulsionado particular de cada material fotosensible necesario para el registro de la imagen. De esta forma cada formulación o etiqueta otorgaba una rendición y una representación estética determinada, que el fotógrafo hábil podía utilizar como eficaz herramienta expresiva. Cada fabricante a su vez entendía que su material componía la "paleta de pintor" del fotógrafo, y en cierta medida trataban de mantener la representación cromática de sus materiales uniformada para satisfacer cada noción estética creada.
Con el advenimiento de la fotografía digital, todo esto quedó en mano del software privativo con el que la mayoría de los equipos de registro suelen contar para la captura de imágenes. Este firmware repercute en la apreciación e interpretación de los resultados gráficos finales en la imagen, y en vista de ellos muchos fabricantes de cámaras digitales optaron por incorporar la capacidad de poder alterar las apreciaciones tonales o colorimétricas en sus cámaras mediante una serie limitada de opciones, o más bien "perfiles cromáticos". Es así como surgen los "Picture Styles", Estilo de Fotos, o demás nombres para describir algunas opciones que ahora el fotógrafo digital tenía a mano. Podremos ahora escoger entre la reproducción gráfica "Normal/Standard", "Retrato", "Paisaje", "Fiel", "Vívido", etc.
Luego se hizo evidente que muchos fotógrafos no se conformaban con estas propuestas limitadas, y en virtud de ello se comienzan a incorporar las funcionalidades de registro RAW en muchas cámaras, sobre lo cual ya me he extendido para hacerles frente gracias al Software Libre.

Sin embargo, ¿qué sucede si deseo replicar la estética de la película fotoquímica tradicional? ¿Qué sucede si deseo la estética de tal o cual negativo, o diapositiva? En dicho caso, emplear la funcionalidad RAW puede ser una salvación o un mal augurio. Los archivos RAW disfrutan de una enorme latitud de corrección cromática y lumínica, pero no siempre reflejan "un tipo de rollo determinado".

Para ello, hemos de utilizar otros programas que alteren el color de nuestra fotografia digital lograda de manera neutral o con modo colorimétrico adecuado. G'MIC se trata de un paquete de plugins compatibles con el editor gráfico GIMP y otros como Krita o incluso editores de video como Flowblade. Como tal nos permite agregar una buena cantidad de efectos y funcionalidades a las ya disponibles en este editor gráfico libre. Entre estas se encuentra la de simular distinto tipo de películas fotográficas.

Como tal el programa se incorpora al menú Filtros de GIMP, para darnos un conjunto de herramientas flexibles y potentes que no están incorporadas en la versión original. Indudablemente que GIMP (actualmente en su versión 2.8) es capaz de replicar sus resultados, pero normalmente deberíamos invertir para ello varios pasos y varios minutos más de trabajo, por lo cual instalar C'MIC suele ser recomendable también como una buena oportunidad para facilitar la edición general de cualquier fotografía.

Otros de sus resultados son efectos vistosos o requeridos para ciertas terminaciones de tipo fotográfico (viñeteados, marcos, correcciones de luz, etc).

Para instalar la aplicación debemos abrir una terminal con Ctrl+Alt+T e indicamos el siguiente bloque de Comandos de Organización:

sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt-get update
sudo apt-get install gmic gimp-gmic



Una vez finalizada la descarga e instalación desde la Terminal, podremos arrancar GIMP como lo hacemos siempre, desde Aplicaciones / Gráficos / Editor de imágenes GIMP.

Conforme el editor gráfico, podremos abrir una imagen que deseemos trabajar, y acceder a las funcionalidades agregadas desde el menú Filtros / G'MIC...

G'MIC abirá una ventana de control que contiene todas sus funciones.

En la parte derecha se nos mostrará la previsualización del efecto escogido.

También podríamos administrar cómo funcionarán las capas, si es que estuviésemos trabajando con ellas, y escoger así si queremos aplicar en todas las capas de trabajo a los efectos a realizar, o solo algunas de ellas.

En la parte central tendremos categorizados todos los tipos de efectos y tratamientos que podremos hacerle a la imagen, cada uno de ellos con una buena cantidad de efectos en su interior. Las categorías son: Patrones y Cerámicos, Efectos Artísticos, Blanco y Negro, Efectos Color, Contornos, Deformaciones, degradados, detalles, emulación de película, marcos, frecuencias, capas, luces y sombras, patrones, renderizado (para formas en 3D), Reparar, y secuencias.

Entre las funciones categorizadas en este caso debemos recurrir a la potente funcionalidad de "emulación de película" (film emulation). Esta se debe específicamente a simular el resultado visual de distinto tipo de películas sobre nuestra imagen.

Sobre el costado izquierdo podremos ajustar diferentes parámetros que hacen al mismo, pero lo más importante será que contaremos con un menú de presets (o sea, ajustes preestablecidos) que nos permitirán escoger de una lista el tipo de resultado visual que busquemos.

Entre las diapositivas color - ampliamente utilizadas en publicaciones - encontraremos clásicos insuperables como las densas Provia, la neutral Sensia, la Superia y la vibrante Velvia de la casa Fuji. Por Eastman-Kodak tendremos su  Kodachrome y la clásica Ektachrome, así como las sesentosas Elite Chrome. En autorevelado diapo están las Polaroid 669, 690, y la restringida Polachrome.

Para lograr una clásica rendición tonal blanco y negro, hay que recurrir a las películas negativas clásicas. Ello lo podremos lograr bajo el apartado B&W Films, donde encontraremos los documentales ortocromáticos de Ilford FP4, HPS, HPS, XP2 o el PAN F Plus pancromático. También tenemos la variedad clásica de Kodak, con su T-Max y el Tri-X de grano fino, así como los Rollei Ortho de uso técnico, y los consabidos Polaroid 665, 667, y 672 con su estética rockera.
Los negativos color los tendremos categorizados según sus formulaciones post-1970 ("new") o sus formulaciones antiguas ("old").
Tendremos aquí la capacidad de cargar nuestra cámara con carretes Fuji Delta, Neopan o Superia, y los eméritos Kodak Portra VC o NC (Vivid Color o Neutral Color, cajita amarillo-violeta o cajita amarillo-azul).

En la parte derecha inferior nos encontraremos con una previsualización en miniatura de la imagen que estemos tratando, y de las opciones que hacen a dicha previsualización. Normalmente será sobre la imagen entera, pero podremos con facilidad disponer de una previsualización tipo "split" (foto dividida) para cada imagen).

Para llevar a cabo los efectos propuestos, podremos presionar el botón Aceptar o Aplicar.

sábado, 20 de febrero de 2016

SpeedCrunch: la calculadora libre peronista


¡Compañeros!

Ya no somos la masa inorgánica y amorfa de 1943. Constituimos una
comunidad organizada, cuerpo de organizaciones sociales, económicas y
políticas, vitalizando por un conjunto armónico y equilibrado de ideas,
sentimientos y decisiones que constituyen nuestra Doctrina: alma o
espíritu de la Nación.
Nosotros no consideramos haber sido los creadores de la Doctrina
Nacional. Si la llamamos "nuestra doctrina" es porque nos sentimos
satisfechos por haber alcanzado el honor de interpretar los
sentimientos, las ideas y las decisiones que afloraban confusos y
desordenadamente desde la Masa Popular
que ahora es nuestra comunidad
virtualmente organizada.

La Doctrina Nacional, alma o espíritu de nuestro Pueblo, es la primera
causa de nuestra existencia vital como Nación. Es el equilibrio armónico de nuestra unidad nacional en sentimientos, en ideas y en decisiones. Nos acerca a todos los argentinos bajo los signos de un solo corazón,
una mente y una sola voluntad.

Nuestra Doctrina Nacional, que es toda el alma de nuestro Pueblo, se
orienta hacia las alturas de un destino superior: nuestro destino
nacional; un destino que aceptamos elegir entre los diferentes destinos
que nos ofreció la Providencia en los momentos fundamentales de nuestra
historia.

El destino de la República Argentina, el que de decidió elegir nuestro
Pueblo, está grabado para siempre en el frontispicio de nuestra Doctrina
Nacional, en la piedra angular de su definición.

"Queremos ser una Nación socialmente justa, económicamente libre y
políticamente soberana
".

Queremos la armonía entre los valores materiales y los valores
espirituales
, y la armonía entre los derechos del individuo y los de la
sociedad
".



"Queremos la libertad de poder compartir, modificar, ejecutar y distribuir nuestro Software, entendiéndolo como Conocimiento en Acción".

"Y queremos realizar todos los principios y objetivos con la finalidad
suprema de alcanzar la felicidad del Pueblo y la Grandeza de la Nación".

Tales son las banderas, los caminos y las cumbres de nuestro destino
nacional. Realizar la Doctrina de nuestro Pueblo es marchar hacia las
metas de destino nacional.

El Software Libre ha de dar soluciones a todas las expectativas del hombre y llevarlo también hacia la felicidad en una Comunidad Organizada. Este es el trabajo que ha de hacerse.

El Movimiento Nacional Justicialista, como el Centro de Software de Ubuntu, está lleno de paquetes. Esto se debe a la necesidad de poder afrontar con múltiples soluciones y enfoques distintos para cada necesidad que podamos encontrar. Pero el pueblo ha de saber distinguir los buenos de los regulares, y los regulares de los malos.

No todos los paquetes de software son iguales, y en ocasiones uno nos gusta más que el otro. En otras situaciones, puede que alguno disponga de una característica que lo haga mucho más práctico que otro que carece de dicha condición.

En el caso de las calculadoras gráficas libres, encontraremos varios de estos inconvenientes. Ubuntu, como muchas otras distribuciones libres, suele incluir una calculadora, la gAlculator. Esta no es otra cosa que un clon de las múltiples calculadoras básica/científica que se entregan con todos los entornos gráficos de los sistemas operativos. Este tipo de programa es más viejo que mear en los portones, y bastante útil.

En nuestro caso, al disponer de una impresora "ticketera" de matriz de puntos Epson TM-U220 con rollo de papel ticket continuo, y deshomologada, debíamos contar con una que hiciera uso de esta característica.
Afortunadamente, contamos con alternativas que pueden llegar a contener funciones que superen los ejemplos anteriores.

Por ejemplo, contamos con SpeedCrunch, una calculadora más precisa y liberada bajo licencia GPLv2. Esta cuenta con funcionalidad de historia, que nos permite almacenar las cuentas realizadas de manera sencilla, e imprimirla en la ticketera con sus fuentes preparadas (sólo ASCII), pero con buena velocidad.

Para instalarla podemos abrir una Terminal con Ctrl+Alt+T e ingresar

sudo apt-get install speedcrunch

Para lanzar la aplicacion vamos a Aplicaciones / Accesorios / Speedcrunch.

Esta calculadora tiene opciones interesantes. Podremos activar o desactivar el menú con Ctrl+Alt+M, y activar el modo de Pantalla Completa con F11.

La calculadora mantiene nuestra sesión de operaciones, hasta que iniciemos una nueva o la borremos con Ctrl+Alt+H.

Asimismo, contamos con funciones científicas, machete de constantes de física, etc.

En nuestro caso el accionar es sumamente simple, y una vez concretada con las operaciones, podremos exportarla como archivo de texto plano e imprimirla en la impresora ticketera.

Ahora bien, también debemos poder contar con este tipo de soluciones para la Terminal, pues no todo es interfaz gráfica en la vida. Para ello podremos instalar y utilizar tapecalc, la calculadora de formato "rollo de papel" para la Terminal.

Para instalarla usamos:

sudo apt-get install tapecalc

Y para ejecutarla, simplemente:

tapecalc


El programa es bien sencillo y nos servirá para utilizar nuestro teclado numérico para la acción de resolver operaciones matemáticas, incluso de coma flotante. Para abandonar el programa usamos la tecla q.

lunes, 15 de febrero de 2016

Se lanza Huayra Medios 0.1 "Rodolfo Walsh"

Bajo el lema "Que no nos coman la voz" y convencido de la necesidad de contribuir a la construcción de una comunicación más soberana para la Patria Grande, el Colectivo Vaca Piloto ha lanzado el sistema operativo libre Huayra Medios 0.1, nombre código "Rodolfo Walsh".

La idea fundamental es acercar a la comunidad una manera de producir y transmitir contenidos audiovisuales, principalmente radio, con el fin de  reconceptualizar el Medio en la era Digital y en ello se incorporan los medios gráficos y las herramientas libres disponibles. Una manera de colectivizar esas bases de conocimientos es acercar más las herramientas, no sólo a los usuarios, sino también a sindicatos, colectivos, organizaciones sociales y políticas, para que se conviertan en actores y sujetos protagonistas del aprendizaje colectivo desde las bases, y el empoderamiento comunicacional de las masas para hacer frente a Medios Monopólicos que ofrecen una visión única y oligárquica de los acontecimientos.

La herramienta de lucha la conforma entonces una implementación de la familia Huayra GNU/Linux (sistema operativo oficial del Programa Conectar Igualdad) especializada para la producción audiovisual y el control de planta transmisora. El sistema se encuentra en estadío Alfa, pero es completamente utilizable para las funciones declaradas.

Como base cuenta con el popular escritorio Mate y sus componentes generales. Este nos permite un manejo simple similar a otros sistemas operativos muy difundidos, y suma la capacidad de controlar dos pantallas virtuales, o más si conectamos el sistema a un TV LCD/LED a través de la conexión HDMI o VGA. Podremos en tal caso operar con dos pantallas al unísono (una de gran tamaño en caso de ser necesario).

Se diferencia de muchos otros entornos en integrar con convicción y de manera sencilla el versátil servidor de audio multicanal libre JACK.

JACK nos permite el conexionado virtual de diferentes aplicaciones de audio, sistemas de efectos de sonido, como si se tratasen de los distintos componentes en una cadena analógica de señal de audio, pero con calidad 100% digital y sin requerir costoso equipamiento.

Como salida final podremos destinar la ficha de auriculares estéreo del equipo. Naturalmente que con un cable común de audio podríamos rutear el audio desde dicha salida hasta la entrada "Line In" de cualquier equipo de emisión FM/AM o transmisor de planta licenciado, y "salir al éter".

Con el mismo servidor JACK podremos enlazar el audio al servidor de streaming telemático Icecast2, y de allí salir a la Red local LAN o a Internet de forma convencional. Cualquier equipo en la red con un navegador o cliente multimedia podría entonces conectarse y recibir nuestra radio a través de internet.

Para dicho cometido se emplea el KXStudio Catia integrado como panel de conexionado virtual y visual de audio, para el servidor JACK.
Huayra Medios brilla en la inclusión de contenidos libres para armar y producir programas de radio.

Para ello cuenta con una serie de programas para la producción. El streamer Butt y RDAirPlay son las herramientas de automatización y control de planta transmisora que destacan enormemente en Huayra Medios.

Se trata de una estación completa de software libre con secuenciadores y automatizadores de planta, capaces de regular distintas fuentes de audio, mostrarnos vúmetros para no saturar el audio y control de paneo estéreo, así como integrar herramientas para permitirnos hacer reproducción de secuencias de bloques radiofónicos.

Con ellos podremos arrastrar y programar la música, hacer el "pisado" de tracks de audio sobre los temas, "mandar" los cortes publicitarios y tandas al segundo, habilitar al controlador el "pisado" de cortos informativos, y reprogramador de emergencia.

Asimismo se cuenta con el conocido y potente editor de audio Audacity para la producción minuciosa de los tracks de audio, con calidad CD profesional.


Se incluye un pack de efectos de sonido digital para la producción avanzada de las pistas de audio o locuciones (reverb/chorus, y muchos mas).
Finalmente, se integra también los reproductores convencionales Clementine para disparar audio, y el reproductor por bandejas Mixx, que permite sincronizar y lanzar efectos DJ sobre producciones musicales pregrabadas o generadas en el momento.

Como aplicaciones más convencionales se encuentran muchas de las conocidas en los entornos libres GNU Linux. La suite de oficina LibreOffice, El editor GIMP (software de edición gráfica sucedáneo del privativo Adobe Photo$hop), Inkscape (tracer que reemplaza a Illustrator/Corel), y el excelente compositor de autoedición Scribus (similar a Adob€ InDe$ign, Micro$oft Publish€r, QuarkXpr€ss, etc).

Esto pone al servicio del Colectivo Nacional y Popular un conjunto de herramientas horizontales que permitan enfrentar y horadar una visión monopólica del acceso a la información, y conformar núcleos celulares y focos de resistencia en cada sistema compatible GNU/Linux.

El sistema operativo puede descargarse de manera gratuita para arquitectura Intel de 32 Bits (compatible con cualquier netbook o equipo PC compatible), para guardarse y ejecutarse desde un Pendrive, un DVD-R, o instalarse directamente en el disco rígido de la computadora. Para descargarlo podremos hacer uso del Torrent o a través de descarga directa.

La instalación es sencilla, y se encuentra difundida en video.





La imagen contiene dos kernels compilados para distintas necesidades. El instalador 586-Live funciona para los equipos netbooks de primera generación. El instalador 586-pae-Live, en tanto, se recomienda para los equipos actuales, pues es más eficiente para el uso de cantidades de memoria RAM superiores a los 2GB.

El Colectivo presenta también documentación fáctica sobre el uso de las herramientas informáticas en el medio.

domingo, 14 de febrero de 2016

¿Cómo instalo Ring en Ubuntu?

Exiliado en Bella Vista, Panamá, Juan Perón analiza los conatos de lucha desorganizada mientras organiza el Movimiento de la Resistencia Peronista en los países Limítrofes de la República, que tendrán como objetivo que permitir el retorno a la Patria de su auténtico Conductor. En carta a los Comandos de Chile, enseña a instalar en UIbuntu un novedoso método de comunicación audiovisual cifrado más seguro que Skype: el Ring.


Panamá, 20 de abril de 1956.-
Señor D. Florencio Monzón
Santiago

Calle 38 º 2-52
Bella Vista
Panamá.

Mi querido amigo:

Acuso recibo de sus cartas e informes del 8, 12 y 16 de abril ppdo. por los que veo que todo marcha bien en nuestros trabajos.

Los conatos formarán siempre parte de nuestras acciones porque siempre
hay apresurados e impacientes, pero es necesario considerarlos como
perturbaciones que se suman a la resistencia dándole carácter de
revolución activa en germen
. Creo que no hay que preocuparse por ello,
aunque son fatales y no producen sino un mal parcial y circunstancial. Perdemos algunos hombres pero, hombres son los que nos sobran...


Lo importante para el futuro inmediato es asegurar las comunicaciones por dos o tres conductos por cada dirigente, a fin de que sean seguras en todo evento.

Nosotros tenemos la gente y sabemos que a una orden nuestra, una gran
mayoría de los argentinos se movilizarán para cualquier misión
y habrá
muchos dirigentes que estarán también listos para trabajar en cualquier
dirección. Luego, el único problema nuestro es poder allegarnos a ellos
y mantener enlace permanente, de manera que se pueda conducir las masas
con unidad de acción en cualquier emergencia. Para ello necesitamos
buenas comunicaciones, rápidas y seguras. Por eso debemos ejercitar
mucho el enlace, es decir, poder comunicarnos segura y rápidamente con
los dirigentes encargados de conducir la masa y hacerle llegar las
órdenes.

Hay que tener en cuenta que las órdenes van simultáneamente impartidas por los Comandos de Brasil, Chile, Bolivia, Paraguay y Uruguay, es decir que se invade la República por todos sus lados, lo que permite suponer que establecido esto sistemáticamente, puede comprobarse fácilmente el tiempo que dura una comunicación en difundirse en todo el país, por la misma información de los respectivos comandos. Por eso es importante informarse cuando una noticia, orden, panfleto, etc, se ha difundido totalmente. Una herramienta libre puede resultarnos soberbia para este cometido: se trata de Ring.

Ring es una plataforma distribuida y segura para comunicaciones por chat, voz y video, que no requiere un servidor centralizado y deja la privacidad en manos del usuario.

Su cliente se encuentra en estadío Alpha pero es funcional. Lo encontraremos empaquetado para GNU/Linux (Ubuntu 14.04LTS, 15.04, 15.10, Debian 8, 9, y Fedora 22 y 23, así como la mayoría de sus derivados). También encontraremos un cliente Android, por lo cual se puede también emplear como vínculo de unión a teléfonos celulares, tablets, etc.

A diferencia del privativo y oligárquico $kyp€ y sus inefables clientes cerrados para el programador pero abierto para espías de objetivos inconfesables, Ring emplear la red Ring OpenDHT, la cual es cifrada a través del criptosistema RSA.

En el caso de Linux, podremos instalarlo fácilmente con las instrucciones de la web oficial. Se trata de abrir una terminal con Ctrl+Alt+T e ingresar el siguiente bloque de Comandos de Organización que se nos indique en la web oficial: A modo de ejemplo os indicaré cuales son los comandos a ingresar para instalarlo en un equipo dotado de Ubuntu 14.04LTS:

sudo sh -c "echo 'deb http://nightly.apt.ring.cx/ubuntu_14.04/ ring main' >> /etc/apt/sources.list.d/ring-nightly-man.list"

wget -O - "http://gpl.savoirfairelinux.net/ring-download/ring.pub.key" | sudo apt-key add -

sudo add-apt-repository universe

sudo apt-get update

sudo apt-get install ring-gnome

Para ejecutar el programa vamos a Aplicaciones / Internet / Ring.

Al lanzar la aplicación, sólo necesitaremos un alias que deseemos utilizar.

 Una vez que ingresemos un alias (puede ser cualquiera, se nos otorgará un Identificador de usuario ("ID Ring") de unos 46 caracteres de extensión. Debemos conservarlo, pues es nuestro contacto. Habremos de distribuir dicho ID a quienes deseemos contactar para que nos puedan agregar a Ring.
 Conforme tengamos todo listo, el programa arrancará sin ningún contacto (estado vacío).
 Podremos entonces configurar los aspectos del programa haciendo clic en el botón del engranaje ("Propiedades"). Normalmente funcionará adecuadamente con las opciones por defecto.
 En la solapa Media podremos configurar los aspectos de configuración (especificar algún dispositivo de entrada y salida de audio específico, y regular las propiedades de nuestra cámara web.


  • Para realizar nuestra primer llamada, debemos ingresar la ID de nuestro contacto en la barra de búsqueda para agregarlo. Luego presionar el botón téléphone-Ring o presionar Enter.


search-bar
La llamada presenta sonido estable y video fluido, y funciona bien también con el cliente Android de Ring.
 
  • Para aceptar una llamada, simplemente hacemos clic en el botón accept. Podremos denegarla haciendo clic en el botón reject.
Si lo necesitáramos, podríamos grabar el audio de la conversación con el botón Grabar.Esto nos almacenará un archivo de formato Wav.

Pero tampoco necesitamos hablar. Podremos simplemente establecer una sesión de chat, o compartir un archivo, e incluso una sesión de escritorio parcial (mostrándole al interlocutor parte de nuestra pantalla).

También contaremos con opciones ya conocidas en este tipo de programas, como "enmudecer micrófono" y "desactivar video", para regular nuestras opciones momentáneas de privacidad y el consumo de un ancho de banda que a veces puede ser limitado.

La carta del amigo Ghizzardi es muy interesante y la creo sincera. Este hombre puede sernos extraordinariamente útil por su capacidad y su decisión, que son las cualidades que hay que buscar en estos momentos. Debo confesarle que de todos los Comandos o personas que trabajan en los distintos teatros de operaciones, Chiles es fuera de duda el que mejor anda. Eso explica el alboroto que se ha levantado allí en contra de María y de todos ustedes. Lo importante es no presentar blanco. No olvidemos que este es un juego de vivos y que, en ese juego gana el que puede pasar por tonto sin serlo.

Atte.


miércoles, 10 de febrero de 2016

¿Cómo emulo la Imsai 8080 y la Altair 8800 con panel frontal en Ubuntu?

Al recibir embajadores de toda Latinoamérica, Juan Perón expone los fundamentos políticos del Justicialismo para las Relaciones Exteriores de la Nación, y enseña a los mandatarios cómo instalar en Ubuntu emuladores y paneles de tres  microcomputadoras históricas influyentes: la peronistas Altair 8800, IMSAI 8080, y la Cromemco Z-1.


Señores Presidentes, Ministros Plenipotenciarios, embajadores, damas y caballeros:

Recibo de ustedes la más sinceras muestras de amistad en el nombre de Naciones que serán siempre nuestros más cálidos hermanos y nuestra familia. A todos vosotros he saludado y me he reconfortado en el entendimiento que será una sana hermandad la que nos lleve a nuestro destino común de Grandeza.
 
Nuestra tarea es una que ha de darse paso a paso, mancomunando esfuerzos en pos de completar las tres consignas que hemos tomado como banderas: Libertad económica, Justicia Social, y Soberanía política. Ese mismo cometido, tan cristiano como colmado de altruismo, puede llevarse a cabo entre hermanos en esta América Grande, que es nuestra tierra Natal y el fin anhelado de nuestros Pueblos.

Son nuestros pueblos quienes nos impulsan a un destino hermanado de grandeza, y no podemos mas que ser fieles reflejos de esta acción. Para ello hemos de alejarnos de las perniciosas doctrinas que - ajenas a nuestro sentir - pretenden imponernos ciertos individuos, y que por inconfesables han sido rechazadas ya por todos los hombres de bien en el globo.

El software no es un bien privado, es un bien de carácter social. La acción ineludible de todo Justicialista ha de ser compartir todo su software. En la informática, compartir el software es combatir al Capital.

La esencia del software es trascendental, pues puede ejecutarse en cualquier tiempo, y por tanto es imperecedera. Bajo tales premisas, constituye un crimen pretender registrarlo intelectualmente bajo la noción de "dereocho de autor", cuando es el usuario del mismo quien goza de los derechos totales de vida. Os ilustraré con un ejemplo, que suele aclararlo todo.

Existen equipos que por antigüedad y fundamental valía en el universo de la computación, deben ser recreados digitalmente. Ya he explicado cómo instalar un emulador de equipos dotados de procesador Z80 y del sistema operativo CP/M de la Digital Res€arch en Ubuntu. Sin embargo, además podremos emular por software sus clásicos Paneles de Operación, para tocar lo que haya que tocar para llevar a dichos equipos de antaño la seguridad que nos da el Justicialismo.

En este caso, os enseñaré cómo instalar emuladores de tres microcomputadoras fundacionales: la MITS Altair 8800, la IMSAI 8080, y la Cromemco Z-1. Se trata de equipos diseñados para su venta armados o en forma de kit armables montados alrededor de los primeros microprocesadores de silicio programables y "de potencia" en arquitectura de 8 bits, el Intel 8080 y el Zilog Z80. Fueron estos los que llevaron al nacimiento del software hobbista.

En nombre del Justicialismo os enseñaré como instalar dichas máquinas virtuales en Ubuntu, acercaré su documentación escencial, e instruiré cierto accionar básico.

Como medida previa, abrimos una terminal con Ctrl+Alt+T y descargamos las dependencias de programación necesarias para hacer efectivas las máquinas virtuales. Ello lo haremos con el siguiente Comando de Organización:

sudo apt-get install libx11-dev libpth-dev xorg-dev gcc libjpeg-dev libpthread-workqueue-dev x11proto-core-dev x11proto-bigreqs-dev freeglut3 freeglut3-dev

El procedimiento nos solicitará descargar los paquetes (indicamos s) y luego debemos ingresar a ciegas nuestra contraseña de Conductor; se procederá a la descarga de la paquetería necesaria. Acto seguido crearemos dentro de nuestra Carpeta de Usuario una carpeta oculta donde colocaremos todos los componentes necesarios para las máquinas virtuales y sus paneles de operación, y los descargaremos allí. Todo este predicamento lo haremos Realidad Efectiva introduciendo el siguiente bloque de Comandos de Organización:

mkdir ~/bin/ ~/.simh/ ~/.simh/panelsim/ ;
cd ~/.simh/panelsim/ ;
wget http://www.autometer.de/unix4fun/z80pack/ftp/z80pack-1.36.tgz ;
tar xzvf z80pack-1.36.tgz ;


La descarga del paquete z80pack puede tardar un par de minutos. Una vez descargado se habrá descomprimido. Acto seguido compilaremos el material básico para las máquinas emuladas. Lo haremos con estos Comandos de Organización:

cd
~/.simh/panelsim/z80pack-1.36/cpmsim/srcsim ;
make -f Makefile.linux ;
make -f Makefile.linux clean ;

Si todo va bien, debería indicarnos "done" (hecho) al final de la compilación. Acto seguido, podremos compilar los programas de apoyo para las máquinas virtuales que corran el viejo sistema operativo CP/M, algunos requeridos para la emulación:

cd ~/.simh/panelsim/z80pack-1.36/cpmsim/srctools/ ;
make ;
make clean ;

Conforme nos indique "done", podremos proceder a crear unos respaldos opcionales de las imágenes de disco arrancables del sistema operativo CP/M (unos archivos .dsk). Los haremos con:

cd ~/.simh/panelsim/z80pack-1.36/cpmsim/disks/library/ ;
cp -p * ../backups ;



Ahora podremos compilar e instalar la libreria libfrontpanel.so, fundamental para la representación y acción fidedigna de los paneles frontales de nuestras máquinas virtuales cláscas:

cd ~/.simh/panelsim/z80pack-1.36/frontpanel/ ;
make -f Makefile.linux ;
make -f Makefile.linux clean ;

sudo cp ~/.simh/panelsim/z80pack-1.36/frontpanel/libfrontpanel.so /usr/lib ;

Esto compilará la librería libfrontpanel.so y la copiará a la carpeta de sistema para las librerías de usuario /usr/lib/. Para que al compilar las máquinas virtuales estas puedan hacer uso de la libreria libfrontpanel.so, hemos de modificar el archivo de perfil para incluir la ruta a la carpeta /usr/lib/. Para ello editamos el archivo ~/.profile con el siguiente comando de organización:

nano ~/.profile

...se abirá el editor peronista GNU Nano con un archivo que ya tendrá contenido. Debemos desplazarnos al final de dicho archivo sin alterar ninguna de las líneas, y al final agregamos una línea y le pegamos el siguiente texto:

#agregado para compilar paneles frontales emulados
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/
#fin de agregado


...luego guardamos con Ctrl+o y salimos del editor con Ctrl+x. Una vez que hayamos retornado a la terminal, es importante que la cerremos ingresando el comando:

exit

Como acción final, compilamos los componentes de las tres máquinas virtuales. Para ello volvemos a abrir la terminal con Ctrl+Alt+T, y procederemos a compilar primero la maquina virtual imsaisim que emula la clásica MITS Altair 8800, la primer microcomputadora personal:

cd ~/.simh/panelsim/z80pack-1.36/altairsim/srcsim/ ;
make -f Makefile.linux ;
make -f Makefile.linux clean ;


Si todo va bien, debería darnos mensajes similares al siguiente:
...luego la Cromeco Z-1:

cd ~/.simh/panelsim/z80pack-1.36/cromemcosim/srcsim/ ;
make -f Makefile.linux ;
make -f Makefile.linux clean ;


...y finalmente la joya de la corona, la IMSAI 8008:

cd ~/.simh/panelsim/z80pack-1.36/imsaisim/srcsim/ ;
make -f Makefile.linux ;
make -f Makefile.linux clean ;


En las tres máquinas virtuales debería indicarnos los mismos mensajes de éxito. Con dicho accionar llevado a cabo, habremos procedido a crear émulos libres y virtuales capaces de correr en Linux de las tres microcomputadoras fundamentales. Como última medida enviamos los binarios creados a la carpeta correspondiente con:

cd ~/bin/ ;
sudo mv bin2hex mkdskimg send receive ptp2bin /usr/local/bin/ ;
cd ~ ;
rm -r ~/bin/


Ejecución de las máquinas virtuales y sus paneles:

Para ejecutar el panel de cada una de las máquinas virtuales se debe correr el ejecutable provisto dentro de la carpeta de cada una de ellas.

La primera se trata de la mítica MITS Altair 8800, una máquina hobbista dotada de 16K de memoria RAM y microprocesador Intel 8080 de 2 Mhz, que apareció como tapa del número de enero de 1975 de la revista Popular Electronics.


Inspiró a muchos de nerds peronistas para desarrollar y compartir masivamente software casero y libre, y a algunos nerds gorilas en la idea criminal de ocultar los códigos fuentes y comercializar binarios compilados.

El equipo original no disponía de teclado ni monitor, sólo los interruptores de control y las luces de estado, y adicionalmente un puerto serial para conectar una terminal de control. El patrón de trabajo simula a los paneles de las minicomputadoras en boga a mediados de los 70s, como las DEC PDP (de las cuales ya he instruido sobre cómo operar varios modelos).

Para activar la máquina virtual de la MITS Altair 8800 "pelada" (esto es, en condiciones originales y con su banco de memoria libre) podremos hacer:

cd ~/.simh/panelsim/z80pack-1.36/altairsim/
./altairsim

El panel de la MITS Altair 8800 virtual está representado por los interruptores básicos de esta microcomputadora fundacional. La documentación en estos casos de computación primigenia cobraba una iportancia extrema, y las compañías ponían mucho énfasis en la documentación impresa en papel y entregada encarpetadas y clasificadas en cajas. Podremos aprender del mismo a través del Manual de Operador de la MITS Altair 8800, y programa en ensamblador del Intel 8080. En este caso de estudio extremo nos serviría el clásico Manual de Programación en Ensablador del Intel 8080. y el mucho más avanzado y electrónico Manual de Teoría de Operación para la MITS Altair 8800.
Vean señores, la MITS Altair 8800 tenía poco o ningún uso, pero con software intérprete Altair BASIC y luego con sistemas operativos de potencia, constituyó la primer microcomputadora personal práctica de la historia. En este caso contamos para su ejecución con varios intérpretes BASIC (versiones de 4K Micro$oft, de 4K Altair, versiones de 8K, etc), así como distintas versiones del sistema operativo de control CP/M compiladas para el microprocesador de Intel. Estos programas de software pueden cargarse solicitándolos a la hora de correr el ejecutable de la máquina virtual. Por ejemplo, para cargar el potente sistema operativo CP/M 2.2 usaríamos:

cd ~/.simh/panelsim/z80pack-1.36/altairsim/
./cpm22

Esto nos encenderá la terminal de video en standby (mostrará el mensaje "8080-SIM":

Para encender la microcomputadora con tal sistema operativo, debemos ir al panel frontal de la Altair, y configurar el conmutador ON/OFF en posición ON y luego el conmutador RUN/STOP en la posición RUN.

De esta forma arrancará en frío, inicializará dos unidades de disco virtual (nomencladas à la CP/M como a: y b:) y arrancará "con el diskette magnético del sistema cargando y corriendo". Brillarán las luces del panel, y casi instantáneamente se nos presentará el prompt del sistema operativo CP/M 2.2 para la MITS Altair 8800 con Intel 8080.

CP/M COLD BOOT

Micro Resources 64K CP/M Ver. 2.2 of 1/15/82
A>


La videoterminal estará ya aguardando nuestras órdenes de computación arqueológica:
Los comandos de CP/M son relativamente similares a los de M$-DO$ (del cual derivó). Podremos hacer un directorio con dir, podremos revisar el contenido de los archivos con type, y editar archivos con el vetusto ed. Sobre todos ellos me he explayado en artículos anteriores sobre el emulador simh y CP/M, y al estar disponible su manual no me extenderé en instruirlos. En cualquier caso, ante el accionar el equipo debemos ver como reacciona el panel luminoso con los contenidos del banco de memoria.

Podremos encontrar gran variedad de documentación de la Altair 8800 recurriendo aquí y aquí. Para salir del sistema CP/M 2.2 introducimos el comando a:bye


Otra joya destacada de esta colección es la IMSAI 8080. Aprovechando que MITS no podía hacer frente a la explosiva demada de sus Altair 8800, IMSAI comenzó a sacar su propio modelo 8080, dotado con el mismo microprocesador Intel 8008 y 16K de memoria RAM, pero con una construcción mejor pensada y componentes de mayor calidad.
La máquina virtual dispone de un vistoso panel 3D de la IMSAI 8080 que podremos utilizar en Ubuntu. Para iniciar la máquina "pelada" (sin software precargado) debemos ejecutar Imsaisim. Para ello ingresaríamos:

cd ~/.simh/panelsim/z80pack-1.36/imsaisim/ 
./imsaisim

Al igual que en el caso de la MITS Altair 8800 terminal de video responderá con una pantalla que anuncia la máquina virtual de la IMSAI 8080:
Asimismo, se nos presentará la interfaz 3D con la IMSAI "pelada" (sin programa alguno cargado en su banco de memoria). Para que arranque movemos el interruptor rojo PWR ON/PWR OFF a la posición ON.
Indudablemente quien conozca la operación de su panel frontal, podrá introducir tediosamente los comandos en el mismo moviendo los interruptores. Las acciones para depositar registros en la memoria son similares a los de las DEC PDP (si bien el lenguaje ensamblador del procesador Intel 8080 es diferente). La IMSAI nos sirve especialmente para practicar ensamblador puro de este microprocesador tan caro al desarrollo de la informática, y como plataforma de estudio de las ciencias de la computación. Su manual de usuario podrá descargarse desde aquí.

El panel simulado de la IMSAI por defecto es un modelo 3D, que podremos rotar el botón derecho y los movimientos del ratón, y podremos accionar sus controles mediante clics sobre los mismos con el botón derecho. Con Z o z regularemos el zoom en la ventana 3D, y con Mayúsculas+clic del ratón podremos desplazarnos. Si quisiéramos utilizar un panel 2D podremos seleccionar la ventana con el panel 3D y conmutar a su versión 2D mediante la tecla v.



Podremos también arrancar la microcomputadora con cualquiera de los programas que anhelemos. Podremos ejecutar distintos sistemas operativos que se proveyeron a lo largo de la vida útil de la IMSAI 8080: su Sistema Operativo de Disco de IMSAI en las versiones original (imdos), la 2.02 (imdos202), la 2.05r0 (imdos205r0), o el IMSAI CP/M 1.31 (imsaicpm13). Todas ellas son versiones creadas y licenciadas por Gary Kildell para la IMSAI.

cd ~/.simh/panelsim/z80pack-1.36/imsaisim/
./imsai-cpm13

Una vez que se cargue en la terminal la máquina virtual, debemos encenderla (llevando el conmutador PWR ON/PWR OFF en la posición ON). Se encenderá la luz WAIT). Luego debemos llevar el conmutador RUN/STOP a la posición RUN (arriba).

En la terminal de video debería aparecer entonces el prompt del sistema operativo CP/M 1.31 de nuestra IMSAI:

IMSAI 16K CP/M VERS 1.31
A>

Para compilar, podremos utilizar ensamblador. Os enseñare cómo hacer un pequeño programa justicialista en este elevadísimo lenguaje.

Programando en Ensablador 8080 en CP/M
Para programar en CP/M, debemos escribir la rutina en Ensamblador 8080, interpretarlo, y ejecutarlo. Para ello debemos escribir el programa con el editor ed en nemónicos de Intel 8080, ensamblarlos con asm a hexadecimal, y usar load para convertir dicho archivo a un binario ejecutable con extensión .com.

La tarea será sencilla. Ejecutamos el editor ed con un archivo de código fuente de extensión .asm. En aras de la facilidad, lo haremos con un pqeueño programa que todo programador emplea, el pocho.asm. Como Conductor, os indicaré los resultados de pantalla y ustedes ingresarán lo que está en negrita:

A> ed pocho.asm

NEW FILE     
: *i
    1:          ORG     0100H
    2:  BDOS    EQU     0005H
    3:  START:  MVI     C,9
    4:          LXI     D,MSG$
    5:          CALL    BDOS
    6:          RET
    7:
    8:  MSG$    DB      'VIVA PERON!$'
    9:  END     START
    10: (presiono Ctrl+z para salir del modo inserción)
: *e

Tras haber editado nuestro código fuente, lo ensamblamos con:

A> asm pocho
 

CP/M ASSEMBLER - VER 1.0
0115
001H USE FACTOR
END OF ASSEMBLY

Esto creará una serie de archivos nuevos en la unidad de disquete virtual. Si ingresamos type pocho.prn veremos el desensamblado para el microprocesador Z80, y si ingresamos type pocho.hex veremos el código hexadecimal del mismo.

Si quisiéramos compilar un ejecutable, usaremos load pocho, y ello creará el archivo ejecutable pocho.com. Si ingresamos dump pocho.com, CP/M nos mostrará directamente el volcado de memoria del código objeto del programa binario pocho.com.

Para ejecutarlo simplemente ingresamos pocho, y si nuestro entorno y nuestro programa ensamblador funcionan de manera correcta en la máquina Altair 8080 virtual, la informática nos contestará airosa:


Para salir del emulador CP/M debemos introducir a:bye, o bien llevar el conmutador PWR ON/PWR OFF a la posición OFF.

Para iniciar una intérprete de BASIC en la IMSAI 8080, debemos utilizar:


cd ~/.simh/panelsim/z80pack-1.36/imsaisim/  
./imsaisim -xbasic8k.hex

Sin duda es una máquina histórica y de calidad, que podremos volver a la vida y hasta utilizarla para jugar al Global Peronism Spread. El manual de operación de estos clones de CP/M puede encontrarse aquí, en tanto que la documentación de operación a nivel ensamblador son los mismos que en la Altair 8800 - por tratarse de clones - y ya los he incluido.

Para finalizar, podremos utilizar la menos conocida pero más potente Cromemco Z-1. Esta venía con una CPU Zilog Z80 a 4 MHz, y con 8K de memoria RAM


Para ello utilizamos el mismo principio que en los casos anteriores.

cd ~/.simh/panelsim/z80pack-1.36/cromemcosim/
./cromemcosim

El panel de la Cromemco Z-1 arrancará en 2D, podremos cambiarlo a 3D, aunque lamentablemente la máquina entera no aparece (sólo podremos reclinar el panel 3D, con lo cual no está muy logrado).


Nuevamente, si quisiéramos que la Cromemco Z-1 apareciese con algún sistema operativo cargado, debemos indicarlo. Por ejemplo:

./cromemcosim cpm2


Todas las máquinas virtuales cuentan también con placas de entrada/salida emuladas, que pueden configurarse opcionalmente según nuestras necesidades, editando los archivos de texto correspondiente:

nano ~/.simh/panelsim/z80pack-1.36/imsaisim/conf/iodev.conf
nano ~/.simh/panelsim/z80pack-1.36/altairsim/conf/iodev.conf


Ambos archivos de configuración incluyen comentarios (en inglés), aunque sus opciones deberían resultar obvias y no requerir mayor tratamiento de parte del docente.


Ejecutar las máquinas virtuales de manera remota (sin los paneles):

Todas estas microcomputadoras originarias podían adosarse a terminales seriales (inicialmente teletipo, pero también videoterminales tipo DEC). Esta característica nos permitirá ejecutar las terminales a través de nuestra terminal de texto de forma remota. Incluso podríamos utilizar una verdadera terminal serial conectada a nuestro sistema emulador.

Si quisiéramos ejecutar CP/M 2.2 usaríamos:

cd ~/.simh/panelsim/z80pack-1.36/cpmsim
./cpm2


...para salir de la sesión remota de CP/M 2.2 ingreso a:bye

Si deseo ejecutar el sistema operativo CP/M 3:

cd ~/.simh/panelsim/z80pack-1.36/cpmsim
./cpm3


...para finalizar la sesión de CP/M 3 ingreso a:bye

En tanto, si deseo ejecutar el sistema operativo más avanzado de la serie, el MP/M 2, debo utilizar:

cd ~/.simh/panelsim/z80pack-1.36/cpmsim
./mpm


...y cuando arranque la máquina virtual remota, ingreso:
mpmldr

Para salir de la emulación de MP/M 2, ingreso la orden a:bye


Para realizar tareas mas intensivas de intercambios y manipulación de datos entre Linux y CP/M podemos utilizar cpmtools, un conjunto de herramientas de caracter opcional. Sólo deberían servir si realmente estamos interesados en hacer uso práctico de los emuladores por cuestiones históricas o forense con estos antiguos programas. Entre las herramientas que se incluyen están

  • cpmls: es un listador de directorios linux para imágenes CP/M
  • cpmcp: copiador de archivos desde y hacia el sistema de archivos CP/M
  • cpmrm: borrador de archivos CP/M
  • cpmchmod: cambiador de permisos de ficheros CP/M para Linux
  • cpmchattr: cambiador de atributos de ficheros CP/M pàra Linux
  • mkfs.cpm: formatea un sistema de archivos CP/M en Linux
  • fsck.cpm, reparador simple de sistema de archivos CP/M para Linux
  • fsed.cpm visor del sistema de archivos CP/M en Linux
  • Man (manuales) para Linux sobre el sistema de archivos CP/M y las herramientas.

Para instalarnos la suite de herramientas cpmtools las descargamos con:

cd ~/.simh/panelsim/z80pack-1.36/ ;
wget http://www.moria.de/~michael/cpmtools/files/cpmtools-2.20.tar.gz ;

tar xzf cpmtools-2.20.tar.gz ;


...y lo compilamos con:


cd ~/.simh/panelsim/z80pack-1.36/cpmtools-2.20/

./configure
make
make install

Desinstalación
Si quisiera desinstalar todo lo actuado, es sencillo. Simplemente indico el siguiente bloque de comandos.

rm -r ~/.simh/panelsim/z80pack-1.36/
sudo rm /usr/lib/libfrontpanel.so
cd /usr/local/bin/
sudo rm bin2hex mkdskimg send receive ptp2bin
 
Finalmente, edito el archivo .profile para restituirlo a la normalidad.

nano ~/.profile

...y elimino las líneas agregadas al final del mismo.