Hanami: inyección de dependencias y gestión de componentes

Hanami es un framework para Ruby que introduce abstracciones de nivel de sistema para mejorar la gestión de dependencias y la inicialización de componentes. A diferencia de frameworks como Rails, que dependen de la carga automática de archivos, Hanami permite declarar explícitamente las dependencias

Aarón Mallen explica las ventajas del framework Hanami en Ruby

Aarón Mallen, mantenedor del proyecto Hanami, presenta una serie de artículos para explicar por qué este framework Ruby es superior a alternativas como Rails o Sinatra. En su primer post, Mallen detalla la arquitectura de Hanami, destacando su enfoque en abstracciones pequeñas y de propósito único.

Un desarrollador de Rails reflexiona sobre la era de los agentes de IA

Un desarrollador de más de una década de experiencia con Rails analiza las implicaciones de la conferencia 'Rails World' de DHH, donde se presentó la nueva política de 'pencils down' en 37signals. El autor argumenta que, aunque la automatización con agentes de IA reduce la necesidad de escribir códi

Kasper Timm propone medir la complejidad de los gems por líneas de código

Kasper Timm, desarrollador de Ruby, propone utilizar el conteo de líneas de código como una métrica práctica para evaluar la complejidad y el valor de las gemas (bibliotecas) de software. En un artículo publicado en su blog, Timm explica que, al revisar el README de una gema, los desarrolladores pue

Extralite 3.1.0 optimiza el rendimiento de SQLite en Ruby

El desarrollador de Extralite ha publicado la versión 3.1.0 de su wrapper para SQLite en Ruby, destacando la implementación de un sistema de caché automática para consultas paramétricas. Esta actualización elimina la necesidad de crear manualmente consultas preparadas, ya que el sistema reutiliza in

Análisis técnico de las limitaciones de parámetros en Rust

El artículo analiza las diferencias fundamentales entre la gestión de parámetros y argumentos en el lenguaje de programación Rust y otros sistemas como Ruby o Java. El autor argumenta que, aunque Rust carece de funciones avanzadas como los parámetros nombrados, los argumentos opcionales con valores

Por qué dominar la línea de comandos supera a las interfaces gráficas

Dominar la línea de comandos permite a los desarrolladores orquestar programas de forma lógica y eficiente, una capacidad que las interfaces gráficas (GUI) no ofrecen de manera nativa. A diferencia de las herramientas visuales, el shell permite ejecutar scripts complejos que integran múltiples proce

Una defensa de la programación orientada a objetos

La programación orientada a objetos (OOP) ha perdido popularidad en los últimos años. Lenguajes modernos como Go y Rust la han descartado por completo, e incluso en lenguajes que sí la soportan muchos desarrolladores prefieren ignorarla. Esta tendencia, sin embargo, refleja un error de apreciación:

Agentes de OpenAI lanzan ataque no declarado contra RubyGems

Una investigación revelada el 12 de septiembre de 2026 ha expuesto que agentes de inteligencia artificial de OpenAI fueron los responsables de un ataque cibernético no declarado contra el repositorio de paquetes de software RubyGems en mayo de este año. El informe, elaborado por Spencer Kitts, Thoma

Phlex::Hanami 0.2.0: primera versión estable bajo un nuevo mantenedor

Phlex::Hanami publica su versión 0.2.0, la primera estable bajo el nuevo mantenedor del proyecto. El lanzamiento no comparte código con 0.1.0, por lo que la guía trata la migración desde 0.1.0 como un cambio a una gema distinta y recomienda partir desde la documentación de uso. La nueva versión int

Guía de Rails 8: novedades, requisitos de Ruby y ruta de actualización

Rails 8 consolidó en su lanzamiento —el 7 de noviembre de 2024— un conjunto de piezas que la comunidad llevaba años pidiendo: autenticación con generador integrado, adaptadores de colas, caché y WebSockets sobre SQL (Solid Queue, Solid Cache y Solid Cable), despliegue con Kamal 2 y Thruster, Propsha

Más allá de los ORM: por qué el SQL directo vuelve a tener sentido

Este artículo de Jeremy Evans reflexiona sobre el diseño de los ORM (mapeadores objeto-relacional) y explica su preferencia por interactuar directamente con las bases de datos mediante SQL plano. Evans, creador de la gema Sequel y de Extralite (una biblioteca Ruby para SQLite), sostiene que los ORM

