devLecturas (II)

Cinco enlaces más de cosillas de desarrollo web entendido en sentido amplio (la edición anterior es de principios de junio, no sé yo si esto va a tener mucha continuidad, pero lo seguiremos intentando).

De los vídeos de la commit, celebrada a principios de junio, me han llamado la atención un par de charlas. La primera, una «nueva manera de testear el frontend», «test while developing«.

Y la segunda, la de Ramón Corominas sobre evaluación automática de accesibilidad:

Aprovechando que estoy con uno de accesibilidad, hace apenas unos días Olga Carreras repasaba la WCAG Evaluation Methodology (WCAG-EM) 2.0.

Volviendo a principios de junio, Manuel Matuzovic hablaba de encabezados «concientes de su contexto». La idea, si los navegadores acaban dándole soporte, es que finalmente podamos escribir bloques de código dándoles título con un <h1>, y que sea luego el navegador el que lo convierta en el h-loquesea conveniente usando un «offset» y le aplique el CSS adecuado, cosa especialmente interesante si se trabaja con componentes. De momento solo se está implementando en Firefox. Dedos cruzados para que lo adopten el resto de navegadores 🤞.

Y para cerrar (el enlace es más antiguo, pero yo la encuentro ahora), tenemos esta Retro UI library que no creo que use nunca, pero que me parece absolutamente maravillosa.

Clicks Keyboard. I wanted to believe…

…y aún sigo queriendo creer, y no está perdida toda la esperanza. Pero.

Recordará el lector habitual, atento y con [mucha] memoria, que los teclados son tema de preocupación de esta casa, y en particular los teclados físicos de los móviles (les escribimos un réquiem en 2013, ilustrado con foto del añorado Nokia N97, y en 2009 nos enamoramos del (¿la?) Palm Prē).

O sea que cuando Clicks anunció el Kickstarter de su Power Keyboard, para allá que nos fuimos, no sé si con mucho convencimiento en el producto, pero sí con todas las ganas de votar (en dinero) por el resurgimiento del teclado físico para el móvil. Y el tecladín, con los retrasos habituales de los kickstarters, llegó a casa hace ya unas cuantas semanas, pero entre unas cosas y otras, no habíamos encontrado un momento para reseñarlo por aquí.

Foto de un teclado Clicks. Se trata de un teclado similar al de las antiguas Blackberry. Mide 119.7 × 76.6 × 15.2 milímetros y pesa 180 gramos

Lo primero que debe decirse es que la ingeniería y la calidad de materiales del teclado son excelentes: en Clicks no han escatimado esfuerzos: el dispositivo es contundente hasta el nivel arma de asalto, las teclas en sí parecen preparadas para escribir la próxima Odisea, la conexión al ordenador, tanto físicamente, vía MagSafe, como lógicamente, a través de Bluetooth con soporte para hasta diez dispositivos, funciona a la perfección, y el software que alimenta el teclado no da ningún problema.

Ahora bien.

El teclado, junto con un móvil Samsung S24 Ultra. El dispositivo se ve muy grande comparado con las manos que lo sujetan

Conecte usted los 180 gramos del teclado1 a los doscientos gramos del móvil medio (233 pesa el S24 Ultra de la foto), y la cosa se va a un peso que no es de recibo. Si encima el móvil no es nativamente MagSafe (diría que en el mundo Android solo la última generación de Pixels lo es), pues además hay que sumar una funda que no hace nada bueno ni por el peso ni por el volumen del invento.

Vaya, que en la práctica, si el móvil no es un iPhone Air, con sus 165 gramos, no le veo yo la utilidad práctica2 al teclado más allá de la demostración de ingeniería.

