Mi caja de herramientas ed(1): Una inmersión profunda en el mundo de las implementaciones ed(1)

2025-09-24

Artyom Bologov, un autoproclamado entusiasta de ed(1), comparte su colección de implementaciones y scripts de ed(1). Utiliza ed(1) extensamente como editor Git, editor sudo e incluso como generador de sitios estáticos. Su caja de herramientas incluye GNU ed, OpenBSD ed (oed), una versión modernizada llamada wed(1), un aed(1) más amigable para el usuario y xed(1) para scripts. Estas herramientas abordan las limitaciones de ed(1), como la falta de soporte para scripts y la falta de facilidad de uso, manteniendo la portabilidad en varios sistemas. Incluso creó implementaciones de ed(1) en Brainfuck, BASIC y Modal, una prueba de su dedicación. Bologov concluye instando a los lectores a abrazar y amar ed(1).

Leer más
Desarrollo

Contra los REPL personalizados de Lisp: Abrace los REPL nativos y las herramientas prácticas

2025-08-20

El autor critica los REPL personalizados de Lisp (como CIEL), argumentando que sacrifican la potencia y la capacidad de personalización de los REPL nativos, como comandos nativos de REPL, depuradores de implementación y la capacidad de personalización usando APIs de implementación. El artículo detalla cómo mejorar los REPL nativos con herramientas como la biblioteca Trivial Toplevel y rlwrap, cubriendo prompts personalizados, comandos, macros de lector y gestión de dependencias con ASDF. El autor aboga por el uso de REPL nativos junto con herramientas prácticas para un entorno de desarrollo Lisp altamente eficiente y personalizado, en lugar de depender de REPL personalizados con "pilas completas".

Leer más
Desarrollo

Usando ed(1) como mi generador de sitios estáticos: Un experimento peculiar

2025-05-31

Artyom Bologov comparte su inusual viaje de construir un sitio web estático usando el antiguo editor de texto ed(1). Ha probado varios métodos, desde Lisp hasta el preprocesador C, finalmente decidiéndose por ed(1) como su generador de sitios estáticos. Si bien ed(1) tiene limitaciones, careciendo de funciones como la inclusión de archivos, su flexibilidad permite una sintaxis personalizada y el procesamiento de formatos antiguos de preprocesador. Utiliza scripts ed(1) para el preprocesamiento y la conversión de formatos, admitiendo varios formatos de salida (txt, gmi, 7, tex, etc.). Si bien no es una práctica recomendada, el artículo muestra el potencial inesperado de ed(1) y el enfoque único del autor para el procesamiento de texto.

Leer más
Desarrollo

La fea verdad sobre la indentación Lisp

2025-01-19

Los programadores Lisp han debatido durante mucho tiempo sobre el mejor estilo de sangría. Este artículo explora varios enfoques, incluida la ausencia de sangría, la sangría alineada con la función, la sangría de relleno de espacio y la controvertida sangría de macro "enferma" del autor. La sangría alineada con la función se vuelve difícil de manejar con un anidamiento profundo, mientras que la sangría de relleno de espacio, aunque eficiente, se queda corta en casos extremos. El autor aboga por un estilo de macro "enfermo", que, a pesar de ser poco convencional, mantiene la legibilidad en código profundamente anidado y funciona bien con la mayoría de las herramientas de sangría. Se invita a los lectores a compartir sus estilos preferidos.

Leer más