Lecturas (2025.I)

Llevaba yo desde octubre sin hacer un «lecturas» :-S.

El primer libro leído a caballo de 2024 y 2025 es un clásico de la literatura española del siglo XX, Nada, de Carmen Laforet. Uno no tenía ni idea del libro, pero salió un día en las ofertas de Amazon, y cayó. Duele de adolescencia, hambre de posguerra y claustrofobia, y huele a rancio, a naftalina y humedad de la Barcelona de los años 40. Igual soy yo, pero tengo la impresión de que la prosa de la autora va evolucionando a medida que avanzan las trescientas páginas del libro: muy bien ya desde el inicio, brillantísima hacia el final. Extremadamente recomendable, pero para momentos en los que no esté uno bajo de ánimo.

El segundo libro en caer fue A view from the stars, de Cixin Liu, y el que menos me ha gustado de los que he leído suyos, más que nada porque es una colección de más ensayos que relatos, y los ensayos me han aportado bastante poco…

A continuación cayó Adulthood Rites, la segunda parte de Dawn, del que hablamos en marzo del año pasado. La saga sigue con Imago, que ya está listo para ser leído. Sigue sin ser tan brillante como Kindred (cómo serlo, por otro lado), pero esta saga de una ¿invasión? extraterrestre de un planeta Tierra en que la humanidad parecía dispuesta al sucidio como especie sigue siendo muy interesante y un buen «girapáginas».

A continuación cayó Unnatural Causes, de P.D. James, la autora del fantástico The Children of Men del que hablamos en octubre. Personalmente, opino que todos habríamos ganado mucho si P.D. James se hubiese dedicado a la ciencia ficción en vez de a la novela negra… pero sus ventas y los múltiples premios que ganó con el noir me hacen pensar que es posible que me equivoque.

Y el último libro de esta tanda es SPQR, de la historiadora británica Mary Beard. Uno no se leía «una de romanos» desde la de Montanelli, y de eso hace… ¿35 años? Sería interesante recuperar la del italiano y comparar con esta de la británica, porque algo me hace pensar que la historia habrá cambiado lo suyo en los casi sesenta años que separan ambas obras. La de Beard, en cualquier caso, muy recomendable :-).

En fin, espero que haya un 2025.II y que no tarde tanto en llegar como este I…

Byte, junio del 85

Pues nada, seguimos con nuestro proyecto de leernos cada mes la revista Byte… de hace cuarenta años. Y le toca el turno al número de junio de 1985. Encontraréis todos los números en esta colección de archive.org, y el que leemos hoy, en concreto, dedicado a las técnicas de programación.

Portada de la revista Byte de junio de 1985. La imagen de portada es un cubo de Rubik en que cada una de las pequeñas caras del cubo es un una palabre clave informática. Entre ellas, tenemos char, DUP, UNIT, CAT, REM, puts, NULL, GREP, COND, FOR, GOTO...

Tampoco es que sea el número de mi vida, pero tiene sus cosillas. La primera en que me paro tiene que ver con accesibilidad:

Products Will Aid Visually Disabled Computer Users

Computer Aids, Fort Wayne, IN, introduced several microcomputer products for the disabled. One product, Small-Talk, uses a modified Epson HX-20 and a speech synthesizer to allow blind users to perform word-processing tasks. With a printer, microcassette tape drive, and special word-processing software, the computer will cost about $2000.

Que sí. Que hace décadas que hay gente que piensa en usar la informática para ayudar a las personas con discapacidad (en este caso visual). Lástima que tanta otra gente se olvide del tema.

Siguiente parada, anuncio de ordenador de esos que te hace añorar el diseño industrial ochentero:

Anuncio a doble página de la marca apricot. En la página izquierda, los restos de un albaricoque  que alguien se acaba de comer, con el texto Past. A la derecha, un albaricoque entero, con el texto Present and Future. En la esquina inferior izquierda de la página, una miniatura de un ordenador de diseño ochentero. Más detalles en la siguiente imagen.

¿Me vais a decir que no es precioso? Bueno. Me vais a decir que no se ve. Hagamos un enhance it:

