6 คะแนน โดย GN⁺ 2025-08-03 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • ต้องเผชิญกับ ปัญหา race condition ของการค้นหาใน Mintlify มานานกว่าหนึ่งปีโดยไม่สามารถแก้ไขได้ ทำให้รู้สึกไม่สะดวก
  • แม้จะเป็นผู้ก่อตั้ง Trieve ซึ่งเป็นผู้ให้บริการระบบค้นหาของ Mintlify แต่ในฐานะ ผู้ให้บริการภายนอก ก็ยังเข้าถึงโค้ดโดยตรงไม่ได้ จึงแก้ปัญหาไม่ได้
  • สุดท้ายหลังจาก เข้าร่วม Mintlify ก็แก้ปัญหาเรื่องการยกเลิก query ค้นหาและการซิงก์ผลลัพธ์ได้ด้วยการใช้ AbortController โดยตรง
  • เน้นว่าหากเป็นโอเพ่นซอร์ส คงแก้ไขได้ทันทีด้วย PR ซึ่งชี้ให้เห็นข้อดีเชิงปฏิบัติของโอเพ่นซอร์ส
  • แม้จะเป็นความไม่สะดวกเล็กน้อย แต่การแก้ด้วยมือเองทำให้ได้รู้สึกถึงความพึงพอใจ และย้ำความสำคัญของการปรับปรุงผลิตภัณฑ์อีกครั้ง

เรื่องที่ไม่สามารถส่ง PR ได้ จึงเข้าร่วมงานแล้วแก้เอง

บั๊กการค้นหาของ Mintlify ที่สร้างความรำคาญมานานเกินหนึ่งปี

  • ใน ฟังก์ชันค้นหา ของ Mintlify เกิด race condition ทำให้ query ถูกประมวลผลซ้ำ และขณะผู้ใช้ยังพิมพ์อยู่ ระบบก็ยังแสดง ผลการค้นหาที่ไม่ตรง อยู่ตลอด
  • แม้จะเป็นผู้ก่อตั้งของ Trieve ผู้ให้บริการระบบค้นหาของ Mintlify แต่ในฐานะ ผู้ให้บริการ (vendor) ภายนอก ก็ยังไม่มีสิทธิ์เข้าถึง codebase โดยตรงเพื่อแก้ไขได้
  • ได้แจ้งปัญหานี้หลายครั้งใน ช่อง Slack ร่วมกัน แต่เนื่องจากมีความสำคัญต่ำ จึงถูกปล่อยทิ้งไว้นาน
  • ทุกครั้งที่ประสบการณ์การค้นหาของ Trieve บน Mintlify ดูไม่ดี สิ่งนี้ทำให้ฉันรู้สึกหนักใจกับ ศักดิ์ศรีส่วนตัว และความรู้สึกต่อภาพลักษณ์แบรนด์ในฐานะผู้ก่อตั้ง

เข้าร่วมทีมแล้วแก้ปัญหาเอง

  • เมื่อเข้าร่วม Mintlify ได้รับโอกาสเข้า codebase โดยตรง
  • ปรับปรุงฟังก์ชันค้นหาให้ใช้ AbortController เพื่อให้ ยกเลิก query ก่อนหน้าได้ทันที
  • ตอนนี้เมื่อผู้ใช้พิมพ์เสร็จ คำค้นล่าสุดเท่านั้นที่ถูกนำไปประมวลผลและแสดงผล ทำให้ได้เห็น ผลลัพธ์ล่าสุดที่ถูกต้อง เสมอ
  • ความรู้สึกในการได้ แก้ปัญหาด้วยตัวเอง เรื่องที่ก่อความไม่สะดวกมานานเป็นเรื่องที่น่าพึงพอใจมาก
  • เหมือนกับ George Hotz ที่เคยเข้าทำงานที่ Twitter ชั่วคราวเพื่อแก้บักป๊อปอัปล็อกอิน ฉันให้ความหมายกับท่าทีแบบแฮกเกอร์/ผู้ประกอบการคือพบปัญหาก็ต้องแก้เอง
  • ประสบการณ์ การแก้ปัญหาแบบตรงไปตรงมาและจับต้องได้ แบบนี้ช่วยให้เส้นทางอาชีพก้าวหน้าได้

