11 पॉइंट द्वारा GN⁺ 2025-10-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • किसी चीज़ को छूते, बदलते और उससे सीखते रहना (tinkering) केवल skill हासिल करना नहीं, बल्कि सीखने और अपनी रुचि गढ़ने की एक केंद्रीय प्रक्रिया है
  • बिना किसी तय मकसद के कोशिश करना और बार-बार असफल होना, इसी प्रक्रिया में जिज्ञासा और संवेदनशीलता विकसित होती है
  • अच्छी रुचि कई tools और environments को खुद इस्तेमाल करके, जो पसंद न आए उसे छोड़ने और जो अच्छा लगे उसे बचाए रखने वाले दोहराए जाने वाले प्रयोगों से बनती है
  • हर बार हाथ लगाना, तोड़ना और फिर से बनाना, साधारण और उत्कृष्ट के बीच फर्क पहचानने वाली समझ विकसित करने का तरीका है
  • सवाल करना, प्रयोग करना, और हर दिन टकराते रहना ही आज के दौर के developer की असली mindset होनी चाहिए

tinkering क्या है

  • ‘Tinker’ का मतलब है किसी चीज़ को ठीक करने या बेहतर बनाने के लिए उसमें बार-बार छोटे-छोटे बदलाव करना
  • FPS games में mouse sensitivity adjust करना, Linux window manager सेट करना, mechanical keyboard खोलकर उसकी lubrication करना जैसे काम इसके उदाहरण हैं
  • ये काम हमेशा ज़रूरी नहीं होते, लेकिन ये अपना खुद का environment बनाने का आनंद देते हैं और उसी से सीखना आगे बढ़ता है

tinkering का रवैया

  • दुनिया में broadly दो तरह के लोग होते हैं: जो सिर्फ लक्ष्य हासिल करने के लिए काम करते हैं और जो बिना किसी खास वजह के भी चीज़ें आज़माते हैं
    • आदर्श रवैया इनके बीच में है, यानी experiment और practicality के बीच संतुलन ढूँढना
  • नई language, tool या editor को छेड़ना और उससे होने वाली असुविधा को स्वीकार करना, रचनात्मक संवेदना को फैलाने वाली प्रक्रिया बन जाता है
    • कुछ developers अगर सिर्फ VSCode terminal इस्तेमाल करते हों, vim bindings न जानते हों, या CLI की जगह GitHub Desktop इस्तेमाल करते हों, तो इसे सीधा गलत नहीं कहा जा सकता, लेकिन इसे न्यूनतम स्तर (minimum) समझना चाहिए
  • जैसे कहा जाता है, “practice वह चीज़ है जिसे फेंका जा सकता है”, उसी तरह नतीजे से ज़्यादा प्रक्रिया की खोजपरकता और उसकी आवृत्ति महत्वपूर्ण है

सीखने और रुचि का रिश्ता

  • अच्छी रुचि अनुभवों के जमा होने से पैदा हुई विवेकपूर्ण पहचान है, और यह बिना अलग-अलग कोशिशों के नहीं बनती
  • कई tools और languages को आज़माते हुए “क्या अच्छा है” और “क्या खास नहीं है” का फर्क समझना ही सीखना है
  • जो कोशिशें पहले बेकार लगती थीं, वही बाद में programming के प्रति समझ और लगाव को गहरा करती हैं
  • दूसरों के मानदंडों का पीछा करने के बजाय, अपने मानदंडों के आधार पर चुनना और छोड़ना ही असली रुचि बनाने की प्रक्रिया है
  • हाल में GLSL shaders लिखना, Rust procedural macros, template C++, Swift app development, और Helix editor का इस्तेमाल जैसी चीज़ें आज़माकर सिर्फ आनंद के लिए नया ज्ञान और अनुभव मिला

सीखने में लगाया गया समय कभी व्यर्थ नहीं जाता

