Saltar al contenido

Etiqueta: linux

Herdr: el Tmux moderno para trabajar con agentes de IA en paralelo

Durante muchos años he sido usuario de tmux, hasta que, hace unas semanas, al revisar videos en YouTube, descubrí Herdr. Es una de esas herramientas que, después de incorporarla a tu flujo de trabajo, resulta difícil abandonar: permite mantener sesiones activas, dividir la terminal en varios paneles y trabajar con múltiples consolas sin llenar el escritorio de ventanas. Sin embargo, mi manera de desarrollar software ha cambiado bastante con el auge de la inteligencia artificial. En mi nuevo trabajo utilizo varios agentes de programación en paralelo y, al mismo tiempo, necesito mantener activos servidores, procesos de compilación, pruebas y otros servicios relacionados con los proyectos.

Tmux seguía funcionando, por supuesto, pero cada vez me costaba más navegar entre tantas ventanas y paneles. En ocasiones no recordaba dónde había dejado determinado agente, cuál seguía trabajando o cuál estaba esperando que respondiera una pregunta. Terminaba de recorrer las sesiones una por una para comprobar qué estaba ocurriendo.

herdr corriendo codex
herdr corriendo Codex

¿Qué es Herdr?

Herdr es un multiplexor de terminal diseñado específicamente para trabajar con agentes de programación. La forma más sencilla de explicarlo es que se trata de una especie de tmux modernizado y adaptado a la era de la inteligencia artificial.

Al igual que tmux, Herdr permite crear múltiples terminales, dividirlas en paneles y mantener las sesiones en ejecución en segundo plano. Puedes cerrar la ventana de la terminal, volver más tarde y continuar donde estabas, sin detener los agentes ni los procesos activos.

La diferencia es que Herdr no solo ve paneles: también reconoce los agentes que se ejecutan dentro de ellos. Es compatible con herramientas como Claude Code, Codex, OpenCode, GitHub Copilot CLI, Cursor Agent, entre otras. En una barra lateral se muestra si cada agente está trabajando, bloqueado, inactivo o ha terminado su tarea.

Esta pequeña diferencia resuelve uno de los principales problemas que tenía con tmux. Ya no necesito recorrer manualmente todos los paneles para saber qué agente requiere mi atención.

Espacios de trabajo, pestañas y paneles

Una de las características que más me gustaron es la manera en que Herdr organiza las terminales. La herramienta utiliza tres niveles:

  • Los espacios de trabajo permiten separar proyectos.
  • Las pestañas agrupan diferentes tareas dentro de cada proyecto.
  • Los paneles contienen las consolas, los agentes y los servicios que se ejecutan.

Por ejemplo, puedo tener un espacio de trabajo para cada proyecto. Dentro de él creo una pestaña para los agentes, otra para el servidor de desarrollo y otra para las pruebas o los registros. Si necesito observar dos procesos al mismo tiempo, simplemente divido la pestaña en varios paneles.

La barra lateral resume el estado de todos los agentes. De esta forma, puedo ver rápidamente quién continúa trabajando, quién necesita que apruebe una acción y quién ya finalizó. Al seleccionarlo, Herdr me lleva directamente a su panel para revisar el resultado y redactar el siguiente prompt.

Para quienes trabajamos con varios agentes en paralelo, esta vista resulta mucho más práctica que intentar recordar en qué ventana se encuentra cada uno.

Interfaz de Herdr
Ejemplo de la interfaz de Herdr

Una transición sencilla desde tmux

Otra razón por la que comencé a utilizar Herdr es que no tuve que aprender de cero una nueva forma de controlar la terminal. La herramienta conserva el mismo modelo de prefijo de tmux: por defecto se utiliza Ctrl+B Antes de ejecutar una acción.

También incluye varios atajos familiares. Con Ctrl+B y luego c Se crea una nueva pestaña, mientras que Ctrl+B y después n o p Permite avanzar o retroceder entre ellas. Para dividir paneles, navegar por los espacios de trabajo o desconectarse de una sesión, se sigue una lógica muy similar.

Si ya utilizas tmux, la adaptación es bastante rápida. Además, al presionar Ctrl+B y luego ? Puedes consultar todos los atajos disponibles.

