1 puan yazan GN⁺ 2023-07-28 | 1 yorum | WhatsApp'ta paylaş
  • GitHub issue’larında bir register’ı 0’a ayarlama tartışması @reset kullanıcısına yapılan bir mention olarak işlenince, alakasız bir kişiye tekrar tekrar e-posta bildirimi gidiyor
  • Sorunun nedeni, GitHub’ın @reset gibi dizeleri otomatik mention olarak yorumlaması; böylece teknik bağlamdaki bir kelime gerçek bir kullanıcı çağrısına dönüşebiliyor
  • @boxed, @stack, @else, @font, @acme gibi teknik terimler veya placeholder’larla çakışan kısa handle’lar da benzer bildirim sorunları yaşıyor
  • Backtick kullanımı ya da @[any_text] biçiminden kaçınma önerilse de, commit message’larda ve PR·issue yorumlarında da bildirim oluşabildiği için tamamen kaçınmak zor
  • @reset kullanıcısının Hacker News yorumlarında bunu gülerek karşıladığı ve hatta eğlenceli bulduğu söyleniyor; yine de kısa ve genel handle’lar, geliştirme araçlarının otomatik mention özelliğiyle kolayca çakışabiliyor

@reset mention kazası

  • Adrian Sampson, GitHub’da register’ları sıfıra ayarlama hakkında konuşurken @reset kullanıcısına e-posta bildirimi göndermiş olduğu için özür diliyor
  • Bağlantılı GitHub issue yorumu, cucapra/calyx deposundaki issue yorumu; sorunun merkezinde @reset ifadesinin bir GitHub kullanıcı adı olarak yorumlanması var
  • “setting registers to zero” gibi teknik bir bağlamda reset kelimesi doğal olarak ortaya çıktı ve başına @ gelince gerçek bir kullanıcı mention’ına dönüştü

Kısa handle’ların aldığı alakasız bildirimler

  • Teknik terimler veya yaygın tanımlayıcılarla çakışan handle’lar, çeşitli servislerde istemeden bildirim almaya daha yatkın
    • @boxed kullanıcısı GitHub ve Mastodon’da aynı takma adı kullanıyor; insanların commit message içinde @boxed yazması yüzünden GitHub’dan çok sayıda bildirim aldığını söylüyor
    • @stack kullanıcısı, bazı dillerde stack ile ilgili değişkenlere @ eklendiğinde otomatik olarak mesaj aldığını anlatıyor
    • @else kullanan bir kişi, çok sayıda PR ve yorum bildirimi yüzünden sonunda bu handle’dan vazgeçmiş
    • @acme kullanıcısı, çeşitli framework’lerin placeholder’larıyla çakıştığı için çok sayıda bildirim alıyor
    • CSS sohbetlerinde @font-face tartışılırken @font kullanıcısının sürekli rahatsız olduğu örneği de veriliyor

GitHub otomatik mention’ından kaçınmanın zorluğu

  • @ karakteri escape edilemez” tepkisinde olduğu gibi, sorunun ana nedeni GitHub’ın otomatik mention işleme mekanizması olarak gösteriliyor
  • GitHub issue’larında veya PR’larda @[any_text] doğrudan kullanılmaması tavsiye ediliyor
  • Backtick içine almanın yardımcı olabileceği de öneriliyor
  • Kod, yorumlar, commit message’lar ve issue yorumları gibi geliştiricilerin sık kullandığı metin alanlarında, @kelime biçimi kullanıcı adlarıyla çakışabiliyor

Şakaya dönüşen benzer örnekler

  • Bu durum, kısa ve yaygın tanımlayıcılar seçmenin yan etkilerinden biri olarak görülüyor
  • NULL plakası alan bir güvenlik araştırmacısının, kendisine atanmamış trafik cezaları alması hikâyesine benzediğini söyleyenler var
  • Steve Wozniak’ın 888-8888 telefon numarasını aldıktan sonra çocukların tuşlara tekrar tekrar basıp yanlışlıkla arama başlatmasını hatırlayanlar da olmuş
  • IRC’de pokes adını kullanan biri, insanların /me pokes [name] yerine yanlışlıkla /msg yazması yüzünden sık sık özel mesaj aldığını anlatıyor
  • Mastodon’da da @_@ gibi yüz ifadelerinin, belirli bir instance’daki @_ kullanıcısına bildirim gönderebildiği bir örnek veriliyor

@reset kullanıcısının tepkisi

  • @reset kullanıcısının Hacker News’te, her bildirim aldığında yanıt verdiğini ve bunu gerçekten eğlenceli bulduğunu belirten bir yorum yazdığı söyleniyor
  • Devamındaki tepkiler de bunu öğrenmenin sevindirici olduğu yönündeydi
  • Yine de tüm örnekler, kısa ve genel handle’ların geliştirme platformlarının otomatik mention özelliğiyle birleştiğinde, istenmeyen kişilere tekrar tekrar bildirim gidebildiğini gösteriyor

