1 पॉइंट द्वारा GN⁺ 2024-02-12 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Bitwise Liminal 256-बाइट कोड से बनी एक वेब-आधारित शॉर्ट फिल्म है, जिसे Lovebyte Party 2024 में पेश किया गया था
  • कहानी एक yard sale में मिली पुरानी VHS tape से शुरू होती है, जिस पर “Bitwise Liminal” लेबल लगा होता है
  • चलाई गई tape में केवल static noise दिखाई देता है, लेकिन इसके बाद वक्ता बेचैन करने वाले सपनों और tape के प्रति जुनून का अनुभव करने लगता है
  • जांच के अंत में पता चलता है कि tape एक digital backup है, और special software से recover किया गया data 256-बाइट का program था
  • जब program को web browser में खोला जाता है, तो सपनों से मिलते-जुलते दृश्य दिखाई देते हैं, और वक्ता अब सोता नहीं, बस उसे लगातार देखता रहता है

256-बाइट कोड से बनी शॉर्ट फिल्म

  • Bitwise Liminal एक छोटा code-based work है, जिसका उपशीर्षक “A Short Film in 256 Bytes of Code” है
  • इसे Lovebyte Party 2024 में पेश की गई entry के रूप में दिखाया गया है
  • यह कहानी के रूप में है जिसमें पुरानी VHS tape मिलने के बाद उसके अंदर छिपे data को recover कर web browser में run किया जाता है

VHS tape से browser तक चलती कथा

  • वक्ता को एक yard sale में पुरानी VHS tape मिलती है, जिस पर Sharpie से “Bitwise Liminal” लिखा था
  • tape चलाने पर screen पर केवल static noise दिखता है
  • इसके बाद वह जीवंत और बेचैन करने वाले सपने देखने लगता है, और अजीब VHS tape बार-बार याद आती रहती है
  • जांच से पता चलता है कि tape एक digital backup है, और special software से data recover किया जाता है
  • recover किया गया data 256-बाइट का program था, और वक्ता कांपते हाथों से इसे web browser में खोलता है
  • browser में दिखा दृश्य वक्ता को अपने सपनों की याद दिलाता है, और अंत में स्थिति ऐसी हो जाती है कि अब उसे सोने की जरूरत नहीं, वह बस लगातार देखता रहता है