Herdr también soporta el mouse por defecto. Es posible seleccionar paneles, pestañas, espacios de trabajo y agentes con un clic, cambiar el tamaño de las divisiones arrastrando sus bordes y abrir menús contextuales con el botón derecho. Aunque normalmente prefiero los atajos de teclado, el mouse resulta cómodo cuando quiero reorganizar rápidamente la interfaz.

Notificaciones cuando un agente necesita atención

Una de las funciones más útiles de Herdr es su sistema de notificaciones. La herramienta puede avisar cuando un agente termina una tarea o cuando necesita que respondamos una pregunta o aprobemos alguna acción. Esto permite dejar varios agentes trabajando y concentrarse en otra actividad sin revisar cada terminal constantemente. Cuando alguno finaliza, recibo el aviso, salto directamente a su panel, reviso lo que hizo y continúo la conversación con un nuevo prompt.

En la práctica, Herdr convierte un conjunto de terminales dispersas en una pequeña central de control para agentes. No ejecuta el trabajo por ellos ni reemplaza herramientas como Codex o Claude Code; simplemente ofrece una forma mucho más clara de organizarlos y supervisarlos.

Herdr funciona dentro de la terminal

Existen otras alternativas para administrar agentes, como cmux, pero muchas de ellas funcionan como aplicaciones independientes o buscan reemplazar la terminal que ya utilizas. Herdr adopta un enfoque diferente. Es una herramienta nativa de consola, desarrollada en Rust, que se ejecuta en la terminal que prefieras. No necesita Electron ni obliga a cambiar Ghostty, Kitty, iTerm2, Alacritty ni a cambiar ningún otro emulador de terminal que ya forme parte de tu entorno.

Para mí, esto es una gran ventaja. Puedo conservar el flujo de trabajo que he utilizado durante años, entrar por SSH cuando lo necesito y seguir trabajando exclusivamente desde la consola.

Una herramienta de código abierto para organizar el nuevo desarrollo con IA

Otro aspecto que me encanta es que Herdr es un proyecto de código abierto, distribuido bajo la licencia Apache 2.0. Esto permite revisar su código, proponer mejoras y contribuir con una herramienta que probablemente resulte cada vez más útil a medida que trabajar con varios agentes se convierta en algo habitual.

Después de muchos años utilizando tmux, no esperaba reemplazarlo fácilmente. Sin embargo, Herdr conserva las ideas que siempre me gustaron de tmux y añade justo lo que necesitaba para mi flujo de trabajo actual: una interfaz más moderna, organización por proyectos, soporte para el mouse, seguimiento del estado de los agentes y notificaciones cuando alguno requiere atención.

Si trabajas con muchas consolas, mantienes varios servicios activos o utilizas diferentes agentes de inteligencia artificial en paralelo, te recomiendo probarlo. En esencia, Herdr es el tmux de siempre, pero preparado para una forma de desarrollar software que apenas hace unos años no existía.

Happy coding!

Deja un comentario

SUSE Now Hallelujah: otra gran parodia musical geek de SUSE

Si has leído mi blog desde hace tiempo, sabrás que una de las cosas que me gusta compartir es música geek, especialmente cuando combina tecnología, software libre y un poco de humor. También habrás notado que SUSE aparece con bastante frecuencia en esta categoría, porque probablemente sea una de las empresas de tecnología que más se han divertido creando parodias musicales sobre Linux y el mundo open source.

Revisando algunos de esos videos, me encontré con uno que todavía no había compartido por aquí: SUSE Now Hallelujah, una parodia publicada por SUSE en 2018 basada en la canción Faith de Stevie Wonder y Ariana Grande, perteneciente a la banda sonora de la película Sing. Y, como suele pasar con los videos musicales de SUSE, no se limitaron a cambiar algunas palabras de la canción original. Crearon todo un videoclip, con músicos, cantantes, coreografía y, por supuesto, bastante color verde.

¿De qué se trata SUSE Now Hallelujah?

La protagonista de la canción es prácticamente la mascota de SUSE: el famoso camaleón verde. A partir de allí, la letra comienza a incorporar diversas características y tecnologías relacionadas con SUSE y Linux.

Entre las referencias aparecen conceptos como centros de datos, uptime, infraestructura, almacenamiento, contenedores, escalabilidad y live patching, todo mientras el camaleón baila y demuestra por qué, aparentemente, es el rey del open source.

