16 पॉइंट द्वारा GN⁺ 2024-11-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • बड़े codebase के साथ काम करने वालों के लिए laptop पर programming करना बोझिल हो सकता है
  • fan लगातार चलता रहता है, language server में memory कम पड़ जाती है, और rebuild में लंबा समय लगता है
  • Zed में SSH के ज़रिए किसी भी device से project खोला जा सकता है
  • UI पूरी तरह local पर चलती है और 120 फ्रेम की बेहतरीन graphics देती है, जबकि language server, tasks और terminal remote server पर चलते हैं ताकि cloud hardware का उपयोग किया जा सके

रिमोट development environment सेटअप

  • रिमोट code editing के लिए Zed SSH support हेतु infrastructure changes पर काम कर रहा था
  • SSH connection बनाए रखना, remote server तैयार करना, और features को integrate करना जैसी कई समस्याएँ हल करनी पड़ीं
  • SSH connection के लिए ControlMaster configuration का उपयोग किया गया ताकि हर host के लिए एक single connection बनाए रखा जा सके
  • connect होने के बाद operating system और architecture के अनुसार remote server download किया जाता है
  • musl से compile किया गया remote server dynamic linking की ज़रूरत नहीं रखता, इसलिए यह पुराने distribution पर भी चल सकता है
  • connection टूट जाने पर भी remote server चलता रहता है, और दोबारा connect करने पर language server पूरी तरह initialized स्थिति में बना रहता है
  • unsaved changes को local पर backup किया जाता है ताकि काम न खोए

collaboration और SSH project

  • SSH project को collaboration के साथ काम करने लायक बनाना एक चुनौती थी
  • SSH के माध्यम से 2-व्यक्ति collaboration में कम से कम 4 nodes शामिल हो सकते हैं, इसलिए collaboration sync protocol का परीक्षण किया गया
  • Project को logical हिस्सों में बाँटा गया ताकि client, collaboration host, SSH host, या collaboration guest होने के अनुसार इसे remote और local modes में activate किया जा सके
  • नए tests के ज़रिए हर role और collaboration server को instantiate करके यह सुनिश्चित किया गया कि synchronization सही ढंग से हो
  • जब आप किसी दोस्त या सहकर्मी के साथ project पर काम करते हैं, तो project आपके laptop पर है या SSH से पहुँचा जा सकने वाले device पर, यह सब पारदर्शी रूप से संभाला जाता है

GN⁺ का सार

  • Zed बड़े codebase संभालने वाले developers के लिए remote server का उपयोग करके अधिक कुशल development environment देता है
  • SSH आधारित remote development फीचर cloud hardware का उपयोग करके performance बेहतर बनाता है
  • collaboration फीचर कई nodes के बीच synchronization को support करता है, जिससे सुचारु सहयोग संभव होता है
  • Zed macOS और Linux पर उपलब्ध है और developers को एक नया अनुभव देता है
  • इसी तरह की सुविधा देने वाले अन्य project में Visual Studio Code का Remote Development Extension शामिल है

1 टिप्पणियां

 
GN⁺ 2024-11-01
Hacker News की राय
  • Zed और SSH Remoting के साथ Orbstack का उपयोग करके Mac पर प्रोग्रामिंग करना एक सपनों जैसा सेटअप है

    • Orbstack में कुछ ही सेकंड में Linux मशीन चला लेते हैं और Zed से SSH के जरिए कनेक्ट करके तेज Linux डेवलपमेंट एनवायरनमेंट मिल जाता है
    • यह macOS वर्ज़न के WSL और VSCode जैसा है, लेकिन उससे बेहतर महसूस होता है
    • पहले Mitchell Hashimoto के काम से प्रेरणा मिली थी
    • VMware और Docker Desktop का उपयोग किया, लेकिन स्मूथ और तेज डेवलपमेंट एनवायरनमेंट पाने के लिए वे बोझिल थे
    • Zed और Orbstack की वजह से एक तेज और आकर्षक सिस्टम मिला
  • Zed के रेवेन्यू मॉडल और इसके open source होने को लेकर जिज्ञासा है

    • कंपनी के प्रोडक्ट पर निर्भर वर्कफ़्लो बनाना चिंताजनक लगता है
  • Zed का remote development फीचर remote host पर binary इंस्टॉल करके चलाता है

    • लोकल मशीन SSH के जरिए remote server से जुड़ती है और Zed server को डाउनलोड करके शुरू करती है
  • Zed को C, C++, Rust, Angular डेवलपमेंट में इस्तेमाल कर रहे हैं और बहुत संतुष्ट हैं

    • JetBrains, vscode, vim जैसे कई टूल इस्तेमाल किए, लेकिन रोज़मर्रा की coding के लिए Zed बेहतर है
    • debugging फीचर की कमी के कारण इसे C# डेवलपमेंट में इस्तेमाल नहीं कर सकते
    • इसकी response speed बहुत तेज है
  • कई कंप्यूटरों के बीच आना-जाना करके डेवलपमेंट करते समय session बनाए रखने के लिए tmux और nvim का उपयोग करते हैं

    • लगता है Zed या VS Code इस use case को सपोर्ट नहीं करते
  • Zed की तेज स्पीड अच्छी है, लेकिन inline error highlighting और code execution button जैसी ज़रूरी सुविधाएँ नहीं हैं

    • अभी का Zed IDE एक हल्के AI-सपोर्टेड text editor जैसा महसूस होता है
  • image-based screen sharing शायद बेहतर विकल्प हो सकता है

    • Zed का collaboration फीचर अच्छा है, लेकिन दूसरे apps के साथ compatibility issues पर भी विचार करना चाहिए
  • सच में portable remote editing solution चाहिए

    • Zed या vscode जैसे समाधान, जिनमें remote server पर server इंस्टॉल करना पड़ता है, उपयुक्त नहीं हैं
    • remote environment अलग होने पर project को आसानी से कॉपी करके चलाना मुश्किल होता है
    • Zed की यह सुविधा अच्छी है और इसमें प्रगति हो रही है, इसलिए इसे सकारात्मक रूप से देख रहे हैं
  • भरोसेमंद remote server पर अनजान app चलाना अच्छा विचार नहीं है

    • सब कुछ लोकल पर प्रोसेस करना ज़्यादा तेज है
    • फाइलों को संभालने के लिए SSH की built-in capabilities का उपयोग किया जा सकता है
  • Emacs या Tramp का कोई उल्लेख न होना चिंताजनक है

    • ऐसा लगता है कि ध्यान सिर्फ AI के उभार पर है