1 पॉइंट द्वारा GN⁺ 2023-07-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • GitHub issues में register को 0 पर सेट करने की चर्चा @reset यूज़र मेंशन के रूप में प्रोसेस हो जाती है, जिससे एक असंबंधित व्यक्ति को बार-बार ईमेल नोटिफिकेशन मिलते हैं
  • वजह यह है कि GitHub @reset जैसे स्ट्रिंग्स को ऑटोमैटिक मेंशन के रूप में समझता है, इसलिए तकनीकी संदर्भ के शब्द असली यूज़र कॉल में बदल जाते हैं
  • @boxed, @stack, @else, @font, @acme जैसे छोटे हैंडल, जो तकनीकी शब्दों या placeholders से टकराते हैं, इसी तरह के नोटिफिकेशन का नुकसान झेलते हैं
  • backticks का उपयोग करने या @[any_text] से बचने का सुझाव दिया गया, लेकिन commit messages और PR·issue comments में भी नोटिफिकेशन ट्रिगर हो सकते हैं, इसलिए पूरी तरह बचना मुश्किल है
  • Hacker News टिप्पणियों के अनुसार @reset यूज़र इसे हँसते हुए एंजॉय करता है, लेकिन छोटे और सामान्य हैंडल डेवलपर टूल्स की auto-mention सुविधा से आसानी से टकरा जाते हैं

@reset मेंशन घटना

  • Adrian Sampson ने GitHub पर registers को 0 पर सेट करने की बात करते हुए अनजाने में @reset यूज़र को ईमेल नोटिफिकेशन भेज दिए, जिसके लिए उन्होंने माफ़ी मांगी
  • इससे जुड़ी GitHub issue comment cucapra/calyx repository की issue comment है, और समस्या का केंद्र यह है कि @reset को GitHub username के रूप में समझ लिया गया
  • “setting registers to zero” जैसे तकनीकी संदर्भ में reset शब्द स्वाभाविक रूप से आया, और उसके आगे @ लगते ही वह असल यूज़र मेंशन बन गया

छोटे हैंडल पर आने वाले बेवजह नोटिफिकेशन

  • जो हैंडल तकनीकी शब्दों या आम identifiers से टकराते हैं, उन्हें कई services पर अनचाहे नोटिफिकेशन मिलना आसान होता है
    • @boxed यूज़र GitHub और Mastodon दोनों पर यही nickname इस्तेमाल करता है, और उसके अनुसार लोग commit messages में @boxed लिख देते हैं, जिससे GitHub नोटिफिकेशन बहुत आते हैं
    • @stack यूज़र के अनुसार, कुछ भाषाओं में stack-संबंधित variables के आगे @ लग जाए तो उसे अपने-आप message मिल जाता है
    • @else इस्तेमाल करने वाले एक यूज़र ने बहुत सारे PR और comment notifications की वजह से अंततः वह हैंडल छोड़ दिया
    • @acme यूज़र का हैंडल कई frameworks के placeholders से टकराता है, इसलिए उसे बहुत नोटिफिकेशन मिलते हैं
    • CSS चर्चाओं में @font-face पर बात करते समय @font यूज़र के बार-बार परेशान होने का उदाहरण भी सामने आता है

GitHub auto-mention से बचना क्यों मुश्किल है

  • @ character को escape नहीं किया जा सकता” जैसी प्रतिक्रिया के मुताबिक, GitHub का auto-mention processing ही मुख्य कारण है
  • सलाह दी गई कि GitHub issues या PRs में @[any_text] सीधे न लिखें
  • backticks में लिखने से मदद मिल सकती है, ऐसा भी सुझाव आया
  • code, comments, commit messages और issue comments जैसे टेक्स्ट स्पेस में, जिन्हें डेवलपर्स अक्सर लिखते हैं, @शब्द का रूप usernames से टकरा सकता है

