6 पॉइंट द्वारा GN⁺ 2025-08-03 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • Mintlify के सर्च रेस कंडीशन इश्यू से एक साल से भी ज़्यादा समय तक जूझने के बाद भी इसे सुधार न कर पाने की वजह से काफी असुविधा महसूस हुई
  • Mintlify के लिए सर्च इंजन सप्लाई करने वाली कंपनी Trieve का संस्थापक होने के बावजूद वेंडर की हैसियत में सीधे कोड में एक्सेस न होने के कारण समस्या ठीक नहीं कर सका
  • अंततः, Mintlify में शामिल होने के बाद मैंने सीधे AbortController का इस्तेमाल करके खोज क्वेरी को तुरंत रोकने और परिणाम सिंक्रोनाइज़ेशन की समस्या हल की
  • यदि यह ओपन सोर्स होता तो PR से तुरंत ठीक किया जा सकता था—यहीं से ओपन सोर्स का वास्तविक लाभ साफ़ नज़र आता है
  • छोटी-छोटी असुविधा को भी खुद ठीक करने की प्रक्रिया से मिलने वाली संतुष्टि और उत्पाद सुधार की अहमियत को फिर से महसूस किया

PR नहीं दे पाया, इसलिए सीधे शामिल होकर खुद सुधार किया

एक साल से ज़्यादा समय से खटकता Mintlify सर्च बग

  • Mintlify की सर्च फंक्शन में रेस कंडीशन की वजह से क्वेरी डुप्लिकेट प्रोसेस हो रही थी और जब यूज़र टाइप कर रहा होता था, तब गलत खोज परिणाम बार-बार दिखते थे
  • मैं Trieve (Mintlify को सर्च इंजन देने वाला वेंडर/आउटसोर्स्ड पार्टनर) का संस्थापक था, लेकिन कोडबेस एक्सेस न होने के कारण सीधे सुधार नहीं कर सका
  • समस्या को कई बार शेयर्ड Slack चैनल में उठाया, मगर प्राथमिकता कम होने से यह लंबे समय तक लंबित रही
  • जब भी Mintlify पर Trieve का सर्च अनुभव ठीक नहीं दिखता था, एक संस्थापक होने के नाते व्यक्तिगत आत्मसम्मान और ब्रांड इमेज पर दबाव महसूस होता था

टीम में जुड़कर सीधे समाधान

  • Mintlify से जुड़ने के बाद सीधे कोडबेस एक्सेस मिल गया
  • खोज फ़ंक्शन के अंदर AbortController इम्प्लीमेंट कर पुरानी खोज क्वेरी को तुरंत कैंसल करने में सुधार किया
  • अब जब कोई यूज़र टाइप करता है, तो केवल सबसे नया खोज परिणाम ही दिखता है, इसलिए हमेशा ताज़ा और सही परिणाम मिलते हैं
  • लंबे समय से खटकती समस्या को खुद ठीक करने का जो संतोष मिला, वह बेहद बड़ा था
  • जैसे कि George Hotz ने ट्विटर में कुछ समय के लिए जॉइन करके लॉगिन पॉपअप ठीक किया था, वैसे ही मैं समस्या दिखते ही सीधे हल करने वाले हैकर/उद्यमी दृष्टिकोण को अर्थपूर्ण मानता हूँ
  • ऐसा सीधा और व्यावहारिक समस्या समाधान अनुभव करियर को बेहतर दिशा देता है

ओपन सोर्स का वास्तविक मूल्य

  • मैं निजी तौर पर ओपन सोर्स सॉफ्टवेयर के निर्माण और इस्तेमाल को प्राथमिकता देता हूँ
  • ओपन सोर्स में बाहरी डेवलपर सीधे बग फिक्स या फीचर सुधार के लिए Pull Request (PR) दे सकता है
  • अगर Mintlify की सर्च फीचर ओपन सोर्स होती, तो एक साल से चली आ रही समस्या को तुरंत PR से सुलझाया जा सकता था
  • क्लोज़्ड-सोर्स मॉडल की सीमा यह है कि सुधार करने के लिए कोड एक्सेस होना ज़रूरी है
  • ओपन सोर्स में 'तत्काल एक्सेस/अधिकार देने' के लाभ को मानते हुए भी, हर कंपनी के बिज़नेस मॉडल का अंतर मैं समझता हूँ

