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.

¿Matará la IA la colaboración abierta?

Tres noticias…

La primera, la declaración de Leiden sobre matemáticas e IA, con el soporte de la International Mathematical Union, que dice que cuidado con la IA. No dice que la IA no pueda suponer grandes avances (que los ha habido) en el campo, pero sí que está rompiendo cosas (más detalles en el New York Times y en Ars Technica). Mencionan, por ejemplo, que los colosos de la IA no son nada transparentes en el proceso (actualmente las matemáticas de primerísimo nivel son una cosa sorprendentemente abierta), y eso es realmente problemático. Pero me quedo, sobre todo, con otra de las cosas que destacan: los modelos de lenguaje están haciendo que alguien sin conocimientos pueda producir un intento de resolver un problema clásico extremadamente verosímil, sea correcto o no… y que esto está haciendo que los departamentos de matemáticas del mundo se vean inundados de demostraciones que, lamentablemente, se demuestran erróneas casi siempre… pero no sin consumir una cantidad de horas más que notable. Uno recuerda la época en que era extraño que pasara un año en ningún departamento de matemáticas sin que se recibiese una demostración del (mal llamado) teorema de Fermat, y no quiero ni imaginarme cómo debe ser la situación actual, en que no se puede descartar lo que te llegue, porque quién sabe… pero de momento estamos restando muchísimas más horas que las que sumamos.

Segunda noticia, que Ladybird, un navegador web alternativo en fase de desarrollo, anuncia que deja de aceptar pull requests, y que solo los mantenedores del proyecto podrán introducir cambios en el código fuente. Y que no se habilitará ninguna vía alternativa. Van de camino a su primera alfa y necesitan un proceso más estricto, con un modelo de seguridad más claro y un grupo más reducido de responsables. La aparición de las herramientas de IAg, dicen, rompe la antigua premisa de que un gran parche implicaba un gran esfuerzo y buena fe por parte del autor.

Y tercera, que Matt Mullenweg anuncia que WordPress.org pone en marcha una iniciativa de seguridad, de nuevo motivada por el avance constante de la IAg y el aumento de ataques en la cadena de suministro. Buscan encontrar el equilibrio entre lanzar las actualizaciones de seguridad lo más rápido posible, pero reteniéndolas el tiempo suficiente para garantizar que no han sido comprometidas. A partir de ahora, cualquier versión nueva de un plug-in deberá esperarse “hasta 24 horas” antes de distribuirse mediante las actualizaciones automáticas, de modo que tanto el equipo humano de revisión como “Gandalf”, un nuevo bot basado en IA, puedan analizar a fondo los cambios, y dicen que esperan reducir el plazo a pocos minutos.

Y la cuestión, claro, es que ya no hay que «hacer los deberes» para lanzar unas cuantas páginas de texto, una (presunta) demostración matemática o un parche para un software, con buena o mala fe, y los editores del mundo se ven inundados. En un primer momento puedes suponer que es falta de un buen proceso para recoger y estudiar el alud, pero estamos llegando (hemos llegado, estoy casi seguro) al momento en que ni los mejores embalses pueden luchar contra la riada, y eso está teniendo efectos secundarios que pueden llegar a ser devastadores, tanto en los momentos en que una buena actualización se quede atrapada en el proceso como en aquellos en que una mala se cuele por el filtro.

Cinco devLecturas (I)

Inauguramos serie de entradas pseudoregulares (espero) en obm: cosillas que he ido leyendo y me han hecho gracia, en general alrededor del diseño y el desarrollo web. A ver cuánto dura la cosa…

El 25 de mayo, el artículo Responsive Web Design, de Ethan Marcotte, cumplía los 16 años. Qué viejos somos. El propio Marcotte nos recordaba lo que escribió sobre el tema cuando «solo» tenía diez años.

Para los que tiráis de WordPress, el 25 de mayo en Freelandev repasaban las novedades que trae la 7.0. Aquí el enlace al episodio.

El 29 de mayo, Rachel Andrew daba su repaso mensual en web.dev a las novedades de la plataforma web. Lo más destacado, que entran en el «baseline» una pseudoclase nueva y container queries por el nombre del contenedor y por custom properties (variables, vaya).


Dejo para el final los contenidos con/sobre IA, y así quien no quiera leer estas cosas puede ahorrárselas fácil.

El 26 de mayo en el podcast de Syntax hablaban de decisiones que, por mucho que vayas a tirar de agentes para tu proyecto, deberías tomar tú antes de dejarles que se pongan a ello: el esquema de la base de datos, las estrategias de validación, el enrutado, el flujo de autenticación, metodología CSS y framework de interfaz de usuario y el tipo de comunicación entre front y back.

Antes de eso, el 5 de mayo (ordeno en el orden en que yo encontré / leí las cosas), Addy Osmani hablaba de su repo Agent Skills en GitHub. Me fascinan estos repositorios porque, con sus problemas, son recopilatorios de buenas prácticas que, me da la impresión, o no se hacían o no se hacían con tanto cariño y esmero cuando el objetivo era educar humanos, y no agentes (seré muy feliz si se me corrige). En cualquier caso, tanto la entrada de blog como el repo me parecen una lectura muy interesante.