मज़ाक तक पहुँचने वाले मिलते-जुलते किस्से

  • इस स्थिति को छोटे और आम identifiers चुनने के दुष्प्रभाव के रूप में देखा गया
  • लोगों ने इसकी तुलना उस security researcher की कहानी से की, जिसने NULL नंबर प्लेट खरीदी और फिर unassigned traffic violation tickets मिलने लगे
  • कुछ लोगों को Steve Wozniak का वह किस्सा याद आया, जब 888-8888 फ़ोन नंबर लेने के बाद बच्चे बार-बार बटन दबाकर कॉल लगा देते थे
  • IRC पर pokes नाम इस्तेमाल करने वाले एक यूज़र ने बताया कि लोग /me pokes [name] को गलती से /msg की तरह टाइप कर देते थे, जिससे उसे अक्सर निजी संदेश मिलते थे
  • Mastodon पर भी @_@ जैसे face characters किसी खास instance के @_ यूज़र को नोटिफिकेशन भेज सकते हैं, ऐसा उदाहरण सामने आया

@reset यूज़र की प्रतिक्रिया

  • बताया गया कि @reset यूज़र ने Hacker News पर यह टिप्पणी की कि हर बार नोटिफिकेशन मिलने पर वह जवाब देता है, हँसता है, और वास्तव में इसे एंजॉय करता है
  • इसके बाद की प्रतिक्रियाओं का माहौल यह था कि यह जानकर राहत मिली
  • फिर भी, पूरा मामला दिखाता है कि छोटे और सामान्य हैंडल जब डेवलपर प्लेटफ़ॉर्म्स की auto-mention सुविधाओं से टकराते हैं, तो अनजाने लोगों तक बार-बार नोटिफिकेशन पहुँच सकते हैं

