Hike News
Hike News

Game design theory ออกแบบเกมให้โดนใจ

Game design theory ออกแบบเกมให้โดนใจ

ตอนเด็กพอได้เริ่มเล่นเกมส์ Mario จากการที่น้าชายซื้อมาให้ หลังจากนั้นก็เริ่มชีวิตเด็กติดเกมส์ที่เล่นเกมส์ทุกวัน ความฝันหนึ่งที่เด็กเล่นเกมส์จำนวนหนึ่งฝันกันคืออยากจะสร้างเกมส์ของตัวเองขึ้นมาครับ ซึ่งฝันนั้นก็ทำให้เด็กหลายคนสอบเข้าคณะที่เกี่ยวกับคอมพิวเตอร์ แต่ก็กลายเป็นฝันร้ายของเด็กหลายๆคน (เรื่องเด็กไม่น่าได้แล้วเพราะอายุคนเหล่านั้นน่าจะ 18 ไม่ใช่เด็กแล้ว) เพราะเมื่อเรียนแล้วพบว่ามันไม่ใช่อย่างที่คิด มันไม่มีการสอนเขียนเกมส์แต่เป็นการสอนเขียนโปรแกรมที่มีแต่ตัวอักษร Algorithm ที่เข้าใจยาก การจะทำภาพเคลื่อนไหวในเกมส์ การตรวจจับการชนก็แสนยากไม่มีการลากวางลากวางตามจินตนาการ สุดท้ายหลายคนก็ย้ายคณะหนี บางคนก็อยู่ต่อเพราะเสียดายเวลาตามแต่ทางเลือกของตัวเอง

แต่สมัยนี้นั้นง่ายกว่าสมัยนั้นเยอะครับ สมัยนี้มีสิ่งที่เรียกว่า Game engine (โปรแกรมช่วยทำเกมส์) ฟรีหลายตัวให้ใช้งานทำให้เขียนเกมส์ได้ง่ายขึ้นกว่าเดิม ไม่ต้องมาเขียน Code เช็คการชน ทำ Animetion ต่างๆนาๆ พอทุกอย่างมันง่ายสิ่งสำคัญเลยไม่ได้อยู่ที่การเขียนโปรแกรมแล้ว แต่สิ่งสำคัญคือเรื่องพื้นฐานเกี่ยวกับการออกแบบเกมส์ครับ คือต้องยอมรับจริงๆว่าผมอยากเขียนเกมส์โดยไม่รู้เรื่องการออกแบบเลย พอเขียนเกมส์แบบไม่ได้ Design ก็เหมือนทำระบบที่ไม่ได้ Design ที่ออกมาทำงานได้แต่ทำได้ไม่ดี แต่มันต่างกันตรงที่ระบบงานนั้นคนทำงานนั้นจำเป็นต้องใช้มันเลยมีคนใช้ (พวก App ที่ทำงานเฉพาะทาง) แต่ถ้าเป็นเกมส์แล้วถ้าเล่นแล้วไม่สนุกคนก็เลิกไปเล่นเกมส์อื่นครับ ดังนั้นการรู้พื้นฐานเพื่อออกแบบจึงเป็นเรื่องสำคัญ พอได้เห็นหนังสือเล่มนี้ก็รู้สึกว่าเออลองหยิบมาอ่านดูดีกว่า เผื่อเวลาจะไปเขียน Side project เกมส์ จะได้เป็นเกมส์ที่ดี

การเล่นคืออะไร

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

เกมส์คืออะไร

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

  • Interactive - อนุญาตให้โต้ตอบกับมันได้ อันนี้ง่ายๆคือการเล่นกับมันและมันโต้ตอบกลับกับคุณ ไม่เหมือนหนังสือที่มันโต้ตอบกับคุณได้ (ถ้าหนังสือเถียงคุณได้ แนะนำให้วิ่งครับ)
  • Goal - มีเป้าหมายชัดเจนว่าให้ทำอะไร เช่น ฆ่าบอสใหญ่ ตีฐานใหญ่ศัตรู ยึดพื้นที่ เป็นต้น
  • Active Obstacle - มีอุปสรรคที่ทำให้ผู้เล่นแพ้ได้

ผู้เล่นต้องการอะไร

หัวข้อนี้ก็เป็นอีกเรื่องที่ผมไม่เคยถามตัวเองเวลาทำเกมส์เหมือนกัน พอไม่ได้คิดมันก็เลยเป็นเกมส์มั่วๆไม่ได้ตอบสนองผู้เล่น โดยหนังสือแนะนำความต้องการของผู้เล่นไว้ดังนี้

  • ผู้เล่นต้องการความท้าทาย

    ความท้าทายคือการได้ทำอะไรที่ท้าทายความสามารถในการเล่นเกมส์นั้น เช่น ความท้าทายจากการบริหารทรัพยากร ความท้าทายกับแข่งกับเวลา ความท้าทายจากความคล่องแคล่วในการเล่น ความท้าทายจากความอดทน ความท้าทายจากความจำ ความท้าทายจากการใช้สติปัญญาแก้ปัญหา

  • ผู้เล่นต้องการมีปฏิสัมพันธ์

    อันนี้ก็ง่ายๆครับคืออยากได้รับการตอบโต้กลับ ถ้าเป็นดูหนังคุณดูอย่างเดียวคุณไม่สามารถให้หนังตอบโต้คุณกลับได้ (ยกเว้นหนังที่ทำเป็นตัวเลือกให้เลือกระหว่างดู) แต่เกมส์มันสามารถตอบโต้กับคุณได้ไม่ว่าจะทำให้คุณแพ้ ตอบโต้กับตัวเลือกที่คุณเลือก

  • ผู้เล่นต้องการเข้าสังคม

    อันนี้คือการได้ไปเจอคนอื่นๆที่เล่นเกมส์เดียวกับคุณ เช่น RO ที่คนเล่นกันสมัยก่อน การเล่น RO อาจจะเป็นการเก็บเลเวลแต่สำหรับคนบางกลุ่มมันคือการพบปะผู้คนทำความรู้จัก เป็นเพื่อนกัน บางคนถึงกับได้สามีได้ภรรยาจากเกมส์นี้เลยนะครับ (ต้องเข้าใจว่าสมัยก่อนไม่มี App Chat ให้เล่นครับ)

  • ผู้เล่นต้องการหนีจากความเป็นจริง

    ข้อนี้คืออยากทำอะไรที่โลกแห่งความเป็นจริงทำไม่ได้ เช่น การไปเที่ยวที่อื่นๆบนโลกได้แบบรวดเร็ว การใช้ความรุนแรง การทำผิดกฏหมาย เป็นต้น

  • ผู้เล่นต้องการพิสูจน์ตนเอง ต้องการชื่อเสียง

    ส่วนข้อนี้เห็นได้ทั่วไปในเกมส์ที่มีระบบ Rank เลยที่ผู้เล่นพยายามจะพยายามพาตัวเองไปอยู่ใน Rank ที่สูงเพื่อโชว์ความเก่งกาจของตน หรือทำการจบเกมส์ที่ยากมากๆแบบ Dark souls ที่เล่นจบแล้วสามารถพิสูจน์ว่าตัวเองเล่นเกมที่โคตรยากได้จบ

การเดินเกมส์ (Game progression)

