ตีความ “หนัง” สะท้อนชีวิตจริง

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

ว่ากันเป็นเรื่องๆ ไป

  1. “Brazil” เรื่อง Management by number (รวมถึงการตัดสินใจ), KPI & QA, ข้อมูลและความเป็นจริง
  2. “Fight Club” เรื่องการเป็น Entrepreneur การตั้ง startups การเป็นตัวของตัวเอง
  3. “Pirates of Caribbean” โดยเฉพาะการตีความเรือ “Flying Dutchman” กับองค์กรที่ไร้เป้าหมาย
  4. “Inception” ความเป็นจริง สุดท้ายแล้วคือสิ่งที่เราเลือกจะคิดว่าจริง

ถ้ามีเวลาทำนะ …. จริงๆ อยากจะเขียนมันรวมเล่มเป็นหนังสือสักเล่มไปเลย ให้มันละเอียดกว่าบน blog แต่ว่าหาเวลาเขียน blog และเขียนหนังสือ iOS development ที่กำลังเขียนอยู่ให้เสร็จก่อน

การทำ Proof-of-Concept กับการพัฒนาโปรแกรม

มีเรื่องนึงที่อยากจะฝากบอกน้องๆ ทั้งนักศึกษาและคนที่กำลังหัดเขียนโปรแกรมใหม่ๆ ที่จะต้องพัฒนาโปรแกรม ไม่ว่าจะใช้เอง เป็นโปรเจค ทำขาย หรือว่าอะไรก็แล้วแต่ ก็คือเรื่องของการทำ Prototyping และ PoC (Proof-of-Concept)

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

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

ลองแบ่ง phase การทำงานเป็นแบบนี้ครับ

  1. นั่งคิดคร่าวๆ ว่าโปรแกรมจะมีการใช้งานอย่างไร ต้องทำอะไรได้บ้าง ไม่ต้องมากไม่ต้องมาย
  2. จากนั้นนั่ง list มันออกมาเล่นๆ ว่าจะทำแบบนั้นได้นี่ ภายในโปรแกรมจะต้องมีความสามารถอะไรบ้าง (ไม่ใช่ความสามารถที่ผู้ใช้งานจะได้ใช้นะ หมายถึงว่าต้องเขียนให้มันทำอะไรได้บ้าง)
  3. ดูว่าอะไรที่เราทำเป็นแล้ว อะไรที่ยังทำไม่เป็น checklist ง่ายๆ
  4. เปิดโปรเจคใหม่หลายๆ โปรเจค ตามเรื่องที่เรายังทำไม่เป็น หัดเล่นเป็นเรื่องๆ ไป เล่นโน่นเล่นนี่ เล่นให้มันพังไปเลยก็ได้ ไม่เป็นไร เพราะว่านี่คือการลองเล่นกับโปรเจคที่ไม่เกี่ยวกับงานเราสักนิด จะเขียนโค้ดให้มันเละแค่ไหนก็ได้ อีกสามสี่วันอ่านไม่รู้เรื่องก็ได้ ไม่ต้องมีโครงสร้างอะไรมากมาย ลุยมันไปเลยไม่ต้องคิดมาก
  5. แต่ว่าเป้าหมายของโปรเจคเล็กๆ ที่เปิดใหม่เหล่านั้นต้องชัดเจนนะ ว่าจะเรียนรู้เรื่องอะไร กำหนดเวลาให้ตัวเองไว้ด้วย กำหนดผลลัพธ์ที่ชัดเจนไว้ด้วย
  6. เมื่อ checklist เต็มแล้ว (คือ ทุกตัวทำเป็นหมดแล้ว) ค่อยมาวาง architect ของโปรแกรม/โปรเจคที่อยากได้ ว่าจะออกมายังไง เพราะว่าตอนนี้เราน่าจะมีประสบการณ์แล้วว่าอะไรมันทำได้ทำไม่ได้ อะไรมันต้องทำงานร่วมกับอะไรยังไง รับค่าอะไร รีเทิร์นอะไร ประสิทธิภาพเป็นยังไง ฯลฯ

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

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

เสียน้อย (เปิดโปรเจคใหม่ เรียนรู้มันทีละเรื่อง) มันเสียยาก แต่เสียมาก (โค้ดในโปรเจคมั่ว โปรเจคไม่มีโครงสร้างแก่น เป็นแบบปะผุ ฯลฯ) มันเสียง่าย นะครับ

