<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sustentabilidade |</title><link>https://clementgodbarge.com/pt/tag/sustentabilidade/</link><atom:link href="https://clementgodbarge.com/pt/tag/sustentabilidade/index.xml" rel="self" type="application/rss+xml"/><description>Sustentabilidade</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>pt-pt</language><lastBuildDate>Thu, 01 Oct 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Sustentabilidade</title><link>https://clementgodbarge.com/pt/tag/sustentabilidade/</link></image><item><title>Skyrails, reconstruído a partir de capturas de ecrã</title><link>https://clementgodbarge.com/pt/post/skyrails/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/pt/post/skyrails/</guid><description>&lt;p&gt;Por volta de 2007, Yose Widjaja, então estudante da Universidade de Nova Gales do Sul, criou o Skyrails, um programa notável para explorar redes em três dimensões. Percorria-se a própria rede, de nó em nó, ao longo de carris luminosos, como se estivéssemos dentro dos dados. Parecia um videojogo, numa época em que quase todas as ferramentas de investigação eram planas e cinzentas. Por trás do aspeto havia verdadeira profundidade: o Skyrails tinha a sua própria linguagem de &lt;em&gt;scripting&lt;/em&gt; para definir o estilo dos grafos e analisá-los, e menus escritos nessa linguagem, para que também quem não sabia programar o pudesse usar. Tudo isto era obra de um único estudante. Vi uma demonstração no YouTube há anos e nunca a esqueci.&lt;/p&gt;
&lt;h2 id="um-programa-que-se-evaporou"&gt;Um programa que se evaporou&lt;/h2&gt;
&lt;p&gt;O Skyrails nunca teve manutenção. Corria em Windows, a sua página na universidade desapareceu e todas as ligações que segui estavam quebradas. O que sobreviveu foram vestígios: um
e um punhado de publicações em blogues de 2007, no
, no
, o blogue de Tim Lambert, e na
.&lt;/p&gt;
&lt;p&gt;As capturas de ecrã são surpreendentemente reveladoras. Mostram um céu azul-noite riscado de nuvens, arestas desenhadas como chevrons animados, nós em forma de ícones ou de gráficos circulares, e um menu radial que se abre em torno de um nó quando se mantém premido o botão direito do rato. Mostram os nomes dos &lt;em&gt;scripts&lt;/em&gt; que comandavam cada demonstração (&lt;code&gt;labs.van&lt;/code&gt;, &lt;code&gt;macaque.van&lt;/code&gt;, &lt;code&gt;worldtrade.van&lt;/code&gt;), os menus que esses &lt;em&gt;scripts&lt;/em&gt; criavam e quatro temas chamados &lt;em&gt;normal&lt;/em&gt;, &lt;em&gt;desert&lt;/em&gt;, &lt;em&gt;valley&lt;/em&gt; e &lt;em&gt;openspace&lt;/em&gt;. Uma delas chega a preservar uma única linha da linguagem de &lt;em&gt;scripting&lt;/em&gt;, escrita na consola no topo do ecrã:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;with all nodes do nodeplane x 1 -1 end
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="reconstruir-a-partir-dos-indícios"&gt;Reconstruir a partir dos indícios&lt;/h2&gt;
&lt;p&gt;Com base nestes indícios, o Claude reconstruiu o Skyrails numa só noite. A nova versão corre num navegador web com
e deverá, em princípio, funcionar também em óculos de realidade virtual. Reproduz o céu, os carris de chevrons, os nós luminosos com os seus ícones, gráficos circulares e anéis, a etiqueta grande do nó sob o ponteiro, o menu radial e os quatro temas. Tem ainda uma pequena linguagem de &lt;em&gt;scripting&lt;/em&gt;, construída em torno da única linha que as capturas preservam, de modo que as instruções &lt;code&gt;with … do … end&lt;/code&gt; definem o estilo do grafo e os menus.&lt;/p&gt;
&lt;p&gt;Para a pôr à prova, carreguei três conjuntos de dados clássicos: a rede de famílias florentinas de John Padgett, com os seus laços matrimoniais e comerciais; o clube de karaté de Wayne Zachary; e a rede que Donald Knuth construiu com as personagens de &lt;em&gt;Os Miseráveis&lt;/em&gt;, em que duas personagens ficam ligadas quando aparecem no mesmo capítulo. O vídeo abaixo percorre esta última, de Valjean a Javert, Fantine, Cosette e Marius. Cada carril acende-se à medida que a câmara o segue.&lt;/p&gt;
&lt;video controls playsinline preload="metadata" poster="/post/skyrails/poster.jpg" style="width:100%; height:auto; border-radius:4px;"&gt;
&lt;source src="https://clementgodbarge.com/post/skyrails/skyrails-les-miserables.mp4" type="video/mp4"&gt;
O seu navegador não consegue reproduzir este vídeo. Em alternativa, pode &lt;a href="https://clementgodbarge.com/post/skyrails/skyrails-les-miserables.mp4"&gt;descarregá-lo&lt;/a&gt;.
&lt;/video&gt;
&lt;p&gt;O resultado era tão próximo das capturas de ecrã que suspeitei de imediato que o modelo tinha absorvido, durante o treino, vestígios do código original.&lt;/p&gt;
&lt;h2 id="eis-que-surge-o-original"&gt;Eis que surge o original&lt;/h2&gt;
&lt;p&gt;Veio então a reviravolta. Depois da reconstrução, encontrei o programa original no GitHub. Um investigador tinha-o partilhado em 2015, com autorização de Yose Widjaja, juntamente com o código de uma palestra sobre visualização de dados na conferência de segurança ShmooCon (
, copiado também em
). Contém os executáveis para Windows, os dados, os &lt;em&gt;shaders&lt;/em&gt; e os &lt;em&gt;scripts&lt;/em&gt; originais, mas não o código-fonte do motor principal.&lt;/p&gt;
&lt;p&gt;Pudemos, assim, comparar os dois. A reconstrução aproximava-se do aspeto e da sensação de uso do original, mas a sua linguagem de &lt;em&gt;scripting&lt;/em&gt; e os seus &lt;em&gt;shaders&lt;/em&gt; são muito diferentes. Os &lt;em&gt;scripts&lt;/em&gt; originais têm este aspeto:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;with all edges do (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if(#marriage == 1) then (
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; linkorigin &amp;lt;- marriage -&amp;gt; linktarget;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ) end;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;) end;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Definem sub-rotinas com &lt;code&gt;sub&lt;/code&gt;, menus com &lt;code&gt;menudef&lt;/code&gt; e &lt;code&gt;menulink&lt;/code&gt;, cores com &lt;code&gt;rgb: 130 0 0&lt;/code&gt; e tipos de ligação com setas. Nada disto aparece na reconstrução, que partilha apenas a forma &lt;code&gt;with … do … end&lt;/code&gt; visível na captura de ecrã. Também os &lt;em&gt;shaders&lt;/em&gt; originais, com nomes como &lt;code&gt;BloomFX&lt;/code&gt; e &lt;code&gt;RetinalBurnFX&lt;/code&gt;, nada têm em comum com os novos.&lt;/p&gt;
&lt;p&gt;Isto não resolve a questão da memorização. Os &lt;em&gt;scripts&lt;/em&gt; originais são públicos desde 2015 e podem muito bem ter feito parte dos dados de treino do modelo; ninguém, nem o próprio modelo, pode dizer com certeza o que ele viu. Mas, se o modelo tivesse memorizado o Skyrails, eu esperaria que tivesse reproduzido pelo menos a linguagem. As diferenças sugerem que o Claude trabalhou a partir dos indícios das capturas de ecrã.&lt;/p&gt;
&lt;h2 id="arqueologia-digital-e-sustentabilidade-do-software"&gt;Arqueologia digital e sustentabilidade do software&lt;/h2&gt;
&lt;p&gt;Vejo esta experiência como uma forma de arqueologia digital: reconstruir um objeto perdido a partir dos vestígios que deixou, encontrar depois o original e medir quanto nos aproximámos. Como qualquer reconstrução, o novo Skyrails é uma interpretação. O seu aspeto e o seu comportamento assentam nos indícios; tudo o que está por baixo é novo.&lt;/p&gt;
&lt;p&gt;É também uma questão de sustentabilidade. O software torna-se obsoleto muito mais depressa do que os dados que foi feito para ler. Quando um programa morre, os ficheiros, &lt;em&gt;scripts&lt;/em&gt; e visualizações feitos com ele tornam-se difíceis de abrir, mesmo quando sobrevivem. Grande parte do software dos anos 2000 já só existe sob a forma de capturas de ecrã, vídeos e velhos binários que cada vez menos máquinas conseguem executar. O Skyrails original talvez ainda arranque num computador com Windows, ou num emulador, mas já não pode ser mantido, adaptado nem portado, porque o seu código-fonte se perdeu.&lt;/p&gt;
&lt;p&gt;Como previ há alguns anos, a IA está a tornar-se uma ferramenta prática contra este tipo de obsolescência. Pode reconstruir uma ferramenta perdida a partir dos seus vestígios, e pode refazer os programas de leitura que mantêm utilizáveis os dados antigos. O próximo passo óbvio deste projeto é ensinar o novo motor a ler os &lt;em&gt;scripts&lt;/em&gt; &lt;code&gt;.van&lt;/code&gt; e os ficheiros de dados originais, para que as demonstrações que Yose Widjaja escreveu em 2007 possam voltar a correr. Para quem se preocupa com a sustentabilidade dos dados, na investigação, nos arquivos ou nas humanidades digitais, isto merece atenção.&lt;/p&gt;
&lt;p&gt;O Skyrails estava à frente do seu tempo e, quase vinte anos depois, continua a impressionar. Todo o mérito da ideia e do design pertence a Yose Widjaja, e espero que estas linhas lhe cheguem.&lt;/p&gt;</description></item></channel></rss>