As primeiras versões públicas do rustquty saíram com uma ideia que eu ainda gosto bastante: quality gates locais para projetos Rust. Roda um comando. Coleta métricas. Compara contra um baseline ou thresholds absolutos. Falha se a qualidade piorou. Esse modelo continua fazendo sentido pra mim. Mas essa semana eu encontrei aquela parte que todo autor de ferramenta encontra uma hora: o momento em que a ferramenta diz algo tão obviamente errado que você para de confiar no relatório inteiro. ...
rustquty: O Scanner de Qualidade Local pra Projetos Rust
Tava no meio de um refactor no animedb, um projeto Rust que eu mantenho. Rodei cargo fmt --check, rodei cargo clippy, rodei cargo test. Tudo verde. Aí subi o PR. Depois de uns dias, olhando o diff, percebi que uma função tinha inchado pra mais de 100 linhas. Outra tava com nesting de 8 níveis. Ninguém comentou. O CI passou. Porque o CI não olha pra isso. Eu já tinha visto isso acontecer antes. Qualidade não some de uma hora pra outra. Ela vai degradando devagar, uma função por vez, até o dia que você olha pro módulo e pensa “como que isso virou uma bagunça?” ...
Adicionei voice-to-text ao Noctalia Shell para parar de digitar
Era uma tarde de quarta-feira. Eu estava escrevendo documentação para um dos meus projetos e minhas mãos começaram a cansar. Não por causa do código — por causa da prosa. Parágrafo atrás de parágrafo explicando coisas em português, enquanto meus dedos imploravam por misericórdia. Pensei: por que eu ainda estou digitando tudo isso? Eu tenho um microfone. Tenho um compositor Wayland. Tenho um shell que eu mesmo uso e customizo. Mesmo assim, toda vez que eu queria usar voice-to-text, precisava abrir um browser, entrar em algum cloud service, copiar o texto e colar de volta. Ou instalar algum app em Electron que consome 400 MB de RAM só para ficar parado em background. ...
Eu Reescrevi Meu MCP em Crystal para Go — E Ficou Melhor: Better Search MCP
Se você leu meu último post, sabe que eu construí o searxng-web-fetch-mcp — um servidor MCP em Crystal que dá a assistentes de IA busca na web e fetching de conteúdo. Funcionou. Foi rápido. Eu shippinguei em uma noite. Mas depois de algumas semanas de uso diário, as coisas começaram a me incomodar. A extração era boa, mas não ótima. Alguns artigos voltavam com lixo de navegação. Outros tinham o conteúdo principal enterrado sob texto de sidebar. E o batch fetch, embora rápido, não me dava o controle que eu queria sobre o que voltava e como. ...
Port: Uma TUI + CLI para Gerenciar Portas de Rede Abertas no Linux
Você roda um servidor, o terminal trava, e de repente o localhost:3000 ainda está ocupado. Você não faz ideia de qual processo é o dono. Te soa familiar? Port resolve isso. Duas formas de usar: $ port # Modo TUI — tabela interativa $ port 3000 # Modo CLI — mata a porta 3000 diretamente $ port --list # Lista portas como texto (scriptável) O Problema Acontece o tempo todo. Você inicia um servidor Node.js, um app Python Flask, ou um backend em Rust. Aí: ...