MacBook air 11″ [ตอน 2]

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

  • Q: เรื่องความร้อน ร้อนหรือเปล่า ถ้าเทียบกับ MacBook Pro เป็นไงบ้าง?
  • A: เท่าที่ใช้งานปกติ ไม่รู้สึกถึงความร้อนอะไรแต่อย่างใด ต้องบอกว่าเย็นมาก … จนทำให้คนอยู่เมืองร้อนชอบใจ และใครอยู่เมืองหนาวอาจจะรักมันน้อยกว่า MacBook air รุ่นที่แล้ว หรือว่า MacBook Pro รุ่นไหนก็ได้ ที่เราจะรักมันมากตอนอากาศหนาวๆ
  • Q: แล้วเรื่อง battery ล่ะ เทียบกับราคาเคลมของ Apple แล้วเป็นไงบ้าง?
  • A: จากการใช้งานจริง (ไม้ได้ใข้แบบตั้งใจถนอม battery) คือเปิด wi-fi เปิดจอสว่างพอสมควร (เกินครึ่ง แต่ไม่เต็มที่) เปิดการใช้งานโปรแกรมต่างๆ อย่างน้อยๆ ก็ web browser, pages, xcode, textmate, terminal, echofon, ecto ค้างเอาไว้ ก็พบว่าได้อย่างน้อยเท่ากับราคาเคลม คือ 5 ชั่วโมง (สำหรับรุ่น 11″) แน่นอน อาจจะได้เกินนั้นนิดหน่อย แต่ว่าผมไม่ได้ลองเล่นไฟล์มีเดีย พวกเพลงหรืออะไรแบบนี้ไปด้วยนะครับ เนื่องจากไม่ได้คิดจะเก็บเพลงบนนี้แม้แต่เพลงเดียวอยู่แล้ว
  • Q: มีอาการจอเต้นหรือเปล่า เห็นมีคนเจอๆ กัน?
  • A: มันคืออะไรเหรอครับ ไม่เจอครับ ปกติดีทุกอย่าง

และหลังจาก 1 วันผ่านไป ผมก็ยังคงยืนยันครับ ว่าปุ่มบน keyboard มันตื้นไปนิด และมีความ “หนืด” มากกว่า MacBook Pro ทำให้กดไม่สนุกเท่า แต่ว่าก็ชินมากขึ้นพอสมควร

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

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

MacBook air 11″

ได้ของเล่นใหม่อีกแล้ว คราวนี้เกิดจากอารมณ์ชั่ววูบล้วนๆ เลย

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

ตอนนั้นมี iPad อยู่นะ แต่ว่าปัญหาคือ iPad มันทำทั้งสองอย่างที่ว่าไม่ได้เนี่ยสิ จะเขียนหนังสือบน iPad ก็ลองแล้วไม่เวิร์กเท่าไหร่ (แถม iPhone มัน tethering เอาไฟล์หนังสือที่โยนไว้บน cloud ไม่ได้อีก จะซื้อ iPad 3G ก็กระไรอยู่) และยังไงมันก็คงเขียน app ไม่ได้แน่ ก็เลยสบถไปว่า “ถ้างาน Back to Mac มี 11″ ออกมานะ จะสั่งเป็นคนแรกเลย”