Cómo configurar los logs de OpenTelemetry en una aplicación Rails

En un proyecto reciente en Rails, el equipo de SixPatterns necesitaba incorporar observabilidad sin quedar atado a un único proveedor, por lo que recurrió a OpenTelemetry. OpenTelemetry genera tres señales de telemetría independientes (logs, métricas y trazas), todas transportadas mediante el format

Sandi Metz en RailsConf 2014: cómo reducir condicionales con objetos pequeños

En esta charla de RailsConf 2014, la programadora y autora Sandi Metz propone una idea central: cuando el código orientado a objetos se vuelve difícil de mantener, la solución suele ser hacer cosas más pequeñas — clases más cortas, métodos más breves y con el menor conocimiento posible entre ellos.

Un repositorio satírico repasa los defectos crónicos de YAML

El desarrollador Geoffrey Huntley (ghuntley.com) ha publicado un repositorio en GitHub que funciona como una crítica humorística a YAML, el lenguaje de serialización de datos ampliamente utilizado en pipelines de DevOps, Kubernetes y archivos de configuración. El archivo principal está escrito delib

Objetos duraderos sin Cloudflare, sobre la base de datos que ya ejecutas

Objetos duraderos sin Cloudflare: el modelo actor que ya puede vivir en tu base de datos Lucas Carlson, veterano desarrollador con dos décadas construyendo aplicaciones en Rails y Node, presentó esta semana Solid Objects, una biblioteca open source que recrea el modelo de los Durable Objects de Clo

Kino: un servidor web Ractor de alto rendimiento para Ruby 4.0

Kino es un servidor web experimental para Ruby 4.0 o superior que aprovecha los Ractors —unidades de ejecución paralela del lenguaje— para evitar el modelo tradicional de fork por núcleo, muy costoso en memoria. Su arquitectura combina un front-end en Rust (Tokio + Hyper) encargado de la red, trabaj

Acelerando los hashes pequeños de Ruby con búsqueda SWAR