1 टिप्पणियां

 
GN⁺ 2023-07-28
Hacker News की रायें
  • @reset यहीं है। @ से मेंशन किए जाने पर हमेशा जवाब देता/देती हूँ। यह मज़ेदार भी है, और बाद में यह देखना भी सचमुच बड़ा अच्छा लगता है कि लोग क्या बना रहे हैं
    उम्मीद है लोग ऐसा करते रहेंगे; यह मेरे दिन का काफ़ी सुखद हिस्सा है

    • लिंक किए गए PR पर छोड़ा गया जवाब वाकई अच्छा था। ऐसी चीज़ बहुत झुंझलाहट भरी भी हो सकती है और बहुत मज़ेदार भी, लेकिन इसे sense of humor के साथ लेने का अंदाज़ अच्छा लगा
    • मेरा अकाउंट @username था, लेकिन GitHub ने एक दिन अचानक उसे usernamex में बदल दिया
    • इसी वजह से मुझे sshole अकाउंट मिला
  • पहले मोबाइल डेटाबेस कंपनी Realm में काम किया था। क्या हो रहा है यह देखने के लिए Twitter पर @realm का उल्लेख होते ही उसे Slack में दोबारा पोस्ट करने वाला integration था
    एक सुबह #twitter चैनल लगभग पोर्न जैसी सामग्री से भर गया था। युवा पुरुष खुले कपड़ों में, अपने abs दिखाते हुए कैमरे की ओर मुस्कुरा रहे थे
    पता चला कि किसी ने Instagram पोस्ट को Twitter पर repost करने वाला bot लगा दिया था; Instagram usernames में dot की अनुमति देता है और Twitter नहीं। IG अकाउंट शायद @realm.of.beauty था, और Twitter ने उसे सीधे @realm समझ लिया

    • मैं भी Twitter पर @cmg हूँ, इसलिए मुझे भी ऐसे Instagram mentions काफ़ी मिले, और लोग मुझे CheckMate Gaming, Canadian Media Guild, Cocaine Muzik Group, Chipotle Mexican Grill वगैरह हर तरह की चीज़ समझ बैठे
    • ऐसा ही एक मामला हुआ था। एक public board का नाम कोई acronym था, और वही acronym gay paddling fetish में भी इस्तेमाल होता था
      हमारे hashtag या mentions देखते हुए कभी-कभी किसी युवा performer को cricket bat जैसी चीज़ से नंगी पिछली तरफ़ पर मोहक अंदाज़ में मार खाते हुए देखना पड़ जाता था
    • Twitter पर @CommonFirstNameCommonLastName इस्तेमाल करता/करती हूँ, और कभी-कभी मुझे बिल्कुल किसी और व्यक्ति समझकर लोग mention या DM भेज देते हैं। यह बहुत बार नहीं होता, इसलिए बहुत परेशान नहीं करता
  • पिछली नौकरी में हमने C preprocessor directives के नाम पर Slack channel बनाने का फैसला किया था। शायद #define था या #endif रहा होगा। कुछ लोगों ने उसे ढूँढ लिया और joke समझ गए
    लेकिन कुछ महीने बाद एक admin ने संपर्क किया कि क्या वह channel delete किया जा सकता है। बड़े संगठन में Slack उन channels के बारे में जानता है जो संगठन के दूसरे हिस्सों को नहीं दिखने चाहिए, और इसी वजह से मेरे group के बाहर के लोगों के लिए C preprocessor directive mentions censor हो रहे थे ^^;

    • तो वे code block में डालना सीख जाएँगे
    • मज़ेदार है कि Slack ने mention रोकने की कोशिश में उल्टा private channel के अस्तित्व को ही उजागर कर दिया
  • एक बार GitHub issue में गलती से code block के बिना backtrace paste कर दिया था। stack गहरा था और हर line “#0”, “#1”, “#2” की तरह शुरू हो रही थी, और GitHub ने उन सबको उसी नंबर वाले issue links में बदल दिया
    हर issue को backlink notification भी चला गया, और उस behavior को वापस लेने का कोई तरीका नहीं दिखा

    • issue reference में इससे भी बड़ी दिक्कत commit messages में आई थी। template के तौर पर इस्तेमाल होने वाला repository उस template repository के ticket बंद करने के लिए commit message में “Fixes #123” लिख रहा था
      समस्या यह थी कि जब updated template को child repositories में merge किया गया, तो हर child repository के issues भी बंद हो गए
    • QEMU के GitLab issue tracker में जानबूझकर issue numbers को ऊँचे नंबर से शुरू किया गया था। शायद 100 के आसपास रहा होगा
      Launchpad से migration के बहुत शुरुआती दौर में यह समस्या आई थी, इसलिए पहले से कम नंबरों पर बने सिर्फ़ दो-तीन issues को ही renumber करना पड़ा और यह बड़ी समस्या नहीं बनी
    • ऐसे मामलों में तुरंत दिखने वाला undo button ज़रूर होना चाहिए
  • bug झेल रहे लोग कभी-कभी मुझे @ कर देते हैं, सिर्फ़ इसलिए कि मैंने हाल में repository में contribute किया था। ऐसे में अगर मैं बस “LGTM Approved” जवाब दे दूँ, तो लोग नाराज़ हो जाते हैं
    इस project में क्या check in होता है, मुझे फ़र्क नहीं पड़ता। यह मेरा project नहीं है

  • एक बार मैंने अपना phone number बदलकर उसके आख़िरी 8 digit 69696969 रख लिए थे। मुझे लगा यह बहुत मज़ेदार है
    फिर पता चला कि लोगों ने हर toilet stall में “अच्छा समय चाहिए तो XYZ69696969 पर call करें” जैसी चीज़ें लिख रखी थीं, और हर रात भर calls आती थीं

    • Steve Wozniak ने कुछ समय तक 888-8888 इस्तेमाल किया था। बहुत शानदार नंबर था, लेकिन उन्हें सैकड़ों calls मिलती थीं जिनमें background में बस random आवाज़ें होती थीं
      बाद में पता चला कि बच्चे अपने parents के phone के buttons दबा रहे थे, और सभी 8 वाला नंबर बच्चों के लिए दबाना आसान था
      https://www.wired.com/1998/09/woz/
    • मेरे पास कई क्षेत्रों के कुछ 867-5309 numbers हैं। आजकल उन्हें कुछ न करने के लिए सेट कर रखा है, लेकिन कुछ समय के लिए PBX से जोड़ दिया था तो हर line पर दिन में 2,500 तक calls आती थीं। Jenny को call करने की कोशिश करने वाले नशे में धुत्त बहुत से पुरुष थे
    • यह हैरान करने वाला है कि लोग सच में ऐसे numbers पर call करते हैं
    • जर्मनी के मशहूर football star Franz Beckenbauer ने mobile provider promotion करते समय 66666666 माँगा था, और उन्हें भी इसी तरह रात में calls आने लगीं
      https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
  • GitHub में tags और mentions के मामले में काफ़ी खतरनाक functionality है। उदाहरण के लिए, किसी organization में किसी को जोड़ते समय username autocomplete होता है
    एक व्यक्ति का नाम आम था, और हमने गलती से मिलते-जुलते नाम वाले लेकिन अलग व्यक्ति को organization में add कर दिया। सौभाग्य से उसने invitation accept करने से पहले उसे remove कर दिया और सही व्यक्ति को add कर दिया

    • बिल्कुल। यह बेहद खटकता है। source code को verify कराने के लिए तमाम प्रक्रियाओं से गुज़ारते हैं और encryption की कई layers इस्तेमाल कराते हैं, लेकिन किसी बिल्कुल असंबंधित व्यक्ति को company code पर पूरा write access देना बहुत आसान बना रखा है
    • मेरे साथ भी ऐसा हुआ था। मैंने invitation accept किया और उनकी चीज़ें देखने के बाद, मुझे remove करने के लिए issue/PR खोला। वे panic में आ गए और मुझे थोड़ा हँसी आई
  • GitHub पर कभी-कभी मुझे timezone के तौर पर tag किया जाता है

    • हैरानी है कि ऐसा username कैसे मिला। छोटे names बहुत जल्दी चले जाते हैं; शायद वह पहले 1,000 users में रहा होगा
  • एक दिलचस्प spam route सूझा। किसी चीज़ का विज्ञापन करने वाला PR बनाओ, फिर scrape किए गए ढेर सारे लोगों को @ कर दो
    attack path भी दिलचस्प है: कोई ऐसा @ name हासिल करना जो आसानी से confuse कर दे, और फिर यह देखना कि आप किस PR के reviewer बनते हैं। उस PR में malicious code जोड़ो और merge कर दो
    इसके अलावा, work में organization security access permissions सेट करते समय combo search से दुनिया में किसी को भी add कर पाना भी बेवकूफी है। सिर्फ organization के अंदर filter करने का option तक नहीं है
    और ज़्यादातर लोग work या personal GitHub पर अजीब handles इस्तेमाल करते हैं। इसलिए UI इस्तेमाल करना हो तो इंसान को बेहतरीन string comparator बनना पड़ता है, या हर व्यक्ति का handle पता करके एक-एक कर copy-paste करना पड़ता है
    तीसरा attack यह है कि target company के employees जैसे नामों वाले ढेर सारे accounts बनाए जाएं, और उम्मीद की जाए कि गलती से organization repository में add कर दिए जाएंगे

    • असल में किसी ने गलती से ऐसा किया भी था
      GitHub user ने 4 लाख लोगों को notification भेजा [2022]
      https://news.ycombinator.com/item?id=31627061
  • जब पता चला कि किसी दूसरे repository के GitHub issue को link करने पर linked issue में backlink बन जाता है, तो मैं काफ़ी परेशान हुआ था। link हटाने पर भी यह undo नहीं होता; issue को पूरी तरह delete करना पड़ता है
    अच्छा होगा अगर इस feature को बंद किया जा सके

    • आज ही यह चीज़ discover की। एक public repository issue के नीचे हमारे private repository के PR का link दिख रहा था, देखकर काफ़ी चौंक गया
      शुक्र है, incognito mode में वह गायब था, और दूसरे account से login करने पर भी नहीं दिखा। यह सबको नहीं दिखता, लेकिन थोड़ी देर के लिए यह काफ़ी अप्रिय surprise था
    • https://github.com./a/b” या “https://www.github.com/a/b” भी workaround के तौर पर काम करते हैं
      लेकिन edit करके हटाने पर, या यहां तक कि वह comment delete करने पर भी जिसमें वह link था, उसका न हटना बहुत ही बेवकूफाना और irritating है
    • ठीक है। यह किसी को notification नहीं भेजता। अगर आप embarrassing काम या spammy हरकत नहीं कर रहे हैं, तो शायद किसी को फर्क नहीं पड़ेगा
      यह देख पाना अच्छा है कि कोई issue दूसरे project पर कैसे असर डालता है, और यह काफ़ी useful जानकारी हो सकती है
    • अगर सच में बचना चाहते हैं, तो लगता है Markdown के पीछे bit.ly जैसे link shortener का इस्तेमाल करके इसे छिपाया जा सकता है। मैंने test नहीं किया
      हालांकि उम्मीद है कि आप ऐसा सिर्फ अपने personal repository में करेंगे जिसमें सिर्फ आप contribute करते हैं। वरना click करने वाले के नज़रिए से यह बहुत suspicious लगेगा