และมันก็ออกมาจริงๆ ด้วยสิ –‘ อย่างกับศาสดาได้ยิน และผมก็สั่งไปแทบจะทันทีโดยไม่คิดอะไรมาก สั่งจาก apple store online ครับ โดยสั่ง BTO เล็กน้อย คือผมอยากได้ keyboard อังกฤษ ไม่มี screen ไทยน่ะครับ นอกจากนั้นมาตรฐานหมด (บ้าไหมล่ะ) ส่วนหนึ่งก็เพราะว่าจากเหตุผลที่ผมจะซื้อมันมาใช้ spec มาตรฐานรุ่นต่ำสุดน่ะ เพียงพอแล้ว

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

  • กล่องใหญ่กว่าที่คิดไว้แฮะ คิดว่าด้วยขนาดของเครื่องแล้ว กล่องมันจะเล็กกว่านี้ซะอีก
  • เปิดมาดูก็พบเหตุผลว่าทำไม มันหนาและยาวกว่าที่คิด เพราะว่าที่ชาร์จและสายไฟ ส่วนตัวเครื่องน่ะ เล็กอยู่
  • สิ่งแรกที่ผมทำเลย ก็คือ “พิมพ์” ครับ เพราะว่าซื้อมันมาใช้กับงานที่ต้องพิมพ์เป็นหลัก และถ้าจะใช้เวลารถติดด้วยแล้ว ถ้าพิมพ์ไม่มีความสุขล่ะก็ คงมีปัญหาแน่ๆ และผมก็พบว่า ด้วยความที่เป็น full-size keyboard นั้นทำให้ผมพิมพ์ได้ไม่มีปัญหาแต่อย่างได แต่ว่าเนื่องจากคีย์มันจะแบนกว่า MacBook Pro เล็กน้อย ดังนั้นอาจจะพิมพ์ได้ไม่มันส์เท่า การตอบสนองของคีย์จะน้อยกว่า
  • ข้อสรุปเรื่องแรก คือ ยังไงซะ MacBook Pro ก็เป็น laptop ที่มี keyboard ที่ดีที่สุดที่ผมเคยใช้มาอยู่ดี แต่ว่าต้องขอบคุณที่ยัด full-size มาให้กับ MacBook air ตัวนี้ เพราะว่าผมเคยใช้ netbook มาบางรุ่น และยืนลองแทบทุกรุ่น และผมมีปัญหากับการพิมพ์บน keyboard พวกนั้นอย่างรุนแรง
  • แต่ว่า keyboard มันไม่ backlit นะ ถึงจะพิมพ์ไม่ดูอยู่แล้วก็เถอะ บางครั้งมันก็มีประโยชน์เหมือนกัน
  • ขนาดจอ 11″ ที่มี proportion ที่ “กว้าง” กว่าปกติเล็กน้อย ก็ทำให้ผมอึดอัดบ้างเหมือนกัน เพราะว่าจอมันเตี้ยกว่าที่คุ้นเคย ส่วนหนึ่งก็คงเพราะว่าต้องการทำให้เครื่องเล็ก แต่ว่ายังคงมี full-size keyboard อยู่ ก็เลยต้องกว้างตาม keyboard
  • ก็ไม่เป็นไร แต่ว่าต้องปรับตัวนิดนึง จะแย่หน่อยก็ตรงที่ว่า งานที่ต้องการจะทำบนนี้ จะต้องการจอที่สูงมากกว่าจอที่กว้างซะด้วย
  • แต่ว่าจอกว้างๆ เตี้ยๆ มันก็ดีอย่างนะ มัน low profile กว่า และมันหยิบขึ้นมาทำงานในที่แคบๆ (เช่นเบาะที่นั่งในรถยนต์) ได้ดีกว่า
  • SSD ทำงานเร็วมาก! เรียกได้ว่าไม่อยากกลับไปใช้แบบจานหมุนเลยแฮะ ทั้งเร็วทั้งเงียบ
  • การใช้งานทั่วไป …. ผมยังคงอึดอัดกับมันอยู่นะ อาจจะเพราะว่าใช้ 17″ มาซะเคยตัว ต้องให้เวลากับมันอีกนิดหน่อย
  • แต่ว่ามันเบาดี สบายดี พกง่ายดี …​เพียงแต่ตอนนี้ยังหาซอง/กระเป๋า/อะไรพวกนี้ ที่ขนาดพอดีตัว มาใส่มันไม่ได้ ก็เท่านั้นเอง

เอาแค่นี้ก่อนก็แล้วกันนะ ไว้ใช้มากกว่านี้ก่อน จะกลับมารีวิวใหม่

เก็บ iOS App Crash Log ส่ง App Developer กันเถอะ!

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

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

คำตอบคือ “ส่ง crash log ให้เค้าด้วย” … แล้วไอ้ crash log ที่ว่านี่ อยู่ตรงไหนล่ะ?

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

สำหรับโปรแกรม iPhone, iPod touch, iPad นั้น ปกติแล้วเครื่องจะเก็บ log ไว้ตลอดเวลา และเมื่อเรา sync เครื่องกับ iTunes นั้น log เหล่านี้ก็จะถูก sync ลงเครื่องด้วย โดยจะอยู่ในที่ต่อไปนี้ครับ:

  1. บน Mac:
    ~/Library/Logs/CrashReporter/MobileDevice/ชื่อไอโฟน/
  2. บน Windows XP:
    C:\Documents and Settings\\Application Data\Apple computer\Logs\CrashReporter\ชื่อไอโฟน\
  3. บน Windows VISTA:
    C:\Users\\AppData\Roaming\Apple computer\Logs\CrashReporter\MobileDevice\ชื่อไอโฟน\