Zoom de la imagen anterior. Tenemos un portátil en tres piezas. La primera tiene la pantalla (de fósforo verde) y seguramente la CPU. El teclado está en otra pieza, y hay una tercera pieza con lo que parece ser un trackball. La imagen viene con el texto The APricot Portable. 521K RAM, 720K diskette. 80x25 line LCD. MS-DOS. $2495

¿Es o no precioso el Apricot Portable? Había salido a la venta en octubre del 84 y, recomonozcámoslo, le daba sopas con honda a los portátiles de la época (incluido mi adorado SX-64). Ni siete kilos, pesaba. Y las piezas separadas se comunicaban ¡por infrarrojos! ¡El futuro! ¡En 1984! Hasta tenía reconocimiento de voz (aunque habría que poner «reconocimiento» entre toneladas de comillas: dice la Wikipedia que se le podían entrar 4096 palabras, 64 de las cuales simultáneamente en memoria). Y su MS-DOS pasaba de los famosos 640 Ks (para llegar a 768, tampoco nos emocionemos más de la cuenta). En cualquier caso, una preciosidad.

Seguimos avanzando y nos encontramos con otro anuncio:

Anuncio. Vemos la foto de una pantalla de un PC de IBM, con lo que parece una interfaz gráfica del estilo de un Windows antiguo y un programa de dibujo en el que alguien ha creado lo que parece un post it con la palabra hi escrita a mano

¿Qué es eso de GEM? Aquí, otra versión del anuncio:

De nuevo, una pantalla de un IBM PC, con un entorno gráfico de ventanas (también se ve un ratón en la página) y la caja de un software, GEM Desktop, y su precio ($49.95). Se explica que el software era, efectivamente, un entorno gráfico para usar los PCs de IBM sin tener que teclear comandos crípticos.

GEM era el entorno gráfico que desarrolló Digital Research (la compañía de CP/M, fundada en 1974 y que sería adquirida por Novell en 1991 ) principalmente para los Atari ST, pero también para PCs con MS-DOS, entre otros. Y es ver una captura de GEM y que se me caiga la lagrimita. Esnif.

Volviendo a nuestro clásico «¿créias que esto era nuevo?», hoy toca…

Turning a common AI operation into silicon

Logic programming is a staple of artificial-intelligence (AI) software and is often dominated by the pattern-matching process of unification (see the "Resolution and Unification" text box on page 173). In fact, when logic-programming languages such as Prolog and LOGLISP are used, as much as 50 to 60 percent of a computer's processing time is spent on unification. When a single algorithm is used that frequently, it is natural to consider implementing it as custom hardware. When that same algorithm lends itself to parallelism and concurrency because of its recursive, treesearch characteristics, it practically begs for VLSI (very large scale integration) implementation.

SUM History

