2 पॉइंट द्वारा GN⁺ 2023-08-11 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Bram Moolenaar ने Vim के source, documentation और vim_dev में समस्या-समाधान केंद्रित रवैया छोड़ा, और Neovim खुद को Vim और Bram की विरासत को आगे बढ़ाने वाला project मानता है
  • बदतमीज़ प्रतिक्रियाओं या निजी निर्णयों के बजाय समस्या की समझ को आगे बढ़ाने का तरीका Bram की ताकत के रूप में सामने आया, और उन्हें एक ऐसे व्यक्ति के रूप में याद किया जाता है जिसने शांत रहते हुए गहरी कीमत रची
  • Vim commit messages का Problem/Solution सिद्धांत सरल लेकिन प्रभावी है, और Uganda सहायता में भी यह resources को abstract न करके सीधे manage करने के रवैये से जुड़ा
  • Neovim, Vim के derivative के रूप में continuity और divergence दोनों को स्वीकार करता है, और maintenance, documentation, extensibility और embedding को आगे बढ़ाने के मुख्य स्तंभ मानता है
  • Neovim जिस दिशा को विरासत में लेना चाहता है, वह नएपन के लिए नयापन नहीं, बल्कि लक्ष्य को न भूलते हुए actions की results से तुलना करने वाला pragmatism है

Bram द्वारा छोड़ा गया समस्या-समाधान का तरीका

  • Bram ने तकनीकी craftsmanship से आगे बढ़कर विनम्र रवैया और वास्तविकता में टिके problem-solving का तरीका दिखाया
  • vim_dev, Vim source और documentation में Bram के शब्दों और फैसलों के साथ-साथ वे choices भी दर्ज हैं जो उन्होंने नहीं चुनीं
    • सनसनीखेज अभिव्यक्तियों या निजी judgments पर निर्भर नहीं होना
    • अशिष्ट व्यवहार मिलने पर भी अक्सर ऐसी प्रतिक्रिया देना जिससे हल की जाने वाली समस्या को बेहतर समझा जा सके
  • Vim commit messages का Problem/Solution नारा सरल लेकिन शक्तिशाली working principle की तरह काम करता है
  • Bram ने Uganda के लोगों की मदद करने में भी resources को abstract रूप में संभालने के बजाय सीधे manage करने का तरीका चुना
  • विनम्रता एक ऐसी सोच है जो प्रयासों को “narrow waist” जैसी स्वेच्छिक constraints से गुजारती है, और अधिक composable व शक्तिशाली परिणाम बना सकती है
    • unimpaired जैसे plugins इस flow के variation का उदाहरण हैं
  • Emacs और Vim जैसे lifestyle software की उपयोगिता ideology से ज्यादा जीवित ecosystem और self-sustaining momentum में है

Neovim ने क्या आगे बढ़ाया और कहां अलग हुआ

  • Neovim शुरुआत से ही Vim के derivative के रूप में स्थापित हुआ, और Vim को आगे बढ़ाते हुए Vim से अलग होने वाला स्वभाव भी साथ रखता है
  • fork energy को नष्ट करने के बजाय बनाता है—इस नजरिए से, Bram के बिना Vim को वैसा का वैसा आगे नहीं पहुंचाया जा सकता, लेकिन कुछ मूलभूत तत्वों को जारी रखा जा सकता है
  • Maintenance और documentation

    • Maintenance: experimentation जरूरी है, और creative destruction व playful failure भी मूल्यवान हैं, लेकिन Neovim नएपन की चाह यानी “neomania” का प्रतिनिधि नहीं है
    • Documentation: Vim documentation की आदत स्पष्ट है, और यह Nvim को Vim पर build होने से मिले बड़े फायदों में से एक है
  • Extensibility और embedding

    • Extensibility: Bram का Agide project भी Neovim जैसी extensibility की ओर था, और एक single application नहीं बल्कि अलग tools को plug-in करके इस्तेमाल करने का तरीका सामने रखता था
    • Embedding: Vim का :help design-not Vim को shell या operating system बनाने के बजाय, shell या IDE में component के रूप में इस्तेमाल करने की दिशा बताता है
    • Bram खुद को जरूरत से ज्यादा गंभीरता से नहीं लेते थे, और उनका अपना sense of humor भी था
    • Neovim को Vim और Bram के लिए स्मारक बने रहना चाहिए, लेकिन dogma के बजाय practicality चुननी चाहिए और goals व results के आधार पर अपने actions पर दोबारा नजर डालनी चाहिए

