Reducir la repetición en httpd.conf con el preprocesador m4 en OpenBSD

En un artículo anterior, el autor explicó cómo migró sus sitios web a un VPS con OpenBSD y mencionó la necesidad de repetir bloques de código casi idénticos en httpd.conf para bloquear rutas maliciosas, ya que httpd carece de macros integradas. En esta nueva publicación detalla cómo resolver esa rep

Tu agente de IA tiene root: el riesgo oculto de los servidores MCP sin sandbox

Un servidor MCP (Model Context Protocol) ejecutado sin aislamiento corre con los mismos privilegios que el usuario que lo lanza, algo equivalente a entregar a un agente de inteligencia artificial acceso root al sistema. El artículo explica que herramientas como las shell MCP integradas en clientes c

Los LLM son la prueba de que Unix ganó

Los grandes modelos de lenguaje (LLM) representan, según esta reflexión, la culminación imprevista de la filosofía Unix: la idea de que el texto es una interfaz universal entre programas y usuarios. El artículo recorre la trayectoria personal del autor, que pasó de la interfaz gráfica de Windows 3.1

sce, un editor de consola minimalista escrito en Python

sce (simple-console-editor) es un editor de texto plano para consola creado en 2008 por el desarrollador conocido como volution y mantenido desde entonces con mejoras menores. Está escrito en Python, funciona con Python 3.6+ y también con 2.7, y su código ocupa apenas unas 3.500 líneas, sin más depe

El signo de exclamación en la shell no es para gritar: sirve para ser vago

El programador Filip Roséen explica en su blog personal cómo aprovechar los designadores de eventos (palabras que empiezan por `!`) y el comando POSIX `fc` para dejar de repetir comandos manualmente en bash, zsh, csh y tcsh. La idea central es aplicar el principio DRY también en la línea de comandos

El humilde dos puntos de la shell: un truco que vale la pena recordar

En programación de shell, el carácter dos puntos (:) es mucho más útil de lo que aparenta. Funciona como el llamado "comando nulo" (null command), un built-in del shell que no ejecuta ninguna acción pero sí evalúa sus argumentos, hereda su comportamiento desde la Thompson shell de 1971, donde servía

Concurrencia al estilo Go implementada en C con pthreads

El lenguaje Go debe gran parte de su atractivo a su modelo de concurrencia: las goroutines, los canales y un planificador en tiempo de ejecución que permite ejecutar miles de tareas ligeras sobre unos pocos hilos del sistema operativo. En C, sin embargo, no existe nada equivalente de fábrica. Este a

Terminal, Shell, TTY, Consola: El Stack Completo Explicado

A menudo se usan indistintamente los términos terminal, shell, TTY y consola, pero cada uno designa una capa distinta en el ecosistema de la línea de comandos. Originalmente, en los años 60, todos se referían al mismo dispositivo físico: una máquina con teclado e impresora conectada al ordenador. Co

Por qué un script "/bin/sh" puede no ser portable aunque sea POSIX

El desarrollador Alexandre Gomes Gaigalas sostiene que la idea de escribir un guion "portable" en shell POSIX es engañosa, porque POSIX es una especificación, no un programa. Cada shell real —bash, dash, ash, ksh, yash y otros— implementa esa norma con lagunas, extensiones y particularidades históri

Zinnia: kernel POSIX escrito en Rust y arrancable desde UEFI

Zinnia es un kernel de código abierto desarrollado casi por completo en Rust, con el objetivo declarado de minimizar el uso de bloques unsafe siempre que sea posible. Implementa un conjunto amplio de llamadas al sistema conformes con POSIX e incorpora extensiones habituales en Linux y los BSD, como

X OS, un micronúcleo x86_64 minimalista sin compatibilidad POSIX

X OS es un sistema operativo de micronúcleo para arquitecturas x86_64 desarrollado desde cero, sin heredar código de Unix ni mantener compatibilidad POSIX. Su objetivo declarado es construir una plataforma nativa tanto para agentes de inteligencia artificial como para usuarios humanos, con un diseño

Mac Clásico Revive: Nuevo Proyecto Abre Puertas

Un nuevo proyecto de código abierto llamado Advanced Mac Substitute permite ejecutar aplicaciones clásicas de Macintosh en sistemas modernos sin necesidad de un ROM de Apple ni software del sistema. El proyecto, desarrollado por jjuran y disponible en GitHub, funciona reimplementando a nivel de API

Entendiendo los números en las páginas del manual Linux

Si trabajas con programación en Linux, seguramente has consultado las páginas del manual (man pages) para entender comandos, funciones del sistema o bibliotecas. A menudo, te habrás topado con números al final del nombre de la función, como en `sleep(3)` o `read(2)`. Este artículo explica el signifi

Desarrollar una app: retos y aprendizajes

Este artículo explora la experiencia de un desarrollador experimentado al intentar crear una aplicación sencilla (un generador de números aleatorios para simular tiradas de dados) en diversas plataformas modernas. El objetivo no es la complejidad de la aplicación en sí, sino analizar la configuració

Gawk 5.4.0: Nuevo motor de regex y mejoras

Se ha anunciado el lanzamiento de Gawk 5.4.0, una importante actualización del lenguaje de programación GNU Awk. La nueva versión, disponible desde el 22 de febrero de 2026, introduce el motor de expresiones regulares MinRX, desarrollado por Mike Haertel, como opción predeterminada, reemplazando a l

Vi: Evolución y problemas del comando 'undo'

El comando 'u' (undo) en el editor de texto Vi y sus derivados ha evolucionado significativamente a lo largo del tiempo, generando una interesante divergencia en su implementación y comportamiento. Originalmente, la versión de Vi creada por Bill Joy solo ofrecía un único nivel de deshacer, lo cual e

Zlob: Globbing más rápido para C, Zig y Rust

Un nuevo proyecto llamado 'zlob' ha lanzado una biblioteca de globbing (búsqueda de patrones en archivos) significativamente más rápida para C, Zig y Rust. La biblioteca, disponible como librería C, librería Zig y crate Rust, busca solucionar la lentitud y limitaciones de la función `glob()` de gli

Operaciones Atómicas en UNIX: Seguridad sin Bloqueos

Este artículo, publicado en 2010, es un catálogo de operaciones que los sistemas operativos tipo UNIX/POSIX pueden realizar de forma atómica, lo que los hace útiles para construir programas seguros para hilos y procesos múltiples sin necesidad de mutexes o bloqueos de lectura/escritura. El autor enf