Professor lohn Oldfield and a team of researchers at Syracuse University are developing the SUM (Syracuse Unification Machine), a coprocessor for computers geared toward AI programming. The project combines the resources of the Syracuse CIS (Computer and Information Science) department. ECE (Electrical and Computer Engineering) department, and the CASE Center (Computer Applications and Software Engineering Center, set up by New York State). Key SUM individuals are Dr. Oldfield himself (who contributed CAD [com-

puter-aided design| and VLSI expertise). Professor Alan Robinson (who is the head of the logic-programming efforts at Syracuse), and Kevin Greene (who made the initial designs of the SUM). Because of a famous 1965 paper, Dr. Robinson is often credited with inventing unification. He is more modest, pointing to the work of Herbrand in the 1930s and the studies of Prawitz and Kenger concerning unification. Dr. Robinson contends that he was just the first to formalize the unification process and apply it to resolution.

In 1981, the Syracuse CIS logic-programming group learned that Caltech (California Institute of Technology) student Sheue-Ling Lien had designed a chip that embodied Dr. Robinson's original unification algorithm (see the "Unification on a Chip" text box, page 1 74). Dr. Robinson and his colleagues were somewhat taken aback that someone else had taken this step. Lien's report was a major inspiration for the development of the SUM, even though the chip it described was never actually made. Because ECE had been developing custom VLSI

chip-design capability and had a strong logic-programming group, combining the pursuits "seemed a natural thing" according to Dr. Oldfield.

Coprocessor Strategy

As Dr. Oldfield explains, "Although we started talking about a unification chip, following along the lines of the Caltech one. it soon became fairly clear that at present levels of integration that was fairly ridiculous. You could make a chip, but it would be limited to solving such small problems that it wouldn't be worthwhile." The SUM group wanted to design a full-blown, practical processor. Besides. Lien's chip used Dr. Robinson's original 1965 algorithm. Much more efficient algorithms have been developed since.

When they realized that a single chip wasn't realistic, the members of the group looked at the possibility of a coprocessor, initially for the LMI

Sí, queridas, podríais pensar que TPUs y NPUs y demás son una cosa acabada de inventar, pero cada vez que la IA se pone de moda, alguien piensa en hardware para acelerarla…

Siguiente cosa que me ha interesado: ¿cómo elegir lenguaje de programación?

CHOOSING A PROGRAMMING 
LANGUAGE

by Gary Elfring

It's a three-step process

IF YOU WERE a carpenter building a new house, the first thing you would do would be to collect your tools. The tools you'd select would vary depending on the type of job. The same thing should be true if you are a programmer. You have a wide range of tools available, and you just choose the right tools for the job. Your tools are the languages that you program in and the environments needed to support those languages.

How do you go about selecting the right tool for the job? There are more programming languages available for microprocessors than most people could learn in a lifetime. What you need is a methodology that can be used to select one language from all the rest for a given application.

This article presents a practical method for comparing programming languages. It has an inherent bias toward compiled high-level languages. Compiled languages are faster than interpreted ones, and most interpreted languages also offer a compiler version. Since program speed is often an issue, I chose compilers over interpreters.

The actual process of evaluating a group of programming languages can be broken down into three major steps. The first step is to characterize the application the language is being selected for. Then you must identify the features that a language should have in order to deal with the previously described application. Finally, you should take into account practical considerations to further narrow down the language selection.

The Application

You can't choose a tool unless you know what you intend to do with it. You have to describe your application. Once you have this information you can then proceed to determine whether or not the existing language choices are the right tools for the job. To describe an application, you must consider both the type and size of the application. These questions must be answered before you can proceed any further in the language evaluation:

What is the type or class of application? What level of language is needed?

There are a number of different classes of program applications. An application can belong to a single class or several. Identifying the class of your application is relatively simple and helps narrow the list of acceptable languages. Some of the more common classes include scientific, business, and system programming; text processing; expert systems; and real-time control.

Most programming languages are better suited to solving one particular class of problem than another. COBOL is one example. While it is easy to write maintainable business programs with COBOL, no one would expect to use this language to solve real-time control problems.

Another consideration is the level of programming that the application will require. If you need low-level control of various machine-dependent features, then a very high level language...

La cosa comienza dando preferencia a compilados sobre interpretados por temas de velocidad (cosa más importante hace cuarenta años que ahora, que les pregunten a JavaScript y Python). Sigue proponiendo que el tipo de programa es muy importante (y dando COBOL como ejemplo de lenguaje para aplicaciones de negocios), y a continuación proponiendo si lenguajes de alto o bajo nivel… Comencé a leer el artículo pensando que lo que dijese sería siendo bastante actual. Curiosamente, donde uno esperaba más estabilidad… va a ser que no. Pero claro, entonces llega este artículo sobre componentes reutilizables:

SOFTWARE-ICs

by Lamar Ledbetter and Brad Cox

A plan for building reusable software components

THE SOFTWARE WORLD has run headlong into the Software Crisis—ambitious software projects are hard to manage, too expensive, of mediocre quality, and hard to schedule reliably. Moreover, all too often, software delivers a solution that doesn't meet the customers' needs. After delivery, if not before, changing requirements mean that systems must be modified.

We must build systems in a radically different way if we are going to satisfy tomorrow's quantity and quality demands. We must learn to build systems that can withstand change.

Some system developers are already building software much faster and of better quality than last year. Not only that, the systems are much more tolerant of change than ever before, as a result of an old technology called message/object programming. This technology, made commercially viable because of the cost/performance trends in hardware, holds the key to a long-awaited dream— software reusability. A new industry is developing to support the design, development, distribution, and support of reusable Software-ICs (integrated circuits). A forthcoming series in UNIX/World will address message/object programming.

Message/Object Programming and software-ICs

In this article we'll look at the concepts of message/object programming and how they support the building of "Software-ICs," as we call them, by satisfying the requirements for reusability.

A Software-lC is a reusable software component. It is a software packaging concept that combines aspects of subroutine libraries and UNIX filter programs. A Software-IC is a standard binary file produced by compiling a C program generated by Objective-C.

The notion of objects that communicate by messages is the foundation of message/object programming and fundamental to Software-ICs. An object includes data, a collection of procedures (methods) that can access that data directly, and a selection mechanism whereby a message is translated into a call to one of these procedures. You can request objects to do things by sending them a message.

Sending a message to an object is exactly like calling a function to operate on a data structure, with one crucial difference: Function calls specify not what should be accomplished but how. The function name identifies specific code to be executed. Messages, by contrast, specify what you want an object to do and leave it up to the object to decide how.

Requirements for Reusability

Only a few years ago, hardware designers built hardware much as we build software today. They assembled custom circuits from individual electrical components (transistors, resistors, capacitors, and so on), just as we build functions out of low-level components of programming languages (assignment statements, conditional statements, function calls, and so on). Massive reusability of hardware designs wasn't possible until a packaging technology evolved that could make the hardware environment of a chip (the circuit board and adjoining electrical components)...

Ojo a los dos primeros párrafos:

El mundo del software ha chocado con la Crisis del Software: los proyectos ambiciosos son difíciles de gestionar, demasiado caros, de calidad mediocre y difíciles de programar con fiabilidad. Además, con demasiada frecuencia, el software ofrece una solución que no satisface las necesidades de los clientes. Tras la entrega, o incluso antes, los cambios en los requisitos obligan a modificar los sistemas.

Debemos construir sistemas de una forma radicalmente diferente si queremos satisfacer las demandas futuras de cantidad y calidad. Debemos aprender a construir sistemas que resistan el cambio.

¿Escritos en 1985? ¿1995? ¿2025? ¿Nos jugamos algo a que los podremos reutilizar sin tocar una coma en 2065?

En fin… Si queréis saltar de este mes de junio del 85 a nuestra relectura del número de mayo, aquí lo teneís. y el mes que viene, más (espero).

22

El año pasado no celebramos el vigésimo primer cumpleaños de obm porque no estaba obm como para tirar cohetes. Tampoco es que el vigésimo segundo año haya sido fantástico, pero algo menos malo sí, o sea que minientrada para celebrar los 22 (seguro que hay millones de webs que tienen más de 22 años, pero debemos estar ya en un percentil apañadete, ¿no?).

En el año 21 decidimos que una manera de darle algo de vida al blog sería recoger mis lecturas por aquí… pero en los últimos doce meses solo hemos hecho una entrada sobre el tema, el pasado octubre.

Sí hemos tenido algo más de constancia leyéndonos los números de la revista Byte de hace cuarenta años. Aquí tenéis los repasos a los números de mayo del 85, abril, marzo, febrero, enero, diciembre del 84, noviembre, octubre, septiembre, agosto, y julio. Y tengo por aquí a medio preparar la entrada de junio del 85.

Pero, para mi sorpresa, en los últimos doce meses sí he encontrado motivos para escribir entradas sobre (en orden casi cronológico inverso) cómo evitar el contenido sugerido en instagram, Powertoys, la accesibilidad y las Meta Ray-ban, la accesibilidad y Daredevil, un rant sobre las gafas rosas que nos ponemos a veces para mirar al pasado cuando queremos criticar (con razón) el presente (cualquier tiempo pasado fue mejor, o no), Wonderblocks y la programación en la caja tonta, adtech, la amenaza de separar Chrome de Google, más adtech, el misterio de Amazon y los incrustados de WordPress, el clásico repaso a mi 2024 musical, un buceo por los archivos de Metrópolis, los precios de los Mac Mini (o, mejor, del disco y la RAM de los Mac Mini), herramientas «plataformágnosticas» para compartir música y podcasts en la web, y hasta una de cacharritos.

En fin. Quién sabe qué traerán los próximos doce meses. En cualquier caso, felices 22, obm :-).

