4 puntos por GN⁺ 2023-09-10 | 1 comentarios | Compartir por WhatsApp
  • Un artículo sobre un proyecto a largo plazo para descifrar todo el código de GNU coreutils versión 8.3
  • Un proyecto para programadores principiantes interesados en explorar el diseño de utilidades de línea de comandos
  • Un proyecto dividido en varias etapas ya completadas, que incluyen la creación de una página dedicada para cada utilidad, la ampliación del debate sobre decisiones de diseño y algoritmos importantes, y la creación de herramientas para visualizar la evolución del código fuente
  • Un artículo que ofrece enlaces a páginas dedicadas para cada utilidad, debates detallados, código fuente y documentación
  • Un artículo que brinda contexto para leer código, donde se analiza la naturaleza de las utilidades, su diseño y qué tener en cuenta al leer el código
  • Un artículo que explica que GNU coreutils originalmente eran tres paquetes separados para utilidades de shell, texto y archivos, y que muchas utilidades del mismo tipo comparten los mismos patrones de diseño
  • Un artículo que presenta el diseño básico de la mayoría de las utilidades CLI, incluyendo una etapa de configuración para banderas, opciones, localización, etc.; una etapa de análisis de argumentos que lee la entrada para establecer los parámetros de ejecución; y una etapa de procesamiento/ejecución que prepara la entrada para una o más llamadas al sistema
  • Un artículo que ofrece explicaciones detalladas sobre la inicialización de utilidades, el parsing con Getopt, el recorrido del sistema de archivos con fts, wrappers y helpers para llamadas al sistema, funciones comunes, líneas de código compartidas e idioms de C
  • Un artículo que analiza el mantenimiento de utilidades, incluyendo cambios en todo el proyecto, actualizaciones específicas de cada utilidad y mantenimiento anual
  • Un artículo que ofrece información para quienes quieran contribuir al proyecto, incluyendo enlaces a la página del proyecto GNU, lineamientos de contribución y una lista de funcionalidades rechazadas
  • Un artículo que termina con una sección de trivia y otra sobre implementaciones interesantes, ofreciendo datos curiosos e ideas sobre las utilidades

1 comentarios

 
GN⁺ 2023-09-10
Comentarios en Hacker News
  • Este artículo analiza la longevidad y escalabilidad de GNU Coreutils, que ha sido modificado por muchas personas durante casi 30 años.
  • Hay una publicación que pide ejemplos de programas que hayan existido durante 30 años o que se espere que sigan existiendo dentro de 30 años.
  • En los comentarios se explica cómo se prueba GNU Coreutils, cómo explorar cada uno de los comandos de Coreutils, y se comparten enlaces a recursos sobre procesamiento de texto en la línea de comandos con GNU Coreutils.
  • Hay una corrección sobre errores encontrados en el artículo, en particular que la breve descripción de la página de shred en realidad corresponde a csplit.
  • Algunos usuarios expresan sorpresa e interés por la existencia de utilidades específicas como yes, shred, shuf y factor.
  • Se pide una recomendación sobre qué utilidades debería estudiar un programador principiante para mejorar su comprensión de estructuras de datos y algoritmos.
  • Hay una observación humorística sobre la posibilidad de que /bin/true falle y devuelva false, lo que hace que invocar "Not /bin/false" sea aún más robusto.
  • Como dato curioso, al instalar Coreutils en macOS mediante Homebrew, od de Coreutils se instala como god(1) porque macOS ya incluye od(1).
  • Un usuario cuestiona la necesidad de este sitio y señala que ya existen páginas man (o info) para cada una de estas utilidades.