Ahora bien: sigo queriendo creer. Clicks anunció junto al teclado su Communicator, una suerte de Blackberry que, para los que fueron adictos al añorado cacharro canadiense, pueden resultar una tentación irresistible…

  1. El peso se explica en parte porque se incluye una batería de 2300 mAh capaz de alimentar inalámbricamente el móvil, además de mantener en funcionamiento la electrónica del teclado. Pero también es necesario un cierto peso para poder soportar el móvil correctamente sin que la distribución de peso se haga extremadamente incómoda. ↩︎
  2. No es del todo cierto: esa capacidad de conectar el teclado a múltiples dispositivos puede hacer que sea útil para los múltiples dispositivos «smart» que uno pueda tener en casa, comenzando por la tele… ↩︎

#breBytes El Commodore 128

Dijimos hace nada que dejaríamos de hacer nuestras lecturas mensuales de la revista Byte de hace cuarenta años, pero que amenazábamos con buscar alternativas. Isma señalaba en los comentarios lo que básicamente tenéis aquí abajo, y que a mí también se me había pasado por la cabeza: ya que el ejercicio de lectura en sí lo voy a seguir haciendo, no obligarme a hacer la entrada mensual y exhaustiva, pero, si aparece alguna noticia que me apetezca destacar, pues recogerla por el procedimiento habitual.

Y siempre hemos tenido la norma de que si aparece Commodore, lo recogemos…

The Commodore 128 Personal Computer System

The Commodore 128 personal computer includes 128K bytes of RAM and uses two microprocessors, a Z80 and a 6502-compatible chip, the 8502, which supports bank-switched memory. The C-128 includes dual video outputs, a four-voice sound synthesizer, 80-column RGB text output with its own independent 16K of video RAM (supporting 640 by 200 pixel resolution), and the 40-column VlC-11 chip, which supports 320 by 200 pixel high resolution sprite graphics.

On power-up, the C-128 enters the "native" or C-128. mode, which uses the 8502 processor, switchable between a 1- and 2-megahertz clock speed. The mode accesses the 128K of RAM using bank-switching techniques and allows you to use BASIC 7.0, an advanced BASIC In C-64 mode, you obtain full compatibility with the Commodore 64 but without access to any of the C-128's advanced features. Alternatively, you have a 2-MHz Z80based CP/M machine that supports bank-switched CP/M version 3.0 (CP/M Plus).

C-64 Mode

In C-64 mode. I had no trouble loading and running all my C-64 programs, including heavily copy-protected ones. There are three ways to switch to C-64 mode: In C-128 mode, you can type GO 64: you can hold down the Commodore logo key while powering up; or you can put a C-64 ROM cartridge in the expansion port. Note that you cannot leave the C-64 mode— the slight changes in the operating system necessary to implement the exit would reduce compatibility with the C-64. Note also that in C-64 mode, you will not normally be able to access any of the C-128's improved features, such as 80-column video output or high-speed disk drive usage with the 1571 drive.

There are only three slight differences between the C-64 mode and an actual C-64. The VIC-II video graphics chip has two extra registers. #47 and #48 (at locations 53295 and 53296). Register 47, a keyboard control register, uses 3 bits (the 5 highest bits are unused) to scan the extended key matrix. C-128 mode uses the register to read the numeric keypad, outboard cursor keys, Help, Tab, and other special function keys. To maintain full compatibility, the C-64 mode does not read the registers, but you could write code to read these keys even in C-64 mode.

Register 48 simply contains one bit that selects 1- or 2-MHz clock speeds. You can run many programs in C-64 mode at a 2-MHz clock rate, but you will not be able to access the VIC-II video chip; therefore, the screen will be blank. Additionally, the C-128 cannot communicate with its companion disk drive at this higher clock speed. The modem port and the sound chip do function properly when the system is running at 2 MHz. The third difference results from having two 64K-byte RAM banks. If you power up in C-128 mode and select bank or I, that will be the bank of RAM that the C-64 uses. Of course, this "difference" has no effect on compatibility with a stock C-64.

I have experienced no incompatibilities, and I am completely satisfied with the C-64 mode, but I have heard that one program. Commodore's International Soccer, does not function properly because of incorrectly read...