Crash log จะถูกเก็บอยู่ในนั้นครับ โดยให้สังเกตนิดหน่อย ว่าถ้ามี folder (directories) ชื่อ “ชื่อไอโฟน” กับ “ชื่อไอโฟน.symbolicated” ล่ะก็ ให้เลือก .symbolicated นะครับ มันจะมีข้อมูลที่เป็นประโยชน์กับนักพัฒนาที่มากกว่าใน folder “ชื่อไอโฟน” เฉยๆ

สำหรับรูปแบบของ Crash log จะถูกเก็บในไฟล์รูปแบบนี้: ชื่อapp_วันเวลา_ชื่อเครื่อง.crash เช่น PetdoComics_2010-09-04-175745_Rawitats-iPhone-4.crash หรือ TwitterFonPro_2010-08-30-103513_Rawitats-iPhone-4.crash เป็นต้น (ข้อมูลจริงจากบนเครื่องผม)

ตัวอย่างครับ

  • รูปแสดงตัวอย่างที่อยู่และตำแหน่งของ crash log (บน Mac OS X)

    location_crash.png

  • การเปิด crash log ดู จะเห็นข้อมูลที่เป็นประโยชน์กับผู้พัฒนา เช่นโปรแกรมมัน crash เมื่อเรียกอะไรขึ้นมาทำงาน ขณะนั้นมีอะไรทำงานอยู่บ้าง ฯลฯ (ตัวอย่างของ Echofon)

    crash_log.png

ดังนั้น สำหรับ App ผมทุกตัว ส่งมาได้นะครับ contact อยู่ในหน้า App ของ iTunes อยู่แล้ว :-D

Buying List & Buying List Free

โปรแกรมทำ Shopping List ที่เน้นความเรียบ ความง่าย และความรวดเร็วในการใช้งานเป็นหลัก เกิดจากความขี้เกียจในการดึงเศษกระดาษกับหาปากกามาจดว่าจะซื้ออะไร ถ้าซื้อได้ก็รอดตัวไป ถ้าซื้อไม่ได้ ก็มักจะลืม เพราะกระดาษชิ้นนั้นจะถูกทิ้งไป พยายามหาโปรแกรมทำ Shopping List, To do list, To buy list หรืออะไรก็แล้วแต่แบบนี้ตั้งนาน มีแต่ซับซ้อนไปทั้งนั้น (จากความต้องการของตัวเอง) ก็เลยตัดสินใจพัฒนาโปรแกรมนี้ขึ้น

เป้าหมายง่ายๆ คือ “ต้องไม่ช้ากว่าหรือลำบากกว่าการหยิบกระดาษขึ้นมาจดๆๆ” ดังนั้นฟีเจอร์อะไรก็ตาม ที่จะทำให้มันไม่บรรลุเป้าหมายนี้ (พวกที่โดยส่วนตัวผมคิดว่าเป็น Nice to have แต่อาจจะใช้บ้างไม่ใช้บ้าง) ผมหั่นทิ้งเรียบ และโฟกัสกับการทำยังไงก็ได้ ให้มันไม่ช้ากว่า ลำบากกว่าการดึงกระดาษขึ้นมาจด …​ ต้องดึงมาใช้งานและเก็บลงกระเป๋าได้ในเวลาน้อยที่สุดเท่าที่จะทำได้ … ผมคิดว่า ถ้าต้องการฟีเจอร์ที่ผมตัดทิ้งไปเหล่านั้น มีทางเลือกอีกเยอะมาก ใน App Store ครับ


screenshots.jpg
Screenshot จาก iTunes App Store

โปรแกรมมี 2 รุ่นครับ คือ รุ่นจ่ายเงิน ($0.99) และ รุ่นฟรี ซึ่งจะจำกัด Favorite Items ไว้ที่ 10 items และใช้ iAd support (แต่ไม่มีผลกับ account ประเทศไทย เพราะ iAd ยังมาไม่ถึง ถ้าไม่ใช่ account อเมริกา ก็ไม่มี Ad โผล่มา) และสุดท้าย ต่างกันที่ไอคอน รุ่นจ่ายเงินเป็นสีดำ Metallic ออกแบบโดยใช้ Theme แบบ MacBook Pro ส่วนรุ่นฟรี เป็นสีขาวเรียบๆ แบบ MacBook


large_icon.png large_icon_free.png

ลองใช้กันดูนะครับ … ถ้าชอบ และอยากให้พัฒนาโปรแกรมต่อไป ก็ช่วยกันสนับสนุนกันหน่อยนะครับ