1 yorum

 
GN⁺ 2023-07-28
Hacker News yorumları
  • @reset burada. @ ile mention edilince her zaman yanıt veriyorum. Hem komik oluyor hem de insanların sonradan neler yaptığını görmek gerçekten çok keyifli
    Devam etmelerini isterim; günümün epey eğlenceli bir parçası

    • Bağlantısı verilen PR'da bıraktığı yanıt gerçekten güzeldi. Böyle bir şey aşırı sinir bozucu da olabilir, çok eğlenceli de; bunu mizah duygusuyla karşılaması hoş
    • Benim hesabım @username idi, GitHub bir gün durup dururken onu usernamex olarak değiştirdi
    • Aynı sebeple sshole hesabını aldım
  • Eskiden mobil veritabanı şirketi Realm'de çalışıyordum. Neler olup bittiğini görmek için Twitter'da @realm mention edildiğinde bunu Slack'e yeniden gönderen bir entegrasyonumuz vardı
    Bir sabah #twitter kanalı neredeyse porno sayılabilecek içeriklerle doluydu. Genç erkekler açık kıyafetler giymiş, karın kaslarını sergiliyor ve kameraya gülümsüyordu
    Meğer biri Instagram gönderilerini Twitter'a yeniden paylaşan bir bot bağlamış; Instagram kullanıcı adlarında noktaya izin verirken Twitter vermiyordu. IG hesabı muhtemelen @realm.of.beauty idi ve Twitter bunu doğrudan @realm olarak yorumlamıştı

    • Ben de Twitter'da @cmg olduğum için bu tür Instagram mention'larını epey aldım; insanlar beni CheckMate Gaming, Canadian Media Guild, Cocaine Muzik Group, Chipotle Mexican Grill gibi her türlü şey sanıyordu
    • Benzer bir şey yaşamıştık. Herkese açık bir panonun adı bir kısaltmaydı; aynı kısaltma gay paddle fetişi için de kullanılıyordu
      Hashtag'imizi veya mention'larımızı tararken arada sırada genç bir oyuncunun çıplak poposuna kriket sopası gibi bir şeyle cilveli biçimde vurulduğu sahneler görüyorduk
    • Twitter'da @CommonFirstNameCommonLastName kullanıyorum; bazen beni tamamen başka biri sanan insanlar mention atıyor veya DM gönderiyor. Çok sık olmadığı için pek sinir bozucu değil
  • Önceki iş yerimde C önişlemci yönergelerinin adını taşıyan bir Slack kanalı açmaya karar vermiştik. Muhtemelen #define ya da #endif idi. Bazıları bulup espriyi anlamıştı
    Ama birkaç ay sonra bir yönetici, o kanalı silip silemeyeceğini sormak için bana ulaştı. Büyük organizasyonlarda Slack, organizasyonun başka kısımlarına görünmemesi gereken kanalları biliyor; bu yüzden grubum dışındaki insanlara C önişlemci yönergesi mention'ları sansürleniyordu ^^;

    • O zaman kod bloğu içine koymayı öğrenirler
    • Slack'in mention'ı engellemeye çalışırken bunun yerine özel kanalın varlığını açığa vurması komik
  • Bir keresinde GitHub issue'suna yanlışlıkla kod bloğu olmadan bir backtrace yapıştırmıştım. Stack derindi ve her satır “#0”, “#1”, “#2” gibi başlıyordu; GitHub bunların hepsini ilgili numaradaki issue bağlantılarına çevirdi
    Her issue'ya geri referans bildirimi de gitti ve bu davranışı geri almanın bir yolu yok gibi görünüyordu

    • Issue referanslarında daha büyük sorunu commit mesajlarında yaşadım. Şablon olarak kullandığımız repo, o şablon reposundaki ticket'ı kapatmak için commit mesajında “Fixes #123” kullanıyordu
      Sorun şu ki güncellenmiş şablonu alt repolara merge edince her alt reponun issue'su da kapanıyordu
    • QEMU'nun GitLab issue tracker'ında issue numaralarını bilerek daha yüksek bir sayıdan başlattılar. Sanırım 100 civarıydı
      Launchpad'den geçişin çok erken aşamasında bu sorunu yaşadıkları için, düşük numaralarla oluşturulmuş yalnızca iki üç issue'yu yeniden numaralandırmaları gerekti ve büyük sorun olmadı
    • Böyle durumlarda hemen görünen bir geri al düğmesi mutlaka olmalı
  • Bug yaşayan kişiler, yakın zamanda repoya katkı yaptığım için bazen beni @'liyor. Böyle olunca sadece “LGTM Approved” diye yanıt veriyorum, insanlar da sinirleniyor
    Bu projeye ne check-in edildiği umurumda değil. Benim projem değil sonuçta

  • Bir kez telefon numaramı değiştirip son 8 hanesini 69696969 yapmıştım. Çok komik olduğunu düşünmüştüm
    Sonra insanların tüm tuvalet kabinlerine “iyi vakit geçirmek istiyorsan XYZ69696969'u ara” gibi şeyler yazdığını öğrendim; her gece sabaha kadar telefon geliyordu

    • Steve Wozniak bir süre 888-8888 kullandı. Çok havalı bir numara ama arka planda yalnızca rastgele sesler olan yüzlerce telefon aldı
      Sonradan anlaşıldı ki bebekler ebeveynlerinin telefon tuşlarına basıyormuş; tamamı 8 olan numara bebeklerin basması için kolaymış gibi görünüyor
      https://www.wired.com/1998/09/woz/
    • Çeşitli bölgelerde birkaç 867-5309 numaram var. Şu an hiçbir şey yapmayacak şekilde ayarladım ama bir süre PBX'e bağlamıştım; her hatta günde 2.500'e kadar arama geliyordu. Jenny'yi aramaya çalışan çok sarhoş erkek vardı
    • İnsanların böyle numaraları gerçekten araması şaşırtıcı
    • Almanya'nın ünlü futbol yıldızı Franz Beckenbauer, bir cep telefonu sağlayıcısının promosyonunu yaparken 66666666 numarasını istemişti; benzer şekilde geceleri telefonlar gelmişti
      https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
  • GitHub'da etiketler ve mention'lar tarafında epey tehlikeli özellikler var. Örneğin bir organizasyona birini eklerken kullanıcı adı otomatik tamamlanıyor
    Yaygın bir ada sahip biri vardı; adı benzer ama farklı bir kişiyi yanlışlıkla organizasyona eklediğimiz olmuştu. Neyse ki daveti kabul etmeden kaldırıp doğru kişiyi ekledik

    • Gerçekten öyle. Bu inanılmaz can sıkıcı. Kaynak kodunu kanıtlaman için türlü süreçlerden geçirip kat kat şifreleme kullandırırken, şirket kodunun tamamına yazma iznini tamamen alakasız birine vermeyi fazla kolaylaştırmışlar
    • Aynısı benim de başıma geldi. Daveti kabul edip içeriklerine baktıktan sonra, kendimi kaldırmaları için bir issue/PR açtım. Onlar paniğe kapıldı, ben biraz güldüm
  • GitHub'da bazen zaman dilimi olarak etiketleniyorum

    • Böyle bir kullanıcı adını nasıl aldığını merak ediyorum. Kısa adlar çok hızlı tükeniyor; herhalde ilk 1.000 kişinin içindeydi
  • Aklıma ilginç bir spam yolu geliyor. Bir şeyin reklamını yapan bir PR oluşturup, sonra kazıyarak topladığın bir sürü kişiyi @'lemek yeterli
    Saldırı yolu da ilginç. Karıştırılması kolay bir @ adı alıp hangi PR'ın inceleyeni olacağını izlemek. O PR'a kötü amaçlı kod ekleyip merge etmek yeterli
    Ek olarak, iş yerinde organizasyon güvenlik erişim yetkilerini ayarlarken, kombinasyon aramasında dünyanın herhangi bir yerinden herhangi birini ekleyebilmek de aptalca. Yalnızca organizasyon içini filtreleyen bir seçenek bile yok
    Ayrıca çoğu kişi iş veya kişisel GitHub'ında tuhaf handle'lar kullanıyor. Bu yüzden UI'ı kullanmak için ya insanın mükemmel bir string karşılaştırıcısı olması ya da herkesin handle'ını öğrenip tek tek kopyalayıp yapıştırması gerekiyor
    Üçüncü saldırı ise hedef şirket çalışanlarının adlarına benzeyen bir sürü hesap oluşturup, yanlışlıkla organizasyon deposuna eklenmeyi ummak

  • Başka bir deponun GitHub issue'sunu linkleyince, linklenen issue'da backlink oluştuğunu öğrenince epey şaşırmıştım. Linki silseniz bile geri alınmıyor; issue'yu tamamen silmeniz gerekiyor
    Bu özelliği kapatabilmeyi isterdim

    • Bunu daha bugün keşfettim. Herkese açık bir depo issue'sunun altında bizim özel depomuzdaki PR linkinin göründüğünü görünce epey şaşırdım
      Neyse ki gizli modda kayboldu ve başka bir hesapla giriş yapınca da görünmedi. Herkese görünmüyor ama kısa bir süre için oldukça tatsız bir sürprizdi
    • https://github.com./a/b” veya “https://www.github.com/a/b” de geçici çözüm olarak işe yarıyor
      Ama düzenleyip silseniz, hatta o linkin bulunduğu yorumu silseniz bile kaybolmaması inanılmaz aptalca ve sinir bozucu
    • Sorun değil. Kimseye bildirim göndermiyor. Utanç verici bir şey ya da spam gibi bir iş yapmıyorsanız kimsenin umurunda olmayacağını düşünüyorum
      Hangi issue'nun başka bir projeyi nasıl etkilediğini görebilmek güzel ve oldukça faydalı bir bilgi olabilir
    • Bunu gerçekten önlemek istiyorsanız, Markdown arkasında bit.ly gibi bir link kısaltıcı kullanarak gizleyebilirsiniz sanırım. Test etmedim
      Yalnız bunu sadece katkı yapanın yalnızca siz olduğunuz kişisel depolarda yapmanızı isterim. Aksi halde tıklayan kişi açısından aşırı şüpheli görünür