🏟️ As 4 tecnologias secretas que entram no Brasil x Japão
Segunda-feira, 14h. Você larga tudo pra ver o Brasil contra o Japão, nos 16 avos de final, no NRG Stadium em Houston. A bola rola, a torcida grita e dá pra jurar que ali tem só futebol. Não tem. Existe uma camada de engenharia rodando em cada lance dessa partida, e a maioria dos torcedores não faz ideia de que ela está lá.
A Copa de 2026 virou o maior laboratório de tecnologia esportiva da história. A gente já abriu a primeira parte sobre a bola com chip e o impedimento semiautomático, então agora vou direto em quatro tecnologias novas que vão estar em campo no Brasil x Japão: a câmera que sabe quem tocou a bola por último, o VAR que finalmente abre a caixa-preta pro estádio inteiro, o seu rosto virando ingresso na catraca e um codec de áudio e vídeo estreando no streaming. Bora destrinchar como cada uma funciona por dentro, porque é justamente esse vocabulário (visão computacional, embeddings, codecs) que cai em entrevista de dev no mercado de hoje.
🕵️ Detectar deepfake em Python: forensics de IA nas eleições 2026
Em março de 2026 o TSE publicou a Resolução 23.755, que pela primeira vez colocou regras de inteligência artificial dentro da campanha eleitoral: conteúdo sintético tem que ser rotulado, deepfake fica proibido na reta final do pleito e quem não cumpre paga multa de R$ 5 mil a R$ 30 mil. Em junho, o próprio tribunal já tinha registrado denúncias envolvendo o uso de IA. A régua mudou, e de quebra virou um problema de engenharia.
Se você constrói qualquer plataforma onde mídia circula, detectar conteúdo sintético deixou de ser curiosidade e passou a ser requisito. E o primeiro passo é o mais contraintuitivo: parar de confiar no olho humano. Detecção que funciona não acontece na percepção, acontece no domínio da frequência e na geometria das sombras. Bora ver como provar isso com Python, na prática.
🤖 O Brasil ainda não tem lei de IA (e o mundo já se dividiu em 3)
Você abre o ChatGPT pra resolver um bug, pede um resumo pro Gemini, gera uma imagem e segue o dia. Pergunta honesta: existe alguma lei no Brasil dizendo o que essas ferramentas podem ou não podem fazer com os seus dados, com o seu trabalho, com a sua cara? A resposta, em junho de 2026, ainda é um não. Existe um projeto pronto, votado no Senado, mas ele está parado na Câmara faz mais de um ano.
Enquanto o Brasil discute, o resto do mundo já se dividiu em três caminhos bem diferentes. A Europa escreveu a lei mais dura do planeta e agora está recuando em parte dela. Os Estados Unidos foram pro lado oposto e estão em guerra interna entre o governo federal e os estados. E o Brasil ficou no meio, com um texto que copia o modelo europeu mas que emperrou num ponto só: direitos autorais. Bora entender onde cada um está, sem juridiquês, e o que isso muda pra quem usa e pra quem constrói IA.
⚽ A IA já decide lances na Copa 2026 (e a tecnologia também falha)
Catar e Suíça, 14 de junho, área de San Francisco. Aos 14 minutos, o árbitro marca pênalti pra Suíça depois de checar um lance de impedimento. Só que o gráfico 3D que deveria mostrar a linha de offside na sua TV simplesmente não apareceu. A FIFA admitiu depois: foi uma falha técnica breve que impediu a geração da animação. Gary Neville foi pro microfone e disparou: "transparência? Então provem que era impedimento". Ian Wright completou: "isso é um escândalo".
Pega esse detalhe, porque ele resume a Copa de 2026 inteira. Pela primeira vez, uma parte enorme das decisões que você vê em campo passa por uma cadeia de inteligência artificial: uma bola com chip dentro, 16 câmeras por estádio, avatares 3D de cada jogador e um alerta que vai direto no ouvido do auxiliar. Quando funciona, ninguém percebe. Quando falha por 30 segundos, vira caso de Estado. Bora destrinchar essa máquina por dentro, do sensor da bola até a IA que escreve o relatório do jogo.
🔌 O erro de transporte que trava o cliente MCP em Java
Você subiu o servidor MCP, expôs as tools direitinho, testou com o inspector e estava tudo lá. Aí foi plugar o seu app Java como cliente e nada. O listTools() volta uma lista vazia, ou pior, a chamada fica pendurada até estourar o timeout. Você revisa o servidor, revisa de novo, e o servidor está certo. O problema está do lado do cliente, e quase sempre tem nome: transporte errado.
Esse é o erro número 1 de quem escreve um cliente MCP em Java hoje. Usar o SSE legado contra um servidor que fala Streamable HTTP, ou chamar listTools() antes do initialize(). A conexão até abre, mas nenhuma capability é negociada, e tool nenhuma aparece. Bora resolver isso de vez, com o código certo para cada caso, usando o MCP Java SDK 2.0 que saiu como GA em junho.
⚙️ JDK 27 remove -noverify e -Xverify:none: o CI quebra
Tem uma flag que metade dos pipelines de CI carrega há anos sem ninguém lembrar por quê: -noverify. Alguém colocou lá em 2017 pra "acelerar o startup" pulando a verificação de bytecode, o build ficou verde, e ninguém mais tocou. Até o dia em que você troca a imagem base pra eclipse-temurin:27 e o container simplesmente não sobe. Nos logs, uma linha seca: Unrecognized option: -noverify.
O JDK 27 parou de ser tolerante com quatro opções antigas de launcher: -noverify, -Xverify:none, -noclassgc e -verifyremote. Elas estavam depreciadas (com aviso) desde o Java 13, e agora viraram erro fatal: a JVM nem inicia. Se alguma sobreviveu num Dockerfile, num argLine do Surefire ou numa run config de IDE, o build vai parar de subir bem na hora do upgrade. Bora ver onde isso se esconde, como varrer o projeto antes e como arrumar direito.
⚙️ JDK 27: G1GC vira padrão no container Kubernetes
Imagina a cena: você só trocou a tag da imagem Docker de eclipse-temurin:26 para eclipse-temurin:27. Não mexeu em uma linha de código, não tocou em nenhuma flag da JVM, não mudou o requests.cpu do pod. Faz o deploy, vai tomar um café, e quando volta aquele microsserviço de 1 vCPU está gastando mais CPU e a latência sob carga começou a oscilar feio. O time de SRE abre um chamado, o time de dev jura que não mudou nada. E os dois estão certos.
O culpado tem nome: JEP 523, que chega no JDK 27 e faz o G1GC virar o coletor de lixo padrão em todos os ambientes, inclusive nos containers de 1 CPU que hoje rodam SerialGC sem você nem saber. O JDK 27 entrou em Rampdown Phase One em junho e tem GA marcada para 14 de setembro de 2026. Ou seja, tem uma janela curta pra você medir seus pods sub-dimensionados antes que esse default mude embaixo deles. Bora entender o que muda, como detectar e como fixar isso direito.
🚨 Alerta "Misantropia": foi a Defesa Civil mesmo?
Era quase meia-noite de sexta-feira, 19 de junho de 2026, quando vários celulares em Curitiba começaram a tocar sozinhos. Não foi um toque qualquer: era a sirene estridente dos alertas extremos, aquela que dispara mesmo com o aparelho no silencioso. Na tela, sob o cabeçalho "DEFESA CIVIL", uma única palavra, sem chuva, sem temporal, sem instrução de abrigo: "Misantropia". Quem recebeu descreveu o mesmo: susto, confusão e a sensação de que algo muito errado estava acontecendo.
A reação imediata foi lógica. Se a tela diz "Defesa Civil", então o sistema da Defesa Civil mandou, certo? E se mandou uma palavra dessas, foi invadido. Foi essa a leitura que correu pelas redes na madrugada de sábado (20), com gente afirmando que "invadiram o sistema de alertas do governo" e até que "todos os celulares do Brasil" receberam. Acontece que a história técnica por trás dessa tela é mais interessante (e menos apocalíptica) do que o pânico sugere. Como Tech Leader, aprendi cedo que a aparência de um sistema raramente prova sua origem, e este caso é um exemplo de manual disso.
♻️ G1GC de graça no JDK 27: pod 1 CPU sem mexer no código
Tem uma melhoria de garbage collector chegando que você ganha só de subir a versão. No JDK 27 o G1GC passa a ser o coletor padrão em todo ambiente, inclusive no seu container de 1 CPU que hoje roda SerialGC sem ninguém ter pedido. Sem flag nova, sem refatorar uma linha de código de negócio.
E o melhor: dá pra provar a diferença em uma linha de comando. Nesse artigo você vai entender por que tantos pods Java estão silenciosamente no SerialGC hoje, o que o JEP 523 muda na prática e como antecipar esse ganho antes mesmo do GA do JDK 27, marcado pra 14 de setembro de 2026.
🧵 Liguei Virtual Threads e a produção travou: o que ninguém conta
Sexta à tarde, pico de tráfego, e a aplicação que ia voar depois que você habilitou Virtual Threads congelou. Carriers presos, requisições penduradas sem resposta, o pool do banco no talo e o throughput despencando em vez de subir. Você jurou que era só ligar uma flag, né?
Pois é. O Loom não mentiu, só que ligar Virtual Threads no Java 25 não é mágica de configuração. Tem um punhado de armadilhas que ninguém conta nos tutoriais e que só aparecem na escala de produção: pinning de carrier, pool de conexão que vira o teto real, ThreadLocal multiplicado por milhões e carga CPU-bound disfarçada de I/O. A boa notícia: o JDK 25 já traz o JEP 491, que matou a pior delas. Bora ver as quatro, com código do jeito errado e do jeito certo, pra você não descobrir na marra.
⏰ Spring Boot 3.5 chega ao fim em 30/06: migre antes
Dia 30 de junho de 2026 o Spring Boot 3.5 perde o suporte OSS. Depois dessa data, sem patch de segurança, sem correção de CVE, sem rede. E olha que a fila de CVE do Spring em 2026 foi a maior da história: só no patch day de 08/06 saíram 18 correções de uma vez. Quem ficar para trás vai rodar produção com buraco conhecido e sem remendo oficial.
O problema é que o caminho até o Spring Boot 4 não é um bump de versão tranquilo. São mais de 50 mudanças que quebram código de produção: Jackson 3 com group ID novo, Spring Security 7 obrigando o Lambda DSL, JSpecify ligando null-safety e o Spring AI 1.x simplesmente parando de funcionar. Nesse artigo eu te dou o checklist real, com código antes e depois, para você migrar sem descobrir cada armadilha na marra, às 2 da manhã de um deploy.
🚀 Como cortar 22% do heap da JVM sem mudar uma linha
Existe um jeito de rodar a mesma aplicação Java usando bem menos memória, sem refatorar serviço nenhum. A maioria dos devs ainda não ligou essa configuração porque ela era opt-in, escondida atrás de uma flag experimental. No JDK 27 ela vira padrão, e quem entende o porquê sai na frente.
O recurso se chama Compact Object Headers (JEP 534) e, em benchmark oficial, corta cerca de 22% do heap e 8% de CPU. Bora ver, na prática, o que muda no cabeçalho de cada objeto que a sua JVM cria, como medir esse ganho no seu próprio código e em quais cenários ele realmente compensa.
🔐 Spring Security 7 GA chegou: migre o filtro antes do EOL
O Spring Security 7.0 GA entrou no release train de junho de 2026 junto com o Spring Boot 4.0. E tem um detalhe que ninguem te avisou no calendario: o Spring Boot 3.5 perde suporte OSS em 30 de junho de 2026. Ou seja, o relogio da migracao ja esta correndo, e o seu SecurityConfig e a primeira coisa que vai quebrar no build.
Se voce ja tentou subir um projeto pro Boot 4 e tomou uma chuva de erros de compilacao no filtro de seguranca, este artigo e pra voce. Bora destrinchar, na pratica, tudo que mudou no Security 7 e montar um checklist de migracao com codigo antes e depois, do jeito que os seniores fazem.
- ⚡ Spring AI 2.0 RC1 vai quebrar seu tool calling: migre já
- 🚀 GraalVM Native: o jeito sênior de cortar custo na AWS
- A release de segurança do Spring que foi adiada duas vezes chega esta semana: o que atualizar
- JDK 27 em Rampdown: como Compact Object Headers vai cortar automaticamente o heap do seu Pod
Página 1 de 28