1 टिप्पणियां

 
GN⁺ 2024-02-12
Hacker News की राय
  • यह काफ़ी प्रभावशाली है और सचमुच किसी फ़िल्म के सीन जैसा दिखता है। लेकिन जब सोचते हैं कि यह 256 bytes में समा जाता है, तो फिर से एहसास होता है कि हम रोज़ जो चीज़ें इस्तेमाल करते हैं वे कितनी फूली हुई हो गई हैं, और आज के browser कितने शक्तिशाली हैं।
    फिर भी, हाल में HN पर शेयर किया गया 8K demo "the Sheep and the Flower" https://news.ycombinator.com/item?id=39121101 या "One of those days" — जो एक असली YouTube वीडियो https://www.youtube.com/watch?v=R1NagZN2kjY का remake है — https://www.pouet.net/prod.php?which=75790 / YouTube वीडियो https://youtu.be/8T_Um-cw0Wc — मुझे उससे भी ज़्यादा चौंकाने वाले लगे।
    वे 256-byte फ़िल्म से काफ़ी बड़े हैं, लेकिन graphics और कहानी दोनों कहीं ज़्यादा पहुँचाते हैं

  • क्या हमारे जैसे आम लोगों के लिए कोई annotated version है, जिसमें हर हिस्से को खोलकर समझाया गया हो?

    • मैंने कोड को हाथ से खोलने की कोशिश की, और जहाँ संभव था वहाँ comments और अर्थपूर्ण variable names जोड़ दिए। फिर भी, अंदर का math अब तक समझ नहीं पाया हूँ।
      https://github.com/callumlocke/bitwise-liminal-expanded
  • हाल की संबंधित पोस्ट: Cross My Heart – A Frogger Demake in 256 Bytes of HTML/JS - https://news.ycombinator.com/item?id=39336677 - फ़रवरी 2024, 44 comments
    आम तौर पर follow-up submissions का weight कम कर दिया जाता है(https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=follow-up%20downweight&sort=byDate&type=comment), लेकिन इस बार (a) submitter खुद author है और (b) काम बेहतरीन है, इसलिए https://news.ycombinator.com/showhn.html के मानदंडों के अनुसार इसे Show HN में बदलकर वैसे ही रहने दिया गया

  • अगर यह “short film” है, तो अभी-अभी आपने मेरा नया उपन्यास पढ़ लिया

    • अगर t+=.1 को t+=.01 में और 9986 को 9e3 में बदल दें, तो फिर भी 256 bytes के अंदर लगभग 45-second loop बनाया जा सकता है। बस स्क्रीन के निचले हिस्से का थोड़ा भाग कट जाएगा
  • छोटी-सी बात है, लेकिन सिर्फ onload event इस्तेमाल करने के लिए canvas के अंदर svg embed किया गया हो, यह मैंने पहली बार देखा। इस संदर्भ में canvas को bare id से refer किया जा रहा है, जो अजीब भी है और शानदार भी

    • पता चला कि script tag इस्तेमाल करने से svg onload में डालना थोड़ा-सा और छोटा पड़ता है।
      canvas onclick event में डालें तो शायद थोड़ी और जगह बच सकती है
    • मुझे हैरानी है कि यह allowed क्यों है। मुझे नहीं पता था कि JavaScript में ऐसा किया जा सकता है
  • आम 1KB game jam की तरह zip, gzip, और suffix processing के बाद का result submit करना और assets को नियमों से बाहर रखना नहीं, बल्कि सचमुच के pure 256 bytes होना ही सबसे ज़्यादा कमाल की बात है। सलाम।

    • यह भी शानदार है: https://linusakesson.net/scene/a-mind-is-born/
    • यह लगभग नामुमकिन-सी पागल चुनौती है, और जब सच में काम कर जाए तो जादू जैसा लगता है
    • entry के अंदर decompressor शामिल करना हमेशा संभव है। PNG bootstrap JavaScript demoscene में बहुत पहले से काफ़ी लोकप्रिय रहा है, और 1KB या उससे बड़े demos में इसका असर दिखना शुरू हो जाता है।
      इससे छोटे आकारों के लिए और विकल्प भी हैं, लेकिन 256-byte demo आम तौर पर decompressor रखने के लिए बहुत छोटा होता है। हालांकि assets को नियमों से बाहर रखने वाली बात से मैं सहमत हूँ
    • क्या ऐसी प्रतियोगिताओं में import gameassets भी allowed होता है?
      वैसे, Python में import GOTO काम करता है :)
  • इस व्यक्ति का काम हमेशा दंग कर देता है। इस्तेमाल किए गए tools का विवरण यहाँ है: https://frankforce.com/tools/
    micro-animation blog Dwitter पर उनका काम यहाँ है: https://www.dwitter.net/u/KilledByAPixel
    YouTube विवरण: https://www.youtube.com/watch?v=HV7Dmo277Rs

    • वह “YouTube विवरण” असल में यह नहीं समझाता कि Dweet कैसे काम करते हैं। काम अपने-आप में चकित करने वाला है, देखना भी अच्छा लगा, और उन्हें खुद समझाते सुनने की उम्मीद भी थी, लेकिन विस्तृत कार्यप्रणाली की व्याख्या खोजने वाले लोगों के लिए वह वीडियो निराशाजनक होगा
  • इसे देखकर लगता है कि पूरा जीवन सचमुच DNA में encode किया जा सकता है। मैंने कहीं पढ़ा था कि अगर मानव genome को gzip से compress करें तो वह लगभग 4MB होता है, और सहज रूप से यह किसी इंसान को व्यक्त करने के लिए बहुत छोटा लगता था
    लेकिन अगर 256 bytes से ऐसा व्यवहार निकल सकता है, तो साफ़ है कि मेरी सहज धारणा गलत थी

    • 4MB 2^(3.2 * 10^7) संभावित अवस्थाओं में फ़र्क करने के लिए काफ़ी है। मान लें कि उन अवस्थाओं में से बेहद छोटे हिस्से के भी बेहद छोटे हिस्से के भी बेहद छोटे हिस्से के भी बेहद छोटे हिस्से को कार्यशील जीव के रूप में समझने वाला एक decompressor मौजूद है
      पृथ्वी पर लगभग 1 trillion species हैंhttps://www.nsf.gov/news/news_summ.jsp?cntn_id=138446, और मान लें कि अभी मौजूद न होने वाली संभावित species उनसे 1 trillion गुना ज़्यादा हैं, और हर species में 1 trillion variations हैं। इसके ऊपर उदारता से एक और 1 trillion से गुणा करें, तब भी Wolfram Alpha के अनुसारhttps://www.wolframalpha.com/input?i2d=true&i=Divide%5BPower%5B2%2C3.2Power%5B10%2C7%5D%5D%2Ca+trillion+trillion+trillion+trillion%5D++a+percent+of+a+percent+of+a+percent+of+a+percent लगभग 10^(10,000,000) के स्तर की error margin बची रहती है
      यहाँ “लगभग” का मतलब कुछ वैसा है जैसे कहना कि पर्वत-श्रृंखला मोटे sandpaper जैसी है, लेकिन संख्या इतनी गोल है कि उसे round किए बिना रहा भी नहीं जा सकता
    • यह सोचना गलतफ़हमी है कि सिर्फ DNA से किसी जीव की प्रतिकृति बनाई जा सकती है। नए जीव के बनने के लिए माता-पिता से मिलने वाला भ्रूण का जैविक आधार, यानी biological infrastructure, भी चाहिए
    • कुछ दिन पहले HN पर एक लेख आया था जो DNA को code और cell को computer या machine की तरह देखने वाले नज़रिए का विरोध करता है
      https://www.nature.com/articles/d41586-024-00327-x
    • अगर शून्य में सिर्फ DNA से जीवन बनाया जाए, तो वह शायद काफ़ी उबाऊ होगा। पूरे जीवन के लिए अंतःक्रिया करने वाला एक environment चाहिए, और अभी के हिसाब से ऐसा environment सिर्फ एक ही है, और जो चीज़ एकमात्र हो, वह अच्छी तरह compress नहीं होती
      और अगर Mandelbrot set को फिर से देखें, तो काफ़ी सरल प्रक्रिया में भी बहुत बड़ी मात्रा में जानकारी समाई होती है
      आख़िर में, इन 256 bytes के प्रभाव को थोड़ा कम करके देखें तो यह भी ध्यान रखना होगा कि इसे support करने के लिए hardware और software चाहिए। ये 256 bytes C64 पर वही भ्रम पैदा नहीं कर पाएँगे
    • यह 4MB का random number generator seed भी हो सकता है
  • यह देखकर मेरे 5560U का system fan 100% तक चला गया :-)

  • क्या कोई समझा सकता है कि इस short film में हम देख क्या रहे हैं? काले-सफ़ेद animation में डिब्बे चलते हुए और noise मिली हुई रेखाएँ दिखती हैं, लेकिन इसका मतलब समझ नहीं आ रहा

    • वही तो फिल्म है
      हैरानी की बात यह है कि file size कितना छोटा है। सिर्फ 256 bytes
      यह कितना बड़ा कारनामा है, इसे ऐसे समझें: पूरी फिल्म अपने पहले frame के screenshot से लगभग 58 गुना छोटी है। एक 1.44MB floppy disk में इस पूरी फिल्म की 5,000 से ज़्यादा copies रखी जा सकती हैं और फिर भी जगह बच जाएगी
      आम तौर पर video कई images और इस जानकारी से मिलकर बनती है कि image के कौन से हिस्से कहाँ जाएँगे
      लेकिन इस फिल्म में image data है ही नहीं। इसमें बस थोड़ा-सा math है जो समय के साथ अलग-अलग brightness वाले boxes बनाता है