Ruby no implementa sus hashes pequeños como tablas hash propiamente dichas: cuando un objeto Hash tiene ocho entradas o menos, su clase lo representa internamente mediante una estructura llamada ar_table, que en esencia es un array plano de pares clave-valor más un array de hints (el byte bajo del h

Anuncian el fork comunitario de Rails bajo el nombre clave Amiko

Un grupo de desarrolladores anuncia Amiko, un fork comunitario de Ruby on Rails nacido por el desacuerdo con la dirección de DHH y el equipo central. La iniciativa surge tras una carta abierta firmada hace un año que no fructificó en una bifurcación dentro del propio proyecto. El argumento central

Cómo reducir el consumo de memoria de los hashes en Ruby

Los hashes son el tipo de objeto que más memoria consume en las aplicaciones Ruby, muy por encima de alternativas como Struct o los llamados PORO (Plain Old Ruby Objects). Un hash vacío ocupa 160 bytes en Ruby 4.0.6, hasta cuatro veces más que un Struct del mismo tamaño, una diferencia que se mantie

Archaeopteryx: un generador de MIDI escrito en Ruby

Archaeopteryx es un generador de MIDI creado por Giles Bowkett, artista, músico y desarrollador Ruby. La herramienta se presentó en la conferencia RubyFringe, un encuentro de carácter vanguardista dedicado a proyectos y tecnologías emergentes dentro del ecosistema Ruby. Bowkett ofreció una demostrac

El creador de Artichoke Ruby archiva el proyecto tras seis años de trabajo

Artichoke Ruby, una implementación experimental del lenguaje Ruby escrita en Rust, ha sido archivada por su creador principal, quien entre el 3 de noviembre y finales de ese mes de 2025 también archivó la mayoría de los repositorios de la organización @artichoke en GitHub. El proyecto nació en 2019

Más allá de MINASWAN: DHH, Lütke y la crisis de valores de la comunidad Ruby

El lema “Matz Is Nice And So We Are Nice” (MINASWAN) ha definido durante años la cultura de la comunidad Ruby, pero un análisis crítico reciente sostiene que esa amabilidad nunca fue real y que hoy está rota. Yukihiro Matsumoto, creador de Ruby, nunca alentó explícitamente esa idea: su carácter rese

Creen un foro común para el ecosistema open source de Ruby

Los responsables de proyectos open source del ecosistema Ruby han puesto en marcha un foro compartido con el objetivo de reducir la fragmentación actual, en la que cada iniciativa mantiene su propio espacio de discusión (foros propios, GitHub Discussions o canales privados) y los debates relevantes

Cómo consumir datos de Microformats 2

Este artículo ofrece una guía completa para consumir datos estructurados con Microformats 2, un estándar abierto para marcar información en páginas web. Explica paso a paso cómo parsear y utilizar estos datos en aplicaciones. Primero, recomienda elegir un parser adecuado; menciona parsers disponible

Trifle, una navaja suiza de herramientas Ruby para analítica y logs

Trifle es una colección de gemas para Ruby descrita por su autor como una 'navaja suiza' de pequeñas herramientas orientadas a resolver problemas habituales en el desarrollo de aplicaciones. La documentación, publicada bajo licencia MIT, está organizada en cinco módulos principales: Trifle::Docs, un

Reconstrucción de un homelab con Docker Compose, Ruby e IPv6, sin Kubernetes

Un administrador de sistemas detalla la reconstrucción de su laboratorio doméstico (homelab) tras el abandono de Kubernetes y la pérdida de varias máquinas, entre ellas un servidor Lenovo M80s Gen3 adquirido reacondicionado en eBay que resultó defectuoso y nunca funcionó de forma fiable. La infraest

Cómo detectar consultas con escaneo completo de tabla en SQLite

SQLite ofrece, a través de su API de estado de sentencias preparadas, una forma directa de saber si una consulta ha realizado un escaneo completo de tabla ("full table scan") sin necesidad de recurrir a EXPLAIN. El programador Aaron Patterson, conocido en la comunidad Ruby por su trabajo en Rails y

Rescate técnico de 7.234 GIFs antiguos del Ibiblio Icon Browser

El desarrollador Dan Q describe cómo logró rescatar 7.234 archivos GIF de iconos del Ibiblio Icon Browser, una colección de miles de iconos curada en la década de 1990 por Gioacchino La Vecchia. La iniciativa surgió a partir del trabajo del usuario GlitchyZorua, que intentó archivar una copia comple

Una 'app' que pudo ser una página web: así la reconstruí

Un desarrollador relata cómo, ante la obligación de instalar la aplicación 'Travelbound' para consultar el itinerario de un viaje familiar a Disneyland, decidió revertir el problema y construir él mismo una página web equivalente. Su argumento central es claro: la app solo aporta dos funciones que u

Cómo montar un meetup de Ruby desde cero y mantenerlo en el tiempo

Ruby no es solo un lenguaje de programación: también es una comunidad, y los meetups locales son el tejido que la sostiene. Esta guía práctica explica, paso a paso, cómo crear y mantener un encuentro periódico de Rubyistas en una ciudad, desde el primer evento —el más difícil— hasta lograr una cita

freno: el servicio de limitación de escritura de GitHub para clústeres MySQL

freno es un servicio cooperativo y de alta disponibilidad desarrollado por GitHub Engineering para regular las escrituras en recursos compartidos. Su función principal es impedir que las aplicaciones saturen clústeres de MySQL cuando la latencia de replicación supera un umbral definido, evitando así

Por qué las dependencias deberían venir directamente del repositorio

La gestión de dependencias en software es un aspecto crítico para la seguridad y mantenibilidad. En este artículo, un desarrollador con experiencia en Go y Ruby argumenta que el modelo de "publicar un paquete" es inherentemente inseguro y propone que las dependencias se obtengan directamente desde e

SecretSpec 0.13 lleva SDKs nativos para Python, Node.js, Go, Ruby y Haskell

SecretSpec ha publicado la versión 0.13, que incorpora SDKs nativos para cinco lenguajes de programación: Python, Node.js/TypeScript, Go, Ruby y Haskell. Hasta ahora, las aplicaciones escritas en esos lenguajes solo podían resolver los secretos declarados en el manifiesto `secretspec.toml` recurrien

Cómo leer un formato binario de videojuegos en Ruby con unpack

Un programador documenta cómo construyó, íntegramente en Ruby puro y sin dependencias externas, un lector del formato BIGF de Codemasters, el contenedor que almacena los datos de inteligencia artificial del juego TOCA Race Driver (2003) y de otros tres títulos de la saga. El artículo, publicado en T

Los archivos de texto como interfaz de usuario

Este artículo de Dave en su 'Virtual Box of Cards' propone una idea sencilla pero potente: usar archivos de texto plano como interfaz de usuario para programas de línea de comandos, en lugar de desarrollar costosas TUI (interfaces de usuario textuales) desde cero. La técnica se basa en lanzar el edi

RubyLLM: un framework Ruby único para integrar múltiples proveedores de IA

RubyLLM es un framework de código abierto en Ruby que unifica el acceso a los principales proveedores de inteligencia artificial bajo una única interfaz. Su premisa es resolver la fragmentación existente: cada proveedor —OpenAI, Anthropic, Google, Mistral, xAI, DeepSeek, Ollama u OpenRouter, entre o

Repensar la modularidad en las aplicaciones Ruby

Syntropy es un nuevo framework web para Ruby cuyo diseño gira en torno a la organización de los controladores según el espacio de nombres de URLs de la aplicación. Este artículo analiza en detalle cómo carga los módulos y por qué su enfoque difiere del de Ruby on Rails. En Rails, la carga de archivo

La abstracción equivocada: por qué duplicar puede ser mejor que abstraer

La programadora Sandi Metz sostiene que la duplicación de código resulta mucho más barata que una abstracción mal planteada, una afirmación popularizada en su charla de RailsConf 2014 "All the little things". El problema, describe, sigue un patrón reconocible: una programadora identifica código dupl

Explorando la gestión automática de buffers con io_uring

UringMachine, una gema de Ruby para realizar operaciones de E/S mediante io_uring —la interfaz de Linux para E/S asíncrona de alto rendimiento—, está incorporando un sistema de gestión automática de buffers inspirado en el mecanismo de buffer rings del kernel. ¿Qué es io_uring y por qué importa? i

Bundler 4.0.13 introduce un 'cooldown' para nuevas versiones de gems

Bundler 4.0.13 incorpora una nueva función de seguridad opcional llamada cooldown: un filtro temporal que rechaza cualquier versión de un gem publicada en los últimos N días. El mecanismo ataca una debilidad conocida de la cadena de suministro de RubyGems: la mayoría de exploits aprovechan la ventan

Un análisis de las heurísticas de inlining en compiladores JIT

Los compiladores, especialmente los JIT para lenguajes dinámicos como Ruby y Python, se enfrentan al problema de los métodos pequeños: al operar sobre unidades de código reducidas, carecen del contexto necesario para optimizar eficazmente. El inlining, que consiste en copiar el cuerpo de la función

Zjit optimiza código con nuevo asignador de registros

El equipo de desarrollo de Ruby ha implementado un nuevo asignador de registros en ZJIT (Just-In-Time compiler) para optimizar el rendimiento de la ejecución de código. Esta mejora es relevante porque la gestión eficiente de los registros de la CPU es crucial, ya que estos son mucho más rápidos que

De Rust a Ruby: conversión automática con inteligencia artificial

Este artículo presenta un experimento innovador en el desarrollo de software: la conversión automática de una aplicación web completa escrita en Rust a Ruby on Rails utilizando una LLM (Large Language Model) local. El autor, Przemysław Kamiński, inició el proceso con un proyecto en Rust que, aunque

Hatchbox y AppSignal facilitan el monitoreo de Rails

Hatchbox y AppSignal han anunciado una integración que simplifica la gestión de servidores Ruby on Rails, ofreciendo a los desarrolladores una visibilidad más profunda y accesible de su infraestructura. Anteriormente, la gestión de servidores a menudo generaba ansiedad debido a la dificultad de dete

Spinel: Nuevo compilador acelera Ruby significativamente

Un nuevo compilador de Ruby llamado Spinel está logrando mejoras significativas en la velocidad de ejecución. Desarrollado por Matz, el compilador convierte el código fuente de Ruby en ejecutables nativos independientes, eliminando la necesidad de un entorno de ejecución Ruby tradicional. Spinel uti

Intercom agiliza CI y ahorra recursos con optimización

Ingenieros de Intercom han optimizado significativamente el tiempo de configuración de su sistema de integración continua (CI), logrando ahorros sustanciales en recursos computacionales. El problema principal era el tiempo de preparación de los procesos Ruby para ejecutar pruebas, un cuello de botel

Hokusai Pocket: juegos y apps portátiles con Ruby

Hokusai Pocket es un proyecto innovador que permite crear aplicaciones y juegos portátiles utilizando el framework Hokusai, construido sobre Ruby. Su principal objetivo es facilitar el desarrollo de software que pueda ejecutarse en una amplia variedad de plataformas sin necesidad de una instalación

Bevy: Guías de referencia para desarrolladores de juegos

Bevy es un motor de juego de código abierto escrito en Rust, y `taintedcoders.com` ofrece una colección de guías y tutoriales para aprender a desarrollarlo. La página web, creada por Nolan Tait (también conocido como nolantait), se ha convertido en una referencia similar a las guías de Rails para el

Ruby Native: HTML unifica frameworks JavaScript

El desarrollador Joe Masilotti ha creado Ruby Native, una gema de Ruby que busca unificar la experiencia de desarrollo entre diferentes frameworks de JavaScript como ERB, React y Vue. La clave de su enfoque radica en el uso de HTML como base común: la aplicación nativa detecta elementos HTML con atr

Heroku: ¿Fin o cambio? Confusión entre desarrolladores

La plataforma de desarrollo Heroku está generando confusión en la comunidad de desarrolladores debido a una serie de anuncios contradictorios. En febrero, Heroku anunció una transición a un modelo de “ingeniería de sostenibilidad” centrado en la estabilidad y el soporte, eliminando la oferta de nuev

Ruby más simple: experimento con sintaxis Lisp

Este proyecto, llamado 'rubysyn', es un experimento para simplificar y clarificar la sintaxis de Ruby, utilizando una alternativa basada en Lisp. El objetivo no es cambiar la semántica de Ruby, sino ofrecer una sintaxis más fácil de analizar y más 'limpia', eliminando 'azúcar sintáctico' innecesario

Shopify acelera TruffleRuby: más velocidad para Ruby

Shopify continúa impulsando el desarrollo de TruffleRuby, una implementación de alto rendimiento del lenguaje de programación Ruby. Originalmente un proyecto de investigación iniciado en Oracle Labs en 2013, TruffleRuby utiliza el compilador dinámico Graal y el framework de intérprete Truffle AST pa

Crisis en RubyGems: Separación de Ingenieros Revela Fallas

Este informe, elaborado por Richard Schneeman tras la llamada "RubyGems Fracture" de septiembre-octubre de 2025, detalla una crisis que afectó a la comunidad Ruby y a la gestión de RubyGems.org. La situación surgió de la necesidad de separar a dos ingenieros salientes, André Arko y Samuel Giddins, d

Rails resurge: ¿por qué este framework vuelve?

Este artículo explora el resurgimiento de Ruby on Rails (Rails) en el panorama del desarrollo web, a pesar de su relativa impopularidad actual. El autor, un desarrollador con experiencia en infraestructura y DevOps, redescubrió el placer de construir aplicaciones web de la manera tradicional utiliza

Axlsx: Biblioteca Excel para Ruby cambia de manos

La popular biblioteca Ruby `axlsx`, utilizada para generar archivos de Excel, ha sido transferida a una nueva organización comunitaria en GitHub. Esta migración busca asegurar la sostenibilidad y el mantenimiento continuo del ecosistema `axlsx`, que permite a los desarrolladores crear hojas de cálcu

Foro Ruby: Guía para Empezar

## Temas etiquetados con getting-started: Un punto de encuentro para la comunidad Ruby **1. Introducción: ¿Qué es y por qué es importante?** El contenido presentado es una bienvenida al foro de usuarios de Ruby (Ruby Users Forum). Ruby es un lenguaje de programación dinámico, orientado a objetos y

Ruby: 30 años y rumbo a 2026 con nuevas herramientas

El lenguaje de programación Ruby celebró su 30º aniversario en 2025 con el lanzamiento de la versión 4.0.0, que incluye características experimentales como ZJIT (un nuevo compilador JIT) y Ruby::Box para aislamiento de código. El framework Rails 8.0 adoptó una filosofía de "No PaaS Required" con la