สำหรับหัวข้อนี้ผมพึ่งรู้จักตอนอ่านหนังสือเล่มนี้แหละ โดย Progression แปลว่า “การเคลื่อนที่ไปข้างหน้าหรือพัฒนาเพื่อมุ่งไปสู่จุดหมาย อย่างมีขั้นตอนและเป็นไปตามลำดับ” พอเอาเกมส์ไปรวมก็กลายเป็นการที่เกมส์เคลื่อนที่ไปข้างหน้าอย่างเป็นลำดับ ถ้ามองง่ายๆก็เหมือนละครที่ค่อยๆเปิดเผยเนื้อเรื่อง โดย Game progression นั้นมีหลากหลายวิธีในการทำ แต่วิธีพื้นฐานที่นิยมคือ “กฏสามองค์” ซึ่งก็คือการแบ่งออกเป็น 3 ช่วง โดยใช้ได้ทั้งกับระบบเกมส์และเนื้อเรื่อง

  • องก์ 1

    องก์นี้จะเป็นส่วนเริ่มต้นที่จะบอกพื้นฐานคร่าวๆเกี่ยวกับเกมส์ให้เราหรือว่าง่ายๆก็คล้ายๆส่วนนี้เป็นส่วนสอนเล่นเกมส์ ให้เราเข้าใจว่าหลักๆเกมส์ทำอะไรได้บ้าง เช่น ปล่อย Skill ได้ โจมตีได้ กฏหลักๆของเกมส์ เช่น ห้ามโดนตัวศัตรู ห้ามโดนหนาม ถ้าอย่างในเกมส์ Rockman ก็คือด่านแรกจะเป็นด่านง่ายๆให้ลองเล่นให้รู้ว่ากระโดดได้ ยิงได้ ชาร์ตยิงได้ dash ได้ บอสด่านแรกจะกากๆหน่อยให้รู้ว่าเจอบอสจะเป็นไง บอสไม่ได้โดนทีเดียวตายประมาณนั้น ถ้าเป็นส่วนเนื้อเรื่องก็เป็นส่วนที่บอกเล่าคร่าวๆเกี่ยวกับโลกเกมส์นี้ว่าเป็นยังไง ตัวเอกจะต้องทำอะไรเป็นต้น

  • องก์ 2

    องก์นี้จะเป็นการปล่อยให้ผู้เล่นสามารถทำสิ่งต่างๆที่เกมส์ทำได้มากขึ้น เช่น ไปหาอาวุธ ฆ่าบอสเอาสกิลเพิ่ม เพื่อทำอะไรต่างๆในเกมส์ได้มากขึ้น ถ้าอย่างในเกมส์ Rockman ก็จะเป็นให้เราสามารถเลือกด่านไปสู้กับบอสเพื่อจัดการเอาสกิลใหม่ ไปหาเกราะเพิ่ม ส่วนเนื้อเรื่องก็จะค่อยๆเปิดเผยความลับปูไปถึงการจะสู้กับบอสใหญ่หรือความลบของเรื่อง

  • องก์ 3

    องก์นี้จะเป็นจุดที่ปล่อยผู้เล่นได้ใช้ทุกสิ่งที่จะฝึกฝนและเรียนรู้จากการเล่นเกมส์ทั้งหมดมาใช้จบเกมส์ให้ได้ เช่น สู้กับบอสใหญ่ แก้ปริศนาที่ต้องใช้ทุกวิธีที่ได้เรียนรู้จากเกมส์ หรือต้องจัดสรรทรัพยากรให้ได้ดีที่สุดในเงื่อนไขที่ยากที่สุด ถ้าเทียบกับ Rockman ก็ประมาณไปด่านบอสใหญ่ที่จะต้องสู้กับบอสทุกตัวใหม่อีกครั้ง สู้กับบอสใหญ่ที่อาจจะมีหลายร่างแถมเลือดหลอดยาวทะลุจอ ส่วนในทางเนื้อเรื่องก็คือการคลายทุกปมที่ผูกไว้ให้ผู้เล่นได้เข้าใจเนื้อเรื่องทั้งหมด

อ่านแล้วได้อะไร

ในหนังสือยังมีอีกหลายเรื่องที่ผมไม่ได้เอามาเล่า (ถ้าเล่าหมดคุณก็ไม่หามาอ่านน่ะสิ) ไม่ว่าจะเป็นเรื่อง กลไก และ กฏ (Machanic and Rule ) ความลึกและความซับซ้อน ซึ่งเป็นหัวข้อสำคัญในการออกแบบเกมส์ อีกทั้งยังมีเรื่อง Design Document ที่ว่าด้วยเรื่องเอกสารที่ใช้สื่อสารกันในทีมนักพัฒนาเกมส์ว่ามันมีหน้าตาอย่างไรมีอะไรบ้าง เพื่อให้การสื่อสารง่ายขึ้น เข้าใจกันได้เร็วขึ้น

สำหรับผมหนังสือเล่มนี้ทำให้ผมเข้าใจการ Design เกมส์หนึ่งเกมส์ว่าเขามีวิธีคิดยังไง มี Pattern แบบไหนบ้าง ซึ่งก็ถือว่าคุ้มกับเวลาที่เสียไปมาก สำหรับใครที่อยากสร้างเกมส์ผมก็แนะนำว่าลองไปหาอ่านดูครับ

เรื่องเด็กๆ - โต๊ะก็คือโต๊ะ - Kindergeschichten

เรื่องเด็กๆ - โต๊ะก็คือโต๊ะ - Kindergeschichten

หลังจากได้อ่านรวมเรื่องสั้นของคุณ Peter Bichsel ที่ชื่อเรื่องเล่าผิดเวลาที่เป็นเรื่องเล่าแล้วทิ้งคำถามให้คนอ่านไปตัดสินใจเอง ซึ่งผมรู้สึกชอบมากก็เลยไปหางานเขียนอื่นๆของเขามาอ่านเพิ่ม ซึ่งก็คือเรื่อง “โต๊ะก็คือโต๊ะ” ซึ่งพออ่านแล้วบางเรื่องก็เข้าใจ บางเรื่องก็อึดอัด แต่พอได้ไปอ่านคำตาม (ส่วนอธิบายของคนแปล) ว่าผู้เขียนพยายามจะสื่ออะไรในเรื่องที่อึดอัดแล้วก็เข้าใจว่าผู้เขียนต้องการสื่ออะไรให้คนอ่านเข้าใจ

โต๊ะก็คือโต๊ะ

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

ตอนอ่านเรื่องนี้ผมปวดหัวมากเพราะผู้เขียนแทนคำไปแบบนั้นจริงๆแบบโต๊ะกลายเป็นนาฬิกา ช้อนส้อมกลายเป็นคำใหม่ พอเราไปอ่านเรื่องราวที่ถูกแทนด้วยภาษาของหนุ่มวัยชราแล้วเราไม่เข้าใจเลย อ่านแล้วปวดหัวมาก ถ้าอยากจะอ่านเข้าใจคุณต้องไปแปลงเป็นภาษาของชายชรา ตอนอ่านเรื่องนี้ผมไม่เข้าใจว่าผู้แต่งต้องการสื่ออะไร แต่เมื่อไปอ่านคำตามแล้วก็พอเข้าใจว่ามันคือการสื่อถึงการพยายามต่อสู้กับขนบธรรมเนียมของปัจเจกบุคคล ขนบธรรมเนียมที่ว่าก็คือภาษา ซึ่งชายชราไม่ได้ใช้วิธีการต่อสู้แบบออกไปโห่ร้องต่อสู้ แต่เขาต่อสู้โดยการเปลี่ยนตัวเขาเองเปลี่ยนไปใช้ภาษาของตัวเองประมาณนั้น แล้วอีกสิ่งหนึ่งที่เขากำลังจะสื่อคือ ในบางมุมมองเราไม่ได้เป็นนายของภาษาแบบที่เราเข้าใจ บางทีเราก็ตกเป็นทาสของภาษาเพราะเราใช้ภาษาในการแทนความเข้าใจเช่น โต๊ะก็คือโต๊ะ แต่ในภาษาของชายชรา โต๊ะกลับไม่ใช่โตีะ โต๊ะกลับเป็นอย่างอื่น (ลองไปอ่านดูครับทรมานมาก เหมือนตกเป็นทาสเลย)

โลกกลม

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

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

อ่านแล้วได้อะไร

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

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

Blink by Phil Porter

Blink by Phil Porter

Blink by Phil Porter

