ข้อดีของการเรียนรู้แบบเปิดเผยต่อสาธารณะ
(gilesthomas.com)- หากเผยแพร่สิ่งที่ได้เรียนรู้ระหว่างการศึกษาเป็น สรุปหรือบทช่วยสอน ก็จะให้ผลเหมือนการลงมือเขียนบทความที่ตัวเองเคยอยากได้ตอนเริ่มเรียนรู้
- หากไม่หยุดแค่การเรียนรู้เทคโนโลยีใหม่และลองทำด้วยตัวเอง แต่เขียนอธิบายออกมาเป็นบทความ ความรู้จะฝังแน่นยิ่งขึ้นและยังเผยให้เห็นช่องว่างในความเข้าใจ
- กรณีของความแตกต่างระหว่าง system call
epollและอีเวนต์แบบ edge-triggered/level-triggered เป็นตัวอย่างที่ยังจำได้ดีแม้จะเขียนเก็บไว้เมื่อเกือบ 12 ปีก่อน - เมื่อดูจาก Google Search Console พบว่าผู้เข้าชมที่ไม่ได้เข้ามาเป็นประจำจำนวนไม่น้อยมาจากคำค้นที่เกี่ยวข้องกับบทความสรุปการเรียนรู้ และคำค้นกับเนื้อหาบทความก็สอดคล้องกันค่อนข้างดี
- ต่อจากนี้มีแผนจะโพสต์บันทึกการเรียนรู้แบบยาวให้บ่อยขึ้นภายใต้หมวดชั่วคราวชื่อ TIL deep dives ซึ่งเป็นคนละรูปแบบกับโพสต์ Today I learned แบบสั้น
เขียนบทความที่อยากเจอตอนเริ่มเรียนรู้
- ช่วงนี้เขียนบล็อกมากกว่าปกติและได้ย้อนอ่านบทความเก่าในคลัง จึงลองทบทวนว่าบทความที่พอใจที่สุดมีจุดร่วมอะไรบ้าง
- บทความที่ดีมักใกล้เคียงกับงานเขียนที่ สรุป สิ่งที่ได้เรียนรู้หรือเข้าใจกลไกการทำงานของบางอย่าง และบางครั้งก็จัดเป็น บทช่วยสอน
- บทความลักษณะนี้คือการลงมือเขียน “บทความที่ตอนเริ่มเรียนรู้ ฉันอยากเป็นคนได้อ่าน” ด้วยตัวเอง
การเขียนช่วยทำให้ความเข้าใจมั่นคงขึ้น
- การเรียนรู้สิ่งใหม่และถ้าเป็นไปได้ก็ลงมือทำเอง เป็นเรื่องสำคัญต่อการเติบโตในฐานะวิศวกร
- เมื่อเขียนสิ่งที่เรียนรู้ออกมาเป็นบทความ ความรู้จะฝังแน่นลึกขึ้น
- เกณฑ์ว่าตนเองเข้าใจอย่างแท้จริงคือสามารถอธิบายให้ผู้อ่านที่ช่างคิดและสนใจฟังได้
- บทความที่อธิบายความต่างระหว่าง system call
epollและอีเวนต์แบบ edge-triggered/level-triggered แม้จะเขียนมาเกือบ 12 ปีแล้วก็ยังจำได้อยู่
บันทึกการเรียนรู้ที่ไปถึงคนอื่นด้วย
- หากดูใน Google Search Console จะเห็นว่าผู้เข้าชมจำนวนมากที่ไม่ใช่ผู้อ่านประจำ เข้ามาจากการค้นหาที่เกี่ยวข้องกับบทความสรุปการเรียนรู้ประเภทนี้
- คำค้นกับเนื้อหาของบทความที่เข้ามาอ่านมักตรงกันดี จึงมีแนวโน้มว่าผู้เข้าชมจะได้สิ่งที่กำลังตามหา
- บทความการเรียนรู้แบบเปิดเผยต่อสาธารณะช่วยทั้งทำให้ความเข้าใจของผู้เขียนมั่นคงขึ้น และเข้าถึงผู้ที่กำลังเจอปัญหาคล้ายกันผ่านการค้นหาได้
หมวดหมู่ชื่อ TIL deep dives
- จากนี้ไปมีแผนจะเพิ่มบทความประเภทนี้อย่างตั้งใจมากขึ้น
- คำอธิบายว่า “บทช่วยสอนที่อยากให้มีคนเขียนไว้ก่อนที่ฉันจะเริ่มเรียน” นั้นยาวเกินไป จึงตั้งชื่อชั่วคราวว่า TIL deep dives
- บทความเหล่านี้แตกต่างจากโพสต์ “Today I learned” แบบสั้นที่มักเห็นในบล็อกอื่น
- แม้จะอยู่ในสายเดียวกับโพสต์ TIL ของ Simon Willison แต่ใกล้เคียงกับบทความยาวมากกว่า
- Simon Willison ยังมี ซับโดเมน TIL แยกต่างหาก ด้วย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ถ้าคุณไปเจอบทความแบบนั้นเข้า การ บอกให้ผู้เขียนรู้ ก็ควรเป็นสิ่งที่ทำต่อเนื่องกันไปด้วย
แค่ส่งอีเมลสั้น ๆ หรือทิ้งคอมเมนต์ไว้ก็พอ เบื้องหลังคนดังบน YouTube บางคน มีผู้คนอีกนับพันที่ทำคอนเทนต์ดี ๆ แต่ไม่เคยรู้เลยว่ามีใครดูและรู้สึกขอบคุณอยู่
เพราะอย่างนั้น ถ้าเจอบทความหรืองานที่ทำให้รู้สึกประทับใจ ผมก็จะส่งอีเมลหาคนแปลกหน้าเป็นนิสัย Derek Sivers กับ patio11 เป็นแรงบันดาลใจให้ผมติด “คำเชิญถาวร” ไว้เด่น ๆ บนเว็บไซต์ของตัวเองด้วย และเวลามีอีเมลแนว “คำทักทายจากคนแปลกหน้าบนอินเทอร์เน็ต” ส่งมาเป็นครั้งคราว มันทำให้ทั้งวันหรือทั้งสัปดาห์ดีขึ้นได้เลย อีเมลเหมาะมากกับบทสนทนาเชิงลึกที่ค่อยเป็นค่อยไป
https://www.evalapply.org/index.html#standing-invitation
ผมไม่เคยรู้มาก่อนเลยว่ามีชิ้นส่วนเล็ก ๆ คล้ายทรานซิสเตอร์อยู่ใต้กล่องเก็บของ และมันเป็นงานซ่อมราคาแค่ 50 เซ็นต์ ถ้าคนนั้นไม่โพสต์ไว้ ผมคงไม่มีทางรู้แน่ ๆ ก็เลยส่งข้อความไปขอบคุณ
ปรากฏว่าเกมนั้นไม่เคยออกขายจริงเลย และเดโมที่เคยถูกรวมอยู่กับเกมกับซอฟต์แวร์อื่น ๆ นั่นคือร่องรอยสาธารณะเพียงอย่างเดียวที่เหลืออยู่ นักพัฒนายังมีไฟล์ติดตั้งอยู่ และมันเล็กพอจะแนบมากับอีเมลตอบกลับได้เลย ผมรู้สึกแรงมากว่าการที่มีคนไปถามถึงเกมที่เขาทำไว้เมื่อกว่า 20 ปีก่อน น่าจะทำให้วันของเขาดีขึ้นไม่น้อย
เกณฑ์ในการเขียนโพสต์ TIL ของผมก็ยึดตามปรัชญานี้เหมือนกัน
ถ้าผมค้นแล้วค้นอีกแต่ยังต้องใช้เวลาหลายชั่วโมงกว่าจะเข้าใจปัญหาบางอย่างได้ นั่นเป็นสัญญาณที่แรงมากว่ามันควรถูกเขียนเก็บไว้เป็นบทความ โพสต์ล่าสุดเป็นเรื่องการพร็อกซีทราฟฟิก scraping ของ GitHub Actions ผ่าน Tailscale exit node: https://til.simonwillison.net/tailscale/tailscale-github-act...
ประมาณว่า “Simon Willison ทำเรื่องนี้ได้ดีมาก ถึงขั้นมีซับโดเมนแยกไว้สำหรับ TIL ของตัวเองเลย”
ทุกครั้งที่ผมแก้อะไรสักอย่างหรือกำลังทุกข์กับปัญหา ผมจะเขียน บล็อกโพสต์ ไว้ให้ตัวเองเสมอ และพยายามใส่ข้อความ error กับคีย์เวิร์ดค้นหาที่ผมใช้จริงตอนปะติดปะต่อวิธีแก้ให้มากที่สุด
ระหว่างค้นก็ไปเจอโพสต์ใน Reddit ที่เกี่ยวข้อง [1] แล้วเห็นว่ามี GitHub Gist แนบไว้ พอกดดูถึงได้รู้ว่าคนที่โพสต์ Gist นั้นคือตัวผมเอง ผมลืมไปสนิทเลยว่าเคยทำเรื่องนี้ไว้แล้ว
[1] https://www.reddit.com/r/NixOS/comments/1dahr3g/steamos_base...
มันเป็นปัญหาเกี่ยวกับ MVC.net และถึงผมจะแก้ปัญหาเดียวกับคำถามได้ แต่ผมไม่เข้าใจว่าคำตอบที่ถูกทำเครื่องหมายว่า “ดีที่สุด” หมายถึงอะไร หรือเกี่ยวข้องกันอย่างไร ผมเลยเขียนแค่ว่า “คลิกตรงนี้ แล้วกรอกอันนี้ให้ตรงกับตรงนั้น” เป็นลำดับขั้นตอนที่ผมใช้แก้ปัญหา กว่าผมจะมารู้ทีหลังว่าคำตอบของผมจริง ๆ แล้วก็คือสิ่งเดียวกับที่คำตอบอื่น ๆ พยายามจะบอก ก็ผ่านไปนานแล้ว แต่คำตอบนั้นก็ยังได้โหวตต่อไปจากคนจำนวนมากที่ค้นหาอยู่ทั้งที่ยังไม่เข้าใจการ bind, view และการเชื่อมต่อชิ้นส่วนต่าง ๆ แบบมหัศจรรย์ที่ Visual Studio สร้างให้
โพสต์ล่าสุดที่เขียนคือเรื่องพยายามหาวิธีเปลี่ยนแบตเตอรี่ของ baby monitor
https://www.michael1e.com/how-to-replace-the-eufy-spaceview-...
พวกนี้ไม่ส่งทั้งทราฟฟิกหรือผลตอบแทนกลับมา แถมยังไม่อ้างอิงเป็นแหล่งที่มาด้วยซ้ำ ¯_(ツ)_/¯
แบบนั้นพอมีคำตอบ คนถัดไปก็จะค้นเจอได้
ส่วนที่น่าจะสำคัญที่สุดของวิธีนี้คือ ถ้าผมเขียนบทความที่ผมเองอยากเจอ มันมีโอกาสสูงที่วันหนึ่ง มันจะกลับมามีประโยชน์กับผมอีก
หลายบทความที่ผมเขียนกลับมามีประโยชน์อีกครั้งหลังเผยแพร่ไปแล้วหลายปี และพอผมใส่ฟังก์ชันค้นหาในเว็บ รวมทั้งนับรวมโพสต์ไมโครบล็อกเข้าไปด้วย ผลลัพธ์ยิ่งชัดขึ้น
บางครั้งผมก็เคยค้นหาแล้วไปเจอบล็อกโพสต์เก่า ๆ ของตัวเองเหมือนกัน
โชคดีที่ผมเขียนเรื่องนั้นไว้ในบล็อกตั้งแต่ปี 2019 เลยยังกลับไปดูเพื่อเตือนได้จนถึงตอนนี้
สำหรับผม นิสัยนี้กลายเป็นธุรกิจเล็ก ๆ ที่เลี้ยงชีพได้ไปแล้ว ทุกวันนี้ผมหาเลี้ยงตัวเองด้วยการทำเอกสารเกี่ยวกับ ระบบราชการเยอรมนี
ผมเคยพูดเรื่อง “ทำไปทำไม” และมันก็กลายเป็นบล็อกโพสต์ยาว: https://nicolasbouliane.com/projects/all-about-berlin
ผมอยากให้มีคนทำแบบนี้มากขึ้น เวลาเจอแหล่งข้อมูลคล้าย ๆ กัน ผมจะตั้งใจส่งคำขอบคุณให้เสมอ อันหนึ่งช่วยผมตอนปั่นจักรยานข้ามเกาหลีได้ อีกอันช่วยผมซ่อมอุปกรณ์เฉพาะทางมาก ๆ ชิ้นหนึ่งได้ มันน่าเสียดายที่ Google, โซเชียลมีเดีย และ AI คอยขุดเอางานของคนที่ช่วยเหลือแบบนี้ไปใช้เหมือนการทำเหมืองเปิด แล้วดึงเอาผลตอบแทนไปหมด
กำลังจะลงหน้าเว็บที่รวบรวมสิ่งที่ค้นคว้ามาได้หลังจากต้องใช้เวลาหลายวันเพราะแทบไม่มีข้อมูล
ที่โพสต์จริงยังล่าช้าอยู่เป็นเพราะกำลังทดลองทำในแบบที่ยั่งยืนกว่าเดิม ซึ่งรวมถึงการหาวิธีสร้างรายได้ และทำให้พวกครอว์เลอร์กับบริการ “AI” ก็อปไปทั้งหมดได้ยากขึ้นด้วย :(
เลยเขียนโพสต์ต่อเนื่องไว้เพื่อพยายามอธิบายว่าทำไม: https://news.ycombinator.com/item?id=43166761
ถ้ามีใครสักคนสละเวลามาเพลิดเพลินกับงานของฉัน ไม่ว่าจะเป็นการเขียน การทำอาหาร หรือการพัฒนาเครื่องมือ มันทำให้รู้สึกได้รับการยอมรับและอารมณ์ดีขึ้นมาก
ในทางกลับกัน ถ้าปล่อยอะไรออกไปแล้วมันหายไปในอากาศ ไม่มีใครรับรู้หรือร่วมยินดี มันก็ทำให้หมดแรง ฉันเจอมาทั้งสองแบบตลอด 10 ปีที่ใช้บัญชี Medium และตอนนี้ก็เลิกเขียนไม่ได้แล้ว เพราะการเขียนคือเส้นทางของฉัน ส่วนผู้อ่านนั้นเปลี่ยนใจได้เสมอ ฉันยอมรับว่านี่คือเงื่อนไขของการสร้างสรรค์
โดยเฉลี่ยน่าจะราว ๆ 1 คอมเมนต์ เพราะบทความที่มีคอมเมนต์ก็มักจะมีแค่ 3–4 คอมเมนต์เท่านั้น ตลอด 19 ปีของการเขียนบล็อก ช่วงที่โดปามีนพุ่งที่สุดคือการได้เห็นบทความนี้ขึ้นอันดับ 1 หน้าแรกของ HN และก็คงไม่น่าเกิดขึ้นอีกแล้ว
ตอนนี้ก็กำลังเขียนบทความบล็อกแบบนั้นอยู่ชิ้นหนึ่ง
ช่วงหลายเดือนที่ผ่านมา ฉันลงแต่เรื่องที่ต้องไปค้นหามาอย่างยากลำบากในสายของตัวเองอย่าง Kubernetes หรือไม่ก็บทความที่เจาะลึกมาก ๆ กับการอ่านโค้ดในโอเพนซอร์สโค้ดเบส
หัวข้อนี้โดนใจมาก และความอยากเขียนบทความแบบนี้ก็เพิ่มขึ้นทุกวัน แค่ต้องลงมือทำให้ได้
ช่วงนี้ฉันกำลังเล่นกับ Microchip PolarFire SoC[1] และก็รู้อยู่แล้วว่าฝั่งงานออกแบบ FPGA มีข้อมูลไม่มากนัก แต่ของ Microchip นั้นไปกันคนละระดับกับฝั่ง Xilinx/AMD หรือ Lattice รวมถึงเครื่องมือโอเพนซอร์ส ฉันผ่านการต่อสู้มาเยอะมากกว่าจะทำอะไรให้สำเร็จได้ และตอนนี้ถึงเพิ่งเริ่มมี workflow ของตัวเองและเข้าใจชิปมากขึ้น ตอนนี้ค่อนข้างชอบมันเลย และสำหรับคนที่อยากลองทำฮาร์ดแวร์-ซอฟต์แวร์ co-design มันก็เป็นชิปที่น่าลองในงบที่พอรับไหว
ทุกครั้งที่ผ่านศึกแต่ละครั้ง ฉันจะคิดว่า “บ้าเอ๊ย เรื่องนี้ต้องเขียนลงบล็อกที่ไหนสักแห่ง ต่อให้ช่วยคนในอนาคตได้แค่คนเดียว หรือแม้แต่ช่วยตัวฉันในอนาคตคนเดียว ก็ถือว่าเป็นชัยชนะใหญ่แล้ว” แต่จนถึงตอนนี้ ฝั่งขี้เกียจและกลัวนิด ๆ ของฉันเป็นฝ่ายชนะมาตลอด
ฉันกังวลว่าอังกฤษไม่ใช่ภาษาแม่ของฉัน ถ้าเขียนออกมาได้ไม่ดีพอล่ะ ถ้าสิ่งที่ฉันเขียนเป็นเรื่องพื้น ๆ สำหรับทุกคน มีแค่ฉันที่กำลังดิ้นรนอยู่คนเดียวล่ะ หรือถ้าเพื่อนบังเอิญมาเห็นแล้วหัวเราะล่ะ แต่ก็ช่างมัน ฉันอยากทำ ฉันก็ต้องทำ
[1] https://www.microchip.com/en-us/development-tool/mpfs-disco-...
ประโยคสุดท้ายทำให้นึกถึง “Roll the dice” ของ Charles Bukowski บางทีฉันอาจต้องนึกถึงมันให้บ่อยขึ้นหน่อย: https://hellopoetry.com/poem/68266/roll-the-dice/
เดี๋ยวนี้มักมีคนเขียนบทความที่ฉันอยากเขียนไปแล้วเสมอ ดังนั้นฉันจึงเขียนฉบับของฉันเอง
บทความบล็อกช่วงแรก ๆ ส่วนใหญ่ของฉันได้แรงบันดาลใจจากคำถามในฟอรัมสาธารณะ ฉันจะไปตอบคำถามนั้น แล้วกลับมาเขียนเป็นบทความบล็อก จากนั้นหลัง ๆ ก็ส่งลิงก์บทความนั้นกลับไปแทน บทความบล็อกของฉันช่วงต้นยุค 2000 ยังเห็นร่องรอยนั้นอยู่
ตัวอย่างเช่น บทความวิธีเปิดเบราว์เซอร์แบบเต็มหน้าจอใน IE5 ประสบความสำเร็จอย่างมาก: https://brajeshwar.com/2002/ie-50-full-screen-from-itself/