1 คะแนน โดย GN⁺ 2023-07-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คอลเลกชัน ที่รวบรวมและแสดงรายการความสำเร็จที่ถูกปฏิเสธระหว่างการสร้างฟีเจอร์ GitHub Profile Achievements
  • แต่ละรายการเป็นลิสต์ที่ประกอบด้วยชื่อความสำเร็จ ต้นแบบแบดจ์ และเงื่อนไขการได้รับ
  • ตัวอย่างความสำเร็จมีเงื่อนไข เช่น คอมเมนต์ใน issue มากกว่า 100 ครั้งด้วยเพียง +1 หรืออีโมจินิ้วโป้ง, เผลอ commit secret API key ลงใน public repository, หรือ commit ตรงเข้า main branch จนทำให้ build process พัง
  • ตัวอย่างอื่น ๆ ได้แก่ มี open issue มากกว่า 1,000 รายการใน public repository ที่ตนเป็นเจ้าของ, คง branch ที่ merge แล้วแต่ยังไม่ลบไว้เกิน 150 อัน, หรือรีวิวและอนุมัติ pull request ที่ยาวเกิน 10,000 บรรทัดภายใน 15 วินาที
  • เป็นโปรเจกต์เชิงล้อเล่นที่ระบุไว้ชัดเจนว่า “This is a joke” และเขียนไว้ว่ารับ PR
  • ระบุว่าได้แรงบันดาลใจจาก Schweinepriester/github-profile-achievements และสร้างแบดจ์โดยอ้างอิงงานศิลป์ของ OpenMoji