ความรักของคุณมีรูปแบบยังไง ความรักของคุณต้องอยู่ด้วยกันไหม แล้วถ้าความรักของคุณไม่เหมือนคนทั่วไป มันควรจะเป็นความรักไหม แล้วเราจะตัดสินว่าอะไรคือความรัก นี่คือคำถามที่ผมได้ดูละครเวทีเรื่อง Blink by Phil Porter ที่จัดการแสดงโดย คณะอักษรศาสตร์ ภาควิชาศิลปการละคร จุฬาลงกรณ์มหาวิทยาลัย เรื่องนี้เล่าถึงชาวหนุ่มหญิงสาวคู่หนึ่งที่มีความรักที่แปลกประหลาดไม่เหมือนกับคนทั่วไป แปลกจนกลายเป็นคำถามที่ผมได้กล่าวไป

ผู้เฝ้ามอง และ ผู้ชอบถูกเฝ้ามอง

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

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

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

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

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

การแสดง

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

ดูแล้วได้อะไร

สำหรับผมการมีดูเรื่อง Blink by Phil Porter ที่จัดแสดงโดยคณะอักษรศาสตร์ ภาควิชาศิลปการละคร จุฬาลงกรณ์มหาวิทยาลัย ถือว่าคุ้มค่ากับการมาดูมากไม่ว่าจะทั้งการแสดง ฉาก แสง เสียง ดูไปหมด คือถ้าเอาไปบันทึกการแสดงไปฉายออกทีวีนี่ผมว่าไม่น่าเกลียดเลย คืออาจจะสนุกกว่าละครหรือหนังบางเรื่องเสียอีก ในส่วนของเนื้อเรื่องนั้นมีหลายส่วนที่ได้ทิ้งคำถามให้กับเราไม่ว่าจะเป็นมุมมองเกี่ยวกับความรักประหลาดระหว่างโจนาห์กับโซฟี่ การที่ทำอะไรซ้ำๆเดิมๆเป็นเรื่องแปลกประหลาดมากแค่ไหน ความสุขมันเกิดจากการเปลี่ยนรูปแบบที่คุ้นเคยไปเป็นรูปแบบใหม่ใช่รึเปล่า ซึ่งจากคำถามเหล่านี้ทำให้เราเห็นโลกในมุมมองที่เคยคิดเหมือนกัน

สำหรับใครสนใจดูละครเวทีดีๆแบบนี้ก็ไปกดติดตาม Page : Drama Arts Chula ไว้เลยครับ เวลาเขามีละครเวทีใหม่ๆมาเขาจะแจ้งผ่านช่องทางนี้ครับ

Ref

ศาสตร์แห่งการเขียนที่โน้มน้าวใจได้ทุกคน - Harvard writing - lessons from 150-year-old

ศาสตร์แห่งการเขียนที่โน้มน้าวใจได้ทุกคน - Harvard writing - lessons from 150-year-old

ศาสตร์แห่งการเขียนที่โน้มน้าวใจได้ทุกคน - Harvard writing - lessons from 150-year-old

ผมเห็นชื่อหนังสือนี้แล้วนี้แล้วเกิดความสนใจว่าการเขียนมันจะโน้มน้าวคนได้ดีถึงขนาดเขียนเป็นหนังสือขายได้เลยเหรอ ปกติเห็นแต่การพูดโน้มน้าวใจ พูดแบบ TedTalk พูดแบบ Steve jobs ด้วยความสงสัยก็เลยยืมมาอ่าน ซึ่งหนังสือได้อธิบายวิธีการเขียนที่ชื่อ O-R-E-O Map ที่หนังสืออ้างว่าเป็นวิธีการเขียนเดียวกับวิชาเขียนที่ Harvard สอนให้กับนักศึกษาทุกคน ซึ่งจากการสัมภาษณ์ศิษย์เก่าหลายคนจาก Harvard ต่างบอกว่าวิชาที่มีประโยชน์ที่ได้เรียนจาก Harvard วิชาหนึ่งคือวิชาการเขียน เพราะทำให้เขาเขียนอธิบายต่างๆได้ดี ตรงประเด็น ทำให้ผู้อ่านเข้าใจได้อย่างรวดเร็ว

O-R-E-O Map

O-R-E-O Map เป็นวิธีการการเขียนแนวโน้มน้าวให้คนอ่านเชื่อเรื่องที่เราเขียนโดยใช้วิธีการใช้เหตุผลร่วมกับหลักฐาน โดยหลักการเขียนดังต่อไปนี้

O = Opinion

ในส่วนนี้คือส่วนเริ่มต้นของงานเขียนคือบอกสิ่งที่เราอยากจะโน้มน้าวให้คนเชื่อ เช่น วิธีการทำงานรูปแบบใหม่ การเชิญชวนให้ทำอะไรใหม่ๆ เป็นต้น นี่คือส่วน Opinion โดยส่วนนี้เป็นส่วนเริ่มของบทความเพื่อให้ผู้อ่านสนใจ จากนั้นจะส่งต่อผู้อ่านไปที่ส่วนถัดไปคือ Reason

R = Reason

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

E = Example

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

O = Opinion / Offer

ส่วนนี้เป็นส่วนปิดของการเขียนโดยจะเป็นการเน้นย้ำเกี่ยวกับ Opinion อีกครั้ง หรือเป็นการเสนอว่าผู้อ่านควรทำอะไรต่อ เช่น ให้ลองเริ่มทำวิธีการทำงานรูปแบบใหม่กับงานเล็กๆดูเลย หรือ ลองนำเสนอหัวหน้างาน เป็นต้น

การทำให้ประโยคมีประธาน

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

อ่านแล้วได้อะไร

สิ่งที่ผมได้จากการอ่านหนังสือเล่มนี้คือวิธีการเขียนแบบ O-R-E-O Map ซึ่งเป็นวิธีการเขียนง่ายๆแต่ดูอ่านแล้วทำให้เราคล้อยตามได้จริงๆ ซึ่งโดยความคิดเห็นส่วนตัวมันคล้ายๆการเขียนงานวิจัยที่มีส่วนบทนำที่อธิบายว่างานวิจัยนี้ค้นพบอะไรน่าสนใจตรงไหน จากนั้นก็มาส่วนทฤษฎีที่อธิบายเหตุผลว่าทำไม ต่อด้วยส่วนที่เป็นผลการทดลองเพื่อให้ดูว่าทำจริงๆนะไม่ได้นั่งเขียนมั่วๆขึ้นมา และสุดท้ายสรุปผลการทดลอง ซึ่งใกล้เคียงกันมากเปลี่ยนแค่ส่วนสรุปมาเป็นส่วนเน้นย้ำและเสนอแนะ ดังนั้นจึงไม่แปลกที่วิธีการเขียนนี้จะโน้วน้าวใจผู้อ่านได้ (แต่น่าแปลกตรงที่ทำไมคนไม่ชอบอ่านงานวิจัย แต่ชอบอ่านงานที่เขียนคล้ายงานวิจัย)

ส่วนข้อเสียของหนังสือเล่มนี้คือกว่าจะเข้าส่วนที่เป็นเนื้อหาจริงๆนั้นช้ามาก ตัวหนังสือพยายามพูดข้อดีของการเขียน O-R-E-O Map มากจนเกินไปทำให้คนอ่านอย่างผมรู้สึกเบื่อที่ไม่เข้าส่วนแนะนำการเขียนสักที ซึ่งพอถึงส่วนแนะนำการเขียนนั้นเนื้อหากลับน้อยมาก จริงๆมันควรจะมีตัวอย่างการเขียนที่ไม่ดี แล้วนำมาปรับเป็นการเขียนแบบ O-R-E-O Map ให้ดูหลายๆรูปแบบ แต่หนังสือแสดงให้ดูแค่ 2 - 3 ตัวอย่าง อีกหนังสือชอบยกตัวอย่างว่าหลายๆที่ใช้วิธีการเขียนแบบนี้กับบริษัทดังๆในโลกซึ่งถ้ามีแค่ 2 - 3 ตัวอย่างก็ดีครับแต่สำหรับเล่มนี้มันเยอะเกินไปจนส่วนที่เป็นเนื้อหาจริงๆดูน้อยมาก