Cómo evitar el contenido sugerido en Instagram

Nota para los ¿tres? ¿cuatro? lectores habituales de obm. Creo que nunca he escrito un post tan poco adecuado para vosotros. Mis disculpas 🙏. Mi única excusa es la voluntad de servicio público. Lo juro. En breve retomamos la actividad habitual (otro dichoso post con la Byte de hace cuarenta años, sí).

¿Por qué esta entrada? Uno tiene la teoría de que, de hecho, usar las redes sociales, aunque sean de Meta, tampoco es malo… mientras no se deje uno llevar por el algoritmo de recomendación, que está ahí para maximizar esa cosa perversa del engagement. Y el convencimiento de que somos pocos, muy pocos, los que somos conscientes de que a la que te descuides Meta va a volver a activarte el algoritmo aunque tú le hayas dicho explícitamente cien veces que no lo quieres (No tengo excesivos problemas con que las redes sociales me muestren publicidad dentro de unos límites. Debe ser genético). Pero me da la impresión de que soy de los poquísimos locos que se obstina, cada treinta días, cuando Instagram (con la misma obstinación, debe decirse) decide ignorar mis preferencias, se lanza a decirle que deje de dar por saco otros treinta días más. El algoritmo no se rendirá, pero yo tampoco. Llamadme Sísifo. De hecho, el día, hace ya unos cuantos años, en que la actualización de la app de Facebook me escondió de más la opción de limitar las sugerencias algorítmicas… me la desinstalé (y desde entonces debo entrar una vez cada dos o tres meses, y aunque hay gente que echo de menos, parece que no ha habido grandes daños por ello).

