<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>الاستدامة |</title><link>https://clementgodbarge.com/ar/tag/%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%AF%D8%A7%D9%85%D8%A9/</link><atom:link href="https://clementgodbarge.com/ar/tag/%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%AF%D8%A7%D9%85%D8%A9/index.xml" rel="self" type="application/rss+xml"/><description>الاستدامة</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ar</language><lastBuildDate>Thu, 01 Oct 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>الاستدامة</title><link>https://clementgodbarge.com/ar/tag/%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%AF%D8%A7%D9%85%D8%A9/</link></image><item><title>إعادة بناء Skyrails من لقطات الشاشة</title><link>https://clementgodbarge.com/ar/post/skyrails/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/skyrails/</guid><description>&lt;p&gt;نحو عام 2007 ابتكر يوسي ويجايا (Yose Widjaja)، وكان يومئذ طالبًا في جامعة نيو ساوث ويلز، برنامجًا بديعًا لاستكشاف الشبكات في ثلاثة أبعاد سمّاه Skyrails. كنتم تجوسون في الشبكة نفسها، تنتقلون من عقدة إلى عقدة على سككٍ مضيئة، كأنكم في جوف البيانات. وكان أشبه بلعبة فيديو في زمن غلب فيه على أدوات البحث أن تكون مسطّحة رمادية. ووراء هذا المظهر عمقٌ حقيقي: فلـSkyrails لغة برمجة نصية خاصة به لتنسيق المخططات الشبكية وتحليلها، وقوائم مكتوبة بتلك اللغة، حتى يتسنى استعماله لمن لا يحسن البرمجة. وكان ذلك كله من صنع طالب واحد. شاهدتُ عرضًا له على YouTube قبل سنوات، ولم أنسه قط.&lt;/p&gt;
&lt;h2 id="برنامج-توارى"&gt;برنامجٌ توارى&lt;/h2&gt;
&lt;p&gt;لم يتعهّد أحدٌ Skyrails بالصيانة قط. كان يعمل على Windows، واختفت صفحته على موقع الجامعة، وكل رابط تتبّعته وجدته معطّلًا. أما ما بقي فآثار:
، وحفنة من التدوينات تعود إلى عام 2007، على
، وفي مدونة تيم لامبرت
، وعلى
.&lt;/p&gt;
&lt;p&gt;ولقطات الشاشة هذه تفصح عن الكثير على نحو يثير الدهشة. ففيها سماء بلون زرقة الليل تخطّها خيوط السحاب، وحوافّ مرسومة رؤوسَ أسهمٍ متحركة، وعقد في صورة أيقونات أو مخططات دائرية، وقائمة دائرية تنفتح حول العقدة حين تُبقون زر الفأرة الأيمن مضغوطًا. وفيها أسماء النصوص البرمجية التي كانت تسيّر كل عرض توضيحي (&lt;code&gt;labs.van&lt;/code&gt;، &lt;code&gt;macaque.van&lt;/code&gt;، &lt;code&gt;worldtrade.van&lt;/code&gt;)، والقوائم التي أنشأتها تلك النصوص، وأربع سمات تحمل أسماء &lt;em&gt;normal&lt;/em&gt; و&lt;em&gt;desert&lt;/em&gt; و&lt;em&gt;valley&lt;/em&gt; و&lt;em&gt;openspace&lt;/em&gt;. بل إن إحدى اللقطات تحفظ سطرًا واحدًا من لغة البرمجة النصية، مكتوبًا في نافذة الأوامر أعلى الشاشة:&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="إعادة-البناء-على-هدي-الشواهد"&gt;إعادة البناء على هدي الشواهد&lt;/h2&gt;
&lt;p&gt;من هذه الشواهد أعاد Claude بناء Skyrails في ليلة واحدة. تعمل النسخة الجديدة في متصفح الويب بالاعتماد على
، ويُفترض، من حيث المبدأ، أن تعمل في نظارة للواقع الافتراضي. وهي تحاكي السماء، والسكك المعلَّمة برؤوس الأسهم، والعقد المضيئة بأيقوناتها ومخططاتها الدائرية وحلقاتها، والتسمية الكبيرة للعقدة الواقعة تحت المؤشر، والقائمة الدائرية، والسمات الأربع. ولها أيضًا لغة برمجة نصية صغيرة، بُنيت حول السطر الوحيد الذي حفظته لقطات الشاشة، بحيث تتولى عبارات &lt;code&gt;with … do … end&lt;/code&gt; تنسيق المخطط وتعريف القوائم.&lt;/p&gt;
&lt;p&gt;ولاختباره حمّلتُ فيه ثلاث مجموعات بيانات كلاسيكية: شبكة جون بادجيت للأسر الفلورنسية بما بينها من روابط المصاهرة والأعمال؛ ونادي الكاراتيه لوين زكاري؛ وشبكة دونالد كنوث لشخصيات «البؤساء»، وفيها تُربط الشخصيتان متى ظهرتا في الفصل نفسه. ويجول الفيديو أدناه في آخر هذه الشبكات، من فالجان إلى جافير وفانتين وكوزيت وماريوس. وكلما تتبّعت الكاميرا سكةً أضاءت.&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;
يتعذّر على متصفحكم تشغيل هذا الفيديو، فبوسعكم &lt;a href="https://clementgodbarge.com/post/skyrails/skyrails-les-miserables.mp4"&gt;تنزيله&lt;/a&gt; بدلًا من ذلك.
&lt;/video&gt;
&lt;p&gt;وجاءت النتيجة قريبة من لقطات الشاشة قربًا جعلني أرتاب على الفور في أن النموذج قد تشرّب، في أثناء تدريبه، شيئًا من آثار الشيفرة الأصلية.&lt;/p&gt;
&lt;h2 id="ويظهر-الأصل"&gt;ويظهر الأصل&lt;/h2&gt;
&lt;p&gt;ثم كانت المفاجأة. فبعد إعادة البناء عثرتُ على البرنامج الأصلي في GitHub. كان باحثٌ قد نشره عام 2015، بإذن من يوسي ويجايا، إلى جانب شيفرة محاضرة في تصور البيانات قُدّمت في مؤتمر ShmooCon لأمن المعلومات (
، وله نسخة أيضًا في
). وفيه الملفات التنفيذية لـWindows، والبيانات، والمظلِّلات (shaders)، والنصوص البرمجية الأصلية، أما الشيفرة المصدرية للمحرك الرئيسي فليست فيه.&lt;/p&gt;
&lt;p&gt;وهكذا أمكننا أن نقارن بينهما. فقد اقتربت إعادة البناء من الأصل شكلًا وتجربةً، غير أن لغتها البرمجية النصية ومظلِّلاتها تختلف عنه اختلافًا كبيرًا. وهذا مثال من النصوص الأصلية:&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;فهي تعرّف الإجراءات الفرعية بـ&lt;code&gt;sub&lt;/code&gt;، والقوائم بـ&lt;code&gt;menudef&lt;/code&gt; و&lt;code&gt;menulink&lt;/code&gt;، والألوان بـ&lt;code&gt;rgb: 130 0 0&lt;/code&gt;، وأنواع الروابط بالأسهم. ولا أثر لشيء من ذلك في النسخة المعاد بناؤها، التي لا تشترك مع الأصل إلا في صيغة &lt;code&gt;with … do … end&lt;/code&gt; الظاهرة في لقطة الشاشة. وكذلك المظلِّلات الأصلية، بأسمائها من قبيل &lt;code&gt;BloomFX&lt;/code&gt; و&lt;code&gt;RetinalBurnFX&lt;/code&gt;، لا يجمعها بالجديدة شيء.&lt;/p&gt;
&lt;p&gt;ولا يحسم هذا مسألة الاستظهار. فالنصوص الأصلية متاحة للعموم منذ 2015، ومن الوارد جدًّا أن تكون قد دخلت في بيانات تدريب النموذج، ولا أحد، ولا النموذج نفسه، يستطيع أن يجزم بما اطّلع عليه. لكن لو كان النموذج قد استظهر Skyrails، لتوقعتُ أن يكون قد استنسخ اللغة على الأقل. والفروق توحي بأن Claude عمل انطلاقًا من الشواهد التي في لقطات الشاشة.&lt;/p&gt;
&lt;h2 id="علم-الآثار-الرقمي-واستدامة-البرمجيات"&gt;علم الآثار الرقمي واستدامة البرمجيات&lt;/h2&gt;
&lt;p&gt;أرى في هذه التجربة ضربًا من علم الآثار الرقمي: إعادة بناء شيء ضائع من الآثار التي خلّفها، ثم العثور على الأصل وقياس مدى اقترابنا منه. وSkyrails الجديد، شأنه شأن كل إعادة بناء، تأويلٌ. فمظهره وسلوكه قائمان على الشواهد، أما كل ما تحتهما فجديد.&lt;/p&gt;
&lt;p&gt;وهي أيضًا مسألة استدامة. فالبرمجيات تتقادم أسرع بكثير من البيانات التي صُنعت لقراءتها. وحين يموت برنامج، يعسر فتح ما أُنجز به من ملفات ونصوص برمجية وتصورات بصرية، حتى إن بقيت. وكثير من برمجيات العقد الأول من هذا القرن لم يبق منه اليوم إلا لقطات شاشة ومقاطع فيديو وملفات ثنائية قديمة تقلّ يومًا بعد يوم الأجهزة القادرة على تشغيلها. وقد لا يزال Skyrails الأصلي يشتغل على حاسوب يعمل بـWindows، أو في محاكٍ، لكنه لم يعد قابلًا للصيانة ولا للتكييف ولا للنقل إلى منصات أخرى، لأن شيفرته المصدرية ضاعت.&lt;/p&gt;
&lt;p&gt;وكما توقعتُ قبل بضع سنوات، أخذ الذكاء الاصطناعي يغدو أداة عملية في مواجهة هذا الضرب من التقادم. فبوسعه أن يعيد بناء أداة ضائعة من آثارها، وأن يعيد بناء البرامج التي تقرأ البيانات القديمة فتُبقيها صالحة للاستعمال. والخطوة التالية البديهية في هذا المشروع أن نعلّم المحرك الجديد قراءة نصوص &lt;code&gt;.van&lt;/code&gt; الأصلية وملفات البيانات، حتى تعود العروض التي كتبها يوسي ويجايا عام 2007 إلى العمل. وهذا أمر جدير بالاهتمام لكل من تعنيه استدامة البيانات، في البحث أو في الأرشيفات أو في الإنسانيات الرقمية.&lt;/p&gt;
&lt;p&gt;لقد سبق Skyrails زمانه، ولا يزال يبهر بعد قرابة عشرين عامًا. والفضل كله في الفكرة والتصميم ليوسي ويجايا، وأرجو أن تبلغه هذه الكلمات.&lt;/p&gt;</description></item></channel></rss>