งาน Dynamicland 2024
(dynamicland.org)front shelfของ Dynamicland รวบรวมตั้งแต่วิดีโอแนะนำ 6 นาทีในปี 2024 ไปจนถึงเอกสารก่อตั้งยุคแรก ทำให้เห็นวิสัยทัศน์ระยะยาวของ สื่อพลวัตที่มีความเป็นมนุษย์ ได้ในภาพเดียว- การบรรยาย 45 นาทีในปี 2018 นิยาม Dynamicland ว่าเป็น คอมพิวเตอร์ในฐานะสถานที่ ที่ผู้คนทำงานร่วมกันในโลกจริง
- ห้องวิจัยมุ่งสู่การเป็น ห้องวิจัยแบบบูตสแตรปปิง และการบรรยายปี 2019 แนะนำแนวทางที่ใช้ตัวห้องวิจัยเองเป็นการทดลอง
- รายงานความคืบหน้าช่วงปี 2014~2022 แสดงให้เห็นต้นกำเนิดของ Realtalk และ Dynamicland ความคืบหน้าในช่วงโรคระบาด และงานของห้องปฏิบัติการวิทยาศาสตร์ตามลำดับเวลา
- เอกสารปี 2024 รวมทั้งวิดีโอแนะนำ 6 นาทีและหนังสือเล่มเล็ก 24 หน้าเรื่อง ห้องปฏิบัติการวิทยาศาสตร์ชุมชน โดยเน้นทิศทางในฐานะการปฏิบัติด้านการศึกษาและชุมชน มากกว่าจะเป็นผลิตภัณฑ์
แหล่งข้อมูลสำคัญเพื่อทำความเข้าใจ Dynamicland
-
6-minute intro, 2024 Video, 6 min
- แนะนำ Dynamicland อย่างรวดเร็วในฐานะต้นแบบของ สื่อพลวัตที่มีความเป็นมนุษย์
-
Dynamicland, 2018 Presentation, 45 min
- อธิบาย Dynamicland ว่าเป็น “คอมพิวเตอร์ที่เป็นสถานที่” ซึ่งผู้คนทำงานร่วมกันในโลกจริง
- เป็นการบรรยายที่แนะนำแนวคิดหลักของ Dynamicland
-
Bootstrapping Research, 2019 Presentation, 30 min
- แนะนำ Dynamicland ว่าเป็น ห้องวิจัยแบบบูตสแตรปปิง
- ยึดแนวทางที่ให้ตัวห้องวิจัยเองเป็นการทดลองเป็นแกนกลาง
-
Nonprofit narrative, 2020 Essay, 5 pages
- กล่าวถึงเหตุผลที่ Dynamicland ดำเนินงานในรูปแบบองค์กรไม่แสวงหากำไร
- นำเสนอมุมมองว่าเทคโนโลยีนี้ควรอยู่ในรูปแบบของ การศึกษาและการปฏิบัติของชุมชน ไม่ใช่ผลิตภัณฑ์
รายงานความคืบหน้าและเอกสารวิสัยทัศน์ระยะยาว
-
Progress report 2014-2019 Photo-comic, 8 pages
- สรุปประวัติ 5 ปีแรกของห้องวิจัย รวมถึงต้นกำเนิดของ Realtalk และ Dynamicland อย่างกระชับ
-
Progress report 2020 Video, 20 min
- พาชมห้องวิจัยแบบไม่เป็นทางการในช่วงหลังเริ่มโรคระบาดไม่นาน พร้อมแสดงความคืบหน้าของ Realtalk ใหม่
-
Progress report 2021 Handwritten letter, 8 pages
- ถ่ายทอดความคืบหน้าในช่วงโรคระบาดและแผนต่อไปในรูปแบบจดหมายไม่เป็นทางการถึงชุมชน
-
Progress report 2022 Photo-comic, 10 pages
- สรุปความคืบหน้าในปี 2022 โดยให้น้ำหนักกับงานของห้องปฏิบัติการวิทยาศาสตร์
-
The Humane Representation of Thought, 2014 Poster, 10 ft. Presentation, 55 min
- เป็นเอกสารก่อตั้งของห้องวิจัย ซึ่งบรรจุวิสัยทัศน์ระยะยาวเกี่ยวกับ สื่อพลวัตเชิงพื้นที่
-
Dynamicland zine, 2017 Zine, 16 pages
- เป็นเอกสารก่อตั้งของพื้นที่ชุมชน Dynamicland ซึ่งแสดงวิสัยทัศน์ หลักการ และความคืบหน้า
-
The Library, 2019 Fiction, 2 pages
- กล่าวถึงหนึ่งในองค์ประกอบของวิสัยทัศน์ระยะยาวของสื่อพลวัต
-
The communal science lab, 2024 Booklet, 24 pages
- เป็นเอกสารก่อตั้งของห้องวิจัยไบโอนาโนเทคโนโลยี ซึ่งบรรจุวิสัยทัศน์เรื่อง วิทยาศาสตร์ชุมชน
- มีหัวข้อ Publications, Archive, People และ FAQ แยกไว้ต่างหาก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ในปี 2018 ผมมีโอกาสได้ไป เยี่ยมชมภาคสนาม ที่นั่น และวิดีโอก็สรุปภาพรวมของโปรเจกต์ได้ดีมาก
สิ่งที่น่าสนใจซึ่งเกิดจากแนวทางที่ว่า “โลกจริงจำลองตัวมันเอง” คือ การจัดการเวอร์ชัน ใน Dynamicland โปรแกรมแต่ละเวอร์ชันคือกระดาษหนึ่งแผ่นที่มี fiducial marker เฉพาะตัวอยู่ตรงขอบ และถ้าต้องการแก้ไขโปรแกรม ก็หันคีย์บอร์ดไปทางกระดาษแผ่นนั้น จากนั้นตัวแก้ไขข้อความจะปรากฏขึ้น และเมื่อแก้ไขแล้วคอมมิต ก็จะพิมพ์กระดาษแผ่นใหม่ที่มีการเปลี่ยนแปลงออกมา ถ้าต้องการใช้เวอร์ชันใหม่ก็วางไว้ในมุมมองของกล้อง ถ้าต้องการย้อนกลับก็เอาออกแล้วใช้กระดาษแผ่นเดิม
กล่าวคือ กระดาษทุกแผ่นเหมือนมี UUID ฝังอยู่ในโครงสร้างอะตอมอยู่แล้ว
คงยังไม่ได้ “เปิดตัว” อย่างเป็นทางการ แต่ผมสงสัยว่ามีการเปิดซอร์สโค้ดของระบบปฏิบัติการ หรือในภาษาของ Dynamicland คือ สภาพแวดล้อมการคอมพิวติง แล้วหรือยัง และมีคู่มือฮาร์ดแวร์ DIY สำหรับให้คนที่อยู่ไกลจากสถานที่ของ Dynamicland ที่ Oakland/Berkeley สร้างขึ้นมาเล่นเองได้หรือไม่
ดูจาก FAQ แล้วตอนนี้น่าจะยังทำไม่ได้: สำหรับคำถาม “จะหา Realtalk ได้จากที่ไหน?” คำตอบคือ ตอนนี้มันมีอยู่ในพื้นที่ของ Dynamicland และพื้นที่ของผู้ร่วมงาน โดยกำลังค่อย ๆ สร้างชุมชนการปฏิบัติแบบพบหน้ากันอย่างระมัดระวัง ในระยะสั้น ผู้ที่จะสร้างพื้นที่เพิ่มเติมคือคนที่มีส่วนร่วมอย่างมากกับพื้นที่เดิมและซึมซับวัฒนธรรมกับค่านิยมไว้แล้ว ส่วนระยะยาวมีแผนจะเผยแพร่แนวคิดในรูปแบบ kit+game ที่ชี้นำให้ชุมชนสร้างสภาพแวดล้อมการคอมพิวติงที่ตนเข้าใจและควบคุมได้อย่างสมบูรณ์ด้วยตัวเอง
“เป้าหมายของเราคือการประดิษฐ์รูปแบบของการคำนวณที่ชุมชนท้องถิ่นซึ่งประกอบด้วยผู้ที่ไม่ใช่ผู้เชี่ยวชาญสามารถสร้างได้ด้วยตนเอง ตั้งแต่พื้นฐาน ให้เหมาะกับความต้องการของตนเอง และให้เข้าใจและควบคุมได้อย่างสมบูรณ์”
ตอนนี้กำลังไลฟ์สตรีมการสร้าง implementation ของ RealTalkOS อยู่ มาร่วมสร้างด้วยกันได้: https://youtube.com/live/02-wJ7Od9Bo?feature=share
ถ้า Dynamicland เป็นพาราไดม์การคอมพิวติงแบบใหม่จริง ก็ควรเข้าถึงได้จากวัฒนธรรมอื่น ๆ ด้วย ถ้าวัฒนธรรมและค่านิยมนั้นมีคุณค่าจริง มันก็ควรแพร่กระจายได้ด้วยข้อดีของมันเอง และควรถ่ายทอดออกไปกว้าง ๆ มากกว่าจะเก็บรักษาไว้ใกล้ตัว ถ้าต้องค่อย ๆ กล่อมเกลาผู้ใช้ใหม่อย่างระมัดระวังเท่านั้นถึงจะปกป้องวัฒนธรรมและกันคนนอกที่มี “ความคิดผิด ๆ” ไม่ให้ทำลายมันได้ สิ่งที่มีอยู่จริง ๆ อาจเป็น ลัทธิ ก็ได้
ผมใช้เวลาอยู่ที่ Dynamicland Oakland ค่อนข้างมาก และมันสนุกมากจริง ๆ ผู้คนก็ดีมากด้วย ผมมองว่า Realtalk คือการเพิ่ม เลเยอร์กายภาพ อีกชั้นหนึ่งให้กับโปรแกรม
การทำงานของโปรแกรมจึงไม่ได้ถูกกำหนดและควบคุมด้วยโค้ดเท่านั้น แต่ยังรวมถึงการจัดวางทางกายภาพด้วย มันไม่ได้ต่างจากการแบ่งฟรอนต์เอนด์/แบ็กเอนด์โดยสิ้นเชิง ดังนั้นการทำซิมูเลเตอร์ Realtalk ด้วย JavaScript canvas อาจง่ายกว่าการสร้างอุปกรณ์กล้อง/โปรเจกเตอร์มากก็ได้ เช่นเดียวกับตอนทำซอฟต์แวร์แบบฟูลสแตก การจะกำหนดการแยกความรับผิดชอบระหว่างเลเยอร์กายภาพกับเลเยอร์ซอฟต์แวร์อย่างไรนั้นต้องใช้ความชำนาญที่มองไม่ค่อยเห็นอยู่มาก โปรแกรมที่ดีจะยืดหยุ่น รีมิกซ์ได้ เป็นโมดูล เข้าใจได้ตามสัญชาตญาณ และเปิดให้คนที่ไม่ใช่โปรแกรมเมอร์สร้างปฏิสัมพันธ์และการปรับปรุงที่มีความหมายผ่านเลเยอร์กายภาพได้ โปรแกรมที่แย่จะใช้ได้ก็ต่อเมื่อวัตถุต้องอยู่ในตำแหน่งเฉพาะ หรือพังกระจุยถ้ากระดาษหายไปแค่แผ่นเดียว ปัญหาการออกแบบโปรแกรมแบบนี้น่าสนใจมากตอนเล่นกับ Dynamicland
ข้อจำกัดที่ชัดเจนคือชิ้นส่วนของโปรแกรมจริง ๆ แล้วไม่ได้เป็นโมดูล คุณไม่สามารถเอา Cat จากโปรแกรมหนึ่งกับ Dog จากอีกโปรแกรมหนึ่งมาให้สุนัขโต้ตอบกับแมวได้ ในซอฟต์แวร์นี่เป็นปัญหาที่รู้กันดี เราจึงออกแบบ API กัน แต่ในสภาพแวดล้อมที่เสน่ห์หลักคือทุกโปรแกรมอยู่ในพื้นที่เดียวกัน มันกลายเป็นเรื่องน่าหงุดหงิด เพราะการนำบางส่วนของ Program A ไปใช้ใน Program B นั้นเป็นเรื่องที่ทำได้อย่างเป็นธรรมชาติ และเมื่อมีโปรแกรมหลายสิบตัววางอยู่ในห้อง สุดท้ายก็หลีกเลี่ยงไม่ได้
น่าจะดีถ้าลองสำรวจ AI กับเรื่องนี้ ถ้าใส่การรู้จำวัตถุเข้าไป ก็จะนิยามกฎอย่าง “ถ้าเห็นรถ ให้ระบายสีแดง” ได้โดยไม่ต้องติดจุดบนวัตถุทุกชิ้น ภาษา مشترกันอย่างการรู้จำวัตถุยังทำให้โปรแกรมต่าง ๆ ทำงานร่วมกันได้ และปฏิสัมพันธ์เชิงตรรกะอย่าง “ถ้าเอากระบองเพชรของโปรแกรมนี้ไปวางบนลูกโป่งของโปรแกรมนั้น ควรเกิดอะไรขึ้น?” ก็อาจถูกกำหนดได้ในแบบที่สนุกและน่าประหลาดใจ
แก่นสำคัญคือการเข้าใจแนวคิด “wish” และ “claim” ของ Realtalk ในตัวอย่างข้างต้น โปรแกรม “Dog” ควรถูกแยกเป็นสองส่วน ส่วนหนึ่งเป็นโปรแกรมที่เพียงแค่ประกาศว่า “ฉันเป็นสุนัข” อีกส่วนหนึ่งเป็นโปรแกรมที่เข้ารหัสพฤติกรรมของสุนัข เช่น “ฉันอยากให้มีเสียงเห่าถูกเล่นเมื่อสุนัขอยู่ใกล้บ้าน” จากนั้นปล่อยให้ Realtalk จัดการการทำงานจริง ถ้าจะเพิ่มพฤติกรรม “Cat” ก็เพิ่มโปรแกรมหนึ่งที่ประกาศว่า “ฉันเป็นแมว” และอีกโปรแกรมหนึ่งที่บอกว่า “ฉันอยากให้มีเสียงเหมียวถูกเล่นเมื่อแมวอยู่ใกล้บ้าน” ถ้าจะให้ Dog กับ Cat โต้ตอบกัน ก็เพิ่มโปรแกรมอย่าง “ฉันอยากให้มีเสียงคำรามถูกเล่นเมื่อสุนัขอยู่ใกล้แมว” เป็นต้น
ตัวอย่างที่ผมได้เรียนรู้โดยตรงคือ ตอนทำสำรับไพ่ สุดท้ายผมได้กระดาษการ์ด 52 ใบ แต่ละใบเป็นโปรแกรมที่เพียงแค่ประกาศว่า “ฉันคือไพ่ X” จากนั้นผมทำโปรแกรมแยกต่างหากที่ให้ความหมายกับไพ่เหล่านั้น เช่น โปรแกรมที่ให้สไตล์ก็จะเป็นทำนอง “ฉันอยากให้ไพ่ 1 พิมพ์เป็น Ace of Spades” และอีกโปรแกรมหนึ่งก็เป็นทำนอง “ฉันอยากให้ผลรวมค่าตัวเลขของไพ่ทุกใบที่อยู่บนเส้นนี้ถูกพิมพ์ไว้ข้างเส้น”
ผมใช้เวลาหลายวันกว่าจะซึมซับแนวคิดนี้ แต่พอเข้าใจแล้วก็เริ่มสนุกได้ค่อนข้างเร็ว ตัวอย่างเช่น ผมสามารถทำโปรแกรมที่ให้ Realtalk ถ่ายรูปสี่เหลี่ยม แล้วฉายภาพนั้นเสมอเมื่อไพ่ใบหนึ่งหงายหน้าอยู่ เพื่อ “โคลน” ภาพจากโลกจริงลงบนไพ่ได้ เพราะไพ่เพียงแค่ประกาศตัวตนของมันเอง จึงแยกดีไซน์ของไพ่ออกจากกฎได้ และยังเพิ่มโปรแกรม “โหมดฝึก” ที่สอนพื้นฐานได้ด้วย ทั้งหมดเชื่อมกันแบบหลวม ๆ
สิ่งที่แน่ชัดคือ LLM ไม่ได้ฉลาด และไม่มีทางเป็นได้ มันเพียงแต่เก่งมากในการสร้างเอาต์พุตที่โง่สนิทและไร้สติ แต่ดูเหมือนเป็นสิ่งที่มนุษย์จริง ๆ สร้างขึ้นในสายตาของบางคนเท่านั้น
ถ้าคุณกำลังมองหาสิ่งคล้ายกันที่กำลังพัฒนาอย่างคึกคักกว่าและเปิดซอร์สโค้ดด้วย ลองดู Folk: https://folk.computer
มันกำลังพัฒนาโดยคนที่เคยไปเยี่ยม Dynamicland หรือเคยทำงานที่นั่น แต่ตัวนี้เปิดเผยอย่างสมบูรณ์ นอกจากนี้ยังมีโอเพนเฮาส์ทุกเดือนใน Brooklyn ให้ไปดูด้วยตัวเองได้
https://github.com/janpaul123/paperprograms
นอกจากนี้ยังมีโปรเจกต์ที่หยุดพัฒนาแล้วชื่อ Tiny lands: https://news.ycombinator.com/item?id=26751374
และมีบันทึกของผมเกี่ยวกับ Dynamicland ด้วย: https://omar.website/posts/notes-from-dynamicland-geokit/
https://twitter.com/redblobgames/status/907253802931126272
https://pbs.twimg.com/media/DJc2esBVwAAnj4X?format=jpg
https://omar.website/posts/notes-from-dynamicland-geokit/nic...
ชอบความทะเยอทะยานและคุณค่าของงานนี้ ชอบที่โปรแกรมมีความเป็นกายภาพ จึงแชร์และค้นพบได้ เรียนรู้ได้ผ่านการเล่น และเป้าหมายคือ การที่ผู้คนทำสิ่งต่าง ๆ ร่วมกัน
เหมือนกับว่าพวกเขาบอกให้เราออกแบบแนวคิดของ “คอมพิวเตอร์” ขึ้นใหม่ด้วยเทคโนโลยีและความรู้ที่เรามีอยู่ตอนนี้ และออกแบบโดยวางงานที่เป็นมนุษย์ที่สุดไว้เป็นศูนย์กลาง มันสร้างแรงบันดาลใจเสมอ และทำให้ผมย้อนมองว่าตัวเองกำลังทำสิ่งที่มีคุณค่าอยู่หรือไม่
เผื่อมีประโยชน์: https://spatialpixel.com/procession/
ได้แรงบันดาลใจอย่างมากจาก Dynamicland และกำลังพยายามสร้าง ชุดเครื่องมือ ที่ใช้การป้อนข้อมูลด้วยภาษาที่เป็นธรรมชาติมากขึ้น ท่าทาง และการเขียนโปรแกรมระดับสูง กำลังพัฒนาให้เป็นสภาพแวดล้อม/ชุดเครื่องมือแบบเปิด เพื่อให้ผู้คนสร้างพื้นที่ที่โปรแกรมได้ในแบบของตนเอง ถ้ารู้จักคนที่กำลังทำพื้นที่หรือความพยายามคล้าย ๆ กัน อยากให้ติดต่อมา
ผมชื่นชม Bret Victor อย่างมากเสมอ และให้คุณค่ากับผลงานของเขา แต่พูดตามตรง จากสิ่งที่เห็นจนถึงตอนนี้ ยังไม่ค่อยรู้สึกว่า “ใช่”
โลกกายภาพมีข้อจำกัดมากมายที่พื้นที่เสมือนไม่มี ผมเข้าใจว่าวัตถุกายภาพสามารถมีส่วนร่วมในอินเทอร์เฟซผู้ใช้ได้ และบางครั้งการวางสิ่งต่าง ๆ ในพื้นที่ 3D ก็อาจดีกว่าเมาส์/คีย์บอร์ด แต่ก็ยังดูค่อนข้างขัด ๆ อยู่ดีที่โค้ดยังเขียนอยู่บนกระดาษ โปรเจกเตอร์แสดงได้แค่ภาพ 2D และการโต้ตอบก็ยังดิบมาก คำถามว่า “ทำอะไรได้บ้าง” เมื่อมองไปที่โต๊ะว่าง ๆ ก็ดูยากเช่นกัน มันเป็นงานวิจัยที่เจ๋งมากจริง ๆ แต่ก็สงสัยว่ามีแผนจะแก้ ปัญหาพื้นฐาน เหล่านี้ที่เกิดขึ้นเมื่อผสมโลกจริงกับโลกเสมือนหรือไม่
โมเดลความคิดที่ผมใช้คือความแตกต่างระหว่างการทำอาหารในครัวมืออาชีพกับการทำอาหารที่บ้าน ขนาด เครื่องมือ และแนวทางต่างกัน แต่ไอเดียหลักบางส่วนก็ทับซ้อนกัน เชฟมืออาชีพอาจวิจารณ์ workflow และเครื่องมือของคนทำอาหารที่บ้านได้ แต่เป้าหมายต่างกัน
เมื่อเอาไว้บนกระดาษ ก็แชร์ออกไปนอกชุมชนที่อยู่ข้าง ๆ กันไม่ได้ และผมมองว่านั่นคือการสูญเสียหนึ่งในข้อดีหลักของคอมพิวติ้งและอินเทอร์เน็ต การสร้างสถานที่สำหรับชุมชนกายภาพเป็นเรื่องดี และประสบการณ์ผู้ใช้ที่ทำให้แชร์ประสบการณ์นั้นได้ก็เป็นเรื่องดีเช่นกัน แต่การตัดไอเดียออกจากโลกที่เหลือด้วยไฟร์วอลล์นั้นไม่ค่อยดี
ผมจินตนาการถึงโลกที่ชุมชนเหล่านี้รวมตัวเป็นสหพันธ์ได้ เช่น ชุมชนคอมพิวติ้งท้องถิ่นเชื่อมต่อกับอีกพื้นที่หนึ่งหรือแม้แต่ที่ที่ห่างไกลมาก และอาจดำเนินไปคล้ายเมืองพี่เมืองน้องในปัจจุบัน
ผลลัพธ์สุดท้ายไม่ใช่ผลิตภัณฑ์สำเร็จรูป แต่เป็นความรู้ใหม่เกี่ยวกับวิธีเผยแพร่ความรู้ใหม่นี้ไปสู่ทุกคน
เพิ่มเติมสำหรับคนที่ไม่ค่อยรู้จัก ผู้ก่อตั้งคือ Bret Victor เขาเป็นที่รู้จักจากงานด้าน human interface ที่ Apple ในยุค iPad สมัย Steve Jobs และในปี 2012 เขาได้บรรยายที่มีอิทธิพลสองครั้งคือ “Inventing on Principle” และ “Stop Drawing Dead Fish”
วิธีที่ Bret ทำงานในฐานะผู้มีวิสัยทัศน์/นักอนาคตนิยมเป็นเรื่องน่าสนใจ เขาจินตนาการถึงโลกอนาคตอันใกล้ที่ตัวเองอยากอยู่ สร้างต้นแบบเท่าที่พอจะเขียนการบรรยายได้ แล้วขึ้นพูดโดยหวังว่าบางคนในผู้ฟังจะได้รับแรงบันดาลใจและทำให้มันเป็นจริง เป็นวิธีปล่อยไอเดียออกไปฟรี ๆ และหวังจะได้รับการตอบแทนด้วยโลกที่ไอเดียนั้นเกิดขึ้นจริง
https://worrydream.com/
มีคำคมมากมายที่เปรียบเทียบการลงมือทำกับไอเดีย เช่น “ไม่ใช่ไอเดียที่ทำให้คุณรวย แต่เป็นการลงมือทำไอเดียนั้นอย่างถูกต้องต่างหาก” อะไรทำนองนี้ ยังไงคืนนี้ผมตั้งใจจะลองขุดดูต่ออีกหน่อย
ผมมองว่าส่วนที่เจ๋งคือสามารถสร้าง อินเทอร์เฟซผู้ใช้ ด้วยวัตถุกายภาพได้ง่าย จึงข้ามส่วนของดิจิทัลฟรอนต์เอนด์และการออกแบบบางอย่างไป แล้วโฟกัสกับแบ็กเอนด์การคำนวณได้มากขึ้น
นั่นทำให้เขียนโค้ดแบบสำรวจและด้นสดได้มากขึ้น เหมาะกับงานวิจัยและศิลปะ และอาจมีประโยชน์ในหลายสถานการณ์ที่อินเทอร์เฟซผู้ใช้แบบตายตัวรบกวนมากเกินไป จากสิ่งที่แสดงในโปรเจกต์ห้องแล็บชีววิทยา ดูมีประโยชน์อย่างน่าทึ่ง
ดูวิดีโอแนะนำตัวใหม่แล้ว แต่ก็ยังไม่รู้เลยว่านี่คืออะไร นอกจากมีการ์ดติดจุดจำนวนมหาศาล ดู ซับซ้อน มาก