2 पॉइंट द्वारा GN⁺ 2025-02-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • दुनिया की सभी किताबों को ISBN स्पेस में विज़ुअलाइज़ करना

  • पुस्तकालय लंबे समय से मानवता के ज्ञान को एकत्र करने की कोशिश करते रहे हैं। डिजिटल युग में, यह संभव हो सकता है कि कुछ मानदंडों को पूरा करने वाली मानवता की सभी लिखित सामग्री को व्यापक रूप से एकत्र किया जाए। शैडो लाइब्रेरीज़ जितनी संभव हो उतनी अधिक किताबों को एकत्र और साझा करने की भूमिका निभाती हैं.

  • ISBN (International Standard Book Number) लगभग हर प्रकाशित पुस्तक को दिया जाने वाला 13-अंकों का नंबर है। इस नंबर की एक विशिष्ट संरचना होती है, जिसकी मदद से 2 अरब स्लॉट वाले ISBN13-space को विज़ुअलाइज़ किया जा सकता है.

  • ISBN की अनूठी संरचना

    • ISBN का 978-/979- prefix European Article Number का एक subset है। इस prefix को लगभग नज़रअंदाज़ किया जा सकता है.
    • International ISBN Agency बड़े ISBN blocks अंतरराष्ट्रीय संगठनों को आवंटित करती है, और फिर हर देश अपने स्तर पर उन्हें publishers के लिए छोटे blocks में बाँटता है.
    • ISBN blocks हमेशा prefix के आधार पर आवंटित होते हैं। उदाहरण के लिए, जापान को 978-4 आवंटित किया गया है, और उसी के आधार पर वह publishers को ISBN आवंटित करता है.
  • Space-filling curve

    • ISBN से prefix और suffix हटाने पर 0 से 2 अरब के बीच की एक decimal संख्या मिलती है। इसे 2D space में project करने का कोई तरीका चाहिए.
    • Hilbert curve जैसी space-filling curves का प्रस्ताव किया गया था, लेकिन वे ऐसे structures ला सकती हैं जो डेटा में वास्तव में मौजूद नहीं हैं.
  • "बुकशेल्फ़" curve

    • ISBN मूल रूप से decimal संख्या है, और इसी का उपयोग करके एक ऐसी space-filling curve बनाई जा सकती है जो समझने में आसान और देखने में आकर्षक हो.
    • यह curve एक किताबों की अलमारी जैसी दिखती है, और एक सरल coordinate transform के जरिए ISBN को coordinates में बदला जा सकता है.
  • Map tiles

    • हर prefix के लिए tile images बनाई जा सकती हैं। हर dataset के लिए प्रति pixel अलग जानकारी स्टोर की जाती है.
    • अधिकतम zoom level पर सटीकता के लिए 1 pixel पर 1 किताब map की जाती है.
  • Shader

    • RGB data को सीधे स्टोर करने के बजाय rendering के लिए GLSL fragment shader का उपयोग किया जाता है। इससे बाद में color scale चुनी जा सकती है, और कई datasets को तुरंत combine किया जा सकता है.
  • बुकशेल्फ़ view

    • पूरी तरह zoom in करने पर हर pixel को किताब की तरह style किया जाता है। यह shader में implement किया गया है और zoom के साथ धीरे-धीरे दिखाई देता है.
  • Performance

    • text rendering को zoom level और view frustum culling के अनुसार hierarchical तरीके से implement किया गया है। performance समस्याओं को हल करने के लिए HTML elements घटाए गए हैं और DOM content को सीमित रखा गया है.
  • Barcode

    • अधिकतम zoom पर हर किताब के साथ एक barcode होता है। इसे ISBN के आधार पर किताबों को क्रमबद्ध करने की अवधारणा को मज़बूत करने के लिए जोड़ा गया है.
  • Publisher ranges

    • हर "group" एक बड़ा range रखता है, और हर publisher उस group के भीतर एक छोटा range रखता है। इसे विज़ुअलाइज़ करने के लिए हर group और publisher को एक अलग रंग दिया जाता है.
  • Flight path

    • किताब खोजने पर या minimap पर क्लिक करने पर दृश्य उस स्थान तक जाता है। flight path की गणना जटिल है और इसे कई प्रयासों के बाद बेहतर बनाया गया.
  • Architecture

    • backend की आवश्यकता नहीं है; HTML, JS, CSS, PNG, JSON को स्टोर करने के लिए static file host का उपयोग किया जाता है.
    • frontend को ThreeJS, React, MobX का उपयोग करके implement किया गया है.
  • निष्कर्ष

    • यह ISBN के जरिए प्रकाशित सभी किताबों को विज़ुअलाइज़ करने का एक लचीला तरीका प्रदान करता है। यह प्रोजेक्ट बनाना बहुत आनंददायक रहा, और इसका source code GitHub पर देखा जा सकता है.

1 टिप्पणियां

 
GN⁺ 2025-02-02
Hacker News टिप्पणियाँ
  • Amazon शुरू करते समय, Library of Congress की त्रिस्तरीय वर्गीकरण प्रणाली का उपयोग करना चाहते थे, लेकिन डेटा प्रदाता ने उसे एक ही string में बदल दिया था, जिससे सीमाएँ ढूँढना मुश्किल हो गया। अंततः इस विचार को छोड़ना पड़ा

  • कुछ मामलों में ISBN कई किताबों को डुप्लिकेट रूप से आवंटित हो जाते हैं, इसलिए "ISBN space की सभी किताबें" कहना अतिशयोक्ति हो सकता है। साथ ही, गलत ISBN वाली किताबें भी होती हैं, इसलिए वे ब्लॉग पोस्ट में माने गए ISBN space के बाहर हो सकती हैं

  • प्रस्तुति केवल Anna’s Archive की सामग्री को दर्शाती है, और इसमें कुछ भाषाओं की ओर पक्षपात है। काले रंग में दिखाए गए हिस्से archive में गायब प्रविष्टियों को दर्शाते हैं

  • यह प्रोजेक्ट शानदार है, और किताबों के शीर्षक, barcode, book cover और विवरण देखने की सुविधा प्रभावशाली है। सुधार के एक विचार के रूप में ऊपर-बाएँ सफेद panel और ऊपर-दाएँ तत्वों को छिपाने के लिए checkbox जोड़े जा सकते हैं

  • hyperbolic upper half-plane में movement को मॉडल करके flight path के बारे में सोचा जा सकता है। zoom level के अनुसार tiles को न्यूनतम करने के तरीकों पर विचार किया गया, और मौजूदा implementation ऊँचे zoom level पर panning में अधिक समय खर्च करती है

  • मौजूदा format में प्रस्तुति थोड़ी overwhelming लगी, लेकिन data visualization और इसकी depth बेहतरीन है। किसी खास क्षेत्र की publishing activity देखना दिलचस्प था; Poland हाल में सक्रिय रहा है, और China में 2005 के बाद से बड़ा उछाल आया है

  • Microsoft SilverLight PivotViewer इस application के लिए उपयुक्त लगता है, और Gary W. Flake का TED talk प्रभावशाली है। लेकिन यह web standard न होने के कारण खटकता है

  • वास्तविक दुनिया के Library of Babel जैसे प्रोजेक्ट दिलचस्प हैं, और अगर अनंत library या museum को VR में साकार किया जाए तो उस पर निवेश करना सार्थक होगा

  • zoom in करने पर bookshelves दिखाई देना बहुत शानदार है

  • यह बेहद शानदार visualization है, और ऐसी और भी कई शानदार submissions हैं