ในหนังสือเล่มนี้ยังมีแนะนำวิธีการเขียนอื่นๆที่ไม่เกี่ยวกับ O-R-E-O Map เช่นการทำให้ประโยคมีประธาน การใช้ภาคแสดงให้น่าสนใจ เทคนิคการเขียนเล่าเรื่อง เป็นต้น สำหรับใครที่อยากหาวิธีเขียนที่โน้มน้าวใจผู้อ่านได้ง่ายหรืออยากได้วิธีเขียนที่ทำให้งานเขียนดูเป็นเหตุเป็นผลก็ลองไปหาหนังสือเล่มนี้มาอ่านดูครับ รับรองว่าจะมีประโยชน์กับคุณแน่นอน

Concurrency Part 4 - ทดสอบการใช้ Isolation Level เพื่อแก้ปัญหา Lost update

Concurrency Part 4 - ทดสอบการใช้ Isolation Level เพื่อแก้ปัญหา Lost update

Concurrency Part 4

ผมเขียนเกี่ยวกับ Concurrency ไว้หลายตอน คุณสามารถกด Link ด้านล่างเพื่ออ่านที่เกี่ยวกับ Concurrency ตอนต่างๆได้เลย

ตอนที่แล้วผมเขียนถึงปัญหา Phantom และสรุปว่าปัญหาไหนควรใช้ Isolation level อะไร ซึ่งจริงๆมันก็น่าจะจบเกี่ยวกับเรื่อง Isolation level แล้วแหละ แต่เมื่อไม่กี่เดือนที่ผ่านมาผมดันนึกสนุกว่าแต่ละ DBMS แต่ละเจ้าเช่น MariaDB, SQLServer, Postgres เนี่ยเขาจะทำให้ Isolation level ได้ตามที่เราคิดรึเปล่า ซึ่งจากการทดลองก็ทำให้ผมเหวอไปนิดนึง ก็เลยมาลองทำการทดลองพิสูจน์เรื่อง Isolation แบบจริงจังดู ซึ่งผมคิดว่ามันอาจมีประโยชน์กับคนอื่นด้วยก็เลยมาเขียนลง Blog เลยดีกว่า

ผมยึด Isolation level ตามมาตรฐาน SQL92 ซึ่งคือมาตรฐานกลางที่ออกมาเพื่อให้ DBMS เจ้าต่างๆเนี่ยทำตาม เวลาคุยกันจะได้ยึดหลักว่าฉันทำตาม Standard version SQL92 นะ ซึ่งแปลว่า DBMS ของฉันทำแบบนั้นแบบนี้ได้ ซึ่งผมมองว่ามันเป็นเรื่องที่ดีมากเลย เพราะถ้าต่างคนต่างมีมาตรฐานนะ คนใช้งานคงปวดหัวในเปรียบเทียบ DBMS แต่ละเจ้า อีกทั้งศัพท์ของแต่ละเจ้าอาจไม่เหมือนกันอีก ลองนึกถึงระบบสีสมัยก่อนมี RGB สิครับ การจะบอกสีกันนี่จะบอกกันลำบากน่าดู

ส่วนปัญหาต่างๆสามารถไปอ่านได้ในตอนเก่าๆหรืออยากอ่านแบบจริงจังสามารถอ่านได้ที่ paper : https://www.cs.umb.edu/~poneil/iso.pdf นี้นะครับ

การทดลอง

สถานการณ์ที่จะทำการทดลอง

ในการทดลองนั้นเราจะจำลองสถานการณ์ Lost update เป็นสองสถานการณ์หลักๆดังภาพ

กรณที่ 1

กรณีนี้คือให้ Tx1 ทำการเริ่มก่อนและทำการอ่านข้อมูลก่อนและทำการพยายาม Commit ก่อน

กรณีที่ 2

กรณีนี้คือให้ Tx1 เริ่มก่อนอ่านข้อมูลก่อน แต่จะให้ Tx2 ทำการพยายาม commit ก่อน

โดยทั้ง 2 กรณีนั้นจะเกิดปัญหา Lost update แน่นอน เพราะทั้ง 2 Transaction ต่างอ่านค่า data ที่มีค่าเป็น 10 มา แล้วนำไปบวกกับค่าของตัวเอง แล้วทำการ update ซึ่งแน่นอนว่าค่าไม่ถูกต้องแน่นอน และอีกเหตุผลที่ทำ 2 กรณีนั้นก็เพื่อตรวจสอบด้วยว่าถ้ากรณีแตกต่างกันระดับ Isolation จะสามารถแก้ปัญหาได้ทั้ง 2 กรณีหรือไม่ ซึ่งจริงๆแล้วกรณีอาจมีมากกว่านี้อีก

ในการทดลองเราจะให้ 2 Transaction ที่ทำงานนั้นมี Isolation level ต่างกันด้วย ซึ่งเราจะทดลองทุก Isolation level มาเจอกันเลย คือตั้งแต่ READ UNCOMMITED เจอ READ UNCOMMITED ไปจนถึง SERIALIZABLE เจอ SERIALIZABLE รวมแล้วเป็นไปได้ทั้งหมด 16 รูปแบบ

DBMS ที่จะทำการทดลอง

ผมจะทำการทดลองบน DBMS เจ้าดังๆ และสามารถ Run บน Docker ได้ ซึ่งนั่นก็คือ

  • MySQL version : 8.0.28
  • MariaDB version : 10.7
  • SQL Server version : 2019
  • Postgres version : 13
  • DB2 version : 11.5.7.0

ทดลองบน Spring jpa

เนื่องจากผมเป็นถนัดการเขียน Java และใช้ Framework Spring ดังนั้นถึงทำการทดลองโดยใช้ Spring boot jpa โดยจะใช้การเขียน Code จำลองให้เกิดเหตุการณ์แบบนั้น โดยสร้าง thread ขึ้นมา 2 thread ขึ้นมาพร้อมกัน แต่ละฝ่าย Start transaction ที่ Isolation level ตามที่ได้อธิบายในสถานการณ์ที่จะทดลอง จากนั้นเก็บผลลัพธ์ว่าจะเกิดอะไรขึ้น โดย Source code ทั้งหมดจะอยู่ที่ https://github.com/surapong-taotiamton/test-tx ท่านที่อ่านสามารถไปเช็คได้ว่าผมเขียนถูกไหม หรือทดลองซ้ำดูว่ามันได้ผลลัพธ์เหมือนกันไหม ซึ่งถ้ามีตรงไหนผิดพลาดสามารถแจ้งผมได้เลยครับว่าผิดตรงไหน เดี๋ยวผมจะรีบแก้ให้ถูกต้อง และแก้ไขข้อมูลให้ถูกต้องจะได้ไม่เกิดความเข้าใจผิด

ผลการทดลอง

MySQL version : 8.0.28

ผลการทดลอง MySQL version : 8.0.28

สำหรับการทดลองกับ MySQL พบว่าต่อให้เราตั้ง Isolation ระดับ Repeatable read กับทั้ง 2 Transaction แล้วก็ไม่สามารถแก้ปัญหาตัวปัญหา Lost update ได้ ส่วนตัว Isolation level ที่จะแก้ปัญหาสำหรับ Lost update ของ MySQL version : 8.0.28 จะเป็น Serializable ทั้ง 2 Transaction

** วิธีการดูว่าใช้ Isolation ไหนจัดการปัญหาได้ให้ดูว่าแถวไหนสามารถแก้ปัญหา Lost update ได้ทั้ง 2 กรณี

MariaDB version : 10.7

ผลการทดลอง MariaDB version : 10.7

สำหรับการทดองกับ MariaDB พบว่าผลลัพธ์เหมือนกับตัว MySQL version : 8.0.28 เลย คงเพราะน่าจะมี Core การจัดการ Isolation แบบเดียวกัน ( MariaDB เกิดจากการ Fork จาก MySQL ) ดังนั้นจะแก้ปัญหา Lost update ของ MariaDB version : 10.7 ได้ต้อง Set isolation เป็น Serializable ทั้ง 2 Transaction

