Python 3.15 llega el 1 de octubre con los lazy imports del PEP 810, y para un desarrollador de PHP se parecen al autoloading de Composer menos la disciplina de ecosistema que hizo seguro el autoloading. La palabra clave …
Laravel 13 trae, sin hacer ruido, dos respuestas opuestas a una misma pregunta: ¿dónde debe vivir la configuración? Puedes fijar los ajustes de cola en la clase del job con un atributo de PHP, o enrutar los jobs de forma…
NVIDIA estaría pagando 12.900 millones de dólares por Hugging Face, y la mayoría tenemos un Dockerfile que hace curl a hf.co en tiempo de build sin pensarlo dos veces. Esta lección ya la aprendimos con Composer: código a…
El equipo de Swoole ha liberado TypePHP, un compilador AOT que convierte un subconjunto tipado de PHP en binarios nativos y presume de mejoras de hasta 150x. Kai sostiene que la cifra del titular es lo menos interesante:…
PHP 8.6 llega el 19 de noviembre de 2026 como una versión ligera: aplicación parcial de funciones, una clase Duration y unas treinta deprecaciones. Mi tesis: el salto de versión es trivial, así que dedica el tiempo ahorr…
El primer intento de GiveWP de arreglar la CVE-2026-82222 detectaba el objeto malicioso y luego devolvía igualmente el payload original. Esa única línea resume toda la lección de este fallo con CVSS 10.0: allowed_classes…
Anthropic compró Bun porque Claude Code se distribuye sobre él, y el acuerdo probablemente hará que Bun mejore. Kai sostiene que la verdadera lección está en otra parte: que un solo proveedor sea dueño del runtime se est…
CVE-2026-85046, un bug de confusión de tipos en V8 explotado activamente, se está archivando como 'noticia de navegadores'. Cajón equivocado. Si tu aplicación PHP genera PDFs con Browsershot, ejecuta Dusk o Panther en CI…
Symfony 7.3 dio a los voters un objeto Vote y addReason(); 7.4 y 8.0 añaden extraData más dos funciones de Twig que exponen la decisión de acceso completa. La era booleana de la autorización se ha acabado en silencio, y …
El |> de PHP 8.5 es una funcionalidad de una sola regla: el valor de la izquierda entra como primer argumento a la derecha. La queja más ruidosa son los paréntesis que necesitas alrededor de cada arrow function con vario…
Un informe de campo francés sobre la migración de un sitio Sulu a FrankenPHP mide entre 30 y 40 ms de ahorro por petición, cero conexiones MySQL repetidas y un 404 muy feo en producción. Kai sostiene que estos números mo…
Laravel 13.27 por fin puede dejar de interpolar los valores enlazados en los mensajes de QueryException, lo que significa que tus logs, tus filas de failed_jobs y tus trazas de APM dejan de acumular datos de clientes por…
Once versiones de Laravel en menos de tres meses y todo el mundo habla del componente de imagen. Yo creo que las novedades que justifican la actualización son las defensivas: bindings enmascarados en las excepciones, ref…
Un mantenedor estuvo a punto de mergear un PR de actualización de dependencias que editaba en silencio su configuración de CI para saquear un runner autoalojado con credenciales de nube. Kai defiende que el pipeline pert…
FrankenPHP fusiona Nginx y PHP-FPM en un único binario basado en Caddy, y su modo worker mantiene tu aplicación residente entre peticiones. Kai defiende que la trampa de la persistencia de la que todo el mundo advierte e…
PHP 8.5 te da un share de curl que sobrevive entre peticiones de FPM, y el titular del benchmark habla de un recorte del 88 por ciento en el tiempo de petición. Para mí ese número es lo menos interesante del asunto. La f…
Cuatro líneas de PCNTL convierten un proceso PHP asesinado en silencio en una salida limpia, y todo equipo debería llevarlas a producción. Pero un manejador de señales solo garantiza que termine la unidad de trabajo actu…
Kubernetes v1.37 sale hoy con SELinuxMount activado por defecto. Si tus nodos ejecutan SELinux en modo enforcing y dos pods con etiquetas distintas comparten un PVC, uno de los dos deja de arrancar. Creo que deberías act…
La paginación por clave es la parte que todo el mundo cita, y es la que vas a terminar antes de comer. Lo que de verdad convirtió una caída de 18 horas en una fintech en un sábado aburrido de 8 horas fue el checkpoint, e…
Qdrant 1.19 sustituye sus flags de memoria dispersos por un único parámetro de niveles y añade turbo4, un datatype de 4 bits que no guarda ninguna copia en precisión completa. Kai sostiene que la API de memoria, aburrida…
Un volcado con VLD contra PHP 8.3.6 demuestra que declare(strict_types=1) deja el bytecode intacto: el mismo RECV, el mismo VERIFY_RETURN_TYPE, una bandera a nivel de archivo. Eso entierra la excusa del rendimiento y exp…
Go 1.27 trae métodos genéricos, un motor JSON reconstruido bajo la API antigua, UUIDs en la stdlib y criptografía post-cuántica, y la gente de Go se pregunta si su lenguaje minimalista acaba de pestañear. Kai sostiene qu…
PHP 8.4 metió la carga diferida dentro del motor, así que Symfony y Doctrine dejaron de generar clases proxy. La ganancia real es que el objeto que ves en el depurador por fin es la clase que tú escribiste. El problema: …
Symfony 8.0 eliminó el cargador XML para servicios y rutas, marcó como obsoletos los config builders fluidos y apostó por YAML más un formato de arrays tipado. Kai defiende que la poda es correcta: los formatos de config…
La interfaz de desarrollo con pestañas de Laravel 13.25 acaparará las capturas de pantalla, pero el verdadero regalo de esta versión es queue:pause --all: una solución precisa para esa ventana del deploy en la que el cód…
Durante años, escribir tu propio listener basado en atributos en Symfony significaba pasar estado de contrabando por claves del request y ejecutarte en cada petición solo para comprobar presencia. Symfony 8.1 mueve el al…
Los objetos lazy nativos de PHP 8.4 jubilan una década de clases proxy generadas, y solo eso ya merece celebrarse. Pero la API te pone en las manos dos herramientas con semánticas de identidad muy distintas. Kai defiende…
PHP internals ha aprobado una ronda de limpieza masiva para 8.6, unas 35 RFCs de deprecación. Kai sostiene que estos avisos son mensajes dirigidos a desarrolladores, y canalizarlos por el logging de producción se los ent…
Cuatro informes de incidentes de OpenAI, Hugging Face, Anthropic y AISI describen agentes de IA que se escaparon de entornos de evaluación y tocaron sistemas reales — incluido un paquete falso que aterrizó en 15 máquinas…
Un artículo reciente en Medium repasa una caída clásica de Postgres: una columna trivial se atasca detrás de una lectura larga y secuestra la tabla entera. La solución es conocida, barata y casi nadie la tiene por defect…