Si trabajas administrando servidores o tienes experiencia con Linux en entornos empresariales, seguramente reconocerás muchas de estas referencias. Por ejemplo, el live patching permite aplicar determinados parches al kernel sin tener que reiniciar completamente el sistema, lo cual es especialmente importante cuando estás administrando servicios que deben permanecer disponibles durante largos períodos de tiempo.

Pero tampoco hace falta conocer todos estos conceptos para disfrutar el video. La canción funciona simplemente por lo absurda y divertida que resulta la idea de convertir características de una distribución Linux empresarial en una canción alegre y pegadiza.

SUSE y su extraña tradición musical

Una de las cosas que siempre me ha parecido curiosa de SUSE es que, durante años, ha utilizado la música y el humor como parte de su cultura. No es precisamente lo primero que imaginas cuando piensas en una empresa dedicada a Linux empresarial, servidores e infraestructura.

SUSE Now Hallelujah sigue exactamente ese espíritu: tomar algo que normalmente podría parecer extremadamente técnico y convertirlo en una pequeña celebración de la cultura geek y del software libre.

Así que si utilizas Linux, administras servidores, trabajas en tecnología o simplemente disfrutas este tipo de rarezas de Internet, te recomiendo ver el video.

Y cuidado, porque después de escucharlo unas cuantas veces, probablemente termines con el “I’m going green, Hallelujah, I’m SUSE now” dando vueltas en tu cabeza.

SUSE Now Hallelujah - A SUSE Music Parody

Finalmente, si te gusta este tipo de videos, recuerda revisar la categoría de Música Geek del blog, donde durante años he recopilado canciones, parodias y otras rarezas musicales creadas especialmente para geeks.

Deja un comentario

Un año con mi laptop Lenovo P14s: por qué la elegí y cómo va con Linux

Hace un año decidí actualizar mi computadora portátil debido a que comenzó con fallas de vídeo (no era el flex; el monitor había sido actualizado meses antes; ocurría en todos los sistemas operativos) y ya le había hecho tantas actualizaciones y cambios: RAM, disco duro, monitor, tarjeta del wifi, entre otros. Así que decidí que era mejor buscar una nueva laptop.

Los stickers de la portátil de Skatox
Los stickers de mi portátil, en otro artículo cubriré cuáles tiene

De la vieja guerrera HP a una laptop moderna

Mi equipo anterior era una HP Envy 15 que mucha gente conoció porque literalmente recorrí el mundo con ella cuando estaba en Mozilla TechSpeakers. Era una “casi” copia de la MacBook de su época y, aun así, tan vieja que sorprendía que siguiera viva. Pero empezó a parpadear la pantalla de forma intermitente; al principio pensé que era por un cambio en los drivers, pero no: no importaba el sistema operativo; el problema persistía. Tocaba despedirla luego de 10 años y buscar una laptop confiable para el día a día.

¿Por qué Lenovo P14s para mi laptop de batalla?

Uso Macs para trabajo (una Macbook Pro y un Mac mini), pero siempre necesito una laptop con Linux para mi rutina diaria —no he dejado de amar el software libre. Buscaba algo dentro del rango de precio de USD 1000 (por tema de impuestos), con buen teclado (Lenovo ahí es rey), pantalla táctil y de alta resolución, puertos USB-C, discos duros nvme y, sobre todo, compatibilidad sólida con Linux. La serie ThinkPad P (workstation móvil) me dio ese balance: robustez, teclado excelente y soporte de comunidad.

En Amazon conseguí el modelo P14S que cumplía con estos requisitos; me fui por el modelo con componentes Intel porque estaba seguro de que todo funciona con Linux; no estaba seguro de la compatibilidad con AMD y no quise arriesgarme.

La Lenovo Thinkpad P14s de Skatox
La Lenovo Thinkpad P14s de Skatox

Linux en la Lenovo P14s: todo funciona (sí, hasta el lector de huellas)

Instalé obviamente Arch Linux porque es mi distribución desde el 2006 y me funcionó todo por defecto: Wi-Fi, suspensión, brillo, teclas Fn… y el lector de huellas. Documenté la configuración y aporté la info a la wiki de Arch Linux para que les sirva a otros. Esa es la gracia del FLOSS: lo que aprendes, lo devuelves.

Solo tuve un detalle que, para desbloquear el cifrado de disco con la huella, luego de leer un poco sobre LVM y PAM, se pudo solucionar.