as_available_appstore_icon_20091006.png

AppDiscover badge

ล่าสุด โปรแกรมนี้ถูกรีวิวโดย AppDiscover Blog ใน entry Buying List by Rawitat Pulam ครับ ขอ Quote ไว้ตรงนี้ด้วยก็แล้วกัน

Buying List is a sweet little list building app for the iphone by Rawitat Pulam. It allows you to manage items you wish to buy now and in the future efficiently with two simple lists, your shopping history, and a customizable list of favorites.

Once you learn Buying List’s interface, it’s a joy to use. There are four tabs at the bottom: buying now, buy later, history, and favorites. Here’s how it works:

You can add items directly to the buying now or buy later list. Tap any item on the buying now list once you’ve purchased it. When you’ve completed your shopping, press the new list button and the items you’ve purchased are moved to the history along with the date you purchased them. Any items that you have not purchased are automatically moved to your buy later list.

From the buy later list, selecting a few items and pressing the new list button adds them to your current buy now list.

Additionally, any item on your lists can be added to your favorites by tapping a star icon. Your favorites list functions much like the buy later list. Tap a few items, hit new list, and they’re added to your current buy now list.

The interface is a bit complicated to describe, but once you get used to it you can quickly build manageable lists from a large set of items you need to buy. If you are a shopping list person, I would highly recommend it. The free version allows only 10 favorites. Get the full version for $0.99

#Petdo (Talkshow)

วันที่ 24 เดือนกรกฎาคมนี้ จะมีงาน talkshow ในชื่อ #petdotalkshow ที่หอประชุมปรีดีย์ฯ ซอยทองหล่อ กรุงเทพนะครับ

ไหนๆ ก็ไหนๆ ขอเล่าประวัติเรื่องนี้สักเล็กน้อย


p7.png
ตอน “ไม่ได้จ้างมาสร้างบั๊ก”

“Petdo” (@petdo ใน twitter หรือที่เว็บไซต์ iampetdo.com) เป็นการ์ตูน 4 ช่องจบในตอน (เป็นส่วนมาก มีเป็นตอนต่อบ้างเป็นบางครั้ง) ที่มาจากผลงานสร้างสรรค์ของน้องๆ ที่เพิ่งจบการศึกษาจากคณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยศิลปากร ที่มีความฝันและมาก่อตั้งทีมงานด้วยกันในชื่อบริษัท Urchin Image โดยได้รับความช่วยเหลือจากศูนย์บ่มเพาะธุรกิจ ม.ศิลปากร ซึ่งตัวผมเองเคยเป็นผู้ช่วยผู้จัดการอยู่ในระยะหนึ่ง โดยน้องต้น (@bluefrog_su) เป็นตัวตั้งตัวตีและเรี่ยวแรงหลัก มาพร้อมกับๆ เพื่อนอีกหลายคน คือ น้องสิงห์ น้องกก น้องฟลุ๊ค น้องลี น้องจุ๊บ (ชื่อจริงชื่อ น้องบริสุทธิ์ … แต่เป็นผู้ชายนะ หน้าโหดหนวดเฟิ้ม … “ตาหนวด” ในเรื่อง Petdo จริงๆ ก็ได้แบบมาจากคนนี้นี่แหละ ไม่ใช่ผม) น้องโหน่ง โดยมีความฝันอยากจะทำ Digital Content เกม งานออกแบบ งาน animation ฯลฯ ตามสาขาที่จบมา


p4.png.jpg
ตอน “ยุบองค์กรหนี”

แต่ด้วยความที่เป็นทีมงานใหม่ ประสบการณ์ไม่มี ผลงานไม่มี ก็ดิ้นรนกันไป รับงานกันไปเรื่อยๆ โดยแต่ละงาน ก็ได้เรียนรู้โลกความเป็นจริง ส่วนมากจะ under-budget, over-expectation แต่ไม่เป็นไร ได้เรียนรู้ และก็ประสบการณ์ดีขึ้นเรื่อยๆ แต่ก็ยังไม่มีโปรดักท์เป็นของตัวเองสักทีหนึ่ง

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


p1.png.jpg
ตอน “Petdy ที่รัก”

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