अभी रुचि क्यों महत्वपूर्ण है

  • लगातार कोशिश करना, सुधारना, तोड़ना और फिर से बनाना—इसी प्रक्रिया में skill के साथ-साथ संवेदना और सौंदर्यबोध भी विकसित होते हैं
  • अच्छी रुचि (good taste) बहुत-सी चीज़ों को इस्तेमाल करके, जो पसंद न आए उसे छोड़कर और जो पसंद आए उसे बचाकर रखने की प्रक्रिया से बनती है
  • यहाँ ‘रुचि’ का मतलब साधारण और उत्कृष्ट में फर्क करने की क्षमता है, और यह हर व्यक्ति में अलग हो सकती है; इसका दूसरों जैसा होना ज़रूरी नहीं

यथास्थिति पर सवाल उठाइए, प्रयोग कीजिए, तोड़िए, और इसे बार-बार दोहराइए

1 टिप्पणियां

 
GN⁺ 2025-10-29
Hacker News राय
  • बहुत पहले एक दोस्त ने कहा था कि कॉफी के बारे में सब कुछ सीख लेने के बाद वह अब सिर्फ महंगी beans और machines से बनी कॉफी ही सच में एंजॉय कर पाता है, लेकिन पहले supermarket की कॉफी पीते समय जो खुशी मिलती थी, वह उतनी ही थी
    इसलिए मैं जहाँ तक हो सके ‘पसंद/रुचि’ को कम करने वाली ज़िंदगी जीने की कोशिश करता हूँ। 20 डॉलर के headphones और 200 डॉलर के TV से भी मैं पूरी तरह संतुष्ट हूँ, और दोस्तों के 3,000 डॉलर के TV होने पर भी खुशी का स्तर अलग नहीं होता

    • मेरा अनुभव उल्टा रहा। मैं साधारण कॉफी या चॉकलेट का बिल्कुल आनंद नहीं ले पाता था। 30s में पहुँचकर ही मैंने ‘असली कॉफी’ और ‘असली चॉकलेट’ चखी, और तब समझ आया कि यह पूरी तरह अलग दुनिया है
      अब मैं independent roastery की beans subscription पर लेता हूँ, और हर बार नए स्वाद खोजने में मज़ा आता है। अच्छी कॉफी को जानना मेरे जीवन को और समृद्ध बनाने वाला अनुभव रहा है
    • तुम्हारी बात मुझे ‘रुचि न होना’ से ज़्यादा ‘संतुष्ट रहने’ वाली मानसिकता लगती है। हर व्यक्ति के आनंद का पैमाना अलग होता है, और महंगा gear ज़रूरी नहीं कि ज़्यादा खुशी दे
      मेरे लिए ‘रुचि’ अनुभव को खराब नहीं करती, बल्कि उसे और समृद्ध बनाती है
    • मेरा भी ऐसा ही अनुभव है। मैं लंबे समय तक 20 डॉलर वाले headphones इस्तेमाल करता रहा, फिर नया फोन लेते समय मिले 200 डॉलर वाले headphones लगाए तो संगीत बिल्कुल नया लगा
      फिर भी रोज़मर्रा में मैं अब भी 20 डॉलर वाले ही इस्तेमाल करता हूँ। मेरे हिसाब से असली बात ‘दिखावे के बिना आनंद लेने का मन’ है
    • कॉफी की अच्छी समझ होने पर भी instant coffee या gas station coffee का आनंद लिया जा सकता है। स्वाद को समझना और घमंडी हो जाना, दोनों अलग बातें हैं
      जैसे कोई बेहतरीन engineer वीकेंड पर आलू पर Doom चला दे, वैसे ही रुचि में विविधता को समेट लेने की ताकत होती है
    • ऐसी बातें सुनकर लगता है कि अभी ‘सीखने की यात्रा पूरी नहीं हुई है’। जैसे संगीत थोड़ा सीखने वाला व्यक्ति सोचता है कि सिर्फ Bach अच्छा है, लेकिन और गहराई से सीखने पर Taylor Swift का आकर्षण भी समझ आता है
      असली रुचि कई styles की सुंदरता को समझ पाने की क्षमता है। मैंने भी तरह-तरह के coffee gear आज़माते-आज़माते आखिरकार ‘कम निर्णयात्मक रुचि’ विकसित की
  • “जो लोग सिर्फ लक्ष्य के लिए करते हैं” और “जो बस करते रहते हैं” — इस बात से मैं सहमत हूँ
    आजकल हर कोई ‘vibe coding’ कर सकता है, इसलिए मुझे लगता है कि developers के बीच फर्क ‘good taste’ से तय होता है
    यह सिर्फ instinct नहीं, बल्कि कई कोशिशों से जमा हुई discernment है। System design में भी यही बात लागू होती है: सिर्फ जल्दी बनाना नहीं, बल्कि ‘ऐसी संरचना बनाना जो ढहे नहीं’ ज़्यादा महत्वपूर्ण है
    इसलिए मैं sandbox फ़ोल्डर बनाकर नए ideas या libraries पर प्रयोग करते हुए अपनी रुचि को तराशता हूँ

    • मैं भी पूरी तरह सहमत हूँ। GitHub पर भले कुछ खास न दिखे, लेकिन मेरे लोकल ~/Code फ़ोल्डर में experimental projects भरे पड़े हैं। ऐसे छोटे प्रयोग ही मुझे बेहतर programmer बनाते हैं
    • “जो तेज़ और अच्छा बनाते हैं, वही टिकते हैं” — इस बात से मैं 100% सहमत हूँ
    • यह वैसा ही है जैसे सबसे अच्छे writers सब के सब बेहद गहरे readers होते हैं। Developer को भी अलग-अलग code देखना चाहिए, तभी taste बनता है
    • आज के LLM युग में लगता है कि ‘अपनी खुद की शैली’ धीरे-धीरे गायब हो रही है। ऐसे लोगों के बीच, जिन्हें बस कुछ चलता हुआ चाहिए, यह सोचने वाले कम होते जा रहे हैं कि चीज़ें इस तरह क्यों बनाई जाएँ
      उदाहरण के लिए, मैंने एक PR देखा था जहाँ Flask app में सिर्फ एक route जोड़ना था, लेकिन उसे बेवजह AWS Lambda और Terraform से जटिल बना दिया गया
    • इस संदर्भ में XKCD 915 याद आता है। बात यह है कि विस्तृत नज़रिया ही अंततः अच्छा taste बनाता है
  • मैं लेखक की बात समझता हूँ, लेकिन उदाहरण अच्छे नहीं लगे। Mouse sensitivity, keyboard switches, और VSCode settings तो वैसी चीज़ें हैं जिन्हें मूल रूप से adjust करने के लिए ही बनाया गया है
    असली सीख तो ‘गलत तरीके से इस्तेमाल करके देखना’ से आती है, लेकिन आजकल ऐसे प्रयास भी product बन चुके हैं। दुनिया इतनी आसान हो गई है कि tweak तक एक packaged experience बन गया है — यह थोड़ा खलता है

  • पहले मैं ‘taste’ को अच्छी quality पहचानने का पैमाना मानता था, लेकिन अब इसे ‘values के मेल की डिग्री’ की तरह देखता हूँ
    जब हम किसी की taste को अच्छा कहते हैं, तो अक्सर उसका मतलब यह होता है कि वह व्यक्ति और हम एक जैसे values साझा करते हैं

    • इन दोनों definitions का फर्क आखिरकार इस बात पर निर्भर करता है कि ‘क्या कोई absolute standard है’। जैसे ही relative viewpoint आता है, अर्थ पूरी तरह बदल जाता है
    • मैं taste को ‘अपनी preference को तार्किक रूप से समझा पाने की क्षमता’ मानता हूँ। सिर्फ यह कहना नहीं कि कुछ पसंद है, बल्कि यह भी बता पाना कि वह क्यों अच्छा है
    • taste की दो definitions हैं। (1) किसी मानक के आधार पर अच्छा-बुरा तय करना, (2) किसी medium को गहराई से समझकर उसके फर्कों को पहचान पाना
    • ‘खराब taste’ और ‘अलग taste’ में फर्क करना चाहिए। जिन developers का मैं सम्मान करता हूँ, उनमें से एक की style मुझसे बिल्कुल अलग है, लेकिन उसके code में स्पष्ट इरादा और consistency है
      मेरे हिसाब से यही ‘intentionality’ असली taste का केंद्र है
    • यहाँ जिस ‘taste’ की बात हो रही है, वह आखिरकार ‘opinion’ के ज़्यादा करीब है। सिर्फ हाथ लगाकर देखना ही नहीं, बल्कि चुनना और शिकायत करना भी taste की अभिव्यक्ति है
  • मैंने जिन सबसे खराब engineers को देखा है, वे ‘अपनी ही taste में फँसे लोग’ थे। सहयोग की ज़रूरत वाले माहौल में ऐसा रवैया टीम को बर्बाद कर देता है
    Coding कला नहीं, बल्कि ‘दूसरों के लिए किया जाने वाला काम’ है। Users को language या pattern से ज़्यादा नतीजे की value से मतलब होता है
    सच में सक्षम developer वही है जो किसी भी तरीके से सहयोग कर सके

    • लेकिन मैं coding को एक कलात्मक क्रिया मानता हूँ। किसी समस्या को सटीक रूप में व्यक्त करना, और ऐसी संरचना बनाना जिसे दूसरे लोग समझें और आगे बढ़ाएँ — यह कला के बहुत करीब है
      महत्वपूर्ण बात यह है कि कब सिद्धांतों पर टिके रहना है, इसका sense होना चाहिए
    • सच में अच्छा taste user value की गहरी समझ से आता है। दिखावटी स्मार्टनेस नहीं, बल्कि वास्तविक value ही मूल है
    • बेशक, अगर code बिखरा हुआ हो तो maintenance मुश्किल हो जाती है, और अंततः उसका असर user experience पर भी पड़ता है। ‘tasteful structuring’ आखिरकार business के भी काम आती है
  • “लक्ष्य के लिए किया गया काम बनाम बस किए जाने वाला काम” का यह भेद 『Zen and the Art of Motorcycle Maintenance』 की अवधारणा जैसा लगता है
    Robert Pirsig इसे ‘romantic understanding’ और ‘classical understanding’ में बाँटते हैं, लेकिन अंत में कहते हैं कि दोनों ही आभास हैं, और एकीकृत दृष्टि ही आदर्श है

  • लेखक का ‘tinkering’ वाला विचार मुझे दरअसल neurodivergence में दिखने वाले दोहरावपूर्ण गहन-एकाग्र व्यवहार जैसा लगता है
    अच्छा taste सिर्फ दोहराव से नहीं, बल्कि ज्ञान और कौशल के संयोजन से आता है। आप दुनिया को कितनी व्यापकता से समझते हैं, और किन क्षेत्रों के बारे में अपनी अज्ञानता पहचानते हैं — यही असल बात है

  • पहले मैं भी ‘अनंत tweak करने वाला’ था, लेकिन परिवार, काम और जीवन की व्यस्तता के साथ मुझे व्यावहारिक रूप से बहुत कुछ छोड़ना पड़ा
    अब मैं Synology NAS इस्तेमाल करता हूँ, और Linux छोड़कर फिर Windows पर लौट आया हूँ। फिर भी tinkering की भावना अभी भी मेरे अंदर है

    • मेरे लिए अब tinkering कुछ हद तक ‘hobby’ जैसा है। उदाहरण के लिए, Obsidian जैसी जटिल note strategy की जगह मैं बस साधारण text files में अपने विचार लिख देता हूँ
      ‘ऐसा नोट लेने का तरीका जिसे maintenance चाहिए’ मेरे लिए सही नहीं है
  • पता नहीं ‘taste’ शब्द यहाँ बिल्कुल सही है या नहीं, लेकिन ‘मज़ेदार प्रयोगों के ज़रिए सीखने की प्रक्रिया’ वाली बात से मैं सहमत हूँ
    हालाँकि इस तरह की learning की दो सीमाएँ हैं

    1. आसानी से बेकार tweaks में उलझ सकते हैं
    2. मज़ा खत्म होते ही motivation बनाए रखना मुश्किल हो जाता है — ऐसे में external motivation (जैसे Advent of Code) मदद करती है
  • लेखक ने IDE का उदाहरण देकर ‘tinkering’ समझाया, लेकिन IDE ही प्रयोग का अकेला विषय नहीं है
    Mouse sensitivity, keyboard, window manager जैसी कई और चीज़ें भी हैं
    सिर्फ IDE को न छेड़ने से किसी को ‘non-tweaker’ नहीं कहा जा सकता। आखिरकार असली बात ‘खोजी रवैया’ है, कोई खास tool नहीं