archivo

Archivos Mensuales: mayo 2009

Estaba leyendo la noticia del lanzaiento de KOffice 2.0.0, cuando veo esta captura de pantalla correspondiente a Karbon, el programa de dibujo vectorial de KDE:

karbon-svg-tigerSe trata de una imagen vectorial, en formato SVG y que tiene ya varios años como demuestra esta otra captura:

ld_tigerEl mismo diseño pero casi 20 años atrás y esta vez como fichero de ejemplo del programa LINEdesign para QL (aunque con algunos fallos en cuanto al relleno de degradados), un programa para dibujo vectorial también.

La imagen original es uno de los ejemplos en formato ps parte del paquete Ghostscript. Se ve que el autor de LINEdesign hizo el trabajo de conversión al formato de su programa.

¡Con qué cosas se re-encuentra uno en la red!

Anuncios

htmlSeguramente ya habréis oído hablar, o habréis leído algo sobre ZX Basic de Boriel, un compilador Basic cruzado multiplataforma que es capaz de generar código máquina para el ZX Spectrum. En el mundillo speccy ha tenido un gran impacto y una gran relevancia en la escena internacional.

Hay un artículo fantástico en la revista ZX Magazine escrito por el propio Boriel titulado “ZX BASIC: Un sueño hecho realidad“, donde nos describe de manera resumida y muy amena los detalles de su ZX Basic. La lectura de ese artículo es ¡más que recomendable!.

Da la casualidad que Boriel, es compañero de trabajo (… ¡compañero y sin embargo amigo!, que no es poco, … (:-) …) y además entusiasta de la retroinformática. Dando rienda suelta a la imaginación, en alguna que otra conversación con él, ha salido el tema de la viabilidad de que su compilador pudiera generar código C para luego éste ser compilado a código máquina del 68000 para el Sinclair QL (apoyándonos en esta etapa de alguno de los compiladores C disponibles para el QL). Esta opción sería más simple de desarrollar que la generación directa a código máquina del 68000. De esta manera podríamos tener corriendo en nuestro QL una gran librería de programas escritos en Basic del ZX Spectrum. Tal cual está diseñado ZX Basic, estas posibilidades no son descabelladas (según él describe, sería un trabajo laborioso pero no complicado) ya que el trabajo duro ya está hecho.

Por suerte para Boriel, al final de estas pequeñas conversaciones llega la dosis de realismo y, bueno …, los beneficios reales de todo esto tal vez no justifique el esfuerzo que habría que dedicar a un proyecto así (¡aunque la generación de código C podría ser más que interesante!). No obstante, sí que le he visto con la intención seria de adaptar su compilador para la generación a código máquina para otras plataformas que usen el Z80 (msx, cpc, …).