Me sorprendió lo diferente de instalar Linux en el 2024 a como era en el 2003. Recuerdo en mis primeras instalaciones compilar a mano algunos drivers y configurar manualmente el hardware, gastando días para que Linux funcionara. A diferencia de hoy en día, cuando todo ya funciona con la instalación por defecto. ¡Claro! También sé que es porque es una Thinkpad y tiene mucha compatibilidad con Linux.

Especificaciones de LENOVOPOTE

Mi primera máquina se llamó POTE porque era muy vieja y desde entonces todas heredan la tradición: MEGAPOTE, LAPOTE, SUPERLAPOTE. Así que esta laptop se bautizó LENOVOPOTE. Y ya que estaba, la llené de calcomanías: pegué las que me sobraron de conferencias donde participé con Mozilla Tech Speakers y compré otras en Amazon.

Las especificaciones son:

  • CPU: 12th Gen Intel(R) Core(TM) i7-1260P.
  • GPU: Iris Xe Graphics (Alder Lake GT2)
  • RAM: 48GB.
  • Disco: 1TB con WD Green SN350 2G0C
  • Teclado: inglés porque siempre he usado ese tipo y retroiluminado (on/off y niveles)
  • Pantalla / resolución máxima: 1920×1200
  • Conectividad y extras: Wi-Fi, BT, lector de huellas, puertos (USB-A/C, HDMI, etc.)

Las especificaciones me gustaron mucho para el precio de la portátil; lamentablemente, no pude encontrar una pantalla con mayor resolución que la de mi laptop anterior. Sin embargo, la resolución actual me permite ver la tipografía de forma suave y nítida. A pesar que se nota que la imagen no tiene gran calidad, no es algo que me afecte el uso.

Con esa cantidad de RAM podré ejecutar varios contenedores de Docker sin problemas y al menos espero que me dure para los próximos 10 años. Respecto al teclado, es lo que esperaba de un ThinkPad: cómodo, retroiluminación útil de noche, sin ruido, con trackpad y puntero.

La batería dura aproximadamente 5 horas utilizando auto-cpufreq, aguanta al menos para media jornada laboral y puedo configurar el hardware para que cargue hasta el 80% y aumentar la vida de la batería.

Respecto a la temperatura, bueno, es Intel, así que siento que siempre está caliente y en compilaciones largas se oye el ventilador. Pero no es un calor extremo y nunca he experimentado que el hardware se apague por sobrecalentamiento.

Por qué esta laptop me encanta (y quizá a ti también)

  • Linux-friendly: cero peleas con drivers.
  • Portabilidad real: 14″ es mi tamaño perfecto para portabilidad.
  • Workstation profesional: buena CPU para el desarrollo, gran cantidad de RAM para contenedores, VMs ligeras y demos de conferencias.
  • Batería de buena duración: sé que puedo estar medio jornada lejos de una toma corriente y trabajar sin problemas.
  • Calidad de Thinkpad: me encanta el chasis, el teclado y la calidad del equipo. No se siente de juguete.

Actualizar no fue un capricho, fue una necesidad. Y con LENOVOPOTE actualicé mi hardware para la próxima década. Yo creo que, gracias a esta buena experiencia, seguiré teniendo Thinkpads porque puedo controlar todo desde Linux; me siento como un ciudadano de primera en este sistema operativo porque todo es configurable.

Así que si deseas comprar esta portátil, te la recomiendo y pronto os compartiré los stickers que le pegué.

4 comentarios

Cómo tener un terminal de Ghostty siempre disponible al presionar una tecla (en Linux)

Si estas inmerso en el mundo tech, habrás notado que hace unas semana salió la version 1.0 de Ghostty. Un terminal multi-plataforma, con aceleración por GPU y enfocado a usar código nativo. Lo he estado desde entonces y remplazé a Yakuake (que siempre lo he usado en KDE) por este gran terminal, principalmente por el rendimiento que se siente al presionar las teclas. Sin embargo, uno de los problemas que tengo es que por ahora, no tiene una opción para mostrar un terminal al presionar una tecla, que es la principal razón por la que usaba Yakuake. Pues hoy te enseñaré cómo puedes lograr esto en tu sistema.

¿Por qué Ghostty?