1 ความคิดเห็น

 
GN⁺ 2023-07-06
ความคิดเห็นจาก Hacker News
  • ข้อเสนอ: “The Artist” สำหรับคนที่อัปโหลด ภาพหน้าจอเทอร์มินัล แทนการคัดลอกข้อความมาวาง, “The Filmmaker” สำหรับคนที่อัปโหลด GIF ของเซสชันเทอร์มินัล แทนการเขียนว่าเขาทำอะไรไปบ้าง
    เหล่าเมนเทนเนอร์รักศิลปินกับผู้กำกับจริง ๆ!

    • “The Novelist”: คนที่ทิ้งแค่คำว่า “doesn't work” ไว้ใน issue หรือเธรด โดยไม่มีทั้งสิ่งที่ลองทำ เหตุผลที่คิดว่าใช้ไม่ได้ หรือข้อความ error ใด ๆ
      “Captain Obvious”: คนที่เปิด issue อย่างดุดันมากว่าติดตั้งโปรเจ็กต์ไม่ได้ แล้วพอเมนเทนเนอร์ตอบให้เช็กว่าพลาดคำแนะนำสำคัญที่เขียนไว้ชัดเจนในเอกสารหรือเปล่า ก็หายไปเลยและไม่ตอบอีก
    • ตอนดีบัก วิดีโอและ GIF มีประโยชน์มากจริง ๆ
      บ่อยครั้งมันจับรายละเอียดเล็ก ๆ ได้ดีกว่าคำอธิบายของคนเสียอีก บั๊กอาจขึ้นอยู่กับพฤติกรรมอย่างหนึ่งที่ทำได้หลายแบบ หรือผู้ใช้อาจไม่รู้เองด้วยซ้ำว่าสิ่งที่ทำก่อนทำให้เกิดบั๊กนั้นเป็นส่วนหนึ่งของปัญหา มันอาจเกิดเฉพาะในเงื่อนไขอย่างขนาดหน้าจอบางแบบ สีของเทอร์มินัล หรือการใช้หน้าจอสัมผัสก็ได้
      ถ้ามีวิดีโอจะสังเกตเรื่องพวกนี้ได้ง่ายขึ้นมาก มันไม่สมบูรณ์แบบ และดีที่สุดคือมีคำอธิบายละเอียดมาพร้อมวิดีโอ รวมถึงแนบ error หรือข้อความสำคัญแบบคัดลอกได้มาด้วย ถึงอย่างนั้นถ้าให้เลือกอย่างใดอย่างหนึ่ง หลายครั้งก็ยังชอบวิดีโอมากกว่าข้อความ
      เพราะงั้นในบริบทนี้ชอบ “Filmmaker” แบบจริงจังเลย ส่งทั้งภาพหน้าจอและวิดีโอมาเถอะ
    • “Wikipedian”: revert commit ภายใน 10 นาที หลัง push เข้า main
      “Social distancer”: ส่ง commit ที่เพิ่มแต่ช่องว่าง
      “Edgycat”: มีส่วนร่วมทำหรือเสนอ badge สำหรับรีโพนี้ กำลังไล่เก็บ badge นี้อยู่ตอนนี้
      “Duct tape”: ส่ง commit ที่มีข้อความ fix tests ติดต่อกันสามครั้ง
    • ได้โปรดอย่าส่งภาพหน้าจอแทนการคัดลอกข้อความจากเทอร์มินัลมาวาง
      แปลกตรงที่มักได้รับ ภาพหน้าจอของข้อความ จากคนสายเทคนิคบ่อยมาก ไม่ว่าจะเป็น log file, ข้อความ error หรืออะไรก็ตาม ถูกส่งมาเป็นรูปหมดเลย เหมือนคิดว่า Slack เป็นเครื่องมือที่ส่งได้แค่รูปกับอีโมจิ
      ไม่มีทางนั่งพิมพ์คีย์เวิร์ดจาก Java exception ยาว 3 หน้าเองหรอก และก็ไม่คิดจะถอดข้อความ credential ของ AWS ที่เข้ารหัสมาแบบตัวต่อตัวด้วย
    • “not helping”: ทิ้ง คอมเมนต์ที่ใช้ความพยายามต่ำ และไม่ช่วยอะไรเลย
      “Internet famous”: รีโพมีบั๊กร้ายแรงจนถึงขั้นมีบทความเขียนถึง
      ทั้งสองอันนี้นึกขึ้นมาเพราะ https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issue...
  • “Unpopular opinion”: คอมเมนต์หนึ่งอันใน issue ได้รับ dislike เกิน 100 ครั้ง
    “I will raise with the team”: issue หรือ pull request ที่มี like เกิน 100 แต่ยังเปิดค้างไว้นานเกิน 1 ปี
    “For legal reasons”: มี pull request แก้ issue ถูกส่งมา แต่ถูกปิดอัตโนมัติเพราะไม่ได้เซ็น CYA
    “Business Model Blues”: ข้อความในไฟล์ LICENSE ถูกเปลี่ยนไปเกิน 50%
    “Back from the dead”: ไปคอมเมนต์ใน issue หรือ pull request ที่เปิดไว้นานเกิน 1 ปี

  • ถ้ารีโพสาธารณะมี issue เปิดอยู่ เกิน 1,000 อัน ก็ควรมี badge “This is fine” จริง ๆ
    เมื่อเทียบกับ 10 ปีก่อน ตอนนี้มีโปรเจ็กต์โอเพนซอร์สมากเกินไปแล้ว โดยเฉพาะฝั่ง JavaScript ที่มีโปรเจ็กต์จำนวนมากอย่างไม่น่าเชื่อซึ่งมีบั๊กเปิดค้างอยู่เต็มไปหมด
    ปัญหาคือบั๊กพวกนี้ส่วนใหญ่ดูเหมือนมีคุณภาพต่ำ ดังนั้นแม้นักพัฒนามากประสบการณ์ที่เคยมีส่วนร่วมมากจะเปิดบั๊กเพื่อช่วย ก็ยังถูกมองข้ามได้ง่าย
    ตอนนี้กำลังรอบั๊กใน next.js ที่ 404 ไม่คืนค่า 404 ซึ่งเปิดมาหลายเดือนแล้ว(https://github.com/vercel/next.js/issues/51021) ไม่มีเวลาจะเขียน pull request แต่ที่ผ่านมาเคยเขียนทั้ง pull request และรายงานบั๊กมามากมาย และเคยมีส่วนร่วมกับหลายโปรเจ็กต์โอเพนซอร์ส ก็ถือว่าทำในส่วนของตัวเองพอแล้ว
    แม้จะฟังดู elitist แต่คงดีถ้าเมนเทนเนอร์มีวิธีจัดลำดับบั๊กตาม ชื่อเสียงของผู้รายงาน อย่างน้อยโปรเจ็กต์จะได้จัดลำดับความสำคัญให้ issue คุณภาพสูงได้

    • อยากให้มีวิธีที่คนจะแลกเปลี่ยนคุณค่ากันได้ เช่น ไลเซนส์แบบเสียเงิน, ระดับการซัพพอร์ต หรือสิ่งที่ชาวโรมันโบราณเรียกว่า “การทำธุรกิจ” /s
      แต่ไม่สิ ทุกอย่างต้องฟรี แล้วสุดท้ายก็ไม่น่าแปลกใจที่ issue จะกองพะเนินและไม่มีใครอยากจัดการ
    • นี่ไม่ได้หมายถึง “issue เปิดอยู่ 1,000 อันที่ฉันเป็นคนสร้างในรีโพสาธารณะ” แต่หมายถึง issue เปิดอยู่ 1,000 อันในรีโพสาธารณะที่ฉันเป็นเจ้าของ
      ซึ่งทั้งสองแบบก็น่าสนใจดี
  • “The thief”: แนวทางเข้าหาโอเพนซอร์สคือปิด pull request ของคนอื่น แล้ว merge ความเปลี่ยนแปลงนั้นด้วยมือในชื่อตัวเอง
    เรื่องแบบนี้เกิดค่อนข้างบ่อยในโปรเจ็กต์ที่บริษัทใหญ่ดูแล แม้จะคงมีเหตุผลด้าน compliance แต่จากภายนอกก็ดูน่าสงสัยพอตัว

    • ฟังดูหนักพอสมควร ถ้ามีโปรเจ็กต์เด่น ๆ ที่ทำแบบนั้น บอกได้ไหม?
  • เสียดายที่ไม่มีอันที่เป็นของโปรดส่วนตัวผม: กรณีที่เปิด issue ขอฟีเจอร์เกิน 50 อัน แต่ไม่มี contribution อย่างอื่นเลย

    • ชื่อ achievement น่าจะเป็น “I'm more of an idea person” หรือ “chop-chop”
    • แล้ว achievement แบบ “มี contribution 10 ครั้งแต่ถูกปล่อยทิ้งไว้โดยไม่มีการรีวิวนานเกิน 1 ปี” ล่ะ?
    • “Architecture Astronaut”
    • สำหรับผู้ใช้ทั่วไป นี่เป็นวิธีเดียวที่จะติดต่อผู้เขียนได้
    • “Idea guy”
  • ได้ “patient skeleton” มาแล้วสองครั้ง
    สิ่งที่น่าทึ่งจริง ๆ คือหนึ่งในนั้น ถูก merge หลังผ่านไป 2 ปี ไม่มีบทสนทนาอะไรเกิดขึ้นใน pull request นั้นเลย และเพราะเป็นโปรเจ็กต์ที่กิจกรรมไม่มาก มันเลยแค่ไม่เข้าตา ผมยอมแพ้ไปแล้วและตั้ง requirements.txt ให้ชี้ไปที่ fork ของตัวเองแทน
    มีคนอื่นเปิด issue เพราะปัญหาเดียวกับที่ pull request เก่าของผมแก้ได้ แล้วผมก็ตอบใน issue นั้นว่า pull request นี้แก้ได้ กิจกรรมนั้นเลยทำให้มันถูกสังเกตเห็นในที่สุด
    อีกอันยังรออยู่เหมือนเดิม

    • มูลค่าที่ถูกล็อกทิ้งไว้ใน โปรเจ็กต์ fork ที่ยังไม่ถูกดึงกลับเข้ามา ทั้งที่มีแค่การเปลี่ยนแปลงสำคัญอย่างเดียว อาจรวมกันได้ถึงระดับหลายหมื่นล้านดอลลาร์อย่างง่ายดาย
  • ขอเสนอ “YOLO” สำหรับกรณีที่เมิน การแจ้งเตือน Dependabot นานเกิน 3 เดือน
    จะถือว่ารางวัลนี้สลักชื่อผมไว้เลยก็ได้

    • จริง ๆ มี achievement ชื่อ YOLO อยู่แล้ว ความหมายคือ “merge pull request ของตัวเองโดยไม่ code review”
      รายการ achievement จริงทั้งหมดอยู่ที่นี่: https://github.com/Schweinepriester/github-profile-achieveme...
  • ขอแก้ให้ถูก: สิ่งเหล่านี้ไม่ใช่ achievement ที่ GitHub ปฏิเสธ แต่เป็นแค่ไอเดียตลก ๆ ที่นักพัฒนาชื่อ “flet” ซึ่ง ไม่เกี่ยวข้องกับ GitHub เป็นคนทำขึ้น

    • ยินดีด้วย คุณได้รับ achievement Captain Obvious!
  • มีคนเสนอว่าถ้ากดดาวให้รีโพของตัวเอง ควรได้ achievement “Copium”

    • ไม่แน่ใจนะ แต่เหมือนเมื่อก่อน GitHub จะกดดาวให้อัตโนมัติเมื่อคุณสร้างรีโพ
    • “Narcissist” อาจเหมาะกว่า
  • “Type O Contributor”: contribution เดียวที่มีคือการแก้ คำสะกดและไวยากรณ์เล็กน้อย

    • อันนี้เป็น achievement ไม่ได้ เพราะมันถูกย้อนกลับและริบคืนได้
    • ผมเองก็เคยทำแบบนี้อยู่บ้าง contribution แบบนั้นไม่เป็นที่ต้อนรับเหรอ?
    • “Typo-O donor” น่าจะดี