En cualquier caso. Para evitar el contenido sugerido en Instagram…

En primer lugar abrimos la app y, en la parte inferior hacemos clic en nuestro avatar:

Captura de pantalla de la página de inicio de la app de Instagram para Android.

Esto os llevará a vuestro perfil. Ahí toca hacer clic en las tres líneas, el dichoso «menú hamburguesa»:

Mi página de perfil en Instagram.

…con lo que llegaréis a la configuración:

Página de configuración y actividad. Ofrece las siguientes opciones: búsqueda, centro de cuentas, guardado, archivo, tu actividad, notificaciones, administración del tiempo, privacidad de la cuenta, mejores amigos... Hay más opciones disponibles haciendo scroll.

…y haciendo clic en «Tu actividad» llegaréis a

Página Tu actividad. Ofrece las opciones Publicaciones, Reels, Lo más destacado, No me interesa, Me interesa, Tiempo invertido, Historial de la cuenta, Búsquedas recientes, Transferir información, Descargar tu información

Aprovechando que ya estáis aquí, igual es conveniente que le deis a «Tiempo invertido» y os escandalicéis un poco (o no) con vuestros números. Aquí los míos:

Página de administración del tiempo. En mi caso, da una media de quince minutos de uso diario

(Sí, podéis establecer un límite diario de uso. Y hasta puede que ayude. Pero es tan fácil saltárselo…)

Volviendo atrás, podéis ir bajando hasta que os aparezca «Lo que tú ves»:

Página de configuración de actividad. Ahora muestra las opciones Limitar interacciones, Palabras filtradas, Seguir e invitar a amigos, Favoritos, Cuentas silenciadas, Preferencias de contenido, Recuentos de Me gusta y veces que se ha compartido, Suscripciones, Permisos del dispositivo, Archivo y descarga, Accesibilidad y traducciones

Y si hacéis clic en «Preferencias de contenido», llegaréis a

Página de preferencias de contenido. Ofrece las opciones Me interesa, No me interesa, Palabras y frases específicas, Contenido sensible, Contenido político, Pausar publicaciones sugeridas en el feed y Restablecer sugerencias de contenido

… y aquí es donde, dándole a «Pausar publicaciones sugeridas en el feed» os libraréis de los contenidos que solo están ahí para engancharos (hasta que pasen los treinta días de gracia, claro).

De nada.

Byte, mayo del 85