** วิธีการดูว่าใช้ Isolation ไหนจัดการปัญหาได้ให้ดูว่าแถวไหนสามารถแก้ปัญหา Lost update ได้ทั้ง 2 กรณี

SQL Server version : 2019

ผลการทดลอง SQL Server version : 2019

สำหรับการทดลองกับ SQL Server version : 2019 นั้นแตกต่างจาก MariaDB กับ MySQL ที่ SQL Server นั้นสามารถจัดการปัญหา Lost Update ได้โดยทำการตั้งค่าระดับ Isolation level : Repeatable Read หรือสูงกว่ากับทั้ง 2 Transaction

** วิธีการดูว่าใช้ Isolation ไหนจัดการปัญหาได้ให้ดูว่าแถวไหนสามารถแก้ปัญหา Lost update ได้ทั้ง 2 กรณี

Postgres version : 13

ผลการทดลอง Postgres version : 13

สำหรับ Postgres version : 13 นั้นให้ผลแบบเดียวกับ SQL Server เลย โดยสามารถสรุปได้ว่าสามารถจัดการปัญหา Lost Update ได้โดยทำการตั้งค่าระดับ Isolation level : Repeatable Read หรือสูงกว่ากับทั้ง 2 Transaction

** วิธีการดูว่าใช้ Isolation ไหนจัดการปัญหาได้ให้ดูว่าแถวไหนสามารถแก้ปัญหา Lost update ได้ทั้ง 2 กรณี

DB2 version : 11.5.7.0

ผลการทดลอง DB2  version : 11.5.7.0

สำหรับ DB2 version : 11.5.7.0 นั้นให้ผลลัพธ์แตกต่างจาก Postgres และ SQL Server นิดหน่อย แต่โดยสรุปแล้วผลลัพธ์แล้วเหมือนกันคือ สามารถจัดการปัญหา Lost Update ได้โดยทำการตั้งค่าระดับ Isolation level : Repeatable Read หรือสูงกว่ากับทั้ง 2 Transaction

** วิธีการดูว่าใช้ Isolation ไหนจัดการปัญหาได้ให้ดูว่าแถวไหนสามารถแก้ปัญหา Lost update ได้ทั้ง 2 กรณี

สรุป

จากผลการทดลองทั้งหมดเราสามารถสรุปผลการทดลองทั้งหมดเป็นตารางได้เป็นตารางด้านล่าง

DBMS Isolation level
MySQL version : 8.0.28 Serializable
MariaDB version : 10.7 Serializable
SQL Server version : 2019 Repeatable Read
Postgres version : 13 Repeatable Read
DB2 version : 11.5.7.0 Repeatable Read

ซึ่งจะเห็นว่าตัว MySQL และ MariaDB นั้นแตกต่างจาก DBMS เจ้าอื่น ซึ่งไม่ตรงกับการใน Paper ที่ระบุไว้ว่าตัว Isolation : Repeatable Read นั้นสามารถแก้ปัญหาตัว Lost update ได้ ซึ่งผมลองไปหาอ่านคร่าวๆว่าทำไม MySQL กับ MariaDB ทำไมถึงทำไม่ได้นั้นมีคนไปตอบใน Stack overflow มีคนตอบไว้ประมาณว่าในมาตรฐาน SQL 92 ไม่ได้พูดถึงปัญหา Lost update เขาพูดแค่ปัญหา Dirty read , Unrepeatable และ Phantom เท่านั้นจึงไม่มีความจำเป็นต้อง Implement ให้แก้ปัญหา Lost update ดังนั้นใครที่ใช้ DBMS เจ้า MySQL หรือ MariaDB ถ้าจะป้องกันปัญหา Lost update ก็แนะนำให้ตั้ง Isolation เป็น Serializable หรือตอน Query ข้อมูลนั้นต้องสั่งแบบ Select for update ไปเลยเพื่อทำการบอก DBMS ทราบจะได้ทำการ Lock ข้อมูลนั้นไว้

ในส่วนของผลการทดลองที่ผลลัพธ์นั้นแตกต่างกันในแต่ละ DBMS นั้นมาจากการที่แต่ละ DBMS นั้น Implement วิธีจัดการ Isolation แตกต่างกัน บางเจ้าอาจจะใช้การทำ 2PL (Two-Phase Locking) แต่บางเจ้าอาจจะใช้การทำ Multi version data เพื่อให้เกิดความเร็ว ทำให้ผลลัพธ์ที่ออกมาจะแตกต่างกันในแต่ละกรณี แต่จะเห็นว่าแต่ละเจ้าจะพยายามรักษาภาพรวมให้ผลลัพธ์ออกมาเหมือนกัน ดูได้จาก DB2 นั้นผลลัพธ์การทำงานแตกต่างจาก Postgres และ SQL Server แต่โดยภาพรวมแล้วยังรักษาให้ Isolation ตั้งแต่ Repeatable Read ยังสามารถแก้ปัญหา Lost update ได้

Ref :

ปีเตอร์ คาเมนซินด์ - Peter Camenzind

ปีเตอร์ คาเมนซินด์ - Peter Camenzind

ปีเตอร์ คาเมนซินด์ - Peter Camenzind

หลังจากได้อ่านสิทธารถะและนาร์ซิสซัสกับโกลด์มุนด์แล้วก็ติดใจผลงานของ Hesse, Hermann ก็เลยตัดสินใจว่าจะไล่อ่านผลงานของนักเขียนท่านนี้ให้ครบทุกเล่ม (เท่าที่มีแปลไทย) จึงเป็นที่มาของการอ่าน ปีเตอร์ คาเมนซินด์ - Peter Camenzind เรื่องนี้เป็นผลงานชิ้นแรกของนักเขียนท่านนี้ที่ได้รับความนิยมและกลายเป็นที่รู้จัก ซึ่งนั่นทำให้ยิ่งน่าสนใจว่าทำไมหนังสือเล่มนี้ถึงทำให้คนสนใจและทำให้นักเขียนไร้ชื่อกลายเป็นมีชื่อ

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

ความรัก

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

เราจะค่อยเห็นพัฒนาการด้านความรักของปีเตอร์ คาเมนซินด์ ประหนึ่งเห็นคนบูชาความรักกลายมาสู่ความรักแบบธรรมดาสามัญ ซึ่งมันแตกต่างจากหนังละครที่เราดูกันที่พยายามเสกสรรค์ปั้นแต่งให้มันเป็นสิ่งวิเศษ ผมจะไม่เฉลยว่าความรักของปีเตอร์ คาเมนซินด์นั้นจบลงแบบไหน แต่ผมว่ามันเป็นตอนจบที่งดงามเรียบง่ายและน่าพอใจเป็นที่สุด

มิตรภาพ

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

อ่านแล้วได้อะไร

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

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

วรรณกรรมใช้สอย - เรื่องเล่าผิดเวลา - Geschichten zur falschen zeit

วรรณกรรมใช้สอย - เรื่องเล่าผิดเวลา - Geschichten zur falschen zeit

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

วรรณกรรมใช้สอย

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

คำถามเมื่ออ่านจบ

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

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

อ่านแล้วได้อะไร

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

โปรแกรมเมอร์ งาน อารมณ์

บ่นล้วนๆ

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

ปล. เนื้อหาทั้งหมดนี้เขียนเมื่อวันที่ 2016-12-06 22:52:06 พอดีผมไปเปิดเจอบทความเชิงบ่นที่จะเขียนลงแต่ไม่ได้เอาไปลง ซึ่งไม่รู้เหมือนกันว่าทำไมไม่ได้เอาไป พออ่านแล้วก็เหมือนได้ย้อนเวลากลับไปตอนนั้นก็เลยคิดว่าเอามาลงดีกว่า

ชีวิตจริงมันไม่เหมือนฝัน