En definitiva, este proyecto (que ahora es software libre) podría dar mucho de si en el mundillo retro. (Para saber más sobre ZX Basic: http://www.boriel.com/the-zx-basic-compiler/)

Desde QBlog, el reconocimiento a Boriel por su gran trabajo, muchas felicidades por tu “sueño hecho realidad” y todo lo mejor con tus nuevos proyectos.

En otros post anteriores de QBlog hemos visto una utilidad llamada photon para mostrar ficheros .jpg en el QL (tanto con 4, 8, 256 colores y color real). Echando un vistazo por la red, he encontrado también este visor llamado PhotoQL.

PhotoQL es un programa que funciona bajo PE (el entorno de ventanas del QDOS) y además de mostrar imágenes en formato JPG, puede manejar los siguientes formatos: TARGA, BMP, PCX, GIF, JPEG, PNG, PIC, and TIFF.

El programa está escrito por Roberto Porro, y podemos descargarnos una versión etiquetada como 0.19 desde el sitio de Dilwyn Jones (http://www.dilwyn.me.uk/graphics/index.html). Una vez que lo ejecutamos tenemos una ventana “en blanco” con las típicas opciones de las ventanas de PE: redimensionar, mover, sleep (o miniminzar) y la opción ESC. Si pulsamos la tecla ESC o hacemos clic sobre ese botón se nos activa un pop-menú donde se nos ofrecen varias opciones: salir del programa (Quit), cancelar (Cancel) o cargar una imagen (Load). Estas son las únicas opciones disponibles (suficientes ya que sólo se trata de un visor). Si seleccionamos la opción de cargar una imagen (Load) se nos presenta un cuadro de diálogo para seleccionar el fichero de imagen que queremos mostrar. En este cuadro de diálogo podemos navegar por el sistema de ficheros (WIN1_, WIN2_, FLP1_, FLP2_, …) hasta encontrar el fichero deseado. Una vez seleccionada la imagen, PhotoQL cargará la imagen y la mostrará. La imagen está contenida en todo momento en una ventana PE que podemos cambiar de tamaño y minimizar (a diferencia de photon que sólo nos muestra la imagen a pantalla completa).

En lo referente a la calidad de la imágenes, tengo que decir que es algo peor que photon. Photon es superior en cuanto a la transformación de la imagen a 4, 8 y 256 colores. Otra característica en la que destaca Photon sobre PhotoQL es el manejo de la proporción alto-ancho de la imagen. Por último, un pequeño problema de PhotoQL es un error que nos sale cuando intentamos cargar una imagen demasiado grande.

A pesar de todo ello, PhotoQL es una buena utilidad si queremos cargar una imagen en una ventana PE y tener varias imágenes en pantalla al mismo tiempo.

Os muestro a continuación algunas fotos en mi emulador (Q-emulator).

Imagen jpg a 256 colores en ventana PE

Imagen jpg a 256 colores en ventana PE

Imagen completa aquí …

Varias ventanas mostrando fotos, (la de miki es un .gif)

Varias ventanas mostrando fotos, (la de miki es un .gif)

Imagen completa aquí …

¡Ya puedo ver en Q-emulador las fotos tomadas con mi cámara digital! … (suena “friki” ¿no? (:-))


Artículo reproducido en “The Dilwyn Jones Sinclair QL Pages” con permiso de QL Today Volúmen 4, número 3.
Autor: Jochen Merz.
Traducción y adaptación: afx.

En la primera parte de esta serie, yo espero haberte dado una idea de lo que son los Things. Pero ahora, ¿cómo podemos acceder a ellos, cómo crearlos, cómo funciona el sistema de control para poderlos manejar? QDOS y Minerva no tiene llamadas del sistema operativo para añadir o eliminar Things, así que debernos encontrar alguna manera diferente para hacerlo,

Permíteme que empiece el artículo de una forma un poco técnica, en breve relajaremos los tecnicismos. Prometo que mantendré la sección técnica lo más corta posible. Las llamadas al sistema operativo como la reserva de memoria, la vinculación en los drivers, etc. se agrupan todos bajo el “Trap #1”. Éste es el método usado para hacer una llamada al sistema operativo en código máquina. Un registro (D0) contiene el “código de función”. La llamada a los Thing pertenece al mismo grupo, pero hay que tener en cuenta que el sistema operativo del QL está en ROM, no se puede modificar. Además, la lista en ROM no puede ser extendida, no hay un mecanismo para “ganchos” (hooks), etc. Cuando un programador intenta llamar al Trap #1 con un código de función de una llamada a un Thing, el sistema operativo retorna “not implemented” (no implementado). (Sólo para los curiosos: algunas implementaciones de SMS, principalmente SMS2, contienen llamadas a Things como una llamada real Trap#1). Cuando el programador intenta ejecutar una llamada a un Thing y obtiene un “not implemented”, entonces él debe usar un método alternativo de hacerlo -que debería funcionar siempre-. La extensión del sistema “HOTKEY System II” no solo añade mejoras en las facilidades HOTKEY de los sistemas QDOS y Minerva, sino que también añade llamadas a los Thing de una forma ligeramente diferente. No voy a entrar en los detalles ahora, pero un programador puede fácilmente encontrar las llamadas de los Things y ejecutar dicha llamada con los mismos parámetros y códigos de función en DO de forma que se puede trabajar con ellos de la misma manera que otras llamadas al sistema. Ahora ya acabamos con los tecnicismos.

Así, con el fin de obtener Things, tú necesitas tener cargado el HOTKEY System II. Éste está integrado dentro de SMSQ/E, pero si usas QDOS o Minerva entonces necesitas cargarlo separadamente. Además, si deseas ver una lista de Things cargados en tu sistema para verlos en acción deberías también cargar QPAC2. QPAC2 está formado por un conjunto de Things y además te permite listarlos, así que tiene una doble utilidad.
…………
Nota del traductor: A continuación un recorte de código para tu boot, de esta manera puedes cargar HOTKEY y QPAC (se presupone que estás usando Toolkit 2).

100 REMark --- Cargar PE, HOTKEY System II y QPCA2
110 LRESPR "flp1_ptr_gen"
120 LRESPR "flp1_wman"
130 LRESPR "flp1_hot_rext"
140 LRESPR "flp1_qpac2"

Puedes encontrar varias de estas utilidades en los siguientes sitios:
http://www.bytemaniacos.com/sinclairql/
http://www.dilwyn.me.uk/
……….

Bueno, teclea ahora la siguiente instrucción desde el BASIC

EXEP "Things"

Aparecerá una ventana mostrando una lista con los Things de tu sistema. Y …. ¡tú ya habrás usado un Thing llamado “Things”!. Éste último es un Thing ejecutable instalado por QPAC2 el cual te proporciona un job que lista los Things de tu sistema. Así que tú ahora puedes iniciar programas sin acceder al sistema de ficheros para cargarlos. Si ahora estás un poco confuso, entonces por favor lee otra vez la parte 1 de estas entregas – tal vez lo hayas leído hace algún tiempo por lo que habrás olvidado la teoría que explicamos allí-.

Lista de Things

Lista de Things

Si nos fijamos en los Things disponibles, encontraremos Things como “Button”, “Exec”, “Jobs”, “HOTKEY”, y más abajo al final de la lista ordenada alfabéticamente, “Things”. ¡¡ Esto es todo !!

Intenta otra cosa, por ejemplo

EXEP "Pick"

y otra ventana aparece dándote la lista de todos los jobs con CONsolas abiertas que pueden ser seleccionadas (“picked”) en la parte superior de la pila de ventanas.

Intenta ahora

EXEP "Button Frame"

… no ocurre nada. Seguramente habrás notado que el sistema ha intentado acceder al disco floppy y/o al disco duro. “Button Frame” no es un Thing ejecutable, por lo que el comando EXEP intenta abrir entonces un fichero llamado “Button Frame” en el dispositivo predefinido de programas (el cual se puede configurar con PROG_USE).

Bien, regresemos al menú “Things” anterior y hagamos clic en la palabra “Things” en la lista. La ventana cambiará y tú podrás ver que hay (al menos) un job registrado como usuario de este Thing, que es (poco sorprendente) “Things”. ¿Confuso?, presiona ESC para volver a la lista y selecciona Pick. Esto debería ser menos confuso.

Si tú tienes botones en la zona de botones de QPAC2, entonces puedes ver qué job están registrados como usuarios – vuelve hacia atrás, a la lista de Things y selecciona “Button Frame”, podrás comprobar entonces los distintos jobs que hacen uso de este último Thing.

Jobs que usan un Thing

Jobs que usan un Thing

QPAC2 viene con muchos Things pero hay un problema: muchos Things tienen el mismo nombre en diferentes idiomas, pero otros no. Nosotros, los traductores, (Wolfgang Lenerz para la versión en francés y yo para el alemán) decidimos independientemente uno de otro que “Button_Sleep” no era muy significativo para los usuarios en Alemán o en Francés y lo tradujimos. ¡Gran problema! A partir de entonces no fue posible reemplazar una versión Inglesa por una Alemana y viceversa. Pero supongo que ahora es demasiado tarde para cambiar las cosas (o los Things !!). La solución es probablemente tener ambos nombres de Things en Inglés y Alemán (o Francés) para el mismo job … pero eso es una cuestión diferente.

Vamos ahora a crear un nuevo Thing. ¿Deseas convertir XCHANGE en un Thing como por ejemplo el menú “Pick”? Fácil, el HOTKEY System te ayudará a hacerlo:

ERT HOT_CHP ("X","XCHANGE")

Tú debes tener XCHANGE disponible en el dispositivo por defecto para los programas. Mediante esta sencilla instrucción convertimos un ejecutable en un Thing llamado XCHANGE. Comprueba ahora el menú “Things”, XCHANGE estará ahí.

Y, aún mejor, si ahora tecleas

EXEP "XCHANGE"

¡el programa se iniciará sin ningún acceso al disco duro! Por supuesto, se puede iniciar también usando el HOTKEY System II (pulsando ALT X, pero recuerda que el job HOTKEY se activa tecleando HOT_GO primero).

Cuando tú liberas de la memoria la definición HOTKEY, el Thing también será liberado.

El HOTKEY System II ofrece otras funciones que permite que HOTKEYs sean asignados a Things existentes sin que ellos sean eliminados de la memoria cuando el HOTKEY es eliminado, pero esto lo explicaremos en la siguiente entrega de esta serie. También, los Things que están integrados en QPAC2 son más avanzados que los que tu puedes crear manualmente, pero esto también es material para otro artículo.

linus_torvaldsCuando enumeramos las características del QL a alguien que no ha oído hablar de este ordenador en su vida, a menudo se nos cuela orgullosamente la figura de Linus Torvalds en nuestra explicación, -pues fue usuario de este ordenador-, y sólo con decir su nombre parece que se revistan nuestros argumentos de un cierto abolengo.

Es como si quisiésemos relacionar de alguna forma el QL con el nacimiento de Linux a través de la figura de Torvalds, ya que, indudablemente, algo habrá aprendido mientras lo usó que pudo aprovechar en sus desarrollos.

Pero ¿que opina verdaderamente Torvalds sobre el Sinclair QL después de tantos años?

Con motivo del 25 aniversario, Urs König contactó con él, y esto es lo que respondió en su blog bajo el título “Hardware raro”:

«No soy muy sentimental en lo que respecta a la tecnología -los buenos viejos tiempos no fueron buenos del todo-, y yo me siento firmemente liberado cuando se trata de viejos ordenadores y periféricos. Elijo lo más reciente / más pequeño / más rápido frente a aquellas anticuadas máquinas de antaño.

Como resultado de ello, cuando alguien me envía un correo electrónico diciendo que el Sinclair QL ha cumplido 25 años ayer, y que debería mencionarlo en mi blog, me dije “hmm”. Porque aunque yo tuve uno y me gustaba, tengo que decir que fui mucho más feliz con el PC por el que lo acabé reemplazando, y decidí que no volvería a usar una máquina tan excéntrica nunca más.

(Una promesa que luego rompería en varias ocasiones, cuando acabé jugando con ambos alfa y PowerPC en mis esfuerzos por asegurarme de que Linux no era demasiado PC-céntrico. Pues bien. Cada vez acabo volviendo a prometerme que nunca volveré a hacerlo, y cada experiencia me convence más de que el hardware que no tiene un mercado de masas tiende a no ser valorado a largo plazo. Sin embargo, sí puede ser divertido e interesante y una experiencia docente).

Pero el correo de Urs König (alias cowo) terminó distrayendo mi mente y me trajo de nuevo recuerdos nostálgicos. Así que aquí estamos, veinticinco años y un día más tarde, y estoy escribiéndole al QL de todos modos. Era extraño, y era áspero hasta el punto de ser la única máquina en la que tuve que hacer “cirugía” en el hardware para hacerla estable y útil, pienso que yo estaba en una edad impresionable. Y aunque no creo que queden muchos QL de los que alguna vez se hicieron fuera de Gran Bretaña, se trata de una máquina interesante para su tiempo.

He aquí un hardware raro.»

Linus Torvalds, 13 de enero de 2009


El inventor que colocó las cifras de la población de Estados Unidos en tarjetas perforadas y fundó la mayor empresa de informática del mundo.

XHolleritHollerith nació en Estados Unidos en 1860. Después de graduarse en la Universidad de Columbia consiguió empleo en la US National Census Office (Oficina Nacional de Empadronamiento), ayudando a elaborar estadísticas tomadas del censo de 1880. Todo el trabajo se realizaba a mano y resultaba concienzudamente lento; lo era tanto que, de hecho, cuando diez años más tarde llegó el momento de realizar el censo siguiente, en la oficina todavía no habían terminado de tabular los resultados del anterior. Hollerith sabía que su mayor aptitud era su poder de invención; con el objeto de entrenarse como inventor y desarrollar sus cualidades creativas, abandonó su trabajo en la National Census Office e ingresó en la Patent Office (Oficina de Patentes) de Washington.

La primera idea de Hollerith fue la de codificar información en cinta de papel. La cinta de papel estaba dividida en “campos” mediante marcas de tinta. Cada campo representaba diferentes categorías: por ejemplo, varón o mujer o blanco o negro. La presencia de un agujero en el campo varón/mujer significaba la persona era varón, mientras que su ausencia implicaba que se trataba de una mujer, y así sucesivamente. Estos agujeros después se podían “leer” mediante una máquina. Sus primeras patentes se produjeron en 1884 y dedicó los años siguientes a perfeccionar el sistema. Empezó por procesar la información relativa a las estadísticas de sanidad de las ciudades norteamericanas, que se estaban desarrollando rápidamente, y de la administración militar.

Cinco años después, en 1889, perfeccionó la idea de la cinta de papel perforado utilizando tarjetas separadas para cada persona. Las tarjetas eran del tamaño de los billetes de un dólar; se dice que esto se debió, en parte, a que los únicos equipos que se pudieron adaptar habían sido construidos para manipular dinero. Originalmente los agujeros eran redondos y se hacía con el punzón que utilizaban los conductores de autobuses para perforar los billetes, pero luego se construyeron punzones especiales para cortar un agujero cuadrado de 6 mm. Así se podía incluir gran cantidad de información en una sola tarjeta.

La ventaja que ofrecen las tarjetas individuales sobre la cinta continua es que, además de obtener los totales, la información se puede clasificar. Por ejemplo, a usted tal vez le interese saber qué cantidad de mujeres blancas de 80 años de edad viven en la ciudad de Nueva York. Se podrían clasificar todas las tarjetas y las que tuvieran agujeros perforados en estos tres campos se podrían separar mecánicamente del resto. Estas primeras máquinas sólo podían producir totales, pero posteriormente Hollerith introdujo la suma y otras operaciones aritméticas sencillas.

El éxito comercial llegó en 1889, cuando el Bureau of Census (Departamento de Censos) convocó un concurso para proveerse de un sistema de equipos que procesara el censo que se realizaría al año siguiente. Los sistemas se probaron volviendo a tabular los datos obtenidos del censo anterior. La convocatoria la ganó el equipo de Hollerith. Para entonces todas sus máquinas estaban amparadas bajo patentes y él aprovechó su monopolio para cargarle al gobierno 65 céntimos por cada mil tarjetas procesadas. Aunque cada habitante de Estados Unidos tenía su propia tarjeta individual, Hollerith sólo tardó dos años en hacer el trabajo. Anunció que la población del país era de 56 millones de habitantes y presentó la factura al gobierno.

Cuando llegó el momento de realizar el censo de 1900, Hollerith había desarrollado una maquinaria muchísimo más eficaz, pero se negó a rebajar su tarifa. Cuando caducaron sus patentes, el gobierno buscó otras empresas, pero Hollerith superó a la competencia fundando su propia compañía, que posteriormente se convertiría en IBM (International Business Machines), firma que hoy está a la cabeza de las empresas fabricantes de ordenadores en todo el mundo.

(Fuente: Enciclopedia Mi Computer, fascículo 12. Editorial Delta, 1984.)

miniqlis25

Logo oficial del evento diseño de badaman

Cerca de Coventry, en el hotel Allesley, el sábado 18 y el domingo 19 de abril se celebró el 25 aniversario del nacimiento del QL, un evento conmemorativo conocido como QLis25 que, junto a la reunión de socios de QUANTA, contó con visitantes venidos de toda Inglaterra, Francia y Holanda.

Ya el viernes por la noche, los que llegaron antes tuvieron ocasión de cenar y tener una charla previa al encuentro.

Este dio comienzo a las 10 de la mañana del sábado. Además de las habituales mesas de expositores con material a la venta, se preparó una muestra retrospectiva de la historia del QL que contó con verdaderas rarezas como dos ordenadores Thor, un Thor 21 y un Thor XVI, una MCS Multi-ROM, dos versiones de una Sinclair/Micro Peripherals disk interface o una CST Q+4, un muy raro slot para 4 expasiones entre otras cosas.

qlis25_general_view

Vista general del evento

A las 11 empezaron varias charlas interesantes acerca de la actualidad del QL, y así transcurrió el día hasta la noche en la que se reunieron todos para despedir al presidente saliente de QUANTA y se nombraron miembros honorarios a Tony Firshman, Jochen Merz y a Gil Lamb que vive en Tailandia y es el miembro más antiguo de club con 94 años de edad.

A las 2 de la tarde del domingo dio comienzo el AGM, la reunión anual de socios de QUANTA, en la que hubo algunos cambios de directiva siendo elegida la primera mujer directora de su historia y se presentaron novedades en algunas de las actividades del club, como la página web y la biblioteca de software.

La reunión terminó a las 4 de la tarde habiendo disfrutado todos de un fin de semana entre amigos.

Sigue el enlace para leer la noticia original en inglés y ver algunas fotos.