<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Trwałość |</title><link>https://clementgodbarge.com/pl/tag/trwa%C5%82osc/</link><atom:link href="https://clementgodbarge.com/pl/tag/trwa%C5%82osc/index.xml" rel="self" type="application/rss+xml"/><description>Trwałość</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>pl-pl</language><lastBuildDate>Thu, 01 Oct 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Trwałość</title><link>https://clementgodbarge.com/pl/tag/trwa%C5%82osc/</link></image><item><title>Skyrails odbudowany ze zrzutów ekranu</title><link>https://clementgodbarge.com/pl/post/skyrails/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/pl/post/skyrails/</guid><description>&lt;p&gt;Około 2007 roku Yose Widjaja, wówczas student University of New South Wales, stworzył Skyrails – niezwykły program do eksplorowania sieci w trzech wymiarach. Podróżowało się po samej sieci, od węzła do węzła, wzdłuż świetlistych szyn, jak gdyby było się wewnątrz danych. Program wyglądał jak gra wideo w czasach, gdy większość narzędzi badawczych była płaska i szara. Za efektowną oprawą kryła się prawdziwa głębia: Skyrails miał własny język skryptowy do stylizowania i analizy grafów, a w tym języku napisano menu, dzięki którym mogli z niego korzystać także ci, którzy nie umieli programować. Wszystko to było dziełem jednego studenta. Przed laty zobaczyłem na YouTubie jego demonstrację i nigdy jej nie zapomniałem.&lt;/p&gt;
&lt;h2 id="program-który-przepadł"&gt;Program, który przepadł&lt;/h2&gt;
&lt;p&gt;Skyrails nigdy nie był utrzymywany. Działał pod Windows, jego strona domowa na uniwersytecie zniknęła, a każdy link, w który klikałem, okazywał się martwy. Przetrwały za to ślady:
i garść wpisów blogowych z 2007 roku – na
, na blogu Tima Lamberta
i na
.&lt;/p&gt;
&lt;p&gt;Zrzuty ekranu mówią zaskakująco wiele. Widać na nich nocny błękit nieba poprzecinany smugami chmur, krawędzie rysowane jako animowane szewrony, węzły w postaci ikon lub wykresów kołowych i menu radialne, które rozwija się wokół węzła, gdy przytrzyma się prawy przycisk myszy. Widać nazwy skryptów, które napędzały poszczególne demonstracje (&lt;code&gt;labs.van&lt;/code&gt;, &lt;code&gt;macaque.van&lt;/code&gt;, &lt;code&gt;worldtrade.van&lt;/code&gt;), menu tworzone przez te skrypty i cztery motywy: &lt;em&gt;normal&lt;/em&gt;, &lt;em&gt;desert&lt;/em&gt;, &lt;em&gt;valley&lt;/em&gt; i &lt;em&gt;openspace&lt;/em&gt;. Jeden ze zrzutów zachował nawet pojedynczą linijkę języka skryptowego, wpisaną do konsoli u góry ekranu:&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="rekonstrukcja-z-poszlak"&gt;Rekonstrukcja z poszlak&lt;/h2&gt;
&lt;p&gt;Na tej podstawie Claude odbudował Skyrails w ciągu jednej nocy. Nowa wersja, oparta na
, uruchamia się w przeglądarce i teoretycznie powinna działać także w goglach wirtualnej rzeczywistości. Odwzorowuje niebo, szewronowe szyny, świecące węzły z ich ikonami, wykresami kołowymi i pierścieniami, dużą etykietę węzła pod kursorem, menu radialne i cztery motywy. Ma też niewielki język skryptowy, zbudowany wokół tej jednej linijki, którą zachowały zrzuty, tak że instrukcje &lt;code&gt;with … do … end&lt;/code&gt; nadają grafowi styl i definiują menu.&lt;/p&gt;
&lt;p&gt;Do testów wczytałem trzy klasyczne zbiory danych: sieć florenckich rodów Johna Padgetta, z ich powiązaniami małżeńskimi i handlowymi; klub karate Wayne&amp;rsquo;a Zachary&amp;rsquo;ego; wreszcie sieć postaci &lt;em&gt;Nędzników&lt;/em&gt; Donalda Knutha, w której dwie postaci są połączone, jeśli występują w tym samym rozdziale. Poniższe nagranie przemierza tę ostatnią, od Valjeana do Javerta, Fantyny, Kozety i Mariusza. Każda szyna rozbłyska, gdy sunie wzdłuż niej kamera.&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;
Twoja przeglądarka nie może odtworzyć tego nagrania. Możesz je natomiast &lt;a href="https://clementgodbarge.com/post/skyrails/skyrails-les-miserables.mp4"&gt;pobrać&lt;/a&gt;.
&lt;/video&gt;
&lt;p&gt;Wynik był tak bliski zrzutom ekranu, że od razu zacząłem podejrzewać, iż model wchłonął w trakcie treningu ślady oryginalnego kodu.&lt;/p&gt;
&lt;h2 id="odnajduje-się-oryginał"&gt;Odnajduje się oryginał&lt;/h2&gt;
&lt;p&gt;Wtedy nastąpił zwrot akcji. Już po rekonstrukcji znalazłem oryginalny program na GitHubie. Pewien badacz udostępnił go w 2015 roku, za zgodą Yose Widjai, wraz z kodem do wystąpienia o wizualizacji danych na konferencji poświęconej bezpieczeństwu ShmooCon (
, kopia również w
). Repozytorium zawiera pliki wykonywalne dla Windows, dane, shadery i oryginalne skrypty, ale nie kod źródłowy głównego silnika.&lt;/p&gt;
&lt;p&gt;Mogliśmy więc zestawić obie wersje. Rekonstrukcja zbliżyła się do oryginału wyglądem i charakterem, ale jej język skryptowy i shadery bardzo się od niego różnią. Oryginalne skrypty wyglądają tak:&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;Podprogramy definiuje się w nich za pomocą &lt;code&gt;sub&lt;/code&gt;, menu za pomocą &lt;code&gt;menudef&lt;/code&gt; i &lt;code&gt;menulink&lt;/code&gt;, kolory zapisem &lt;code&gt;rgb: 130 0 0&lt;/code&gt;, a typy połączeń – strzałkami. Nic z tego nie pojawia się w rekonstrukcji, która ma z oryginałem wspólną jedynie formę &lt;code&gt;with … do … end&lt;/code&gt;, widoczną na zrzucie ekranu. Oryginalne shadery, noszące nazwy takie jak &lt;code&gt;BloomFX&lt;/code&gt; i &lt;code&gt;RetinalBurnFX&lt;/code&gt;, również nie mają nic wspólnego z nowymi.&lt;/p&gt;
&lt;p&gt;Nie rozstrzyga to kwestii zapamiętywania. Oryginalne skrypty są publicznie dostępne od 2015 roku i całkiem możliwe, że trafiły do danych treningowych modelu, a nikt, łącznie z samym modelem, nie potrafi z pewnością powiedzieć, co ten widział. Gdyby jednak model zapamiętał Skyrails, spodziewałbym się, że odtworzyłby przynajmniej język. Różnice sugerują, że Claude oparł się na tym, co dało się wyczytać ze zrzutów ekranu.&lt;/p&gt;
&lt;h2 id="archeologia-cyfrowa-i-trwałość-oprogramowania"&gt;Archeologia cyfrowa i trwałość oprogramowania&lt;/h2&gt;
&lt;p&gt;Traktuję ten eksperyment jako formę archeologii cyfrowej: odbudowuje się utracony przedmiot ze śladów, które po sobie zostawił, a potem odnajduje oryginał i mierzy, jak blisko udało się podejść. Jak każda rekonstrukcja, nowy Skyrails jest interpretacją. Jego wygląd i zachowanie opierają się na świadectwach, wszystko pod spodem jest natomiast nowe.&lt;/p&gt;
&lt;p&gt;To także kwestia trwałości. Oprogramowanie starzeje się znacznie szybciej niż dane, do których odczytywania powstało. Kiedy program umiera, utworzone w nim pliki, skrypty i wizualizacje stają się trudne do otwarcia, nawet jeśli przetrwały. Znaczna część oprogramowania z lat dwutysięcznych istnieje dziś już tylko w postaci zrzutów ekranu, nagrań wideo i starych plików binarnych, które da się uruchomić na coraz mniejszej liczbie maszyn. Oryginalny Skyrails być może wciąż uruchomi się na komputerze z Windows albo w emulatorze, ale nie da się go już utrzymywać, dostosowywać ani przenosić na inne platformy, bo jego kod źródłowy przepadł.&lt;/p&gt;
&lt;p&gt;Jak przewidywałem kilka lat temu, AI staje się praktycznym narzędziem w walce z tego rodzaju starzeniem się. Potrafi zrekonstruować utracone narzędzie z jego śladów i odbudować programy do odczytu, dzięki którym stare dane pozostają użyteczne. Oczywistym następnym krokiem w tym projekcie jest nauczenie nowego silnika czytania oryginalnych skryptów &lt;code&gt;.van&lt;/code&gt; i plików danych, tak by demonstracje, które Yose Widjaja napisał w 2007 roku, mogły znów działać. Dla każdego, komu zależy na trwałości danych – w badaniach naukowych, w archiwach czy w humanistyce cyfrowej – to sprawa warta uwagi.&lt;/p&gt;
&lt;p&gt;Skyrails wyprzedzał swoje czasy i prawie dwadzieścia lat później wciąż robi wrażenie. Wszelkie zasługi za pomysł i projekt należą się Yose Widjai i mam nadzieję, że ten tekst do niego dotrze.&lt;/p&gt;</description></item></channel></rss>