Seguimos leyendo la revista Byte, pero cuarenta años tarde (todas las entradas disponibles en la etiqueta Byte). Si queréis pasar de mis extractos y acudir a la fuente, tenéis todo el histórico en archive.org y el número del mes aquí.

Este mes la cosa sera (relativamente breve). La portada, no especialmente destacable:

Portada de la revista Byte de abril de 1985, dedicada al PC Unix de AT&T

De las noticias, me quedo con un breve. ¿Sabíais que este mes se cumplen cuarenta años del anuncio de Excel? ¿Sabíais que Microsoft lo lanzó inicialmente para el Mac? Pues sí…

Integrated Software for Macintosh

Microsoft's first integrated package. Excel for the Macintosh, has spreadsheet and graphics capabilities, a spreadsheet oriented database, and a macro facility for storing and recalling commonly used keystrokes. It supports the AppleTalk network and provides two-way file compatibility with Multiplan and Chart for the Macintosh, Lotus 1-2-3 for the IBM PC. and applications that support Microsoft's SYLK format.

The Excel spreadsheet provides you with a 256 column by 16.384-row work area. You can view and reference multiple spreadsheets, consolidate worksheets, enter multiple variable problems or situations, and vary the borders, number formats, and font styles and size. You can assign names to cell references, numbers, and mathematical expressions and call four windows into a worksheet. You can produce instant "what if' graphics with Excels charting abilities, which are functionally identical to Microsoft's Chart for the Mac. Excel files can be read directly into Chart, and Excel can read Chart files When you alter numbers in a spreadsheet window, charts in separate windows are instantly updated. For data comparisons, you can open more than one chart window for the same or different data. The charting facility also has 42 predesigned charts, the ability to relocate objects on screen, and your choice of font, range, scale, and patterns.

The database is an ancillary function of Excels spreadsheet. With it, you can sort, extract, and display information in a variety of ways. The database lacks form- and report-design capabilities: however. Excels formatting capabilities let you create reports. It does let you remove data for analysis in a different section of your work area.

Excels suggested retail price is $395. It requires 512K bytes of memory and will work with the Macintosh XL.

¿Se fiaba mucho Microsoft del éxito de Excel? Pues no sé, pero unas páginas más adelante la empresa anunciaba su solución de hoja de cálculo para el Mac:

Anuncio de Microsoft de su hoja de cálculo para el Mac, Multiplan, más Microsoft Chart para hacer gráficas. Se hace eco de que Multiplan utiliza todas las características amigables del Mac. También anuncian que están disponibles para el Mac Word, File y BASIC.
¿Créiais que lo del caos de productos de las grandes tecnológicas era cosa de ahora? Pues hace cuarenta años Microsoft hacía publicidad de su hoja de cáculo Multiplan para Mac mientras anunciaba el lanzamiento de Excel para la misma plataforma…

Y en la lista de productos tenemos nada más y nada menos que el PC AT de IBM, con su 80286 y sus 256 KBs de RAM en el modelo básico (apenas cuatro mil dólares de la época):

IBM PC AT

The PC gets down to business

The IBM PC AT comes in two basic configurations. The basic model ($3995) comes with 256K bytes of RAM (random-access read/write memory), one of IBM's new high-capacity 1.2-megabyte disk drives, and a combination floppy disk/hard-disk controller card. Available for an additional $1800, the enhanced model adds 256K bytes of memory, a 20-megabyte hard-disk drive, and a serial/parallel interface adapter (see photo 1). Both systems are based on Intel's 80286 processor and have eight I/O (input/output) expansion slots and a battery-backed clock/calendar.

The AT comes with IBM's usual voluminous documentation. It includes a setup guide, an operations guide, and a BASIC manual, all in IBM's standard boxed looseleaf format. An unwelcome addition is a variety of small pamphlets packed in each box. While these are intended to be helpful quick guides, they are easy to misplace and might confuse as much as inform.

By the way, the BASIC manual is now complete. You don't have to send in a coupon and replace pages to get up-to-date documentation.

Power Supply and Keyboard