¿Iba perdida Commodore en el 86? Pues el Amiga y sus 16/32 bits ya llevaban una buena temporada en el mercado, pero el 64 seguía vendiendo de manera mas que considerable, y alguien tuvo la idea de crear un «monstruo» con doble CPU, heredero del 64 pero con unos masivos 128 Ks de RAM y el doble también de velocidad de procesador, hacerlo compatible con el 64 hasta ser un 64 si se le pedía con un mínimo de amabilidad (G0 64, eran las palabras mágicas) y, por si dos ordenadores en uno no fuesen suficiente, un modo CP/M, cuando el CP/M seguía siendo un sistema operativo más que interesante.

Sobre el papel, una idea muy interesante: una máquina capaz de ejecutar la infinidad de soft que se había desarrollado para el 64 y para las máquinas CP/M, y de ir más allá con el 128. En la práctica, Commodore no vendió ni una máquina más que si hubiese seguido con el 64, nadie del mundillo CP/M le prestó la más mínima atención, y el software desarrollado para el 128 fue, redondeando un poco… absolutamente ninguno. Y todo ello costó un dinero en desarrollo y le quitó parte del poco marketing que se podían permitir las eximias cuentas de Commodore al Amiga, que ya no iba muy fino en su batalla con Macs y PCs. Commodore no moriría hasta mediados de la década de los 90, pero la cosa ya no pintaba bien :-(.

¿Es WordPress la web viejuna?

Tenía yo cosas pendientes de leer desde hace una temporada (buena parte de los motivos, en la entrada anterior). Entre ellas, Who’s Left to Build WordPress? Si el tema WordPress os interesa y no os la habéis leído, por favor, haceos el favor de dedicarle el ratito que merece. Destaco aquí algunas notas…

  1. El conflicto WordPress.com/.org v WPEngine ha hecho daño1. Más del que debería. Sobre todo, ha demostrado que el proyecto WordPress no tiene una gobernanza como tal, y eso es nefasto en el mundo del código abierto (y fuera de él también, sí).
  2. WordPress tiene una edad (con ese nombre, un poco menos de los 23 años y poco que tiene este blog 😅, pero en la práctica alguno más) y envejecer es una consecuencia inevitable de ese largo recorrido. Hay que saber envejecer, eso sí (por difícil que sea). No se trata de ser el cincuentón que se apunta a todas las modas para conservarse joven, pero tampoco de ser el meme del abuelo de los Simpsons, o cualquier otro meme de señoro blanco de una cierta edad gritándole al sol porque el universo no ha evolucionado como debería haberlo hecho.
  3. Con esa edad también han llegado una base de código cada vez más difícil de mantener (ni me imagino yo la magnitud del dolor de cabeza que eso debe significar), por un lado, y por el otro, un ingobernable ecosistema de plug-ins. Ese ecosistema le da a WordPress buena parte de la potencia que tiene, pero también más del 90% de los problemas de seguridad que acaban dándose, y es culpable de que muchísimos sitios web (comenzando por este) basados en WordPress tengan un rendimiento glacial, además. ¿Cómo se ataca el problema «sin tirar al bebé con el agua del baño»? No tengo ni la más remota idea. Tengo mis dudas de que sea un problema resoluble, de hecho.
  4. Lo que me parece más peligroso de la entrada de Galea (y que solo en una pequeña parte es una crítica a WordPress) es esa constatación de que quien llega a la web hoy se inclina cada vez más por no poseer la pila tecnológica en la que se apoya, y le resulta más interesante acudir a Shopify, Squarespace, Wix, Substack, Linktree o lo que sea, que contratar un hosting, instalarse un WordPress (o cualquier otra solución bajo su control) y aprender a usarlo. Que me parece innegable que todas esas plataformas tienen todo el sentido de existir, pero esa renuncia a la soberanía tecnológica en aras de la eficiencia implica toda una serie de riesgos que, me temo, le van a explotar en las manos a mucha gente que ha tomado esa vía en los últimos años y a todos los que lo van a seguir haciendo en el futuro, especialmente si esas plataformas comerciales llegan (cuando lleguen) a una posición dominante que les permita ignorar las alternativas autoalojadas y de código abierto. Se me señalará que WordPress.com está en un lugar dudoso (y WPEngine en uno directamente «plataformil») y estaré muy de acuerdo con ello. También se señalará que WordPress, el proyecto de código abierto, seguramente podría hacer más por competir en eficiencia y facilidad, y también estaré de acuerdo, pero desde la convicción de que ese esfuerzo es más complicado de lo que uno podría anticipar (y me negaré a entrar en cualquier debate que contenga la palabra Gutenberg). De la dependencia de las mal llamadas «redes sociales» para tener presencia mejor no hablamos, que me enciendo.
  5. Y la IA, claro, porque todo se ve afectado por la IA, y la potencia de la IA, y los descomunales problemas éticos y morales que implica la IA para un proyecto de código abierto, y las enormes oportunidades y retos que plantea, claro, tanto para los proyectos de código abierto como para quien quiere montarse una presencia en la web pasando de plataformas, abiertas o cerradas. Disculpe, lectora, que no me meta en ese charco. Reconozco, sobre todo, que no sé ni qué pensar.

Que sí, que esto ha sido básicamente un ejercicio de digestión (¿canibalización?) de lo que dice Barea en su excelente entrada. Siempre he sido yo de pensar en voz alta, qué le vamos a hacer. Igual consigo que una o dos personas acudan al original y se lo lean con el cariño que la cosa merece.


  1. Para el que no lo sepa, WPEngine ha demostrado a lo largo del tiempo un comportamiento ciertamente abusivo del modelo de código abierto del proyecto, violando su espíritu claramente, pero menos la letra. El problema es que la reacción que hubo dejó bien claro que WordPress es el proyecto de muchísima gente, pero que quien «tiene la sartén por el mango» es su dictador benevolente, Matt Mullenweg, con todo lo que eso tiene de bueno y de malo. Y, a la larga, nunca es bueno que el proyecto de muchísima gente dependa de una persona, por mucho que la comunidad le daba todo el reconocimiento del mundo. ↩︎

Una tesis

Pues parece que, de ahora en adelante, ya podremos decir que servidor es doctor en e-learning, con la tesis Design and development of a learning analytics tool for the analysis of video learning resources in small-scale learning scenarios. Por si alguien tiene mucho insomnio, aquí la tenéis:

Toca dar las gracias a toda la gente que ha puesto su granito de arena (la contribución de algunos, y algunas, se mide en hormigoneras) para llegar hasta aquí, comenzando por mis directores Anna y Germán, y mi primera directora, María Antonia (uno ha tardado tanto con esto que se ha jubilado, y por eso no figura en la portada). En la página de agradecimientos hay unos cuantos nombres más, y la lista es tan larga como para no caber ahí ni en broma.

Si alguien quiere saber más, la idea es que cada vez utilizamos más recursos de aprendizaje en vídeo, que en algunos casos están sustituyendo a las clases «de toda la vida». Y con ese paso ganamos muchas cosas, pero también perdemos: la profe deja de tener delante a los alumnos, y se pierde indicadores visuales sobre cómo están entendiendo (o no) estos últimos las explicaciones. Esos indicadores no los vamos a recuperar, pero tenemos otros que quizás convendría explotar: esos estudiantes pausan los vídeos y saltan adelante y atrás por ellos, mucho más de lo que creeríais (y más cosas: aceleran y ralentizan su reproducción, por ejemplo). ¿Y si eso nos pudiese servir para entender mejor, y mejorar, los procesos de enseñanza y aprendizaje? Para seguir con el tema, me temo que os vais a tener que leer la introducción del PDF que tenéis incrustado aquí arriba.

Se trata de una tesis modesta, pero, quién sabe, igual pone su granito de arena (repito metáfora, lo sé) para que en algún momento el aprendizaje a través de recursos en formato vídeo mejore un poco 🤞.