Ghostty es una terminal que combina lo mejor de ambos mundos: la simplicidad de las terminales clásicas y las características modernas que necesitamos hoy en día. Es rápida, ligera y altamente personalizable. Además, su rendimiento es notable, especialmente en comparación con otras terminales que he usado en el pasado. La respuesta al presionar las teclas es instantánea, algo que valoro mucho como desarrollador.

Mis requerimientos

Desde los días que jugaba Quake y otros FPS. Me acostumbré a abrir la consola con ~, pero al momento de usar Linux necesito esa tecla así que la cambie por F1, porque esta mas arriba en la mayoría de teclados. En este ejemplo usaré F1 como la tecla que abrirá Ghostty.

Otro requerimiento en Linux es que sea pantalla completa para simular las terminales de antes (nunca superé esto) que ocupan toda la pantalla. Creo que me ayuda a comprender a separar la UI del terminal y evitar mezclar acciones.

Configurando abrir Ghostty con una tecla

Para abrir Ghostty con una tecla, hay 2 cosas que se deben hacer, un script para iniciar la aplicación si no está abierta. Pero si esta abierta, configurar Ghostty para que muestre la ventana de la terminal al abrir.

Paso 1: crear el script

Una vez instalado Ghostty, podemos empezar a crear el script. En mi caso como estoy usando Wayland con KDE, utilizo kdotool para ejecutar acciones a ventanas/aplicaciones. Si utilizas X11 puedes usar xdotool bajo cualquier entorno para controlar la ventana, solo remplaza el comando donde sea necesario.

Luego puedes usar este script detectar si Ghostty está abierto, si lo está, se enfoca la ventana. De lo contrario, se ejecuta el terminal. Puedes guardar este script en un lugar accesible, por ejemplo, en ~/scripts/open_ghostty.sh

#!/bin/bash

APP_NAME="ghostty"
CLASS_NAME="com.mitchellh.ghostty"

if [[ $(pgrep -x "$APP_NAME") ]]; then
# App is running. Get the window ID. Using tail -1 handles multiple instances.
WINDOW_ID=$(kdotool search --class "$CLASS_NAME" | head -1)

if [[ -n "$WINDOW_ID" ]]; then # Check if a window ID was actually found
# Check if the window is minimized (using window state)
WINDOW_STATE=$(kdotool getactivewindow)

if [[ "$WINDOW_STATE" == "$WINDOW_ID" ]]; then # Check if x position is negative (likely off-screen = minimized)
    kdotool windowminimize "$WINDOW_ID"
 else
    kdotool windowactivate "$WINDOW_ID"
    kdotool windowstate --add NO_BORDER --add FULLSCREEN "$WINDOW_ID"
    kdotool windowunmap "$WINDOW_ID" # Important for restoring from   minimized state
  fi
 else
   echo "Error: Could not find a valid window ID for $APP_NAME."
 fi
 else
   # App is not running, launch it
   "$APP_NAME" & # Important: Quote the variable to handle spaces in app name
 fi

Asegúrate de darle permisos de ejecución al script:

chmod +x ~/scripts/open_ghostty.sh

Paso 2: Asignar el script a la tecla F1

  • Abre la aplicación de Configuración del sistema de KDE Plasma.
  • Busca y selecciona «Atajos de teclado» (Shortcuts).
  • Haz clic en «Editar» > «Nuevo» > «Acción global» > «Comando/URL».
  • En el campo «Nombre», escribe algo descriptivo, como «Abrir Ghostty».
  • En el campo «Comando», ingresa la ruta completa a tu script, por ejemplo: /home/tuusuario/scripts/open_ghostty.sh.
  • Haz clic en el campo «Atajo de teclado» y luego presiona la tecla F1 en tu teclado.
  • Si la tecla F1 ya está asignada a otra función, deshabilita o cambia ese atajo antes de continuar.
  • Cierra la ventana de configuración y presiona F1 para probar si el script se ejecuta correctamente.
  • ¡Listo! Ya tienes tu terminal configurada.

Conclusión

Si eres un amante de las terminales y buscas una experiencia rápida y eficiente, te recomiendo probar Ghostty. Con lo leído en este artículo podrás tener acceso inmediato a un terminal y ser mas productivo.

Y tú, ¿qué terminal usas? ¿Has probado Ghostty? ¡Déjame tus comentarios!


Espero que este artículo te haya sido útil. Si tienes alguna pregunta o sugerencia, no dudes en dejarla en los comentarios. ¡Hasta la próxima! 🚀

Deja un comentario