सीधे सुधार का सुकून

  • Mintlify खोज फीचर का और अधिक स्मूथ तथा रेस्पॉन्सिव होना सीधे इसी सुधार का परिणाम है
  • लंबे समय से मन में अटकी छोटी सी बग को सीधे ठीक करके, उत्पाद विकास में योगदान देने का संतोष महसूस हुआ
  • इस अनुभव से लगा कि छोटे और मामूली मुद्दों को बार-बार सुधारना ही उत्पाद को कहीं बेहतर बनाता है
  • सीधे लागू किए छोटे बदलाव जमा होकर यूज़र एक्सपीरियंस में बड़ा सुधार ला देते हैं
  • आगे भी ऐसे ही छोटे सुधारों का संचय करके बेहतर उत्पाद बनाना चाहता हूँ

3 टिप्पणियां

 
yangeok 2025-08-05

हाहाहाहा, आपको सलाम है

 
kimjoin2 2025-08-04

पूर्व डेवलपर

 
GN⁺ 2025-08-03
Hacker News राय
  • पहले मेरा Amazon अकाउंट धोखाधड़ी के शक में सस्पेंड हो गया था। यह बहुत पुराना अकाउंट था, और कई DB leaks की वजह से मैंने इसका email और phone number हटा दिया था। नौकरी मिलने के बाद मैंने अंदर से Amazon की anti-fraud team के जिम्मेदार व्यक्ति से संपर्क किया और अकाउंट अनलॉक जल्दी करवा लिया। customer support से पूछने पर कोई फायदा नहीं हुआ था।

    • Amazon की सबसे परेशान करने वाली बात यही है। Reddit या दूसरी reviews में कोई product ढूंढो तो आमतौर पर amazon.com लिंक खुलता है। फिर यह US dollar अकाउंट पर स्विच करने को कहता है, और ऑर्डर करने के लिए फिर से Germany/Euro अकाउंट पर लौटना पड़ता है। यह प्रक्रिया बहुत झंझट वाली है। अच्छा होता अगर वे region के हिसाब से बस खुला देखने देते। प्रोफ़ाइल बदलने को सिर्फ़ ऑर्डर करते समय कहा जाए तो ठीक रहेगा। और local sellers से खरीदने का विकल्प भी होना चाहिए।

    • दिलचस्प है। Google में onboarding के समय मिला टूटा हुआ phone अभी भी मेरे पास है। अंदर किसी को इसकी परवाह नहीं थी। एक ऐसा tool था जिससे मैं खुद ठीक कर सकता था, लेकिन उस पर यह संदेश भी लगा था कि बिना अनुमति इस्तेमाल किया तो नौकरी से निकाला जा सकता है।

    • मेरा Facebook अकाउंट भी 9 महीने तक unlock नहीं हुआ था, लेकिन संयोग से अंदर का काम करने का मौका मिला और फिर तुरंत unlock हो गया।

    • ज़िंदगी में मैं भी ऐसा कोई epic पल जीना चाहता हूँ।

    • काश मेरे साथ भी ऐसी किस्मत होती। मेरा Amazon अकाउंट इसलिए खो गया क्योंकि मेरे international phone number का पहला अंक गलत दर्ज था। इस वजह से SMS verification काम नहीं कर रहा था, और जिस phone में OTP app था वह भी ठीक उससे पहले खराब हो गया।

  • अगर Google Maps मुझे नौकरी पर रखकर distance units को सिर्फ़ km में दिखाने लायक बना दे, तो मेरा संपर्क HN प्रोफ़ाइल में है। पिछले 20 सालों में मैं शायद 500 बार miles से km में बदल चुका हूँ। इतनी user analytics करने वाली company ऐसी बुनियादी चीज़ न कर पाए, यह बेतुका है।

    • 500 बार करना ही सच में बेतुका है। इससे ऐसा A/B test याद आता है जो कम user engagement की वजह से fail हो गया हो। जैसे 7 interviews दिए, 1 PR डाला, और नतीजा यह निकला।

    • मैं उस इंसान को ढूंढकर एक मारना चाहता हूँ जिसने पूरे map को “actual size 1cm=1cm mode” में zoom करके पूरी यात्रा पर लागू कर दिया। शायद वही इंसान होगा जिसने manual zoom करने पर कार को स्क्रीन से बाहर जाने दिया, और “recenter” दबाते ही फिर से जबरन पुराने zoom पर ले जाने वाली चीज़ भी बनाई। 2005 के navigation systems ने भी यह सब सुलझा लिया था।

    • Mexico यात्रा के दौरान logged in होने के बावजूद Google Flights हर बार नया tab खोलने पर dollar से peso में बदल देता था। सच में लगता है कि इन्हें फर्क ही नहीं पड़ता।

    • जब मैं 10 साल पहले Google में काम करता था, तब मैंने internal feedback form से यह issue report किया था और कोई जवाब नहीं मिला। उसके बाद हर साल Google Maps feedback में इस bug को report किया। कुछ सालों में दो बार भी भेजा। अब तो यह सच में शर्मनाक bug बन चुका है।

    • मुझे gmaps से जुड़ा काम करने में भी दिलचस्पी है। 1 घंटे से लंबी journeys के लिए वापसी का रास्ता भी पहले से cache कर देना चाहिए। signal न मिलने पर रास्ता याद रखना पड़ता है, जो बहुत परेशानी देता है।

  • यह देखना मज़ेदार है कि पुराना मज़ाक सच बन गया। (फिर से) left margin जोड़ने की एक request है। स्क्रीन के बिल्कुल किनारे से text पढ़ना थोड़ा अटपटा लगता है।

    • उस पोस्ट के links देखते-देखते मैंने Apple का एक उदाहरण देखा, जहाँ किसी ने expired passes को auto-delete करने वाला feature जोड़ा और उसके तुरंत बाद कंपनी छोड़ दी। अब हर बार वह feature इस्तेमाल करते हुए मन ही मन धन्यवाद करने का मन करता है। वह सच में बहुत irritating समस्या थी।

    • मज़ाक में कहा गया कि सीधे OP को hire करके उससे ठीक करवा लो।

    • मुझे वे sites पसंद नहीं जो screen space बर्बाद करती हैं।

    • मुझे left alignment पसंद है। मेरे हिसाब से text की सही जगह वही है।

  • उसने बताया कि debounced search function में AbortController जोड़ा ताकि user हर नया input देते समय पिछली query cancel हो जाए। सबसे परेशान करने वाली चीज़ यही है कि user अभी टाइप पूरा भी नहीं कर पाया और filter या search पहले ही लागू हो जाता है। अच्छा होता अगर input पूरी होने तक इंतज़ार किया जाए।

    • Grafana log search में अगर आप वर्तमान log filters बदलते हैं, तो हर अक्षर बदलने पर query count के हिसाब से billing होती है। इसी वजह से मुझे अपनी UX आदतें बदलनी पड़ीं। लागत पूरी string पर नहीं, बल्कि characters की संख्या के हिसाब से पड़ती थी।

    • अपने blog में search-live feature बनाते समय मैंने यह किया कि पहले पिछली search suggestions पूरी होने दीं और उसके बाद नई request भेजी। मुझे लगा यह server load रोकते हुए responsiveness बनाए रखने का ठीक तरीका है।

    • खासकर booking sites पर यह चीज़ बहुत खराब लगती है। Filters left sidebar में होते हैं, लेकिन अगर वे स्क्रीन पर पूरे न दिखें तो हर interaction पर page ऊपर scroll हो जाता है, loading शुरू हो जाती है, और filters read-only हो जाते हैं। फिर सब खत्म होने तक इंतज़ार करो, तब जाकर अगला filter जोड़ सकते हो।

    • मुझे लगता है अच्छा compromise यह है कि user के टाइप करना बंद करने के कुछ सौ milliseconds बाद query भेजी जाए। या query भेज दी जाए लेकिन जब तक input रुक न जाए तब तक results न दिखाए जाएँ।

    • मुझे यह व्यवहार सच में नापसंद है। यह वैसा है जैसे किसी fancy code editor में हर अक्षर टाइप करने पर warning beep बजे। जैसे ही i और f टाइप किया, तुरंत कहे “if-then statement बंद नहीं किया गया!” जबकि साफ़ है कि user अभी लिख ही रहा है। पूरा लिख लेने के बाद warning आए तो बेहतर है। ज़्यादातर languages और tools में मैं ऐसे real-time alerts बंद कर देता हूँ और errors सिर्फ़ build/run पर देखता हूँ। LSP (Language Server Protocol) को थोड़ा शांत होना चाहिए।

  • अब software quality इतनी गिर गई है कि अगर कोई bug परेशान करे तो नौकरी लेकर खुद ठीक करना ज़्यादा आसान लगता है। इससे GTA 5 loading issue हल करने वाले programmer की कहानी याद आती है। इतना पैसा कमाने वाला GTA 5 भी quality improvements आसानी से नहीं कर पाया।

    • मुझे यह quality issue से ज़्यादा priority issue लगता है। companies user की ज़रूरतों से पहले team जो करना चाहती है उसे चुनती हैं। real-world user testing और data experiments की कमी है। असल में यह उदाहरण solution से ज़्यादा असली problem की एक झलक है। शायद इससे कहीं ज़्यादा उपयोगी issues रहे होंगे, लेकिन एक व्यक्ति ने वही feature जोड़ दिया जो वह खुद चाहता था।

    • GTA:O में shark cards पर बहुत पैसा खर्च करने वाले लोगों को loading time की परवाह नहीं थी। मैं इतना चिढ़ गया कि समय नापा और पाया कि असली missions से ज़्यादा वक्त loading screen देख रहा हूँ, फिर मैंने game ही छोड़ दिया।

  • मज़ाक में पूछा गया कि क्या internet meme वाला वही आदमी तुम ही हो।

  • लेख में hiring वाला हिस्सा बिल्कुल नहीं बताया गया, इसलिए जिज्ञासा है। यह बस “कोई चीज़ मुझे परेशान कर रही थी, और कंपनी में शामिल होने से मैं उसे ठीक कर सका” जैसा लगता है, इसलिए कहानी का मुख्य हिस्सा गायब लगता है।

    • लगता है लेखक की company का अधिग्रहण उस जगह ने कर लिया जहाँ वह अब काम करता है, इसलिए शायद यह acquihire रहा होगा।
  • उल्टा, मैंने पहले ऐसी नौकरी की है जहाँ IP lawyers की वजह से open source code में PR डालना असंभव था। फिर भी अगर आप exact input values और bug वाली line numbers विस्तार से बता दें, तो किसी को खुद ठीक करने के लिए मनाया जा सकता था। ऐसा लगता था जैसे code की जगह QA (quality assurance) report मुफ़्त में दे रहा हूँ।

  • किसी ने कहा कि इससे George Hotz के 2022 में थोड़े समय के लिए Twitter से जुड़कर login popup हटाने वाली legendary घटना याद आती है। लेकिन मुझे यह अलग तरह से याद है। George Hotz ने कहा था कि वह “search ठीक कर सकता है”, फिर लगभग तुरंत चला गया, और जाते-जाते सांत्वना के तौर पर सिर्फ़ popup हटा गया।

    • इस बहाने मैं George Hotz, patent trolls, और comma.ai के बारे में फिर से पढ़ने लगा। George Hotz की Comma.AI का $999 वाला “comma 3x” smartphone, OBD-II connector, और $99 wiring harness मिलाकर पिछले 10 साल के भीतर बनी ज़्यादातर cars में, यहाँ तक कि Tesla में भी, Autopilot-level features जोड़े जा सकते हैं। कुल लागत $1098 है। यह open source है और GitHub पर उपलब्ध है, और car में ssh access भी सपोर्ट करता है। optional cloud subscription $10/month (अपना SIM) या $24/month (seller data सहित) है। हालांकि Tesla Sentry Mode जैसी functionality अभी नहीं है, और वह issue #29912 के रूप में दर्ज है। मूल Tesla Sentry Mode 250W खपत करता है — 80kWh battery पर 7 दिनों में 80% से 30% तक गिरावट — अगर openpilot 5W से कम ले तो यह कहीं ज़्यादा efficient होगा।

    • मुझे याद है George Hotz ने Twitter में शामिल होने का बहुत शोर मचाया, फिर कुछ खास नहीं किया और चुपचाप निकल गया। काफ़ी शर्मनाक था, और उसने खुद ही यह हाल बनाया।

    • उसने कहा कि उसने पोस्ट को और सही तरीके से edit किया, और साथ ही Github Pages bug की वजह से अपना blog ही नीचे कर दिया।

    • मुझे याद है कि अंत में उसने Elon को Twitter पूरा का पूरा फिर से बनाने का प्रस्ताव दिया था।

  • मैंने तो व्यक्तिगत रूप से Discord में नौकरी के लिए apply करने तक का सोचा था ताकि giant emoji को toggle setting में बदलने वाला PR भेज सकूँ। सिर्फ़ मैं ही नहीं, पूरा server इसे बेसब्री से चाहता है।

    • पता नहीं इससे मदद मिलेगी या नहीं, लेकिन मैं खुद emoji के बाद full stop लगाकर फिलहाल उससे बचता हूँ। नए users के लिए बेकार है, लेकिन मेरे लिए अस्थायी उपाय है।

    • Discord एक Electron app है, इसलिए सिद्धांत रूप से इसे client-side mod से बदला जा सकता है। बस account ban का risk कितना है, यह नहीं पता।

    • एक comment में पूछा गया कि इसका मतलब क्या है; उदाहरण देकर बताया गया कि :) जैसे emoticon की auto-conversion बंद करने का option मौजूद है।