1 पॉइंट द्वारा GN⁺ 3 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सॉफ़्टवेयर bloating वह बदलाव है जिसमें पहले एक फ्लॉपी में समा जाने वाले ऐप अब गीगाबाइट स्टोरेज और लंबे इंतज़ार की मांग करते हैं
  • 1.44MB फ्लॉपी डिस्क कोई मज़ाकिया सीमा नहीं, बल्कि संयम का मानक है, और यह मान्यता है कि single-purpose टूल भी पर्याप्त रूप से छोटे बनाए जा सकते हैं
  • छोटे सॉफ़्टवेयर का लक्ष्य तेज़ download, तुरंत launch, कम memory·CPU usage, लंबा battery time, और पुराने systems का support है
  • केवल native का उपयोग करने, dependency bloating से बचने, और इस सिद्धांत पर ज़ोर दिया गया है कि हर code का अपना अस्तित्व-कारण होना चाहिए
  • Floppy badge उन ऐप्स को दिया जाता है जिनका कुल download size 1.44MB से कम हो, और इसका मूल भाव nostalgia नहीं बल्कि हर byte को महत्व देने वाली निर्माण-दृष्टि है

छोटे सॉफ़्टवेयर के मानदंड

  • सॉफ़्टवेयर bloating के कारण पहले एक single floppy disk में समा जाने वाले ऐप अब गीगाबाइट स्टोरेज, लंबे इंतज़ार और अत्यधिक धैर्य की मांग करने लगे हैं
  • 1.44MB फ्लॉपी डिस्क को मज़ाकिया प्रतिबंध नहीं, बल्कि संयम के मानक के रूप में इस्तेमाल किया गया है
  • अगर कभी पूरे business चलाने वाला सॉफ़्टवेयर इस क्षमता में समा सकता था, तो आज के focused single-purpose टूल भी पर्याप्त रूप से छोटे बनाए जा सकते हैं
  • छोटे सॉफ़्टवेयर का लक्ष्य है कि वे जल्दी download हों, तुरंत चलें, और अनावश्यक loading को कम करें
  • कम memory और CPU usage, लंबा battery time, और पुराने systems का support देकर यह उपयोगकर्ता की device का सम्मान करते हैं
  • केवल native का उपयोग करना, dependency bloating से बचना, और यह सुनिश्चित करना कि हर code के होने का ठोस कारण हो
  • जो सॉफ़्टवेयर एक काम को अच्छी तरह करता है, उसकी functionality अधिक केंद्रित होती है, bugs कम होते हैं, और वह अधिक समय तक टिक सकता है

मापने का तरीका और उद्देश्य

  • Floppy badge उन ऐप्स को दिया जाता है जिनका कुल download size standard 3.5-inch floppy disk की capacity 1.44MB से कम हो
  • डिस्क पर दिखाया गया आकार developer के distribution platform द्वारा रिपोर्ट किए गए universal binary size पर आधारित होता है
  • वास्तविक device पर download होने वाला आकार इससे छोटा हो सकता है, क्योंकि platform thinning के जरिए केवल वही हिस्से भेजे जाते हैं जो उस विशेष hardware के लिए ज़रूरी हों
  • मूल बात फ्लॉपी डिस्क के प्रति nostalgia नहीं, बल्कि उस निर्माण-दृष्टि में है जिसमें हर byte मायने रखता है, सीमाएँ रचनात्मकता पैदा करती हैं, और सॉफ़्टवेयर हल्का होना चाहिए
  • संबंधित उदाहरण के रूप में 39KB आकार वाले पुरस्कार-विजेता गेम YOYOZO बनाने की कहानी का लिंक दिया गया है

