2 पॉइंट द्वारा GN⁺ 2024-09-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Haystack Editor एक ऐसा product है जो code editor की सरलता और canvas UI को मिलाकर code को एक नज़र में समझना आसान बनाता है, और इसे इस repository में community के साथ विकसित किया जा रहा है
  • repository में code और issues के अलावा roadmap भी सार्वजनिक है, और source code PolyForm Strict License 1.0.0 के तहत उपलब्ध है
  • product distribution, repository base पर कुछ खास customizations जोड़कर बनाई गई है, और अलग terms of service के तहत उपलब्ध है
  • features के उदाहरणों में Canvas Workspaces, Explorer View, Keyboard Navigation, Generate Function शामिल हैं, और यह व्यापक code editing, navigation, समझने में सहायता, हल्की debugging, extension model, और मौजूदा tools के साथ हल्के integration को शामिल करता है
  • Haystack हर हफ्ते नए features और bug fixes के साथ update होता है, और Windows, macOS, Linux के लिए download किया जा सकता है

Haystack Editor repository की भूमिका

  • यह repository वह जगह है जहाँ Haystack Software community के साथ मिलकर Haystack Editor product विकसित करता है
  • code और issue work के अलावा roadmap भी सार्वजनिक है
  • source code PolyForm Strict License 1.0.0 के तहत उपलब्ध है

Haystack Editor product

  • Haystack Editor Haystack Editor repository का distribution है, जिसमें कुछ खास customizations शामिल हैं
  • distribution अलग terms of service के तहत release किया गया है
  • product code editor की सरलता और canvas UI को मिलाकर code को एक नज़र में समझना आसान बनाता है
  • support scope में ये शामिल हैं
    • व्यापक code editing
    • code navigation
    • code समझने में सहायता
    • हल्की debugging
    • समृद्ध extension model
    • मौजूदा tools के साथ हल्का integration
  • Haystack हर हफ्ते नए features और bug fixes के साथ update होता है
  • Windows, macOS, Linux के लिए download Haystack website से उपलब्ध है

Features preview

  • Canvas Workspaces feature प्रदान करता है
  • Explorer View feature प्रदान करता है
  • Keyboard Navigation feature प्रदान करता है
  • Generate Function feature प्रदान करता है

Contribution और feedback के रास्ते

  • project में भाग लेने के कई तरीके हैं
  • codebase में सीधे contribute करने के लिए How to Contribute document देखें
    • source से build और run करने का तरीका
    • debugging और test execution सहित development workflow
    • PR submit करना
    • काम करने के लिए issues ढूँढना
  • feedback channels ये हैं

संबंधित projects और bundled extensions

  • Haystack के कई core components और extensions GitHub पर अलग repositories में हैं
  • उदाहरण के लिए node debug adapter और mono debug adapter अलग-अलग repositories हैं
  • एक और उदाहरण Pixi repository है
  • Haystack extensions folder में कई built-in extensions शामिल करता है
    • कई languages के लिए grammars और snippets शामिल हैं
    • code completion या Go to Definition जैसी समृद्ध language support देने वाले extensions language-features suffix का उपयोग करते हैं
    • उदाहरण के लिए json extension JSON coloring देता है, और json-language-features extension JSON के लिए समृद्ध language support देता है