คุณค่าที่แท้จริงของโอเพ่นซอร์ส

  • โดยส่วนตัว ฉันชื่นชอบการพัฒนาและใช้งาน ซอฟต์แวร์โอเพ่นซอร์ส
  • หากเป็นโอเพ่นซอร์ส โครงสร้างจะเปิดทางให้ผู้พัฒนาภายนอกส่ง Pull Request (PR) เพื่อแก้บักหรือปรับปรุงฟีเจอร์ได้โดยตรง
  • หากฟังก์ชันค้นหาของ Mintlify เป็นโอเพ่นซอร์ส ปัญหาที่ค้างอยู่นานกว่าหนึ่งปีก็คงถูกแก้ผ่าน PR ได้ ทันที
  • โมเดลซอร์สปิดมีข้อจำกัดสำคัญว่า การปรับปรุงสามารถเกิดขึ้นได้ต่อเมื่อมีสิทธิ์เข้าถึงโค้ดเท่านั้น
  • ยอมรับคุณค่าของการให้ "สิทธิ์ในการเข้าถึงทันที" ในสภาพแวดล้อมโอเพ่นซอร์ส โดยในขณะเดียวกันก็เข้าใจความต่างของโมเดลธุรกิจในแต่ละบริษัท

ความคุ้มค่าจากการแก้ไขด้วยตนเอง

  • สาเหตุที่ การค้นหาของ Mintlify ลื่นไหลและตอบสนองดียิ่งขึ้น ก็เพราะการปรับปรุงนี้โดยตรง
  • จากการแก้ bug เล็กๆ ที่ค้างคาหนักใจมานานด้วยตัวเอง รู้สึกถึงความพึงพอใจจากการ มีส่วนร่วมให้ผลิตภัณฑ์พัฒนาไปข้างหน้า
  • จากประสบการณ์นี้ เห็นชัดว่า กระบวนการแก้ปัญหาเล็กๆ อย่างต่อเนื่อง แม้จะเล็กน้อยก็ทำให้ผลิตภัณฑ์ดีขึ้นอย่างมาก
  • การเปลี่ยนแปลงเล็กๆ ที่แก้ด้วยตัวเองสะสมมากขึ้น ทำให้ ประสบการณ์ผู้ใช้ดีขึ้นแบบก้าวกระโดด
  • ในอนาคตอยากสร้างผลิตภัณฑ์ที่ดีขึ้นเรื่อยๆ ผ่านการ สะสมการปรับปรุงเล็กๆ เหล่านี้

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

 
yangeok 2025-08-05

55555 เคารพเลยครับ

 
kimjoin2 2025-08-04

