SLOCCount no WebAssembly. Este projeto/missão paralela ficou um pouco fora de controle.
Lembrei-me de uma ferramenta antiga chamada SLOCCount, que podia contar linhas de código e produzir uma estimativa de quanto custaria para desenvolvê-las. Achei que seria divertido brincar com isso novamente, especialmente considerando o quão barato é gerar código usando LLMs atualmente.
Aqui está a página inicial do SLOCCount por David A. Wheeler. Data de 2001!
Achei que seria divertido tentar colocá-lo em execução na web. Certamente alguém compilou Perl para WebAssembly…?
WebPerl de Hauke Dämpfling é exatamente isso, mesmo adicionando um belo marcação.
Eu disse ao Claude Code para web no meu iPhone para descobrir e construir algo, dando algumas dicas da minha pesquisa inicial:
Construa sloccount.html - uma interface de usuário compatível com dispositivos móveis para executar a ferramenta Perl sloccount em código colado ou em um repositório GitHub fornecido em um campo de formulário
Ele funciona usando a compilação webperl webassembly do Perl, além de carregar o código Perl deste commit exato deste repositório GitHub https://github.com/licquia/sloccount/tree/7220ff627334a8f646617fe0fa542d401fb5287e - acho que por meio da API do GitHub, talvez usando o https://github.com/licquia/sloccount/archive/7220ff627334a8f646617fe0fa542d401fb5287e.zip URL se funcionar via CORS
Teste-o com o dramaturgo Python - não edite nenhum arquivo além de sloccount.html e um arquivo testes/test_sloccount.py
Como estava trabalhando no meu telefone, não revisei os resultados. Parecia funcionar, então eu o implantei em hospedagem estática... e então, quando fui dar uma olhada adequada, mais tarde descobri que Claude havia desistido, trapaceado e reimplementado em JavaScript!
Então mudei para Claude Code em meu laptop, onde tenho mais controle, e orientei Claude na implementação do projeto de verdade. Isso levou muito mais tempo do que o projeto merecia - provavelmente uma hora inteira do meu tempo ativo, espalhada pela manhã.
Eu compartilhei algumas das transcrições - um, doise três - como sessões de terminal renderizadas em HTML usando minha ferramenta rtf-to-html.
A certa altura, percebi que o projeto SLOCCount original nem era inteiramente Perl como eu havia assumido, mas incluía vários utilitários C! Então pedi a Claude Code que descobrisse como compilá-los no WebAssembly (ele usava Emscripten) e incorporá-los ao projeto (com notas sobre o que fez.)
O resultado final (código fonte aqui) é realmente muito legal. É uma interface da web com três guias – uma para colar código, uma segunda para carregar código de um repositório GitHub e uma terceira que permite abrir um arquivo Zip cheio de código que você deseja analisar. Aqui está uma demonstração animada:

As estimativas de custos que produz têm muito pouco valor. Por padrão, ele usa o método original de 2001. Você também pode mexer nos fatores - aumentar o salário anual esperado do engenheiro de software dos EUA em relação à estimativa de US$ 56.286 de 2000 é um bom começo!
Eu tinha ChatGPT dê um palpite quais deveriam ser esses números hoje e incluí-los na ferramenta, com um muito aviso proeminente para não confiar neles nem um pouco.

Café Codificado é um portal dinâmico e confiável criado especialmente para desenvolvedores. Nosso foco é entregar:
Dicas práticas para programação, produtividade, frameworks, testes, DevOps e muito mais;
Notícias atualizadas, acompanhando tendências e lançamentos do mundo da tecnologia, compiladas com relevância e sem jargões desnecessários.
O que você encontra aqui:
Artigos objetivos e comandáveis — Tutoriais, tutoriais passo-a-passo e dicas que vão direto ao ponto.
Cobertura das tecnologias que estão em alta — do universo da IA, computação em nuvem e segurança à engenharia de software e criatividade em código.
Conteúdo para todos os níveis — de iniciantes buscando praticidade, a profissionais em busca de insights estratégicos e aperfeiçoamento.
Comunidade ativa — textos humanizados, perguntinhas instigantes e espaço para você contribuir com reflexões e comentários.