- 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/calyxrepository की 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 टिप्पणियां
Hacker News की रायें
@reset यहीं है। @ से मेंशन किए जाने पर हमेशा जवाब देता/देती हूँ। यह मज़ेदार भी है, और बाद में यह देखना भी सचमुच बड़ा अच्छा लगता है कि लोग क्या बना रहे हैं
उम्मीद है लोग ऐसा करते रहेंगे; यह मेरे दिन का काफ़ी सुखद हिस्सा है
पहले मोबाइल डेटाबेस कंपनी Realm में काम किया था। क्या हो रहा है यह देखने के लिए Twitter पर @realm का उल्लेख होते ही उसे Slack में दोबारा पोस्ट करने वाला integration था
एक सुबह #twitter चैनल लगभग पोर्न जैसी सामग्री से भर गया था। युवा पुरुष खुले कपड़ों में, अपने abs दिखाते हुए कैमरे की ओर मुस्कुरा रहे थे
पता चला कि किसी ने Instagram पोस्ट को Twitter पर repost करने वाला bot लगा दिया था; Instagram usernames में dot की अनुमति देता है और Twitter नहीं। IG अकाउंट शायद @realm.of.beauty था, और Twitter ने उसे सीधे @realm समझ लिया
हमारे hashtag या mentions देखते हुए कभी-कभी किसी युवा performer को cricket bat जैसी चीज़ से नंगी पिछली तरफ़ पर मोहक अंदाज़ में मार खाते हुए देखना पड़ जाता था
पिछली नौकरी में हमने C preprocessor directives के नाम पर Slack channel बनाने का फैसला किया था। शायद #define था या #endif रहा होगा। कुछ लोगों ने उसे ढूँढ लिया और joke समझ गए
लेकिन कुछ महीने बाद एक admin ने संपर्क किया कि क्या वह channel delete किया जा सकता है। बड़े संगठन में Slack उन channels के बारे में जानता है जो संगठन के दूसरे हिस्सों को नहीं दिखने चाहिए, और इसी वजह से मेरे group के बाहर के लोगों के लिए C preprocessor directive mentions censor हो रहे थे ^^;
एक बार GitHub issue में गलती से code block के बिना backtrace paste कर दिया था। stack गहरा था और हर line “#0”, “#1”, “#2” की तरह शुरू हो रही थी, और GitHub ने उन सबको उसी नंबर वाले issue links में बदल दिया
हर issue को backlink notification भी चला गया, और उस behavior को वापस लेने का कोई तरीका नहीं दिखा
समस्या यह थी कि जब updated template को child repositories में merge किया गया, तो हर child repository के issues भी बंद हो गए
Launchpad से migration के बहुत शुरुआती दौर में यह समस्या आई थी, इसलिए पहले से कम नंबरों पर बने सिर्फ़ दो-तीन issues को ही renumber करना पड़ा और यह बड़ी समस्या नहीं बनी
bug झेल रहे लोग कभी-कभी मुझे @ कर देते हैं, सिर्फ़ इसलिए कि मैंने हाल में repository में contribute किया था। ऐसे में अगर मैं बस “LGTM Approved” जवाब दे दूँ, तो लोग नाराज़ हो जाते हैं
इस project में क्या check in होता है, मुझे फ़र्क नहीं पड़ता। यह मेरा project नहीं है
एक बार मैंने अपना phone number बदलकर उसके आख़िरी 8 digit 69696969 रख लिए थे। मुझे लगा यह बहुत मज़ेदार है
फिर पता चला कि लोगों ने हर toilet stall में “अच्छा समय चाहिए तो XYZ69696969 पर call करें” जैसी चीज़ें लिख रखी थीं, और हर रात भर calls आती थीं
बाद में पता चला कि बच्चे अपने parents के phone के buttons दबा रहे थे, और सभी 8 वाला नंबर बच्चों के लिए दबाना आसान था
https://www.wired.com/1998/09/woz/
https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
GitHub में tags और mentions के मामले में काफ़ी खतरनाक functionality है। उदाहरण के लिए, किसी organization में किसी को जोड़ते समय username autocomplete होता है
एक व्यक्ति का नाम आम था, और हमने गलती से मिलते-जुलते नाम वाले लेकिन अलग व्यक्ति को organization में add कर दिया। सौभाग्य से उसने invitation accept करने से पहले उसे remove कर दिया और सही व्यक्ति को add कर दिया
GitHub पर कभी-कभी मुझे timezone के तौर पर tag किया जाता है
एक दिलचस्प 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 को बंद किया जा सके
शुक्र है, incognito mode में वह गायब था, और दूसरे account से login करने पर भी नहीं दिखा। यह सबको नहीं दिखता, लेकिन थोड़ी देर के लिए यह काफ़ी अप्रिय surprise था
लेकिन edit करके हटाने पर, या यहां तक कि वह comment delete करने पर भी जिसमें वह link था, उसका न हटना बहुत ही बेवकूफाना और irritating है
यह देख पाना अच्छा है कि कोई issue दूसरे project पर कैसे असर डालता है, और यह काफ़ी useful जानकारी हो सकती है
हालांकि उम्मीद है कि आप ऐसा सिर्फ अपने personal repository में करेंगे जिसमें सिर्फ आप contribute करते हैं। वरना click करने वाले के नज़रिए से यह बहुत suspicious लगेगा