1 पॉइंट द्वारा GN⁺ 3 시간 전 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Ratty एक GPU rendering terminal emulator है जो inline 3D graphics को सपोर्ट करता है
  • इसमें घूमता हुआ चूहे का cursor शामिल है
  • साइट पर blog post पढ़ा जा सकता है
  • साइट पर Ratty download पर जाया जा सकता है
  • साइट पर source check पर जाया जा सकता है

2 टिप्पणियां

 
GN⁺ 2 시간 전
Hacker News टिप्पणियाँ
  • यहाँ कुछ लोग VR उपयोग की बात कर रहे थे, और मैंने पहले software development के लिए shallow 3D UI के साथ थोड़ा काम किया है
    यह laptop स्क्रीन के अंदर कुछ cm की उथली depth तक सीमित था ताकि पूरे दिन इस्तेमाल करने पर भी VAC eye strain कम रहे, और कमरे में हाथ लहराने से ज़्यादा 3D में color और layer जोड़कर drawing करने जैसा लगता था
    3D को wobble 3D, webcam head/eye tracking से बने perspective, shutter-glasses stereo, XR HMD आदि से किया जा सकता है. wobble तरीका सबसे आसान है, लेकिन थोड़ा प्यारा और distract करने वाला है, जबकि perspective ज़्यादा subtle और कम परेशान करने वाला होता है
    किसी app का stereo pair या तो “बाएँ/दाएँ आँख के लिए दो window देना” हो सकता है, या “left/right view को बारी-बारी दिखाना और labeling/synchronization/polling करना”, और इनमें से काफ़ी चीज़ों के लिए window system/manager/desktop support चाहिए. Electron और X को stack करके इस्तेमाल करने वाले तरीके में काफ़ी leverage मिला था
    text को 3D में push करना colorization से ज़्यादा मज़ेदार है, और अगर बिखरे हुए appearance को स्वीकार करें तो depth से अलग की गई auxiliary information layers भी डाली जा सकती हैं. अगर Emacs में character-wise depth हो, तो LispM में भी न रही कोई चीज़ मिल जाएगी
    लेकिन code text जैसी चीज़ों, जो मूल रूप से 3D नहीं हैं, की संभावनाएँ खोजते समय foreground/background color, font, Unicode, animation के साथ UX prototyping करना कहीं आसान है, और browser में overlapping divs तथा transparent 2D/3D canvas इस्तेमाल किए जा सकते हैं

    • मेरे पास एक पूरी तरह काम करने वाला 3D glyph-based text rendering system है, लेकिन लोगों से उसे सच में देखवाना मुश्किल रहा
      हर character 3D में रखा गया एक quad है और instance rendering से render होता है, इसलिए tens of millions से भी ज़्यादा handle किए जा सकते हैं. हर character को अलग polygon की तरह individually address और modify किया जा सकता है
      मैं इसका उपयोग पूरे GitHub repository को एक साथ render करने के लिए कर रहा हूँ, और इसके native Apple version और web version दोनों हैं. web version में IDE configuration के basic elements शामिल हैं, और मैं insights या thoughts सुनना चाहूँगा
      https://ivanlugo.dev/ide
  • UNIX अभी भी REPL experience में Xerox workstations या सामान्य Lisp machines की बराबरी करने की कोशिश करता हुआ लगता है
    1981 में भी inline graphics मौजूद थे
    https://youtu.be/o4-YnLpLgtk?t=376

    • कभी-कभी लगता है कि हम 1968 की Mother of all Demos में पहले ही हल हो चुकी UX चीज़ों का पीछा करते जा रहे हैं
      जिन्होंने अब तक नहीं देखा: https://www.youtube.com/watch?v=yJDv-zdhzMY
    • वह 3D नहीं है
    • या फिर TempleOS भी है
  • यह मुझे पसंद आया. ऐसा कोई कारण नहीं है कि terminal सिर्फ text ही support करे
    data science notebooks दिखाते हैं कि terminal किस दिशा में evolve हो सकता है, और इस क्षेत्र में बहुत दिलचस्प काम हो रहा है. शायद Kitty यहाँ सबसे aggressive innovator है [1]
    बस यह स्पष्ट नहीं है कि कोई overall vision है या नहीं
    [1]: https://sw.kovidgoyal.net/kitty/protocol-extensions/

    • evolve करने की ज़रूरत ही नहीं है. मेरे project euporie [1] का उपयोग करें, तो आप data science notebooks को graphics image output, HTML, LaTeX आदि के साथ पूरी तरह terminal के अंदर ही इस्तेमाल कर सकते हैं
      [1] https://github.com/joouha/euporie
    • pyvista के साथ Kitty graphics का उपयोग करके arbitrary 3D shapes को सीधे terminal में render कराने में सफलता मिली
      यह बहुत बड़ा hack है, और performance पाने के लिए shm इस्तेमाल करने के अलावा कोई तरीका नहीं था
      https://git.theresno.cloud/panki/kglobe
    • Terry A Davis ने यह पहले ही कर दिया था. तब भी यह उतना ही पागलपन था जितना अब है
    • अगर इस 3D graphics को data science notebooks, local LLM, integrated coding harness, और personal data की visibility के साथ मिलाया जाए, तो इससे कुछ बेतुका-सा शानदार बन सकता है
      शायद यह मेरे आदर्श computing future, यानी “haiku+macOS mashup”, से भी आगे निकल जाए
    • सोच रहा हूँ क्या यह terminal के thumbnails पर भी काम कर सकता है
      मैं आम तौर पर file manager क्लिक करके इस्तेमाल करने की जगह terminal से file system browse करना पसंद करता हूँ, और अगर directory के अंदर 3D models (STL/STEP, 3D printing) को terminal-based rendering में दिखाने वाला grid ls हो, तो वह सच में बहुत उपयोगी होगा
      अगर models को preview करके घुमा-फिराकर देख भी सकें तो और भी अच्छा होगा
  • इसका उपयोग कहाँ होगा, यह तो नहीं जानता, लेकिन visual effect मज़ेदार था और website का brutalist design भी पसंद आया. इससे पुराने अच्छे दिनों की याद आ गई

  • यह काफ़ी अच्छा लग रहा है, है ना?
    एक सवाल है. rendering क्षमता को देखते हुए लगता है कि यह 2D भी अच्छी तरह संभाल सकता होगा, या मैं गलत देख रहा हूँ? terminal में high-quality 2D images या rasterization पाने के मौजूदा solutions ज़्यादातर खास अच्छे नहीं रहे. जानना चाहता हूँ कि क्या यह दूसरे solutions से बेहतर हो सकता है, या कहीं कोई fundamental limitation आ जाती है
    और अगर GPU acceleration है, तो ssh में यह कैसे काम करेगा, यह भी जानना चाहूँगा

    • Kitty graphics protocol काफ़ी अच्छा है, और Ghostty इसे पूरी तरह implement करता है
    • पहले से ही काफ़ी GPU-based terminal emulators हैं. क्या आप उसी तरह की चीज़ ढूँढ रहे हैं?
  • terminal धीरे-धीरे full-featured web browser बनता जा रहा है

    • लगता है “हमेशा से ऐसा ही था” वाला meme अब आने ही वाला है. थोड़ा गंभीर होकर कहें तो tool का उद्देश्य काम पूरा करना है, और आख़िर सवाल यही है कि क्या इस tool को उपयोगी बनाया जा सकता है
      सच कहूँ तो अभी नहीं पता, लेकिन जल्द ही ख़ुद आज़माकर देखने वाला हूँ :D
    • आप तो यही चाहते थे…
      https://github.com/fathyb/carbonyl
    • या फिर terminal पहले से ही full-featured web browser हो सकता है
      https://hyper.is/
    • सच में ऐसा ही लगता है
  • Terry की आत्मा को शांति मिले. उम्मीद है उन्हें कभी भुलाया नहीं जाएगा
    और जोड़ना चाहूँगा कि इस project को देखकर लगता है उनकी spirit अब भी ज़िंदा है :D

  • यह देखकर वह समय याद आ गया जब compiz आया था और सब कहते थे, “मेरी window cube पर है” या “मुझे wobbly windows चाहिए”
    इसलिए मैंने भी वैसे ही इंसान की तरह इसे तुरंत install कर लिया

    • KDE Plasma में आप अब भी यह कर सकते हैं. यह इतना cool है कि मैंने wobbly windows चालू कर रखी हैं
    • वे अच्छे दिन याद हैं. compiz cube के एक face पर मैंने VirtualBox में चल रहा Windows XP dedicated रखा हुआ था
      तरह-तरह के compiz animation effects के साथ Windows और Ubuntu के बीच switch करना जादू जैसा लगता था
  • linked blog post से मुझे नया प्रस्तावित glyph protocol [1] पता चला, जो बहुत दिलचस्प लगा
    लगभग 6 महीने पहले भी मैंने अफ़सोस जताया था कि ठीक ऐसी चीज़ मौजूद नहीं है [2]
    [1] https://rapha.land/introducing-glyph-protocol-for-terminals/
    [2] https://news.ycombinator.com/item?id=45805072

    • सहमत. glyph ही कुंजी है
      https://github.com/tikimcfee/glyph3d-js
    • अच्छा विचार है. हाल में देखे गए कुछ terminal projects के विपरीत, यह terminal क्या कर सकता है इसकी अवधारणा को पूरी तरह फिर से गढ़े बिना समस्या को address करता है
  • Kitty graphics protocol से यह कुछ हद तक पहले ही संभव है. मैंने Kitty में 3D graphics rendering करने वाला एक demo बनाया है [1]
    वास्तव में जो महत्वपूर्ण हिस्सा missing है, वह vsync है, और लगता है ratty में भी यह नहीं है
    अगर rendering sync में न हो, तो application जब framebuffer में लिख रहा हो उसी दौरान terminal emulator उसे पढ़ सकता है, जिससे visual artifacts आ सकते हैं
    [1] https://x.com/zack_overflow/status/2035921425341763756?s=20

 
