- O Compiler Explorer vem mudando seu método de armazenamento desde 2012 para manter links compartilhados vivos por muito tempo, mas o fim do goo.gl tornou urgente preservar os links antigos
godbolt.org/g/abc123 - No início, todo o estado do compilador ficava na URL; em 2014, foi adicionado o serviço de encurtamento de URL do Google; e, em 2016, após o Stack Overflow proibir URLs encurtadas, foi criado o link alternativo
godbolt.org/g/abc123 - Desde 2018, com o limite de tamanho de URL se tornando um problema maior, o estado passou a ser salvo como documentos JSON no S3, e um sistema próprio com DynamoDB gerencia o mapeamento entre hash curto e caminho completo
- Quando o Google encerrar os links do goo.gl em agosto de 2025, ficará difícil resolver os links antigos baseados nisso, então cerca de 12.000 links
gencontrados na web pública e em logs, junto com seus destinos de redirecionamento, estão sendo reunidos em um banco próprio - Usuários que ainda tenham links antigos do Compiler Explorer podem ajudar visitando-os agora, o que pode colocá-los na lista de preservação; conhecimento compartilhado que precisa durar muito tempo fica mais seguro quando se possui diretamente a infraestrutura crítica
Mudanças na forma de salvar links do Compiler Explorer
- Em 2012, o Compiler Explorer armazenava todo o estado dentro da própria URL
- Codificar todo o estado do compilador na URL deixava o endereço longo demais e difícil de lidar, então em março de 2014 foi adicionado suporte ao encurtador goo.gl do Google
- Na época, os links curtos tinham o formato
goo.gl/abc123; ao clicar, redirecionavam para a URL completa do Compiler Explorer, onde o estado era decodificado a partir da própria URL
O link alternativo após a proibição do Stack Overflow
- Em 2016, o Stack Overflow proibiu serviços de encurtamento de links por poderem esconder o destino real
- Essa medida também afetou os links do Compiler Explorer, e naquele momento não havia intenção de armazenar diretamente os dados dos usuários
- A solução alternativa foi continuar usando o goo.gl, mas apresentar ao usuário links no formato
godbolt.org/g/abc123abc123era o ID único do goo.gl- Acesso a
/g/abc123redirecionava paragoo.gl/abc123 - O goo.gl então redirecionava novamente para a URL completa do godbolt.org com o estado embutido
- Depois disso, a API do Google passou a ser usada para evitar várias etapas na cadeia de redirecionamentos
Migração para armazenamento próprio em 2018
- Em 2018, o limite de tamanho da URL virou um problema ainda maior, e os dados já estavam sendo comprimidos dentro da URL
- O Compiler Explorer mudou para uma estrutura que salva o estado diretamente
- Também verifica se o hash curto do link contém palavras ofensivas
- Se surgir uma palavra ofensiva, informações extras são adicionadas de propósito ao documento para gerar outro hash
- Esse comportamento levou ao bug #1297
O problema de preservação criado pelo fim do goo.gl
- O Compiler Explorer ainda oferece suporte aos links
godbolt.org/g/abc123 - O Google disse que links existentes continuariam redirecionando para o destino pretendido, mas o goo.gl se tornou somente leitura há alguns anos e está com encerramento final previsto para agosto de 2025
- Depois disso, não será mais possível resolver links baseados no goo.gl
- Os links
goo.glem si não podem ser resolvidos pelo lado do Compiler Explorer, mas os linksgodbolt.org/g/abc123podem ser preservados em um banco de dados próprio
Coleta de links antigos e banco de dados próprio
- Nos últimos dias, links antigos e suas URLs de destino vêm sendo coletados de várias fontes públicas
- Até agora, foram encontrados cerca de 12.000 links
- API de busca na web do Google
- API do GitHub
- Logs da própria web
- Dump de dados do Stack Overflow no archive.org
- Lista de páginas da web arquivadas pelo Archive.org
- Internamente, foi feita uma mudança para priorizar o banco próprio em vez do goo.gl
- Novos links
gque ainda não estão no banco também estão sendo monitorados - Localmente existe um banco sqlite, e em produção é usado o Dynamo
Como os usuários podem ajudar
- Se você guardou links antigos
godbolt.org/g/abc123, visitar cada um deles agora ajuda - Ao visitar o link, ele fica registrado nos logs da web e pode ser adicionado ao banco depois
- Caso contrário, esse link pode deixar de funcionar após agosto de 2025
- Esse caso mostra o risco de depender de serviços de terceiros para infraestrutura importante
- Para cumprir a promessa de uma “URL que dure para sempre”, é preciso possuir diretamente toda a stack
Ainda não há comentários.