4 pontos por GN⁺ 2023-09-10 | 1 comentários | Compartilhar no WhatsApp
  • Artigo sobre um projeto de longo prazo para decodificar todo o código do GNU coreutils versão 8.3
  • Projeto para programadores iniciantes interessados em explorar o design de utilitários de linha de comando
  • Projeto dividido em várias etapas já concluídas, incluindo a criação de páginas dedicadas para cada utilitário, a ampliação das discussões sobre decisões importantes de design e algoritmos, e a criação de ferramentas para visualizar a evolução do código-fonte
  • Artigo que fornece links para páginas dedicadas de cada utilitário, discussões detalhadas, código-fonte e documentação
  • Artigo que oferece contexto para leitura de código, discutindo a natureza dos utilitários, seu design e os pontos a observar ao ler o código
  • Artigo que explica que o GNU coreutils era originalmente composto por três pacotes separados para shell, texto e utilitários de arquivos, e que muitos utilitários do mesmo tipo compartilham os mesmos padrões de design
  • Artigo que apresenta o design básico da maioria dos utilitários CLI, incluindo a etapa de configuração para flags, opções, localização e outros elementos, a etapa de parsing de argumentos que lê a entrada para definir parâmetros de execução, e a etapa de processamento/execução que prepara a entrada para uma ou mais chamadas de sistema
  • Artigo que fornece explicações detalhadas sobre a inicialização dos utilitários, parsing com Getopt, travessia do sistema de arquivos com fts, wrappers e helpers de chamadas de sistema, funções comuns, linhas de código comuns e idiomatismos em C
  • Artigo que discute a manutenção dos utilitários, incluindo mudanças em todo o projeto, atualizações específicas de utilitários e manutenção anual
  • Artigo que fornece informações para quem deseja contribuir com o projeto, incluindo link para a página do projeto GNU, diretrizes de contribuição e lista de funcionalidades rejeitadas
  • Artigo que termina com uma seção de curiosidades e implementações interessantes, oferecendo fatos curiosos e insights sobre os utilitários

1 comentários

 
GN⁺ 2023-09-10
Comentários no Hacker News
  • Este artigo discute a longevidade e a extensibilidade do GNU Coreutils, que vem sendo modificado por muitas pessoas há quase 30 anos.
  • Há uma postagem pedindo exemplos de programas que existem há 30 anos ou que se espera que continuem existindo por mais 30 anos.
  • Nos comentários, são fornecidos links para materiais sobre como o GNU Coreutils é testado, como explorar cada um dos comandos do Coreutils e sobre processamento de texto em linha de comando usando GNU Coreutils.
  • Há uma correção sobre erros encontrados no artigo, em especial o fato de que a descrição curta na página de shred na verdade é a descrição de csplit.
  • Alguns usuários expressam surpresa e interesse pela existência de utilitários específicos como yes, shred, shuf e factor.
  • Um programador iniciante pede recomendações de utilitários para estudar a fim de melhorar sua compreensão de estruturas de dados e algoritmos.
  • Há uma observação bem-humorada sobre a possibilidade de /bin/true falhar e retornar false, o que torna a chamada de "Not /bin/false" ainda mais robusta.
  • Como curiosidade, ao instalar o Coreutils via Homebrew no macOS, o od do Coreutils é instalado como god(1), porque o macOS já fornece od(1).
  • Um usuário questiona a necessidade deste site, apontando que já existem páginas man (ou info) para cada um desses utilitários.