GN⁺ 3 시간 전
Lobste.rs की राय
  • लैंडिंग पेज से LLM की गंध आई, इसलिए ब्लॉग पोस्ट देखी और जैसा सोचा था वैसा ही निकला

    🐁: "इस काम में AI कितनी शामिल थी?"

    AI-सहायित प्रोग्रामिंग पर मेरा रुख इस ब्लॉग पोस्ट में देखें
    संक्षेप में कहूँ तो, शामिल थी, लेकिन इतनी भी नहीं कि इसे मेरे द्वारा "बस यूँ ही बना दिया गया" माना जाए
    अच्छा है, लेकिन यह जवाब उस प्रवृत्ति को हल नहीं करता जिसमें generative AI मौजूदा काम की बिना श्रेय दिए नकल करती है, या दूसरे नैतिक सवालों को भी नहीं

    • मुझे लगता है यह टैग AI उपयोग के लिए नहीं, बल्कि vibe coding चर्चा के लिए लगाना बेहतर होगा
      अगर सिर्फ उपयोग पर टैग लगाना है, तो उसे 90% प्रोजेक्ट्स पर लगाना पड़ेगा, और बातचीत भी असल नतीजे से भटक जाएगी। 3D चूहे दिखाने वाला टर्मिनल emulator किसी एक व्यक्ति ने हैक करके बनाया हो और थ्रेड नैतिक बहस की तरफ मुड़ जाए, यह मैं नहीं चाहूँगा
    • क्या आप मानते हैं कि आइडिया के स्रोत के तौर पर Terry Davis (Temple OS) और Jeff Reeder, Jim Bergman, Mark Hayton (RIPscript) को क्रेडिट में डालना चाहिए?
    • पहले लगा, “वाह, अच्छा है, शायद दोस्ताना प्रतिस्पर्धा पैदा हो रही है”, लेकिन जितना गहराई में गया, मुस्कान निराशा में बदल गई
      तेज़ wow effect के लिए मैंने थोड़ा 3D डाला था, लेकिन मेरा मानना है कि लक्ष्य सावधानी से बुनियाद पर फिर से सोचना होना चाहिए। भले ही मेरा प्रयोग असफल हो जाए, इस बात पर मुझे गर्व है कि मैंने इंसानों के लिए, इंसानी नज़रिए से एक उत्पाद बनाया
      बेशक, अगर वे यह सब सिर्फ मज़े के लिए कर रहे हैं, तो अपने आप में उसमें कोई समस्या नहीं है
    • जानना चाहूँगा कि लैंडिंग पेज के किस हिस्से से LLM वाला एहसास आया। मुझे तो काली पृष्ठभूमि को छोड़कर यह पिछले 5~10 सालों में देखे गए लैंडिंग पेजों जैसा ही लगा
  • कई बार पढ़ने के बाद भी अब भी बहुत उलझन है
    एक तरफ, sixel या kitty को देखते समय की तरह लगातार यही लगता है, “क्यों?”। मूलतः text-oriented interface पर graphics चढ़ाना दिलचस्प है, लेकिन व्यावहारिक नहीं लगता। हाँ, यही आपत्ति curses या slang पर भी की जा सकती है
    दूसरी तरफ, यह जिज्ञासा होती है कि 3D rendering protocol/display को किसी तरह Emacs के अंदर डाला जा सकता है या नहीं। उससे क्या करूँगा, इसका बिल्कुल पता नहीं, लेकिन इस प्रोजेक्ट की तरह वह भी सचमुच बहुत शानदार लग सकता है

    • “क्यों?” का जवाब है: क्योंकि यह मज़ेदार है
      पहले लोग मज़े के लिए प्रोग्राम बनाते थे। याद है न?
    • https://codeberg.org/akib/emacs-eagle ?
    • हाँ, यही आपत्ति curses या slang पर भी की जा सकती है
      पहले lobste.rs पर :p

  • मैंने एक शाम लगाकर अपने Haskell CAD framework से ऑब्जेक्ट्स को Ratty द्वारा पढ़े जा सकने वाले तरीके से आउटपुट करवाया
    लगाए गए समय के हिसाब से यह काफ़ी संभावनाशील लगा, लेकिन अच्छा होता अगर “object placement” कमांड थोड़ा और configurable होता। मैं चाहता था कि यह REPL output के अंदर जगह बनाना और object size adjustment भी खुद संभाल ले
    और Ratty का assets फ़ोल्डर के बाहर की फ़ाइलें लोड न कर पाना थोड़ा खराब लगा। स्क्रॉलिंग भी कुछ टूटी हुई लगी; मैंने अक्सर देखा कि ऑब्जेक्ट्स उस बिंदु से पहले गायब हो जाते थे जहाँ उन्हें गायब नहीं होना चाहिए था। हालाँकि हो सकता है कि मुझसे ही कुछ गलती हुई हो