The power supply is 190 watts, as opposed to the 63 watts in the PC and 130 watts in the XT. This much power is needed. The PC is underpowered, causing many users to have hard-to-trace problems when adding to their systems. The XT's supply is much better but would be inadequate for the AT's two hard-disk drives. Since what goes in as electricity always comes out as heat, IBM has incorporated an innovative variablespeed fan that runs faster (and louder) as the internal temperature rises. Since my system was lightly loaded, the noise level never became obtrusive. A notable addition to the AT is a line-voltage select switch that lets it run on European 220-volt power.

The AT's keyboard and interface are more sophisticated than those on the PC and they are not compatible. You cannot use an AT keyboard on a PC. A single-chip microcomputer on the system board manages the keyboard and related functions. Any PC software that goes directly to the keyboard interface hardware, some key-translation programs, and many games will not work on the AT.

The keyboard layout is similar to that used on an IBM Selectric typewriter (see photo 2). The Shift, Control, Enter, and backspace keys have all been enlarged. Some of the less frequently used keys, such as backslash, grave accent. Print Screen, and Escape, have been moved to peripheral portions of the keyboard.

Three status lights have been added to the Caps Lock, Scroll Lock, and Num Lock keys— this is a welcome feature. The only new key, Sys Req, causes the keyboard handling software that's in ROM (read-only memory) to generate a software interrupt whenever the key is pressed or released. This lets the user signal the operating system for attention. PC-DOS currently ignores Sys Req.

To go with its international power supply. IBM provides six different versions of the AT's keyboard for foreign languages. The layout and internal scan codes are all identical, but some of the key legends are different to permit use of symbols peculiar to specific languages. The standard display adapters can display these characters, and DOS 3.0 has a set of utilities to adapt itself to the specific keyboard type.

On the output side, the AT uses the standard PC display cards and so is completely compatible. Graphics generation is much faster than it is on the PC.

Much has been said about the inclusion of a key switch that disables the keyboard and locks the cover in place. It seems to me that this feature is of limited usefulness. You would have to secure the entire system and external wiring to prevent someone with malicious intent from interfering with a running program. A program can test the state...

Por cierto… ¿lo de la compatibilidad de los PCs? El AT venía con un teclado nuevo, y el software para los PCs anteriores de IBM que accedía directamente a sus teclados (juegos, por ejemplo)… no funcionaba en el AT. El paso del 8086 al 286, para sorpresa de nadie, también daba sus propios problemas.

El AT, por cierto, era el primero en poder usar los novísimos discos de alta densidad, con sus casi infinitos 1,2 megabytes (hablamos de discos de 5¼ pulgadas, claro), a 500 kilobits por segundo. Sorpresa: las unidades de disco también suponían un problema de compatibilidad: si escribías a un disco de doble densidad, este no necesariamente sería legible en otros PCs. ¿Sistemas operativos? PC DOS 3.0 (no, no MS DOS) o el Concurrent DOS de Digital Research.

Y de los anuncios, me quedo con el SORD IS-11C. ¿No os provoca una cierta ansiedad la bisagra de la pantalla?

Anuncio del IS-11C de Sord Compuetr. Se trata de un sistema de procesador de textos y correo elctrónico portátil programable en BASIC. La bisgra que soporta la pantalla es de menos de la mitad del ancho de dicha pantalla.

Dice la Wikipedia que llevaba un Z80 y que la resolución de la pantalla era de 256 × 64. No habla del peso ni de la batería (algo me dice que solo funcionaba enchufado a la corriente).

Y con esto me paso a la sección de programación, donde encontramos, primero…

0.8660254 ≈ √3/2

An algorithm that converts decimals to fractions

Si hoy en día incluimos en una revista un programa para convertir números decimales a fracciones con la capacidad de reconocer al menos unas cuantas raíces cuadradas (el programa reconocía las raíces de 2 , 3 y 5, y π y π2), explotan cráneos (el autor, por más inri, era un estudiante de medicina de Estocolmo). Y por si esto no fuese suficiente…

Computing Pi

Using infinite series to compute mathematical functions

(El programa usa la serie de Taylor de la arcotangente y da quince cifras de π, más que suficientes para básicamente cualquier cálculo práctico.)

En fin. Volvemos, con un poco de suerte, el mes que viene. Si queréis anticipar el «futuro», podéis hacer trampa aquí.