Ventanas partidas en Firefox

Me entero por este artículo de The Register de que hace ya un tiempo que se puede activar la vista partida en Firefox, que te permite ver dos páginas en una sola ventana del navegador:

Captura de pantalla de un navegador con dos pestañas abiertas en vista partida. A la izquierda vemos un editor de WordPress con esta ventana abierta, a la derecha este blog.

Que me diréis: ¿y no es lo mismo que abrir dos ventanas del navegador? Pues se parece, sí, pero te ahorras unos cuantos píxeles de la interfaz del navegador. Si, como yo, usas pestañas verticales (en mi caso, usando Sidebery), entonces la cosa pasa de ocupar toneladas de interfaz a algo viable:

Captura de pantalla con dos pestañas abiertas en modo partido. A la izquierda vemos la página de The Register mencionada en la entrada, a la derecha este blog. Además, a la izquierda, tenemos un porrón y medio de pestañas mostradas de manera verical ocupando una cantidad importante de píxels.

¿Que cómo se activa?

  • Parece que con Firefox 149 (que debería llegar dentro de tres semanas, el 24 de marzo) la funcionalidad estará disponible por defecto, pero mientras tanto, en Firefox 148 hay que, primero, ir a about:config, aceptar el botoncito que te avisa de que tocar cosas dentro de about:config tiene sus riesgos, buscar browser.tabs.splitView.enabled y activarlo (haciendo doble clic).
  • Y después de activarlo, es tan fácil como «control + clicar» una pestaña y la otra, y después, botón derecho y «Open in split view» (o como se diga en el idioma en que tengas configurado en Firefox)

A partir de ahí, podéis cambiar la cantidad de espacio asignada a cada pestaña arrastrando en la barra que las separa, y desconectarlas haciendo botón derecho en la barra de pestañas y «Separate split view«.

Y este ha sido el bricoconsejo de hoy…

Analíticas de Schrödinger

(Título robado a uno de los ¿3? ¿4? ¿podría ser que 5? lectores habituales de este blog, por cierto. ¡Hola, Isma!)

Medir visitantes a un sitio web nunca ha sido cuestión baladí. Pero, de verdad, estamos llegando a niveles «cuánto mide la costa de Gran Bretaña» (si no os suena la frase, seguid el enlace, seguidlo).

En obm hace unos meses nos fuimos de Google Analytics. De salida, instalamos Koko Analytics y, desde hace algo menos, pusimos Jetpack y, como Jetpack viene con su pack de analítica, pues lo dejamos activado. En el panel de WordPress, las dos gráficas de visitantes quedan, curiosamente, una al lado de la otra… y cada vez que entro al panel es un despiporre:

Dos gráficas de barras de páginas vistas en este blog. A la izquierda, la de Koko Analytics, que para los últimos siete días marca 51, 52, 51, 35, 31, 32 y 13. A la derecha, la de Jetpack, que para los mismos días da 49, 139, 124, 95, 334, 291 y 13.
Captura hecho por la mañana, de ahí que el último día salga tan bajo

No, no hay por dónde pillarlo, efectivamente. De hecho, lo sorprendente es que, en el momento que hice la captura, el marcador del último día coincidía en 13 visitantes y 13 páginas vistas. Al cabo de un rato seguía habiendo coincidencia en páginas vistas (17) pero uno opinaba que de 17 visitantes diferentes, y el otro que de 14.

Y claro, uno se puede ir a buscar las estadísticas del hosting, y…

Nueva gráfica de tráfico. Marca peticiones totales y peticiones únicas. Las peticiones totales comienzan en unas 5000 hace una semana, bajan a unas 3500 los cuatro siguientes días, suben a casi seis mil, y están muy bajas para el último día. Las peticiones únicas se mantienen un poco por encima de mil, excepto el sexto día, en que se va a 2000, y el séptimo, en que está muy baja.

Abro paréntesis: ¿no os llama la atención la pestañita de «bots»? A mí sí. ¿Veis aquí arriba como el hosting cuenta algo menos de veinticinco mil peticiones de visitantes?

La gráfica muestra unas 166000 peticiones en total, 30000 de IA, 12000 de motores de búsqueda, 0 sociales y 123000 de otro tipo.

Apenas 6 peticiones de bots (casi 7, de hecho), por cada petición «humana». Todo bien.

En fin. En cualquier caso, que habría que recuperar la tira de xkcd de los estándares (siempre hay que recuperar una tira de xkcd),

An kkcd comic strip. The headline is How standards proliferate (see a/c chargers, character encodings, instant messaging, etc). There are three fames. First frame is textual: Situation, there are 14 competing standards. In the second frames, two stick figures talk to each other. First figure says "14?! Ridiculous! We need to develop one universal standard that covers everyone's use cases". Second figure answers Yeah. Final frame is text. It says "Soon: Situation: There are 15 competeing standards"

¿Alguien se anima a hacer un nuevo motor de analítica web?


PS Sí, la entrada es porque los números de vistas estos días (increíbles como son) son mucho más altos de lo que era habitual por estos pagos en los últimos meses. Que no sé qué miden (no sé si miden algo, de hecho), pero ya se sabe que, ande o no ande, caballo grande.