เชื่อว่าโปรแกรมเมอร์จบใหม่หลายคนคิดว่าเราจะได้ไปทำงานในสถานที่ที่เพียบพร้อม มีคนคอยบอกคอยสอนประหนึ่งเรียนในมหาวิทยาลัย มีคนคอยแนะนำ มีคนคอยให้ถาม ในทุกวันเราจะได้เรียนรู้สิ่งใหม่ ทำอะไรเจ๋งๆ ทำอะไรที่ทำให้เราดูมีคุณค่า ทำให้เรารู้สึกภูมิใจในตัวเอง ทำงานแบบมีความสุข ทำให้ทุกวันเราอยากก้าวเท้าออกจากบ้านไปทำงาน เพราะเราคิดว่ามันเป็นงานที่เรารัก ตอนเรียนผมรู้สึกอย่างงั้นจริงๆ ผมอยากเข้าห้องเรียน อยากให้อาจารย์สอนอะไรใหม่ๆให้ฟัง อยากสร้างโน่น สร้างนี่ สร้างนั่น ชีวิตตอนปี 3 ปี 4 มันเป็นอะไรที่สนุก แต่พอมาทำงานจริง ผมเหมือนโดนเตะลงทะเลได้ REQ มาว่าอยากได้แบบนี้ ภาษาก็เป็นภาษาใหม่ ทุกอย่างใหม่หมด ผมมีเวลาได้เรียนกับหัวหน้าแค่วันเดียว ที่เหลือผมต้องวิ่งคว้าหาความรู้เอง ไม่มีคนบอกว่าว่า Design ที่ดีคืออะไร อะไรคือ Best practice ที่ต้องทำ ผมได้แต่นั่งค้นหาใน Google นั่ง Design ไปเปิดสมุดจดเน่าๆที่พยายามเขียนพยายามจดตอนเรียน พยายามหาว่าเราจะทำยังไงให้ดีที่สุด แต่สิ่งที่เราทำออกมา เขาไม่เคยสนใจว่า Backend ที่เราทำเราพยายามทำดีแค่ไหน เราต้องการให้มันออกมาเป็นยังไง เขาสนใจแค่หน้าจอ ความสวยงาม มันเป็นบทเรียนแรกที่ผมรับรู้ ลูกค้าไม่เคยสนใจหรอกว่าเราจะทำอะไร เขาสนใจแค่ว่าใช้งานได้ ผมไม่มีอะไรจะพูด งานที่ผมตั้งใจทำที่สุดกลับกลายเป็นเหมือนงานที่ไร้ค่าสร้างรายได้น้อยจนไม่พอจะเท่ากับค่าเครื่องที่ให้บริการ มันเป็นโปรเจ็คที่ผมให้ความสำคัญกับมันที่สุดแต่มันไม่มีค่าอะไรเมื่อเทียบกับงานอื่นๆ

ตำแหน่งกับงานที่ทำ

ตอนผมสมัครผมสมัครตำแหน่ง Backend Developer แต่พอมาทำงานจริงผมต้องมายุ่งกับงาน Frontend บอกเลยว่าไม่ใช่งานถนัด การที่เราทำงานไม่ถนัดมันไม่ใช่เรื่องสนุก แต่หัวหน้าคนหนึ่งบอกว่า เราก็ต้องทำงานที่เราไม่ชอบบ้าง ไม่แน่เราอาจจะชอบ และการพัฒนาด้านที่เราไม่ถนัด ถ้าเราพัฒนาได้ระดับหนึ่งมันเห็นผลมากกว่าเราไปพัฒนางานด้านที่เราถนัดอีก อันนี้ผมก็จำใส่ใจและพยายามจะทำ แต่ด้วยความที่เป็นคนอารมณ์ร้อน ไม่มีหัวศิลป์ ไม่ชอบ สุดท้ายก็ลงเอยที่มันไม่ได้พัฒนาเลย ผมก็ยังเป็นทุกข์กับมันทุกครั้งที่เราทำงาน มันมีคำถามเสมอว่า ทำไมเราต้องทำสิ่งที่เราไม่ชอบด้วย ในเมื่อเรามีสิทธิ์เลือกงานที่ตัวเองทำได้ ถ้าตอนนั้นเราย้อนกลับไป ไปทำงานที่ที่เราอยากทำจริงๆ ไม่ต้องรักษาสัจจะ ไม่ต้องสนใคร สนแค่ตัวเอง เราจะเป็นยังไง เราจะดีกว่านี้ไหม เราจะอย่างงั้นอย่างงี้ไหม มันเป็นคำถามที่ผมมักจะถามตัวเองเสมอเวลาหงุดหงิด ท้อใจ หรือเบื่อ

อยากลาออก

จริงๆผมอยากลาออกตั้งแต่ยังไม่ผ่านโปร ตอนนั้นงานมันหนักมาก หนักจนขนาดที่เสาร์อาทิตย์ยังต้องทำงาน Deadline มันรออยู่ตรงนั้น การประเมินเวลามันเป็นเรื่องยาก ผมไม่เคยประเมินเวลาถูกเลยสักครั้ง จนถึงตอนนี้ก็เป็นอย่างงั้น งานที่ผมทำมันไม่มีสูตรบอกหรอกว่าเวลาที่แน่นอนของมันคืออะไร เราทำได้แค่ประเมินคร่าวๆ ยิ่งการประเมินต้องใช้เวลานานแต่เขาไม่มีเวลาให้เราขนาดนั้น และพอประเมินออกมาแล้วเราทำได้ไม่ดีเขาก็จะคิดว่าประเมินทำไม ทำไปเลย ยังไงก็ต้องแก้ ต้อง Test ผมประเมินเวลาด้วยความอ่อนด้อยของตัวเองเวลาเลยคลาดเคลื่อน เมื่อกล้าทำก็ต้องกล้ารับ เราทำได้แค่เอาเวลาเสาร์อาทิตย์มาเป็นตัวชดใช้ ผมเคยทำงาน 7 วัน ลืมตาเขียน Code จนเข้านอน เป็นช่วงเวลาที่หนักหนาสาหัสจนคิดว่าเสร็จงานนี้จะลาออกทำอย่างอื่นที่เบากว่าค่าแรงน้อยกว่าก็ช่าง

ไม่ได้อยากได้แบบนี้ ไปแก้มา

เป็นคำที่ผมได้ยินบ่อยๆ บ่อยมากๆ บ่อยจนผมเบื่อ ผมมักจะได้ REQ มาว่าต้องทำอย่างงี้ ผมและเพื่อนก็ไปทำงานมา พอเอาไปให้ Test สิ่งที่ตอบกลับมาคือไปแก้มา ไม่ดี ทำไมไม่ทำแบบนี้แบบนั้น ผมไม่ชอบมากเพราะ คุณไม่มา Desgin กับพวกผม พอจะให้มาคุณก็ติดงานอื่น คุณก็บอกให้พวกผมทำๆๆๆๆ คุณก็เอาไปดูแล้วก็บอกว่าไม่ดีไปแก้มาแบบนี้ ในมุมมองคุณมันไม่ยากหรอก แต่พวกผมอะมันยาก ต้องไปแก้โน่นแก้นี่ บางอย่างต้องแก้ Structure หลายๆอย่างมันทำให้ผมหงุดหงิดทุกครั้งไม่ว่าแผนกไหนที่มาบอกให้ผมแก้ แต่หัวหน้าก็มักจะบอกว่า “ทำไมมึงไม่ไปคุยกับเขา ไปสรุปกับเขาว่ามันต้องเป็นยังไง” ซึ่งมันก็จริง แต่ผมต้องพาตัวเองไปทำงานที่ไม่ถนัดคือคุยกับมนุษย์ มนุษย์ที่พร้อมจะพลิกลิ้นได้เสมอ มนุษย์ที่วันนี้จะเอาแบบนี้ อีกวันจะเอาอีกแบบ บางครั้งผมอยากจะอัดเสียงแล้วเวลามีปัญหาจะได้บอกว่า “นี่เสียงหมาตัวไหนพูด”

ตกลงผมคนทำ หรือ คุณเป็นคนทำ

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

ถูกเร็วดี เอาแม่งทุกอย่าง