และแล้ววันหนึ่ง ผมเดินเข้ามาในออฟฟิสของน้องๆ เพื่อช่วยคิดหาทางและให้กำลังใจต่อไป ก็เห็นตัวการ์ตูนตัวหนึ่ง ที่น้องกก (@yoshikokvin) วาดเอาไว้เล่น ก็เลยเกิดไอเดีย “ไอ้นี่แหละ! โปรดักท์ล่ะ!” ซึ่งก็เหมือนกับฟางเส้นสุดท้ายอีกเส้นครับ อะไรคว้าได้ ลองได้ ก็ลองไปเลย และแล้ว “Petdo” ก็เกิดขึ้น ด้วยคอนเซปท์ที่อยากเป็นการ์ตูนแบบ Dilbert หรือ Garfield

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


p2.png.jpg
ตอน “นี่แหละ ปัญหา”

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

ทุกวันนี้ การ์ตูน Petdo วาดมาแล้วถึง 118 ตอน โดยออกทุกวันจันทร์ พุธ ศุกร์ โดยคนทำงานหลักๆ คือ น้องสิงห์ (@singya_cosmo คนที่วิ่งเอาตุ๊กตามาให้ผมไหว้ บนเวที #igniteTH) ซึ่งทำโดยไม่มีค่าตอบแทนใดๆ ทั้งสิ้นจากงานนี้ ตั้งแต่วันแรกจนถึงทุกวันนี้ น้องสิงห์ก็ยังคงทำและตั้งใจทำอยู่เหมือนเดิม


p3.png.jpg
ตอน “คอมพิวเตอร์มันเร็ว”

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

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


p5.png.jpg
ตอน “โรงเรียนของเราน่าอยู่”

Petdo ไม่ใช่ผลงานของผม ถึงหลายๆ คนจะเข้าใจว่าเป็นเช่นนั้น และยกย่องให้ผมเป็น “ผู้สร้าง” ก็ตาม แต่ Petdo เป็นผลงานของน้องๆ ใน Urchin Image ตั้งแต่ต้น จนถึงตอนนี้ และก็จะยังคงเป็นต่อไป อยากให้หลายๆ คนเข้าใจด้วย ว่าทำไมผมไม่ “ทำการกุศล” กับงานชิ้นนี้ …. (ถ้างานชิ้นนี้เป็นงานส่วนตัวของผม ผมคงจะทำการกุศลกับงาน Petdo นี้ได้ไม่ยาก และไม่ต้องคิดมากเท่าใดนัก)

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

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

ดังนั้น “รักการ์ตูน Petdo ชอบการ์ตูน Petdo …​” พบกันที่ Petdo Talkshow นะครับ! (Click ที่นี่ หรือ Banner ด้านบนเลยครับ)


p8.png.jpg
ตอน “ก็หนูจะเอาง่ะ”

ป.ล. เนื้อหาของ Talkshow จะมีดังนี้ครับ (ขอรับรองด้วยเกียรติของ[อดีตโคตรๆ] ลูกเสือ ว่าเน้น “ฮา” และ “สร้างสรรค์” ไอ้ด่ากันน่ะ “ผมไม่เอาด้วย”

  • User vs. Developer
  • ขำขันการศึกษา
  • เก็บตกจากร้านขายของ IT

ดูบอล สะท้อนงาน

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

ผมไม่ขอวิพากษ์วิจารณ์ฟุตบอล หรือการทำงานของผู้จัดการทีมคนไหนในฟุตบอลโลกนะครับ ผมเชื่อว่าทุกคนก็ทำเท่าที่เค้าจะทำได้แล้ว แต่ผมอยากจะมองมัน แล้วนำกลับมามองสะท้อนข้อคิด ข้อสังเกต ลงไปที่การทำงานสักหน่อย โดยผมอยากจะมองในลักษณะของ System Thinking ซึ่ง The Whole is greater than sum of its part โดยก่อนอื่นผมขอเอาทวีตที่ผมทวีตในสัปดาห์ก่อนมาใส่ตรงนี้ก่อนละกันนะครับ ใส่แบบไม่ดัดแปลงใดๆ ไม่เพิ่มไม่ลด และตามลำดับการทวีตครับ

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

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

ประเด็นคือ “ฟุตบอลเป็นเกมของ 1 ทีม ไม่ใช่ผลงานของ 11 ผู้เล่น”

มาดูอีกตัวอย่างหนึ่ง

  • อาร์เจนติน่า เป็นตัวอย่างที่ดีในเรื่องนี้ ในการมี 11 parts ที่ดีมาก และทีมที่ประสบความสำเร็จระดับหนึ่ง
  • การไม่เลือกตัวผู้เล่นบางตัวเข้ามาในทีม เพื่อให้เป็น 11 parts ที่สุดยอด อาจเป็นผลบวกกับทีมของอาร์เจนติน่า เนื่องจากการมี part บาง part อยู่ใน whole มันทำให้ whole เสีย เพราะว่ามันเป็น incompatible parts เป็น part ที่ทำให้ whole เสีย กลายเป็น part หรือ sub-whole หลายๆ ส่วนอย่างสมบูรณ์
  • อาร์เจนติน่า มีทีมสปิริตที่ดีมาก (จากที่เห็น และรับข่าวสารมา)
  • แต่ …. แต่ …. อาร์เจนติน่าเป็นทีมที่ไร้ซึ่งระบบการเล่น ระบบการทำงานประสานกันอย่างชัดเจน เป็นทีมที่เล่นด้วยความสามารถเฉพาะตัวของผู้เล่นไม่กี่คน ที่ต้องแบกรับภาระของการพาทีมไปข้างหน้า และคนที่ยิ่งเก่ง ยิ่งต้องแบกภาระหนัก เป็นธรรมดา ซึ่งในกรณีของอาร์เจนติน่านี้ก็คือ Lionel Messi ที่ค่อนข้างจะแบกทีมไว้ทั้งทีม

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

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

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

อย่างน้อยกรณีของอาร์เจนติน่า ก็ยังดีกว่ากรณีของฝรั่งเศส ที่ความเชื่อมั่นกันเองในทีมมีสูงกว่า ผู้เล่นทุกคนเชื่อใน Maradona และ Messi และเล่นเพื่อทีม ดังนั้นผลมันก็เลยออกมาดีระดับหนึ่ง แผนการเล่นเดียวของอาร์เจนติน่าที่ผมเห็น คือ จ่ายบอลให้อีกคน ด้วยความเชื่อว่าเค้าจะเอาตัวรอดได้ และบรรลุเป้าหมายได้ โดยที่ไอ้ “อีกคน” ที่ว่าเนี่ย มักจะเป็นคนที่พิสูจน์แล้วว่า “เก่งที่สุดในโลก” คนหนึ่ง …. ดังนั้นกรณีที่คนอื่นไม่อยากให้ทีมนี้ประสบความสำเร็จ ก็ง่ายครับ หาทางขวางคนเหล่านี้ให้ได้ เป็นอันจบ

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

ประเด็นคือ “ฟุตบอลเป็นเกมของทีม ไม่ใช่แม้แต่ 11 ผู้เล่นที่เล่นเพื่อทีม แต่เล่นตามใจ” ครับ

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

วันนี้พอแค่นี้ก่อน จบบอลโลกจะเขียนต่อนะครับ

ฝากไว้ครับ ลองอ่านประเด็นที่เกี่ยวข้องใน Positive Thinking in Petsitive World ด้วยนะครับ

Pencast วิชา​ Visual Simulation ครั้งที่ 4

ก่อนอื่นต้องขอชมน้องๆ หลายคนก่อนว่า ทำการบ้านครั้งที่แล้วได้ดีมากเลยครับ

เนื้อหาคราวนี้หลักๆ เป็นการเชื่อมโยงเนื้อหาคราวที่แล้ว (1D Dynamical System; Logistic Equation) กับเรื่องที่นักศึกษาสาขา animation คุ้นเคย นั่นก็คือ การกำหนดค่าการเคลื่อนไหวต่างๆ ให้กับ animation ก็หวังว่าจะทำให้หลายๆ คนเข้าใจบทบาทของ Dynamical system simulation กับการประยุกต์ใช้งานในเรื่อง animation มากขึ้นบ้าง

  1. ตอนที่ 1: Simple Dynamical System & Animation Control ขนาด 7.8 MB

  2. ตอนที่ 2: Simple Dynamical System & Animation Control (ต่อ) ขนาด 5.3 MB

  3. ตอนที่ 3: 2D Rule-based Dynamical System ขนาด 2.3 MB

  4. ตอนที่ 4: การบ้าน (นิดๆ หน่อยๆ) ขนาด 639 KB
    7.01 VS: Homework
    brought to you by Livescribe

ไฟล์เอกสาร (PDF) : VS_4_1.pdf, VS_4_2.pdf

หลังจากนั้น เนื่องจากน้องๆ หลายคนยังไม่เข้าใจการบ้านเท่าไหร่ ว่าจะต้องส่งอย่างไร ทำอะไร ต้องใส่อะไรบ้าง ฯลฯ (ถึงแม้ว่าผมจะให้ keyword “Cellular Automata” ในการ search google, wikipedia ซึ่งผมบอกว่า จะเอารูปจากเค้ามาเลยก็ได้ ไม่ผิด ก็ตาม) ซึ่งก็พอจะเข้าใจนักศึกษานะครับ ก็เลยต้องเปิด “เฉลย” การบ้านให้ดูก่อน ว่าให้น้องๆ ทำตามนี้แหละ เขียนส่งมาแค่นี้แหละ ซึ่งตรงนี้ไม่ได้บันทึกไว้ เพราะว่าเป็นการเปิดจากไฟล์ presentation ในเครื่อง (ผมไม่สามารถเขียนภาพผลการรัน Cellular Automata กฏ 110 ด้วยมือได้ครับ เกินความสามารถ) ก็เลยเอาภาพและ animation บางส่วน ที่สร้างจากการประยุกต์ใช้ Cellular Automata ดังๆ อย่าง Conway’s Game of Life ให้น้องๆ ดูไปด้วย

ก็ต้องขออภัยนะครับ ที่ในส่วนนั้นไม่ได้มีการบันทึกเอาไว้

Pencast วิชา Visual Simulation ครั้งที่ 3

เริ่มใช้ pencast กับวิชาอื่นที่สอน นอกจาก User Interface บ้าง วิชานี้เป็นวิชา Visual Simulation สอนให้กับคณะ ICT ซึ่งเนื้อหาหลักเป็น “การสร้างแบบจำลอง” ที่เหมือนจริง ซึ่งผมอยากจะโฟกัสแค่การสร้าง Texture ของลวดลายต่างๆ ทั้งที่เป็นลวดลายธรรมชาติและไม่ธรรมชาติ และการจำลองสถานการณ์ต่างๆ ที่บางทีอาจจะไม่ใช่ Direct simulation แต่แค่ให้ได้ความรู้สึกเหมือนจริง ซึ่งก่อนอื่นจะต้องศึกษาเรื่อง Procedural Texture Generation และ “ธรรมชาติของ Patterns” เสียก่อน ทำให้วิชานี้อาจจะมี nature แปลกๆ หน่อยสำหรับสาขา animation เนื่องจากจะมีคณิตศาสตร์ปนๆ อยู่บ้่าง (แต่ไม่ใช่เรื่องแปลก เพราะว่าการสร้าง texture หรือการศึกษา CGI; computer generated imaginary นี่ แทบจะเป็น math กันล้วนๆ ในเบื้องหลัง) ก่อนที่จะไปถึงเรื่อง Fractals ซึ่งเป็น “พระเอก” ของวิชา ต่อไป

สำหรับ Pencast ครั้งนี้จะ ตะกุกตะกักเล็กน้อย (เนื่องจากตัวเองก็ไม่ได้พูดเรื่องทำนองนี้มานานพอควร แล้วปกติจะพูดเรื่องทำนองนี้แต่กับพวกที่มี background เป็น math) และมีบางส่วนที่ไม่ได้ลงตรงนี้ เนื่องจากเปิดหน้าหนังสือลงใน visualizer และตัว pencast ไม่ได้บันทึกตรงนั้นไว้ให้ และการสนทนาต่างๆ ที่เกิดขึ้นระหว่างพักจะถูกตัดหมด และ 2 ครั้งก่อนหน้านี้ ไม่มีการบันทึกไว้ ดังนั้นหลายท่านที่มาฟัง อาจจะรู้สึกไม่ต่อเนื่อง หรือช่วงการ “Intro” มันหายไป ขออภัยด้วยครับ

ป.ล. สำหรับน้องคณะ ICT ที่ใช้งานครั้งแรกนะครับ ช่วย รอหน่อย นะครับ เพราะว่ามันต้องทำการ download ไฟล์เสียงทั้งหมดก่อน ไม่งั้นเสียงไม่มา ก็ขนาดไฟล์ตามที่ผมระบุนะครับ

  1. ตอนที่ 1: Procedural Generation Introduction ขนาด 7.5 MB

  2. ตอนที่ 2: Patterns & Textures ขนาด 8.9 MB

  3. ตอนที่ 3: 1D Texture generation with simple Dynamical Equation (& Glimpse of Fractals) ขนาด 4.3 MB

ไฟล์เอกสาร (PDF) ครับ: VS3_1.pdf, VS3_2.pdf, VS3_3.pdf