vim.async: API asíncrona estructurada para Lua en Neovim

vim.async es el módulo de Neovim que ofrece una API asíncrona estructurada para código Lua que necesita esperar a operaciones del event loop sin bloquear el editor. Permite suspender tareas en puntos de control y gestionar tareas hijas creadas mientras otra está en ejecución, manteniendo la planific

Cómo Jactl implementa continuaciones en Java 8 y se integra con hilos virtuales

Jactl es un lenguaje de scripting integrable y seguro para aplicaciones Java, pensado para ejecutarse dentro de arquitecturas reactivas basadas en un pool de hilos event-loop. Uno de sus requisitos de diseño era no bloquear el hilo de ejecución cuando una operación de larga duración —como una consul

Exploración del espacio de diseño de async/await en lenguajes modernos

## Un estudio revela que async/await, la popular característica de programación asíncrona presente en lenguajes como JavaScript, Python, Rust, C# y Swift, esconde profundas diferencias semánticas que pueden hacer que programas aparentemente idénticos se comporten de formas radicalmente distintas. U

Cómo Netflix consulta su grafo distribuido en tiempo real con una API gRPC

Este artículo, tercero de una serie del blog de ingeniería de Netflix, detalla la capa de consulta del Real-Time Distributed Graph (RDG) de la compañía, un sistema capaz de manejar miles de millones de nodos y aristas con latencias de un solo dígito en milisegundos. Tras explicar en las dos entregas

libhandler: efectos algebraicos y handlers en C99 portable

libhandler es una biblioteca en C99 que implementa efectos algebraicos y handlers en un compilador C estándar, sin requerir extensiones específicas del compilador. Su objetivo declarado es ofrecer un mecanismo ligero de captura de pilas de ejecución —de forma segura y portable— que permita escribir

Akismet: Nuevo líder tras fallecimiento del fundador

Tras el fallecimiento de Michael Foord a principios de 2025, la biblioteca Python 'akismet', crucial para filtrar spam en blogs y sitios web desde 2005, ha encontrado un nuevo mantenedor. James Bennett, quien previamente colaboró con Foord en 2015 para asumir el mantenimiento de la biblioteca, ha co

Rust: Compartir datos mutables de forma segura

Este artículo de Alice Ryhl explica cómo compartir estados mutables en Rust, un concepto crucial para aplicaciones concurrentes, tanto síncronas como asíncronas. El problema fundamental es permitir que múltiples hilos (threads) modifiquen el mismo dato de forma segura, evitando condiciones de carrer

Python Async: ¿Determinista? El desafío revelado

El artículo de dbos.dev explora un desafío crucial al desarrollar bibliotecas de ejecución duradera en Python: cómo lograr la determinancia en flujos de trabajo asíncronos. La asincronía, aunque mejora el rendimiento al permitir la ejecución concurrente de tareas (por ejemplo, usando `asyncio.gather

Futuros bloqueados: un problema oculto en Rust

El artículo "Never snooze a future" aborda un problema sutil pero crítico en la programación asíncrona en Rust: el "snoozing" de futures. En esencia, el snoozing ocurre cuando un futuro está listo para avanzar (es decir, tiene trabajo por hacer) pero no es "polled" (interrogado) por el executor (el

Alternativas a Lwt en MirageOS: Hilos y Eventos

Este artículo explora alternativas a la biblioteca de threading `Lwt` en el contexto de MirageOS, un sistema operativo totalmente impulsado por eventos. En sistemas tradicionales, los hilos preemption interrumpen el flujo de ejecución, mientras que MirageOS, al igual que Node.js, utiliza un modelo d