1 टिप्पणियां

 
GN⁺ 2024-09-27
Hacker News टिप्पणियां
  • यह आइडिया कई दशकों से शानदार रहा है। उम्मीद है Haystack भी पहले की कई कोशिशों की तरह सफल होगा, और शुरुआती execution promising दिखता है
    हालांकि कई चुनौतियां होंगी—जैसे callers/callees को समझना मुश्किल होना, या हर developer की UX preference अलग होना। मुझे हमेशा लगा है कि 2D स्क्रीन से कहीं बड़े space, जैसे VR headset वाले environment में यह और powerful हो सकता है

    • Haystack VR world का आइडिया सच में बहुत अच्छा है। जैविक कारणों से VR software अभी अस्थिर स्थिति में है, यह अफसोस की बात है, लेकिन मुझे भरोसा है कि एक दिन यही भविष्य होगा
  • बहुत शानदार। मैंने कल्पना की कि किसी संगठन का पूरा codebase इसी तरह mapped हो और कई frameworks और languages के आर-पार दिखे
    पता नहीं video में मुझसे छूट गया या अभी possible नहीं है, लेकिन nodes को सीधे connect करना बहुत manual काम है, इसलिए अच्छा होगा अगर कोई simple bot हो जो repository folder पर run करके visualization automate कर दे। watchlist में जोड़ लिया
    मैं होता तो digital transformation कर रहे या plan कर रहे बड़े enterprise organizations या local government IT groups को target करता। क्योंकि उन्हें legacy work और new work के बीच रास्ता खोजने और meaning समझने की जरूरत होती है
    अगर यह ठीक से चला, तो 1 साल के अंदर Salesforce आपसे संपर्क कर सकता है। यह उनकी vision और product suite से काफी अच्छी तरह fit होता दिखता है

    • video में दिखा concept मुझे पसंद आया। लेकिन मैं इसे और बड़ा, ज्यादा windows के साथ, और सब कुछ connected देखना चाहता हूं
      उस state में यह practically usable होगा या नहीं, पता नहीं, लेकिन try करना मजेदार होगा। पूरे codebase को दिखाने वाले UML diagram जैसा, जिसमें हजारों arrows हों
      तब आप किसी colleague से कह सकते हैं कि जिस file को modify करना है वह ऊपर दाईं तरफ कहीं है, और Git diff भी visually दिखेगा, इसलिए अलग-अलग जगहों पर बदले हिस्सों को zoom करके देख सकते हैं
    • file या symbol follow करने पर connections automatically add हो जाते हैं। पता नहीं आपका मतलब exactly यही था या नहीं, लेकिन हम natural language queries के आधार पर user को “flow” देने की कोशिश कर रहे हैं
      जैसे “subscription button पर mouse से click करने के क्षण से backend तक क्या होता है” जैसे सवाल handle करना
    • अगर अलग-अलग services तक जाने वाली API calls को भी “connect” किया जा सके, तो यह interesting होगा
  • उत्सुक हूं कि यह project Light Table से inspired था या नहीं
    feature request के तौर पर चाहूंगा कि visualization 2D से आगे expand हो। सच में complex systems आमतौर पर sophisticated graphs—अच्छे शब्दों में कहें तो उलझे हुए धागों जैसी structure—होते हैं, इसलिए केवल 2D plane visualization मेरे अनुभव में काफी नहीं रहा
    अच्छा होगा अगर कोई concentric sphere visualization हो, जिसमें outer layer पर boundary services और inner layer पर core/domain services हों

    • बहुत लोगों ने Light Table का जिक्र किया, लेकिन launch के बाद ही उसके बारे में पता चला
      आपने जो 3D के करीब view की बात की, वह interesting है। इस idea पर सोचा है, लेकिन user के लिए समझने लायक तरीके से इसे सही बनाना सच में मुश्किल है। फिर भी future vision में यह definitely शामिल है
      Edit: Light Table के बारे में speculation सही नहीं था, इसलिए हटाया
    • उम्मीद है आप 2010s के Light Table के अलावा 1980s के आखिर के Oberon से भी परिचित होंगे। Oberon में भी boundary-less canvas पर code रखने की सुविधा थी
  • बड़ा side-question है, लेकिन क्या कोई representative और usable open-source infinite canvas है? मैं card game बना रहा हूं और multiplayer infinite canvas चाहिए। कोई recommendation मिले तो अच्छा होगा

    • पता नहीं tldraw सही रहेगा या नहीं। हम graphics functionality सहित Pixi JS use करते हैं
    • https://retejs.org
    • https://reactflow.dev/
  • अगर यह VSCode extension होता तो शायद try करता। use करके देखना चाहता हूं, लेकिन आजकल मैं Cursor में ही रहता हूं

    • यह बढ़ती हुई problem लगती है
  • समझना चाहता हूं कि इसे extension के रूप में क्यों नहीं बनाया जा सकता। idea सच में अच्छा है, और मैं इसे editor area के tab के अंदर perfectly imagine कर सकता हूं
    तब कई Haystack tabs भी रखे जा सकते हैं, जिससे context switching बहुत आसान हो जाएगी। VSCode-based होने के बावजूद दूसरा IDE install करना थोड़ा disappointing है। फिर भी, आगे भी अच्छा काम करते रहें

    • VS Code extensions काफी limited हैं। editor tab का renderer बदला जा सकता है, लेकिन custom interface के अंदर multiple elements को पूरे environment और extension ecosystem में first-class editor tabs जैसा treat करवाना practically मुश्किल है। अगर पीछे न छूटें, तो fork एक reasonable choice है
    • आपकी frustration समझता हूं। जैसे दूसरे comment में कहा, Haystack को extension form में पर्याप्त अच्छा बनाना काफी मुश्किल है, लेकिन आखिरकार उस path को भी explore करने की plan है
    • अगर extension में constraints हैं, तो एक अच्छा workaround शायद canvas view को on/off करने की feature हो सकती है। आप canvas और standard VSCode view के बीच switch करना चाहेंगे, और अगर Haystack में यह possible हो तो दोनों install करने की जरूरत नहीं होगी
  • Self programming language के Kansas environment की याद आती है। Sun ने 1995 में एक video बनाया था
    https://www.youtube.com/watch?v=Ox5P7QyL774
    इस video के बाद और भी interesting search features add हुए थे

  • सच में अच्छा है। बड़े codebase को देखते समय मेरी process लगभग यही होती है, लेकिन यह कहीं ज्यादा clean और organized है
    आमतौर पर मैं अलग-अलग source files की तरफ इशारा करते हुए पांच-छह terminals खोलता हूं और दिमाग में map बनाने की कोशिश करता हूं। आखिरकार sense बन ही जाता है, लेकिन process कठिन होती है; ऐसा tool जबरदस्त मदद करेगा। अब बस इसे ultrawide monitor के साथ जोड़ना बाकी है

  • इससे दिमाग में रखने वाली चीजें कम होंगी, इसलिए मदद मिलेगी, लेकिन अभी UI में mouse dependency बहुत ज्यादा है। shortcuts बनें, और window manager dwm की तरह “tiling” हो ताकि windows का size manually adjust न करना पड़े

    • असल में हम canvas को जितना हो सके keyboard से navigate करने लायक बनाने की कोशिश कर रहे हैं। नीचे दाईं तरफ “Keybindings and Help” button में key bindings की list है
      manual resizing के बारे में, हम viewport के अंदर tiling try कर रहे हैं। अगर आप बताएं कि किन बातों की वजह से size adjust करना पड़ता है, तो शायद हम उसे fix कर सकें
  • यह developers के लिए code को 2D space में फैलाकर map करने का सुविधाजनक approach लगता है। यह method of loci[1] जैसा है, जहां developer code pieces और connections को spatially finely encode करके memory मजबूत करता है और understanding भी बढ़ाता है
    इसलिए मैं साहस के साथ suggest करूंगा कि unobtrusive होते हुए थोड़ी information देने वाले background pattern options add किए जाएं। मेरे पास specific pattern नहीं है, लेकिन अगर background world map हो तो user जिस location को खोजना चाहता है उसे जल्दी याद रख सकेगा और अपनी position भी जल्दी समझ सकेगा
    इसी सोच के extension में, user-defined tab border colors या हर tab में अलग noise add करने की सुविधा पर भी विचार किया जा सकता है। noise zoom level और viewport center से distance के हिसाब से fade हो सकता है
    https://en.wikipedia.org/wiki/Method_of_loci

    • users को orientation में मदद देने के लिए minimap add करने की plan है
      subtle color differences या sound use करने का idea भी interesting है। इस पर सोचेंगे