Psyche: O Media Server Que Mantém Seus Dados Seus

Eram 2 da manhã. Eu tava fuçando na minha pasta de anime tentando entender por que o media server não tinha pego os metadados de um episódio novo. Abri o banco de dados SQLite por curiosidade — só pra ver o que tinha lá dentro. Dava pra ler. Tudo. Cada título. Cada nota. Cada entrada do meu histórico. Texto puro, sem criptografia nenhuma, sentado ali no meu disco. Fechei o terminal e fiquei olhando pro teto. ...

abril 4, 2026 · 12 min de leitura · 2466 palavras · enrell

Eu Patchei o Flashrom no Celular Para Recuperar uma Placa-Mãe Morta

Era uma tarde de sábado. Apertei o botão de ligar do meu PC e… nada. As ventoinhas giraram por um segundo, os LEDs piscaram e ele morreu. Tentou de novo. Um segundo, morto. Um segundo, morto. Um loop infinito de boot sem saída de vídeo, sem códigos de erro, nada. O que se seguiu foi uma odisseia de uma semana com diagnósticos, palpites errados, uma placa-mãe nova, uma BIOS brickada e — quando todos os computadores da minha casa estavam mortos — uma sessão de código às 23h no meu celular para patchear uma ferramenta open-source que nunca foi feita para rodar no Android. ...

março 30, 2026 · 10 min de leitura · 2001 palavras · enrell

Construindo um MCP em Crystal para Busca na Web e Extração de Conteúdo

Eram 19h de uma quarta-feira. Eu estava olhando para o meu terminal, vendo o OpenCode tentar responder a uma pergunta sobre uma biblioteca que ele nunca tinha visto antes. O LLM estava fazendo o seu melhor. Mas estava alucinando endpoints de API que não existiam. E eu pensei: “Por que minha IA não pode simplesmente… pesquisar na web?” O Problema Eu uso o OpenCode, o Claude Code e às vezes o Crush como meus companheiros diários de programação. É poderoso. Mas tem um ponto cego: a busca nativa na web não consegue acessar sites protegidos pela Cloudflare. ...

março 25, 2026 · 7 min de leitura · 1315 palavras · enrell

Eu Criei um Pacote NPM para Fazer o Parse de Nomes de Arquivos de Anime — Aqui Está a Minha História

Eram 3 da manhã de uma terça-feira. Eu estava olhando para a minha pasta de animes, rolando por nomes de arquivos como: [SubsPlease] Spy x Family - 01 (1080p) [A4DAF3D9].mkv [Coalgirls] Clannad (1920x1080 Blu-Ray FLAC) [1234ABCD]/[Coalgirls] Clannad - 01 (1920x1080 Blu-Ray FLAC) [1234ABCD].mkv One Punch Man S02E03 1080p WEBRip x264-PandoR.mkv E pensei comigo mesmo: “Tem que haver um jeito melhor.” Soa familiar? Se você já montou uma biblioteca de mídia, sabe exatamente do que estou falando. Esses nomes de arquivos bagunçados e inconsistentes — eles me deixam louco. E os parsers existentes? Ou eram muito lentos, muito rígidos ou não lidavam com a variedade selvagem de convenções de nomenclatura que nós, fãs de anime, usamos. ...

fevereiro 21, 2026 · 5 min de leitura · 881 palavras · enrell

Compartilhando alguns aprendizados sobre MCP e AST

Hello, world! Primeiramente, quero dizer que este é o meu primeiro post em muito tempo, e espero continuar escrevendo com mais frequência. Tenho trabalhado em um MCP (Model Context Protocol) há algum tempo e tenho aprendido muito sobre a manipulação de AST no TypeScript. Quero compartilhar um pouco dos meus aprendizados com vocês. O que é um MCP (Model Context Protocol)? O MCP é um protocolo aberto que permite padronizar a forma como as aplicações fornecem contexto aos seus modelos. ...

junho 29, 2025 · 4 min de leitura · 652 palavras · enrell