ตอนเรียนวิชา Software engineering คำสามคำคือ ถูก เร็ว ดี คุณมีสิทธิ์เลือกได้แค่ 2 อย่างแล้วที่เหลือคือสิ่งที่คุณจะต้องจ่าย ถ้าถูก และ เร็ว มันจะไม่ดี แต่ถ้า เร็ว และ ดี มันจะไม่ถูก เป็นต้น นี่คือสิ่งที่คนทำงานเกี่ยวกับการขายหรือจัดการที่เวลามาทำงานด้านคอมควรรู้แต่เปล่าเลย แม่งจะเอา ถูก เร็ว ดี เอาแม่งทุกอย่างแล้วมันคือเหี้ยอะไร พวกผมต้องมารับภาระทำไอ 3 อย่างนี้ให้ได้อะนะ ปั่นเสาร์อาทิตย์ วันธรรมดาก็กลับดึก แต่พวกคุณล่ะ ผมเห็น 17.30 ก็กลับกันหมดละ เสาร์อาทิตย์เที่ยวกันสนุกสนาน พองานไม่ทัน พวกผมก็โดนหาว่าช้า ทั้งๆที่คุณกำหนด Deadline มา พวกผมอิดออดห่าไรไม่ได้เลย ทำทันแต่งานออกมาไม่ดีก็โดนด่าว่าไร้ฝีมือ พอจะใช้เวลานานๆยาวๆ ก็บอกว่าไม่ให้ จะให้คิดแพงๆกับลูกค้า แม่งก็ไม่เอากลัวขายไม่ได้ แทนที่โปรเจ็คบางโปรเจ็คควรได้เงินมากกว่านี้ 3 - 4 เท่า คือถ้าเขาไปซื้อกับเจ้าอื่น เจ้าอื่นขายประมาณ 200 แต่ซื้อกับเราขาย 20 พ่อมึงเถอะ มันจะถูกเกินไปไหม คือต้องซื้อ Text Software engineering มาให้อ่านเหรอ ถึงจะรู้เรื่องว่าอะไรคือถูกต้อง

ทำๆไปเถอะเดี๋ยวค่อยแก้ทีหลัง

มันเป็นคำที่ฟังบ่อยมาก จากหลายๆปากๆ คำถามคือใครจะเป็คนแก้ ผมไง ใครเดือดร้อน ก็ผมไง แต่ไอคนที่พูดมันเดือดร้อนด้วยไหม เปล่าเลย มันก็นั่งสบายใจอยู่แถวไหนสักที่ บางวันก็โทรมาว่าว่าโปรแกรมห่วยมากมีเคสเข้าบ่อยขนาดนี้ได้ยังไง และอะไรหลายๆอย่าง พอผมจะหยิบเอางานเก่ามาแก้ก็จะมีคำถามว่า แก้ทำไม เงินก็ไม่ได้เพิ่มขึ้น พอบอกว่าเออมันต้องแก้ไง หมาเคยบอกว่า “ขึ้นไปก่อนค่อยมาตามแก้” เขาก็จะบอกว่ามันกระทบอะไรบ้าง ต้องเทสอะไรบ้าง มีคนเทสไหม และต่างๆนาๆ สุดท้ายผมก็ไม่ได้มีโอกาสแก้งานของตัวเอง ปล่อยให้มันซ่อนปัญหาและอะไรหลายอย่างไว้ พอเวลาผ่านไป ไอปัญหาที่ผมอยากแก้แต่ไม่ได้แก้มันก็แสดงอาการ เกิดปัญหา ก็โดนด่าว่าทำไมเขียนห่วยแบบนีต่างๆนาๆ เอ้า “ไอ้เหีย กูจะแก้ก็กลัวเปลือง Cost บางทีก็จะไม่จ่าย Cost ให้ ตกลงยังไง” สุดท้ายพวกผมก็ทำห่าไรไม่ได้ สุดท้ายก็โดนด่าบวกกับต้องแก้งานไอห่านี่แบบรีบเร่ง เพราะงานอื่นกูก็โดนแม่งสั่งมาให้ทำเหมือนกัน แถมช้าไม่ได้นะ ช้าก็มีปัญหา ไอตัว Code ที่ต้องแก้แม่งก็เขียนไม่ดี เวลาที่จะแก้ก็ต้องใช้เวลานานถ้าจะแก้แบบจริงๆจังๆ สุดท้ายก็แก้แบบเหี้ยๆ พอให้มันผ่านๆไป แล้วมันก็จะกลับมาใหม่พร้อมคำด่าว่า ต้องแก้อีกแล้วเหรอ คือ “ตกลงจะเอาไงวะ กูจะแก้แบบจริงจังแต่แรกก็ไม่มีเวลาให้ เวลาก็ไม่มีให้กู ตกลงจะเอาไง”

มายานวัตกรรม - The myths of innovation

มายานวัตกรรม - The myths of innovation

มายานวัตกรรม - The myths of innovation

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

มายาคติปิ๊งแว๊บ

หนังสือเริ่มด้วยการอธิบายเรื่อง มายาคติปิ๊งแว๊บ ซึ่งคือความเข้าใจผิดๆที่ว่านวัตกรรมนั้นเกิดขึ้นจากการปิ๊งขึ้นมาในหัวแบบทันทีทันใด ตัวอย่างที่เรามักจะเจอก็อย่างเรื่องเล่าที่นิวตันไปนั่งใต้ต้นแอปเปิ้ลแล้วมีแอปเปิ้ลตกใส่หัว จากนั้นก็ปิ๊งเกิดเป็นทฤษฎีแรงโน้มถ่วง หรือเรื่องที่อาร์คิเมดีสไปอาบน้ำแล้วก็ ยูเรก้า คิดวิธีหาปริมาตรของวัตถุที่ไม่ใช่ทรงที่วัดได้ง่ายๆ เช่น ปริมาตรของเครื่องประดับ จะเห็นว่าเรื่องเล่าไหนเราจะถูกทำให้คิดว่านวัตกรรมเกิดจากช่วงเวลาสั้นๆ อยู่ๆก็ปิ๊งแว๊บขึ้นมา หนังสืออธิบายว่าที่มันเป็นแบบนี้เพราะคนทำข่าว คนเขียน อยากทำให้มันเข้าใจง่าย จดจำง่าย สร้างแรงบันดาลใจ หรือถ้ามองแบบแย่ๆเลยก็คือ เขาเขียนแบบนี้เพราะคนอ่านชอบที่จะอ่านแบบนี้ ซึ่งมันก็ได้ผล เรื่องเล่าตั้งแต่ยุคของอาร์คิเมดีสถูกส่งต่อสร้างแรงบันดาลใจมาถึงยุคเรา แต่มายาคติแบบนี้ก็สร้างปัญหาเช่นกัน เพราะมันทำให้เราคิดว่านวัตกรรมเกิดในรูปแบบปิ๊งแว๊บ พอคิดแบบนั้นเราก็ไปสนใจแต่จุดนั้นจนเกินไป ทำยังไงจึงจะให้เกิดการปิ๊งแว๊บได้ หรือว่าต้องไปดูว่าคนคนนั้นเป็นคนแบบไหน ใช้นาฬิกายี่ห้ออะไร ใส่เสื้อแบบไหน ดูทีวีแบบไหน ใช้ชีวิตยังไง ซึ่งคุณก็อาจเห็นตามบทความ Page ต่างๆนาๆที่นำเสนอว่า Elon musk เป็นคนแบบไหน ชอบดูอะไร ใช้เวลาว่างทำอะไร Steve jobs เรียนจบไหม มีรสนิยมยังไง ต่างๆนาๆ