1 टिप्पणियां

 
GN⁺ 2023-08-11
Hacker News टिप्पणियां
  • Bram का आभार
    मैं 30 साल से ज़्यादा समय से Vim इस्तेमाल कर रहा हूं, हाल में कभी-कभी Neovim भी इस्तेमाल करता हूं, और स्कूल में कई BSD सिस्टमों पर vi इस्तेमाल किया था। अपने करियर भर लगभग हर कामकाजी दिन इसे इस्तेमाल किया, लेकिन कभी Vim mailing list में शामिल नहीं हुआ, कभी सवाल नहीं पूछा, न ही कभी bug report दी
    क्योंकि इसकी ज़रूरत ही नहीं पड़ी। कभी bug नहीं मिला, और जो भी सवाल थे वे हमेशा बिल्ट-इन docs से हल हो गए। यह एक बेहतरीन व्यक्ति के नेतृत्व वाला बेहतरीन software project था, और बड़ी प्रेरणा है

    • 25 साल पहले पतझड़ में, जब मुझे university IT department में नौकरी मिली, मेरे boss ने मुझे Perl और vi की O'Reilly किताबें दीं और मैंने Unix server पर programming शुरू की। तब से vi और Vim को अपने पूरे करियर में रोज़ इस्तेमाल करता आया हूं
    • मैंने जटिल control systems पर काम किया है, और documentation इतनी अच्छी थी कि ज़रूरी जानकारी हमेशा आसानी से मिल जाती थी
      इसके उलट, अपेक्षाकृत सरल systems में भी documentation न होने पर, या एक बार बहुत खराब documentation की वजह से, मुझे कहीं ज़्यादा पूछताछ और छानबीन करनी पड़ी
  • Vim में आत्मा है। यह ऐसा tool है जिसे आप दादा से विरासत में मिली छेनी की तरह लगातार इस्तेमाल करते रहते हैं
    भले ही इसमें नए product जैसा मुलायम rubber grip न हो, लेकिन यह हाथ में अच्छी तरह फिट बैठता है और आरामदायक है। यह अपनी खुद की history वाला tool है
    यहां की टिप्पणियां देखकर लगता है कि hacker spirit अभी भी ज़िंदा है। आज की कोई नई, अरबों डॉलर की युवा company 10–20 साल बाद किसी और चीज़ से बदल जाएगी, लेकिन Vim बचा रहेगा। किसी दिन मैं अपना Vim जैसा कुछ बनाना चाहता हूं

    • हालांकि एक फर्क थोड़ा है। कोई beginner अगर दादा की छेनी उठा ले, तो वह छेनी हाथ से चिपक नहीं जाती और उसे छुड़ाने के लिए तीन शब्दों का magic spell Google नहीं करना पड़ता
    • Galadriel की शीशी की तरह, जब बाकी सारी रोशनियां बुझ जाती हैं तो अंधेरी जगह में रोशनी देने वाली चीज़ जैसी
  • Bram के गुजरने के बाद मैंने अपनी Vim यात्रा पर पीछे मुड़कर देखा। पिछले 10 वर्षों में university projects से लेकर FAANG और सब कुछ जलता हुआ startup तक, यह मेरा एकमात्र अटल professional companion रहा
    गर्व करने लायक काम, शर्मनाक काम, promotion तक ले जाने वाला काम, और लाखों डॉलर के outage तक ले जाने वाला काम—सब Vim में किया। operating systems, databases, programming languages, companies, colleagues आते-जाते रहे, लेकिन Vim हमेशा बना रहा
    Bram का आभार

  • linked article [0] में Bram की GitHub activity का screenshot और यह वाक्य है
    “जब मैंने Bram के गुजरने की खबर पढ़ी तो यह बात इतनी दिल को क्यों लगी, शायद इसलिए कि यह सब मिलकर जमा हो गया था। परिवार के message में साफ लिखा था कि Bram बीमार थे। कहा गया कि यह ‘पिछले कुछ हफ्तों में तेज़ी से बढ़ी medical condition’ थी। ज़्यादातर लोगों को यह पता नहीं था, इसलिए खबर और भी चौंकाने वाली थी।”
    “और जब किसी ने Bram की हाल की GitHub activity की ओर ध्यान दिलाया, तो और भी दुख हुआ।”
    https://github.com/brammool
    [0] https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    साथ ही, Wikipedia की BDFL सूची देखें तो Bram † निशान वाले पहले व्यक्ति जैसे दिखते हैं
    https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

  • आज Netherlands के Utrecht railway station पर कुछ खास देखा। guide board पर hjkl अक्षर उल्टे क्रम में लिखे थे
    ये अक्षर बताते हैं कि platform पर किस zone में जाना है। platform की लंबाई और train के दरवाज़ों की स्थिति के हिसाब से अक्षर दिखते हैं
    https://postimg.cc/mcCWhMXw
    लगा कि यह बहुत बड़ा संयोग है, या Dutch railway company NS में कोई Vim fan है जिसने Bram को इस तरह tribute दिया

    • सोचने पर ये अक्षर alphabet में लगातार आते हैं। बस H और J के बीच का I गायब है, शायद इसलिए कि यह lowercase l से confuse हो सकता है, इसलिए जानबूझकर छोड़ा गया हो
      आखिरकार यह संयोग भी हो सकता है, लेकिन मेरे लिए फिर भी खास था। मैंने train station पर ऐसा पहले कभी नहीं देखा था, और Bram के गुजरने के ठीक अगले हफ्ते अचानक दिखा
    • न यह संयोग है, न tribute। UK में भी कई सालों से ऐसा ही है। अक्षर i आसानी से अंक 1 या अक्षर l से confuse हो जाता है, इसलिए ऐसे इस्तेमाल में आम तौर पर नहीं लिया जाता
    • मैं Vim इस्तेमाल करता हूं, लेकिन ये अक्षर Vim से पहले touch typing की home row याद दिलाते हैं
    • यह sign दिखाता है कि train platform पर कहां रुकेगी
      Dutch video: https://www.youtube.com/watch?v=JPvh9SaQbUY
  • कभी एक intern candidate का interview लिया था, जिसने गर्व से बताया कि mailing list पर उसने Bram से एक संभावित vulnerability को लेकर बहस की थी। Bram ने कहा था कि यह महत्वपूर्ण नहीं है, और इस युवा ने ज़ोर दिया कि यह महत्वपूर्ण है
    हमने उसे hire नहीं किया। Bram की श्रद्धांजलि वाली posts देखकर लगता है कि लोग जिन Bram का वर्णन कर रहे हैं, वे अच्छे अर्थ में उस लड़के के बिल्कुल उलट थे

    • सोच रहा हूं कि क्या वह बहस automatic file encryption/decryption feature और Bram के cryptographically safe algorithm इस्तेमाल न करने की बात को लेकर थी। वह बहुत लंबी चली और काफी गरम thread थी
      फिर भी मैं Bram की तरफ था। वह feature शुरू से ही cryptographic अर्थ में security को लक्ष्य बनाकर नहीं बनाया गया था
  • https://en.wikipedia.org/wiki/Benevolent_dictator_for_life में BDFL की सूची है। Bram उस सूची में गुजरने वाले पहले BDFL हैं
    आने वाले 10 सालों में, या उसके बाद, पीढ़ीगत बदलाव आएगा। तैयारी करना सही है, और यही legacy और community को सुरक्षित रखने का तरीका है
    Bram के परिवार और दोस्तों ने उनकी legacy और Vim के भविष्य का सम्मान करते हुए जिस तरह यह काम संभाला, वह प्रभावशाली था

    • यह लिखने के बाद John Gruber को Markdown के BDFL के रूप में जोड़ दिया गया। वे creator तो हैं, लेकिन उन्हें BDFL कहना थोड़ा ज़्यादा लगता है
  • लिंक किए गए लेखों में Jan van den Berg का यह लेख मुझे ज़्यादा अच्छा लगा
    https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    एक प्रभावशाली वाक्य था: “Vim एक उत्कृष्ट कृति है, एक चमकदार और सटीक मशीन-टूल जिससे आधुनिक दौर की बहुत-सी चीज़ें तराशी गई हैं”
    और यह लिंक भी है
    https://m.youtube.com/watch?v=eX9m3g5J-XA
    “7 Habits for Effective Text Editing 2.0”
    यह 1 घंटा 20 मिनट का है, काश किसी के पास इसका transcript या summary हो। पहला comment मज़ेदार था: “7 घंटे सोते समय autoplay चालू छोड़ दिया था, तो Billie Eilish से होते-होते इस video तक आ गया”
    ज़िंदगी अजीब है, और इसी वजह से अच्छी भी
    वैसे मैं (Neo)vim भी नहीं इस्तेमाल करता और Emacs भी नहीं। “programmable” शब्द पढ़ते ही मैं दूर हो जाता हूँ। मुझे अपनी पसंद के fixed-function editor को कुछ मिनट configure करके सीधे इस्तेमाल करना ज़्यादा पसंद है। बस मेरी पसंद है
    फिर भी अच्छा tool अपना उद्देश्य अच्छी तरह पूरा करता है। अच्छे tools और उन्हें बनाने वाले लोगों वाली दुनिया बेहतर दुनिया होती है। कभी-कभी उनकी legacy, philosophy और काम करने का तरीका छोड़े गए code या community के भीतर जीवित रहते हैं। Bram को नमन

    • श्रद्धांजलि लेखों को लेकर competition की ज़रूरत है या नहीं, पता नहीं, लेकिन आपने जो लेख share किया वह भी भावुक करने वाला था। Bram के GitHub contribution graph की तस्वीर भुलाई नहीं जा सकती
    • अगर आपको “programmable” शब्द पसंद नहीं है और अपनी पसंद का fixed-function editor चाहिए, तो Helix शायद आपके लिए सही हो सकता है
      यह Kakoune key bindings इस्तेमाल करता है, जो Vim या Emacs की तुलना में कहीं ज़्यादा समझ में आते हैं। इसकी default settings पहले से अच्छी हैं और इसमें कई उपयोगी features भी हैं। मैं इसे रोज़ इस्तेमाल कर रहा हूँ और यह तेज़ और अच्छा है
      अगर PATH में LSP हो तो यह उसे अपने-आप इस्तेमाल करता है, इसलिए बहुत कम configuration चाहिए। मेरी settings सिर्फ theme और थोड़े-से style changes हैं, और चाहें तो यहाँ देख सकते हैं: https://github.com/RGBCube/NixOSConfiguration/blob/master/ma...
    • Vim में set nocompatible, set ruler, backspace, indentation, और default color schemes में से एक चुनने के अलावा “programming” करने की बहुत कम ज़रूरत पड़ती है
      Neovim में मैंने lightline, pathogen, monokai color scheme और शायद कुछ और install किया था, शायद किसी थोड़ी ज्यादा unusual language की syntax highlighting रही होगी
      मुख्य बात यह है कि जब तक आप Vim पर ढेर सारी चीज़ें नहीं लटका देते, तब तक यह एक fixed-function editor ही है
    • “7 Habits for Effective Text Editing 2.0” की सामग्री यहाँ है: https://moolenaar.net/habits_2007.pdf
      tlamponi [1] की बदौलत: https://news.ycombinator.com/item?id=37013315
  • Vim ने मेरी ज़िंदगी पर सचमुच असर डाला है। मैं इसे पिछले 15 साल से इस्तेमाल कर रहा हूँ, और नया host मिलते ही लगभग तुरंत rc file में set -o vi या psql/ipython की मिलती-जुलती setting डाल देता हूँ
    shell में बिताए अनगिनत घंटे Bram के काम की वजह से कहीं ज़्यादा सुखद हो गए
    यह लेख post करने के लिए धन्यवाद, और वे शांति से विश्राम करें

    • Vim commands सीखना मेरी जानकारी में investment पर सबसे ज्यादा return देने वाले कामों में से एक था। यह वर्षों तक अमूल्य रहा, और इसने computer से interaction में मेरे सैकड़ों घंटे बचाए होंगे
      बहुत पहले यह muscle memory बन गया था, और text editing व screen पर cursor movement अब बिल्कुल मेहनत नहीं लगते
      नए programmers को मैं जिन चीज़ों की हमेशा सलाह देता हूँ, उनमें यह एक है। Vim की learning curve steep कही जा सकती है, लेकिन यह programmers को text के साथ उनके लगातार interaction को ज़्यादा efficient नज़रिए से देखने में मदद करता है
      shell और Readline का जहाँ-जहाँ इस्तेमाल होता है, Emacs में evil-mode से defaults बदलने जैसी हर supported जगह पर मैं Vi(m) mode चालू रखता हूँ
      mode-based interface और compose किए जा सकने वाले mnemonic commands, Emacs-style key combination UI की तुलना में कहीं ज़्यादा बेहतर और intuitive हैं। मुझे Vim से प्यार है। 20 साल से भी पहले इस यात्रा की शुरुआत कराने वाला यही tool था, और आज भी quick editing के लिए रोज़ इस्तेमाल करता हूँ। हालांकि IDE के रूप में मैं Emacs को पसंद करता हूँ, क्योंकि वह ज़्यादा extensible environment है। evil-mode की बदौलत दोनों के फायदे मिल जाते हैं
      Bram ने अनगिनत लोगों की ज़िंदगी बेहतर की, और उन्हें हमारी industry की महान हस्तियों में मान्यता मिलनी चाहिए। RIP
  • क्षणभंगुर software की दुनिया में Vim समय से परे एक उत्कृष्ट कृति है
    काश Bram को सीधे धन्यवाद देने का मौका मिला होता कि उन्होंने मेरी ज़िंदगी और career पर कितना असर डाला। लगता है Vim के बिना मैं यहाँ तक नहीं पहुँच पाता

    • मुझे लगता है Vim की अहम बातों में से यह एक है। जितना अधिक समय तक यह मौजूद रहता है, उतना ही अधिक इसके और लंबे समय तक टिके रहने की संभावना बढ़ती है। यह बहुत-से modern text editors से अधिक समय तक टिक चुका है
      उम्मीद है यह मेरे जीवनकाल में, और उसके बाद भी, जीवित रहेगा