1 टिप्पणियां

 
GN⁺ 3 시간 전
Lobste.rs की रायें
  • मोटे तौर पर सहमत हूँ, लेकिन यह काफी हद तक इस पर निर्भर करता है कि सिस्टम में पहले से क्या इंस्टॉल है। C में बना dynamic linked binary या Python script आसानी से फिट हो सकता है, क्योंकि runtime लगभग हर कंप्यूटर पर मौजूद होता है
    इसके उलट, portability के लिए static linking करें या Janet जैसी कम आम runtime वाली भाषा इस्तेमाल करें, तो यह सीमा आसानी से पार हो जाती है
    • मैं भी काफी हद तक सहमत हूँ। अगर आप target OS पर पहले से मौजूद मानी जा सकने वाली UI toolkit जैसी उचित dependencies के ऊपर native application नहीं बना रहे, तो इस size सीमा में रहना मुश्किल है। “छोटी” libc भी आमतौर पर 0.5MB से ऊपर होती है, और network request के लिए LibCURL भी कई सौ KB है, BearSSL भी लगभग उतना ही लगता है
      मेरा प्रोजेक्ट Decker बाहरी dependencies कम करने की कोशिश करता है, लेकिन portability के लिए SDL और SDL_image पर निर्भर है और उन्हें साथ ship करता है। मौजूदा Apple Silicon release compressed रूप में 6MB है, जिनमें से लगभग 4.6MB SDL और SDL_image dylib हैं। Web build लगभग 0.5MB से शुरू होता है, इस मान्यता पर कि उपयोगकर्ता के पास पहले से एक पर्याप्त आधुनिक HTML5 browser है, लेकिन browser को भी शामिल करें तो dependency सैकड़ों MB की हो जाती है
      उपयोगी applications और libraries की raw deck files अगर runtime पहले से मौजूद हो तो केवल कुछ दर्जन KB की हो सकती हैं। Love2d का भी हाल ऐसा ही है, जो SDL और कई built-in components के ऊपर चलता है, और compressed 10MB, uncompressed 25MB है। Love2d के ऊपर Lua scripts और vector graphics से कुछ दर्जन KB के उपयोगी apps बनाए जा सकते हैं, लेकिन फिर वही बात है: runtime पहले से होना चाहिए
      अगर development resources असीमित हों, तो SDL dependency से बचना एक शानदार लक्ष्य है, लेकिन ज़्यादातर SDL-आधारित projects में installer से कुछ MB कम करने के बदले कम लोकप्रिय operating systems का support पूरी तरह छोड़ना पड़ सकता है। इसे bloat माना जाए या नहीं, यह नज़रिए पर निर्भर करेगा
  • software को बड़ा होने से बचाना अच्छा है, लेकिन ज़्यादातर बड़े applications software से ज़्यादा asset files की वजह से बड़े होते हैं। Display resolution बढ़ गई है, और अब पहले की तुलना में user experience पर ज़्यादा ध्यान दिया जाता है
    पहले केवल text भी एक उचित विकल्प था, लेकिन आजकल ऐसा कम है। दिए गए motivations की सूची में वास्तविक raw binary size से सीधे जुड़ी केवल पहली बात है; बाकी ज़्यादा से ज़्यादा अलग तरह के अच्छे side benefits हैं
    ऊपर से, वह website खुद भी 1,600-byte के manifesto को पहुँचाने के लिए लगभग 200,000 bytes इस्तेमाल करती है
  • मैंने ऐसे games खेले हैं जो 4 से ज़्यादा floppy disks पर आते थे, और वह दौर भी देखा है जब साथ में 100-page का printed manual आता था जिसमें पूरा dialogue भरा होता था। उस तरीके के वापस आने की मुझे बिल्कुल ज़रूरत नहीं लगती
    • game को तीन अलग-अलग media से दिमाग में जोड़कर समझना पड़े, यह थोड़ा शानदार भी लगता है :-) उस दौर का आपका पसंदीदा game कौन-सा था?
  • जाना-पहचाना लग रहा है https://fosstodon.org/@dillo/113913161923323567
    https://cdn.fosstodon.org/media_attachments/files/…
  • बचपन में floppy से games install करने में समय बिताया है, इसलिए nostalgia तो है, लेकिन यह बस खालिस nostalgia है
    आज के users को पता भी नहीं चलेगा कि download 1.44MB है, 2.88MB है या उससे बड़ा, और executable चलाते समय भी उन्हें कोई फर्क महसूस नहीं होगा
  • “पहले जो app एक floppy में आ जाता था, वह अब कई GB storage, कई मिनट का समय और बहुत ज़्यादा patience माँगता है” — यह बात बढ़ा-चढ़ाकर कही गई है
    एक-floppy applications थे, लेकिन 80s-90s के ज़्यादातर गंभीर software कई disks में बाँटकर वितरित किए जाते थे। उदाहरण के लिए Microsoft Word v2.0 on 7 disks with 2 supplemental disks, Lotus 1-2-3 on 13 floppy disks, और Doom भी 4 floppy disks में आता था
    एक floppy में फिट होना वाली सोच floppy युग में भी आम नहीं थी, और सब जानते थे कि बड़े software को कई disks में बाँटकर दिया जा सकता है
  • वह समय याद है जब Linux distribution को एक floppy में फिट किया जा सकता था। Tom's RootBoot Disk एक शानदार recovery system था
  • ज़रा ठहरिए, क्या इसका मतलब है कि हर binary में Lovecraft का 2KB quote डालना मना है?
  • मैंने यह screensaver 1-2 हफ़्ते इस्तेमाल किया, और यह बहुत मज़ेदार है। आधा flying toasters, आधा “अरे, मैं उस disk को पहचानता हूँ” वाला एहसास है
  • हाल ही में परिवार के साथ एक quiz show देख रहा था, जिसमें पूछा गया कि एक standard floppy में कितना data रखा जा सकता है। 23 साल के बच्चे ने अपनी ज़िंदगी में कभी floppy देखी ही नहीं थी, जबकि अपने हमउम्रों की तुलना में उसकी computer knowledge काफ़ी अच्छी है