หากเราลองวางความเชื่อนั้นลงแล้วมองตามความเป็นจริง ทุกนวัตกรรมนั้นไม่ได้เกิดจากช่วงเวลาปิ๊งแว๊บหรอกครับ มันเกิดจากการลองผิดลองถูกมากมายนับไม่ถ้วน คุณคิดจริงๆเหรอครับว่านิวตันจะได้ทฤษฎียากๆที่ขนาดเราแค่ทำความเข้าใจยังใช้เวลานานเพียงแค่แอปเปิ้ลตกใส่หัว ซึ่งจริงๆเรื่องแอปเปิ้ลตกใส่หัวเนี่ยเป็นเรื่องที่วัลแตร์ (ศิลปินในยุคนั้น) เป็นคนเขียนเพื่อเล่าเรื่องให้คนในยุคนั้นรู้เรื่องเกี่ยวกับทฤษฎีแรงโน้มถ่วง หรือคุณคิดจริงๆเหรอว่าอาร์คิเมดีสจะคิดยูเรก้าแค่การมาอาบน้ำอย่างเดียว คิดเหรอครับว่าเขาจะไม่ได้ใช้คณิตศาสตร์เพื่อทดลองหาปริมาตร หาเครื่องต่างๆนาๆมาเพื่อพยายามวัด

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

นวัตกรรมถูกกำหนดผู้ชนะไว้ตั้งแต่ต้น

เราเชื่อว่านวัตกรรมไม่ว่าจะคอมพิวเตอร์ส่วนบุคคล โทรศัพท์มือถือ Search engine นั้นถูกกำหนดผู้ชนะตั้งแต่ต้น คนที่ตัดสินใจตามนวัตกรรมคือผู้ฉลาด คนที่ตัดสินใจตามยุคนั้นคือคนที่โง่ ไม่ฉลาด ไม่ทันโลก แต่ความจริงแล้วไม่ใช่เลยครับ ในยุคนั้นมีการแข่งขันกันอยู่ตลอดระหว่างนวัตกรรม อย่างนวัตกรรมคอมพิวเตอร์เนี่ย มีการแข่งขันกันระหว่างคอมพิวเตอร์ส่วนบุคคลและคอมพิวเตอร์แบบ Server คุณอาจมองว่าบริษัทยักษ์ใหญ่ในสมัยนั้นโง่เง่าที่ไม่ออกคอมพิวเตอร์ส่วนบุคคล ปล่อยให้ Apple ชิงออกก่อน แต่ในความเป็นจริงบริษัทเหล่านั้นก็มีวิธีการตัดสินใจของเขาเป็นเหตุเป็นผลเขา ซึ่งวิธีการตัดสินใจของแต่ละคนนั้นย่อมมีเหตุผลไม่เหมือนกันอยู่แล้ว อีกทั้งมันเป็นเพียงการคาดเดาล้วนๆ

อีกทั้งปัจจัยในการที่นวัตกรรมจะถูกนำไปใช้อย่างแพร่หลายนั้นไม่ได้อยู่ที่ว่าของนั้นดีกว่า มันมีอีกหลายอย่างที่เกี่ยวข้อง เช่นตัวสังคมวัฒนธรรมตอนนั้นอยากจะใช้นวัตกรรมนั้นรึเปล่า ตัวอย่างที่หนังสือแนะนำก็คือเรื่อง การต้มน้ำ บางวัฒนธรรมเชื่อ(เข้าใจ)ว่าน้ำที่ต้มนั้นมีไว้รักษาคนป่วย การต้มน้ำจึงไม่เป็นที่นิยม หรือตัวเครื่องจักรไอน้ำนั้นมีมานานมากแล้วตั้งแต่สมัยอียิปต์ แต่ทำไมมันถึงไม่เริ่มใช้งานตั้งแต่สมัยนั้นล่ะ คำถามคือในเมื่อคุณมีทาสที่ราคาถูกกว่าการไปหาวัตถุดิบมาต้มน้ำให้เกิดไอน้ำแล้วได้แรงไม่ได้มหาศาลอะไร คุณจะใช้นวัตกรรมเครื่องจักรไอน้ำไปทำไม

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

  1. ความได้เปรียบเชิงเปรียบเทียบ

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

  2. การเข้ากันได้

    คือการที่จะเปลี่ยนจากนวัตกรรมเก่าไปใช้นวัตกรรมใหม่นั้นต้องใช้ความพยายามมากแค่ไหน เช่น ถ้าความพยายามคืองบประมาณ ก็หมายความว่าถ้างบประมาณที่ใช้ในการเปลี่ยนไปใช้สิ่งใหม่นั้นมากกว่าประโยชน์ที่ได้ คนก็ย่อมจะเปลี่ยนไปใช้ ถ้าความพยายามคือการเปลี่ยนความเชื่อก็คงเป็นเรื่องยากที่จะให้คนเปลี่ยนไปต้มน้ำเพื่อความสะอาด เพราะความเชื่อของเขาคือของร้อนใช้กับคนป่วย ไม่มีใครอยากให้คนอื่นคิดว่าตัวเองป่วย ก็ไม่มีเปลี่ยนไปใช้ ตัวอย่างคือเครื่องจักรไอน้ำที่ได้เล่าไป

  3. ความซับซ้อน

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

  4. ความง่ายในการทดลองใช้

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

  5. ความง่ายในการสังเกต

    คือเราสามารถสังเกตความแตกต่างระหว่างนวัตกรรมใหม่กับสิ่งที่เป็นอยู่ตอนนี้ได้ง่ายแค่ไหน เช่น เราเห็นเลยว่ารถวิ่งได้เร็วกว่าม้า แถมควบคุมง่ายกว่า ผลิตได้ง่ายกว่า แต่บางนวัตกรรมนั้นอาจสร้างผลประโยชน์ได้เยอะ แต่คนไม่เห็นความแตกต่างเลยก็ได้ เช่น Web application เปลี่ยนระบบ Infrastructure ไปใช้ยน Cloud เพื่อลดค่าใช้จ่าย แต่ผู้ใช้หาได้สนใจกับนวัตกรรมเหล่านั้นไม่ เขาก็ยังใช้ได้แบบเดิม มีประโยชน์อะไร

อ่านแล้วได้อะไร

สำหรับหนังสือเล่มนี้อ่านแล้วทำให้ผมได้เข้าใจเกี่ยวกับนวัตกรรมมากยิ่งขึ้น ทำลายมายาคติหลายๆเรื่องที่เราเข้าใจเกี่ยวกับนวัตกรรม ไม่ว่าจะเป็นเรื่องการปิ๊งแว๊บในระยะเวลาสั้นๆ นวัตกรรมที่ดีกว่าย่อมชนะนวัตกรรมอื่นๆ นวัตกรรมต่างๆถูกกำหนดผู้ชนะไว้ตั้งแต่ต้น ซึ่งพอเราตัดพวกมายาคติเหล่านี้ทิ้งไปแล้วมองตามความเป็นจริง เราจะเห็นว่าการที่นวัตกรรมนึงจะแพร่หลายนั้นยากเย็นแค่ไหน ต้องใช้ความพยายามมากแค่ไหน อีกทั้งต้องการปัจจัยหลายๆอย่างมาช่วยอีกด้วย ในหนังสือยังมีพูดอีกหลายเรื่องที่ผมไม่ได้มาเล่า ไม่ว่าจะปัญหาของนวัตกร (คนที่พยายามสร้างนวัตกรรม) การนำเสนองาน สิ่งที่นวัตกรควรทำ วิธีการคิดเชิงสร้างสรรค์ ก็สำหรับใครที่ทำลายมายาคติ หรือกำลังจะพยายามเป็นนวัตกร ผมก็แนะนำหนังสือเล่มนี้เลยครับ

R.U.R. (Rossum’s Universal Robots) - ห.ส.ร. (หุ่นยนต์สากลราวี)

R.U.R. (Rossum’s Universal Robots) - ห.ส.ร. (หุ่นยนต์สากลราวี)

R.U.R. (Rossum’s Universal Robots) - ห.ส.ร. (หุ่นยนต์สากลราวี)

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

ทำไมเราต้องสงสารหุ่นยนต์ ให้สิทธิ์มันเท่าเทียมกับมนุษย์

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

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

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

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

เป้าหมายของการสร้างหุ่นยนต์

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

อ่านแล้วได้อะไร

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

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

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