المؤلف هو سالفاتور سانفيليبو الملقب بأنتيرز ، أحد المطورين الرئيسيين لقاعدة بيانات Redis ، وهو موظف في Redis Labs. تم نشر المقالة في 12 سبتمبر 2018كانت الأيام القليلة الماضية مرهقة للغاية. كانت إحدى الحجج في الخلاف حول استبدال أو عدم استبدال الكلمات المستخدمة في رمز النسخ المتماثل Redis ما يلي: هل يستحق العمل الذي لا يؤدي إلى أي نتيجة تكنولوجية؟
[إن الأمر يتعلق باستبدال مصطلحات "سيد / عبد" في النسخ المتماثل - تقريبًا. لكل.]في عملية تنظيف مصادر Redis من كلمة معينة ، حيثما أمكن ، اعتقدت أنني أحب كتابة التعليمات البرمجية حتى بدون تأثيرات تكنولوجية قابلة للقياس. إن استبدال الكلمات هو عمل روتيني للغاية ، فهو ببساطة مزعج ، حتى إذا حدثت مشاكل تكنولوجية جديرة على طول الطريق. ولكن هناك نوع آخر من التعليمات البرمجية بجودة خاصة ، والتي يمكنني تسميتها "قيمة الاختراق". قد لا تحل أي مشكلة ، لكنها لا تزال مهمة جديرة بالاهتمام. هناك عدة أسباب. في بعض الأحيان تكون عملية كتابة التعليمات البرمجية مفيدة من تلقاء نفسها. في بعض الأحيان يتم استخدام الأفكار المتقدمة تقنيًا لحل مشكلة غير حرجة. وأحيانًا تتم كتابة الرمز فقط لأسباب جمالية.
دفعت المناقشات الغبية والفوضوية والحارة في الأيام الأخيرة على Twitter فكرة أننا الآن بعيدون جدًا عن المتسللين الأوائل في الستينيات. لقد أصبح من الصعب كل عام مناقشة التكنولوجيا من وجهة نظر القراصنة - بدون أفكار ومشاكل جاهزة ، حيث يكون الهدف هو البحث الخالص. لجميع أنحاء "أفضل الممارسات" المتقدمة. هناك تحريم لكل فكرة. أقول LOLWUT لهذا العالم الجديد ، لأنني لا أشعر أنني جزء منه ، وهو ليس مخترقًا تمامًا ، على الأقل في رؤيتي. وبالتالي ، كانت الفكرة هي قضاء بعض الوقت على فكرة غير مجدية تقنيًا ، للبحث عن شيء من الستينيات.
تذكرت على الفور إحدى القطع المفضلة لدي في فن الكمبيوتر -
حصى سكوتر من
جورج نيس . كتب المؤلف في ALGOL برنامج رسام ولّد أعمالًا فنية باستخدام الفوضى (أرقام عشوائية).
[تصبح الأشكال النحيلة تدريجيًا في الصورة فوضوية أكثر فأكثر - والعكس صحيح ، يتم ترتيب الفوضى بشكل منظم في هيكل منظم ، إذا قمت بتدوير الصورة 180 درجة - تقريبًا. العابرة.] . هذه الحصى رائعة في بساطتها ومعناها العميق ، والتي يمكن للمشاهد فهمها. تحت غطاء من الهدوء التام ، تكمن الفوضى في أعماق النظام. إذا قلبت الصورة رأسًا على عقب ، فستبدو مثل البحر أثناء العاصفة. فوضى عارمة على السطح ، وفي أعماق البحر لا تزال هادئة.
هل من الممكن تحويل عمل فني إلى فريق DB؟ هذا معقد للغاية ، لأن Redis يستخدم بشكل أساسي من سطر الأوامر. في الوقت الحاضر ، أصبحت وحدات التحكم أكثر تعقيدًا مما كانت عليه في الماضي ، ولكن عرض رسومات لائقة أمر صعب. من ناحية أخرى ، لدينا ميزة كبيرة في الحوسبة في الوقت الحقيقي - يمكن أن تصبح الصورة ديناميكية وتتغير مع كل جيل.
قبل المتابعة ، سأريكم النتيجة النهائية:

على الرغم من دقة منخفضة للغاية ، تم الحفاظ على الفكرة الأصلية. لقد قمت هنا بتطبيق خدعة تستخدمها العديد من البرامج ، والتي تعرض أشياء متنوعة مثيرة للاهتمام في وحدة التحكم النصية. الجزء الأول من الحل هو استخدام برايل Unicode لإنشاء مصفوفة بكسل بدقة أعلى من أحرف وحدة التحكم الفردية. على وجه الخصوص ، لكل رمز ، يمكن عمل شبكة 2 × 8 بكسل.
الجزء الثاني هو معلمات الصورة:

يمكنك إنشاء عدة نسخ من الصورة عن طريق تغيير عدد المربعات ودقة الإخراج. وأخيرًا ، أردت كتابة شفرة المصدر كمثال على البرمجة المختصة - في شكل يبدو أشبه بالكتاب المدرسي مع وصف تفصيلي لكل خطوة ، وليس مجرد مولد الصندوق الأسود. الكود
هنا .
بدءًا من Redis 5 ، سيصبح فريق LOLWUT قياسيًا. في كل إصدار رئيسي جديد ، ستتغير وظائفه بالكامل. تبقى مجموعة القواعد فقط دون تغيير:
- لا يمكنها فعل أي شيء مفيد.
- يجب أن يعمل بسرعة بحيث يمكن استدعاؤه بأمان في الخوادم في الإنتاج.
- يجب أن تكون النتيجة مثيرة للاهتمام بطريقة ما.
لقد كتبت الإصدار الأول لـ Redis 5. في الإصدار التالي سأطلب من شخص آخر من مطوري Redis الذين يرغبون في ذلك ، وإلا سأكتبه بنفسي (آمل ألا أكون مضطرًا للقيام بذلك). يجب أن يذكرنا فريق LOLWUT بأن عملنا - البرمجة - موجود ليس فقط من أجل الصالح. في البداية ، كان الهدف الرئيسي هو استكشاف
الفرص . آمل أن يقوم LOLWUT أيضًا بتذكير مجتمع Redis بأن أجهزة الكمبيوتر مصممة للناس ، وأنه لا يمكنك التحدث عقيمًا ، والتفكير فقط في الآثار التكنولوجية. هناك أناس يعيشون يستخدمون الأنظمة التي تبني الأنظمة وما إلى ذلك.