เทพนักพัฒนา

 
GN⁺ 2025-08-03
ความเห็นจาก Hacker News
  • เคยมีบัญชี Amazon ถูกระงับเพราะถูกสงสัยว่าเป็นการฉ้อโกง เป็นบัญชีเก่ามาก และอีเมลกับเบอร์โทรก็ถูกลบไปเพราะข้อมูลรั่วจากหลายฐานข้อมูล หลังจากได้เข้าทำงานก็เลยติดต่อคนในทีมต่อต้านการฉ้อโกงของ Amazon ภายในบริษัท และปลดล็อกบัญชีได้อย่างรวดเร็ว ตอนติดต่อฝ่ายบริการลูกค้าไม่มีประโยชน์อะไรเลย

    • นี่เป็นส่วนที่น่าหงุดหงิดที่สุดของ Amazon เวลาเจอสินค้าจาก Reddit หรือรีวิวที่อื่น ก็มักจะถูกพาไปลิงก์ amazon.com แล้วระบบก็บอกให้สลับไปใช้บัญชีสกุลเงินดอลลาร์สหรัฐ พอจะสั่งซื้อก็ต้องกลับไปเปลี่ยนเป็นบัญชีเยอรมนี/ยูโรอีก กระบวนการนี้ยุ่งยากเกินไป อยากให้เปิดดูข้ามภูมิภาคได้อิสระไปเลย แล้วค่อยให้เปลี่ยนโปรไฟล์ตอนจะสั่งซื้อก็น่าจะพอ อีกอย่างถ้ามีตัวเลือกให้ซื้อจากผู้ขายในภูมิภาคเดียวกันก็น่าจะดี

    • น่าสนใจ ตอนเริ่มงานที่ Google ยังมีมือถือที่พังจากช่วง onboarding อยู่จนถึงทุกวันนี้ ข้างในไม่มีใครสนใจเลย มีเครื่องมือที่ใช้ซ่อมเองได้ แต่ก็ติดข้อความไว้ด้วยว่าถ้าใช้โดยไม่ได้รับอนุญาตจะถูกไล่ออก

    • เคยมีประสบการณ์คล้ายกันกับบัญชี Facebook ที่ปลดล็อกไม่สำเร็จอยู่นาน 9 เดือน แต่พอได้เข้าไปทำงานภายในแล้วก็ปลดล็อกได้ทันที

    • อยากมีช่วงเวลาระดับมหากาพย์แบบนี้ในชีวิตบ้าง

    • ฉันก็อยากมีโชคแบบนี้เหมือนกัน สาเหตุที่เสียบัญชี Amazon ไปคือมีการกรอกเลขตัวหน้าเบอร์โทรระหว่างประเทศของฉันผิดไปหนึ่งหลัก ทำให้ใช้ยืนยันตัวตนทาง SMS ไม่ได้ และมือถือที่ติดตั้งแอป OTP ก็เพิ่งพังไปก่อนหน้านั้นไม่นาน

  • ถ้า Google Maps รับฉันเข้าทำงานแล้วทำให้หน่วยระยะทางแสดงเป็น km อย่างเดียวได้ ติดต่อฉันได้ที่โปรไฟล์ HN ของฉัน ฉันน่าจะสลับจากไมล์เป็นกิโลเมตรมาแล้ว 500 ครั้งในรอบ 20 ปี บริษัทที่ชอบวิเคราะห์ผู้ใช้กลับพลาดเรื่องพื้นฐานแบบนี้มันเหลือเชื่อจริง ๆ

    • การที่ต้องทำถึง 500 ครั้งนี่ต่างหากที่เหลือเชื่อ ทำให้นึกภาพว่ามันคงตก A/B test เพราะการมีส่วนร่วมของผู้ใช้ต่ำ เหมือนผ่านสัมภาษณ์ 7 รอบเพื่อส่ง PR แค่ 1 อันแล้วได้ผลลัพธ์แบบนี้

    • อยากตามหาคนที่ทำให้แผนที่ทั้งแผนที่ซูมเป็น “โหมดขนาดจริง 1cm=1cm” แล้วคงไว้ตลอดทั้งทริป เพื่อจะได้ตบสักที น่าจะเป็นคนเดียวกับที่ปล่อยให้รถหลุดออกนอกจอเมื่อซูมเอง แล้วถ้ากด “จัดกึ่งกลางอีกครั้ง” ก็โดนบังคับซูมกลับเหมือนเดิม ระบบนำทางปี 2005 ยังแก้เรื่องพวกนี้ได้หมดแล้ว

    • ตอนเที่ยวเม็กซิโก ฉันล็อกอินอยู่แท้ ๆ แต่ Google Flights ก็ยังเปลี่ยนจากดอลลาร์เป็นเปโซทุกครั้งที่เปิดแท็บใหม่ ดูเหมือนไม่แคร์จริง ๆ

    • ตอนทำงานที่ Google เมื่อ 10 ปีก่อน ฉันเคยรายงานปัญหานี้ผ่านฟอร์ม feedback ภายในแต่ไม่เคยได้คำตอบเลย หลังจากนั้นก็ส่งรายงานบั๊กนี้ผ่าน feedback ของ Google Maps ทุกปี บางปีก็ส่งสองครั้ง ตอนนี้มันกลายเป็นบั๊กที่น่าอับอายจริง ๆ

    • สนใจงานเกี่ยวกับ gmaps เหมือนกัน อยากให้เส้นทางที่ใช้เวลาเกิน 1 ชั่วโมงแคชขากลับไว้ล่วงหน้าด้วย เวลาสัญญาณบริการหายแล้วต้องจำทางเองนี่ลำบากมาก

  • ตลกดีที่ได้เห็นมุกเก่า ๆ กลายเป็นเรื่องจริง มีคำขอให้เพิ่มระยะขอบซ้ายอีกแล้ว การอ่านตัวอักษรที่ชิดขอบจอมาก ๆ รู้สึกแปลกนิดหน่อย

    • พอกดตามลิงก์ในโพสต์ ก็ไปเจอกรณีที่มีคนเพิ่มฟีเจอร์ลบบัตรหมดอายุอัตโนมัติใน Apple แล้วลาออกทันทีหลังจากนั้น ทำให้รู้สึกว่าทุกครั้งที่ใช้ฟีเจอร์นั้นคงต้องขอบคุณเขาในใจ มันเป็นปัญหาที่น่ารำคาญมากจริง ๆ

    • ล้อเล่นว่าทำไมไม่จ้าง OP ไปให้แก้เองเลย

    • ฉันไม่ค่อยชอบเว็บที่เปลืองพื้นที่หน้าจอ

    • ฉันชอบจัดชิดซ้าย คิดว่านั่นแหละคือตำแหน่งที่ข้อความควรอยู่

  • มีการอธิบายว่าได้เพิ่ม AbortController เข้าไปใน debounced search function เพื่อยกเลิก query ก่อนหน้าทุกครั้งที่ผู้ใช้พิมพ์ข้อมูลใหม่ สิ่งที่น่าหงุดหงิดที่สุดคือระบบรีบใช้ตัวกรองหรือค้นหาทั้งที่ผู้ใช้ยังพิมพ์ไม่เสร็จ อยากให้มันรอจนป้อนข้อมูลครบก่อน

    • การค้นหา log ของ Grafana ตอนนี้ถ้าเปลี่ยนตัวกรอง log ที่ใช้อยู่ มันจะคิดค่าบริการตามจำนวนการค้นหาทุกครั้งที่พิมพ์เปลี่ยนไปหนึ่งตัวอักษร ด้วยเหตุนี้ฉันต้องเปลี่ยนนิสัยการใช้งาน UX ของตัวเอง เพราะค่าใช้จ่ายถูกคิดตามจำนวนตัวอักษรที่พิมพ์ ไม่ใช่ตามสตริงเต็มที่ต้องการค้นหา

    • ตอนทำฟีเจอร์ค้นหาแบบเรียลไทม์ในบล็อกของฉัน ฉันเลือกให้คำแนะนำการค้นหาก่อนหน้าทำงานจนเสร็จก่อน แล้วค่อยส่งคำขอใหม่ คิดว่านี่เป็นวิธีที่สมเหตุสมผลในการกันภาระเซิร์ฟเวอร์และยังคงความตอบสนองได้ดี

    • โดยเฉพาะเว็บจองต่าง ๆ ฉันเกลียดพฤติกรรมแบบนี้มาก ตัวกรองอยู่ในแถบด้านซ้าย แต่ถ้ามองไม่ครบในหน้าจอ ทุกครั้งที่กดปรับอะไรสักอย่าง มันจะเลื่อนกลับขึ้นไปด้านบน โหลดใหม่ แล้วตัวกรองก็กลายเป็นอ่านอย่างเดียว ต้องรอให้ทุกอย่างเสร็จก่อนถึงจะเพิ่มตัวเลือกถัดไปได้

    • คิดว่าจุดประนีประนอมที่ดีคือรออีกสักไม่กี่ร้อยมิลลิวินาทีหลังผู้ใช้หยุดพิมพ์แล้วค่อยส่ง query หรือจะส่ง query ไปเลยแต่ยังไม่แสดงผลจนกว่าการพิมพ์จะหยุดก็น่าพิจารณาเหมือนกัน

    • ฉันเกลียดพฤติกรรมแบบนี้จริง ๆ มันเหมือนโปรแกรมแก้ไขโค้ดหรู ๆ ที่ส่งเสียงเตือนทุกครั้งที่พิมพ์ตัวอักษร ถ้าพิมพ์ 'i' กับ 'f' แล้วขึ้นทันทีว่า “if-then statement ยังไม่ถูกปิด!” ทั้งที่รู้อยู่แล้วว่ายังพิมพ์ไม่จบ มันไวเกินเหตุ ควรแจ้งหลังพิมพ์เสร็จมากกว่า และในภาษา/เครื่องมือส่วนใหญ่ฉันก็มักปิดการแจ้งเตือนสดพวกนี้แล้วไปดู error ตอน build/run แทน LSP (Language Server Protocol) ควรใจเย็นลงหน่อย

  • ตอนนี้คุณภาพซอฟต์แวร์ต่ำจนถ้ามีบั๊กที่กวนใจก็เหมือนการสมัครงานเข้าไปแก้เองจะง่ายกว่า ทำให้นึกถึงเรื่องของโปรแกรมเมอร์ที่แก้ปัญหาเวลาโหลด GTA 5 ทั้งที่เกมที่มีเงินมหาศาลอย่าง GTA 5 ยังปรับปรุงคุณภาพได้ยาก

    • มองว่าไม่ใช่ปัญหาคุณภาพ แต่เป็นปัญหาการจัดลำดับความสำคัญ บริษัทเลือกทำสิ่งที่ทีมอยากทำก่อนสิ่งที่ผู้ใช้ต้องการ ขาดทั้งการทดสอบกับผู้ใช้จริงและการทดลองด้วยข้อมูล จริง ๆ แล้วกรณีนี้ไม่ใช่ทางแก้ของปัญหา แต่เป็นภาพสะท้อนของปัญหาจริงมากกว่า น่าจะมี issue ที่มีประโยชน์กว่านี้อีกเยอะ แต่กลับกลายเป็นว่ามีคนหนึ่งเพิ่มฟีเจอร์ที่ตัวเองอยากได้

    • คนที่เติมเงินซื้อการ์ดใน GTA:O เยอะ ๆ ไม่ได้สนใจเวลาโหลด ฉันโมโหจนลองจับเวลา แล้วพบว่าใช้เวลาอยู่กับหน้าจอโหลดนานกว่าทำภารกิจจริง สุดท้ายเลยเลิกเล่นเกมไปเลย

  • มีมุกถามว่า คนในมีมอินเทอร์เน็ตคนนั้นคือคุณเองหรือเปล่า

  • สงสัยเพราะในบทความแทบไม่พูดถึงส่วนที่เกี่ยวกับการถูกจ้างงานเลย มันดูเหมือนแค่ “มีอะไรบางอย่างกวนใจฉัน แล้วฉันก็ได้เข้าไปทำงานที่บริษัทนั้นเลยแก้มัน” เหมือนแก่นของเรื่องหายไป

    • เดาว่าบริษัทของผู้เขียนน่าจะถูกบริษัทที่เขาทำงานอยู่ปัจจุบันซื้อกิจการไป จึงน่าจะเป็นการ acquihire (ซื้อกิจการพร้อมรับทีมงาน)
  • ตรงกันข้าม ฉันเคยทำงานที่หนึ่งซึ่งเพราะทนายด้าน IP เลยทำให้ส่ง PR ไปยังโค้ดโอเพนซอร์สไม่ได้เลย ถึงอย่างนั้นถ้าอธิบายอินพุตที่ทำให้เกิดปัญหาและบรรทัดของบั๊กอย่างละเอียดพอ ก็ยังพอเกลี้ยกล่อมให้ใครสักคนแก้ให้ตรง ๆ ได้ รู้สึกเหมือนอย่างน้อยก็ยังแจก QA report ให้ฟรีแทนโค้ด

  • มีคนบอกว่านึกถึงเหตุการณ์ระดับตำนานที่ George Hotz เข้าไปร่วม Twitter ชั่วคราวในปี 2022 แล้วแก้ปัญหาป๊อปอัปล็อกอินได้ แต่ฉันจำได้ไม่เหมือนกัน George Hotz พูดว่าจะ “แก้ search ได้” แล้วก็ออกไปแทบจะทันที สุดท้ายแค่ลบป๊อปอัปนั้นไว้เป็นของปลอบใจ

    • รอบนี้เผลอไหลไปค้นเรื่อง George Hotz, patent troll และ comma.ai อีกรอบ Comma.AI ของ George Hotz มี “comma 3x” ราคา $999 พร้อมสมาร์ตโฟนและตัวเชื่อมต่อ OBD-II กับสาย harness ราคา $99 ที่สามารถเพิ่มความสามารถระดับ Autopilot ให้รถส่วนใหญ่ที่ผลิตในช่วง 10 ปีหลังได้ แม้แต่ Tesla ก็รองรับ รวมค่าใช้จ่าย $1098 เป็นโอเพนซอร์สบน GitHub และยังรองรับ ssh เข้าไปที่รถได้ด้วย ส่วนบริการคลาวด์เสริมมีค่าสมัคร $10/เดือน (ใช้ SIM เอง) หรือ $24/เดือน (รวมข้อมูลจากผู้ให้บริการ) แต่ยังไม่มีฟีเจอร์แบบเดียวกับ Tesla Sentry Mode ซึ่งยังเปิดเป็น issue #29912 อยู่ โดย Sentry Mode ต้นฉบับของ Tesla ใช้ไฟ 250W — ถ้าแบตเตอรี่ 80kWh ก็จะลดจาก 80% เหลือ 30% ภายใน 7 วัน — ถ้า openpilot ใช้ต่ำกว่า 5W ได้จริงก็น่าจะมีประสิทธิภาพกว่ามาก

    • จำได้ว่า George Hotz โม้ไว้ว่าจะเข้าทำงานที่ Twitter แล้วสุดท้ายก็ไม่ได้ทำอะไร ก่อนจะจากไปเงียบ ๆ ดูน่าอายและเหมือนเป็นเรื่องที่เจ้าตัวก่อเอง

    • บอกว่าได้แก้ให้ข้อความแม่นยำขึ้นแล้ว และในขณะเดียวกันก็ดันทำบล็อกตัวเองล่มเพราะบั๊กของ Github Pages

    • จำได้ว่าท้ายที่สุดเขาเสนอให้ Elon สร้าง Twitter ใหม่ทั้งระบบเลย

  • ส่วนตัวถึงขั้นเคยคิดจะสมัครงานที่ Discord เพื่อส่ง PR เปลี่ยน emoji ขนาดใหญ่ให้เป็นตัวเลือกเปิดปิด เพราะไม่ใช่แค่ฉัน แต่ทั้งเซิร์ฟเวอร์ก็อยากได้กันมาก

    • ไม่รู้ว่าจะช่วยได้ไหม แต่สำหรับฉันเองใช้วิธีใส่จุดต่อท้าย emoji เพื่อเลี่ยงชั่วคราว ถึงจะไม่ช่วยผู้ใช้ใหม่ แต่ก็พอเป็นทางแก้ชั่วคราวสำหรับตัวเอง

    • Discord เป็นแอป Electron ดังนั้นในทางทฤษฎีน่าจะเปลี่ยนด้วยม็อดฝั่งไคลเอนต์ได้ แค่ไม่แน่ใจเรื่องความเสี่ยงโดนแบนบัญชี

    • มีคอมเมนต์ถามว่าหมายถึงอะไร โดยยกตัวอย่างว่ามีตัวเลือกปิดการแปลงอัตโนมัติของอีโมติคอนอย่าง :) อยู่แล้ว