256-बाइट कोड शॉर्ट फिल्म ‘Bitwise Liminal’
(killedbyapixel.github.io)- 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 टिप्पणियां
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 है, जिसमें हर हिस्से को खोलकर समझाया गया हो?
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 बनाया जा सकता है। बस स्क्रीन के निचले हिस्से का थोड़ा भाग कट जाएगाछोटी-सी बात है, लेकिन सिर्फ
onloadevent इस्तेमाल करने के लिए canvas के अंदर svg embed किया गया हो, यह मैंने पहली बार देखा। इस संदर्भ में canvas को bare id से refer किया जा रहा है, जो अजीब भी है और शानदार भीscripttag इस्तेमाल करने से svg onload में डालना थोड़ा-सा और छोटा पड़ता है।canvas onclickevent में डालें तो शायद थोड़ी और जगह बच सकती हैआम 1KB game jam की तरह zip, gzip, और suffix processing के बाद का result submit करना और assets को नियमों से बाहर रखना नहीं, बल्कि सचमुच के pure 256 bytes होना ही सबसे ज़्यादा कमाल की बात है। सलाम।
इससे छोटे आकारों के लिए और विकल्प भी हैं, लेकिन 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
इसे देखकर लगता है कि पूरा जीवन सचमुच DNA में encode किया जा सकता है। मैंने कहीं पढ़ा था कि अगर मानव genome को gzip से compress करें तो वह लगभग 4MB होता है, और सहज रूप से यह किसी इंसान को व्यक्त करने के लिए बहुत छोटा लगता था
लेकिन अगर 256 bytes से ऐसा व्यवहार निकल सकता है, तो साफ़ है कि मेरी सहज धारणा गलत थी
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 किए बिना रहा भी नहीं जा सकता
https://www.nature.com/articles/d41586-024-00327-x
और अगर Mandelbrot set को फिर से देखें, तो काफ़ी सरल प्रक्रिया में भी बहुत बड़ी मात्रा में जानकारी समाई होती है
आख़िर में, इन 256 bytes के प्रभाव को थोड़ा कम करके देखें तो यह भी ध्यान रखना होगा कि इसे support करने के लिए hardware और software चाहिए। ये 256 bytes C64 पर वही भ्रम पैदा नहीं कर पाएँगे
यह देखकर मेरे 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 बनाता है