สำหรับเทอมที่แล้วอ่านได้ที่นี่
(https://amchiclet.wordpress.com/2015/10/12/%E0%B8%8A%E0%B8%B5%E0%B8%A7%E0%B8%B4%E0%B8%95%E0%B8%9B-%E0%B9%80%E0%B8%AD%E0%B8%81%E0%B9%80%E0%B8%97%E0%B8%AD%E0%B8%A1%E0%B8%AB%E0%B8%81/)
เอาเว้ย มาถึงปีสามเทอมแรกแล้ว นี่น่าจะถือว่าจบไป 1/3 ของการเดินทางในครั้งนี้แล้ว (เพื่อนๆที่เรียนกับอาจารย์คนเดียวกันใช้เวลาประมาณ 6 ปีจบ)
เทอมนี้เป็นเทอมที่เปลี่ยนทิศทางการวิจัย เป็นเทอมที่เรียนสองตัวสุดท้ายก็จะครบตามหลักสูตร (ที่เหลือทำวิจัย) และเป็นเทอมที่รุ่นน้องสนิทจะจบ เลยใช้เวลาทำกิจกรรมเยอะมาก
การเรียน
สำหรับคนที่ไม่ใช่เด็กวิทย์คอม และไม่สนใจศัพท์วิชาการ ให้ข้ามไปช่วง การวิจัย หรือ กิจกรรมได้เลย
เป่าหมายการเขียน section นี้เพื่อเป็นการบันทึกการเดินทางของเรา จะได้จำได้ว่าเรียนอะไรมาบ้าง
เผื่อจะกลับมาย้อนดูว่ามันตรงกับวิทยานิพนธ์ที่เราจะทำในอนาคตหรือไม่
เทอมนี้ไม่รู้คิดยังไง ยังไม่เข็ดกับ ป.เอกเทอมหนึ่ง
ดันลงวิชาที่มีโปรเจคสองวิชา แต่มันก็เป็นวิชาที่มีความน่าสนใจอยู่
scripting language design & implementation
วิชานี้มาเรียนรู้เกี่ยวกับภาษาโปรแกรมประเภท scripting เช่น python และ javascript และ R
ว่าการออกแบบภาษามันออกแบบมายังไง และเบื้องหลังการถ่ายทำมันใช้ data structure ยังไงบ้าง
ทำยังไงมันถึงจะเร็วได้ใกล้เคียงกับภาษาที่ใช้ compiler อย่างเช่น C และ Java
อันนี้สาเหตุที่เรียนเพราะอาจารย์ที่ปรึกษา (เดวิด) สอน เลยกึ่งๆเป็น fight บังคับ
แต่ละสัปดาห์จะมี reading assignment เช่นให้อ่านหนังสือ 3 บท ประมาณ 100 หน้า เพื่อจะได้ quiz สัปดาห์ถัดมา
หรือให้เขียนโปรแกรมเดียวกันด้วยภาษาต่างๆ แล้วจับเวลาดูว่า แต่ละภาษาความเร็วต่างกันแค่ไหน
โปรเจคก็คือ ให้ออกแบบภาษามาภาษานึง แล้วเขียน interpreter สำหรับภาษานั้น
แล้วให้ทำการทดลองเขียนโปรแกรม จับเวลาเทียบกับภาษาที่ใกล้เคียงกันว่าเร็วแค่ไหน
software verification
หลักๆเป้าหมายวิชานี้คือ มาถึงตอนนี้ เรามีเครื่องมือมากมายในการสร้าง tool ดีๆ
ในการตรวจสอบว่าโปรแกรมทำถูกต้อง ไร้ bug ฯลฯ
แต่เรายังไม่ได้เอาเครื่องมือพวกนี้มาใช้ประโยชน์เต็มที่
มาประยุกต์กับสิ่งที่กำลังฮอตในยุคปัจจุบัน เช่น distributed system
วิชานี้มีหลายๆส่วน ส่วนแรก professor ก็สอนไปเรื่อยๆ
เกี่ยวกับเครื่องมือต่างๆที่สามารถใช้แก้ปัญหาวิทย์คอมได้หลายๆอย่างในปัจจุบัน
เช่น การเอา machine learning มาประยุกต์เพื่อตรวจสอบความถูกต้องของโปรแกรม
ช่วงที่สองคือการที่นักเรียน present คนละหนึ่งเปเปอร์
เราก็ดันดวงดีได้ present คนแรก
แต่มาถึงตอนนี้ เรารู้สึกว่า การโดนบังคับให้ทำอะไรในเวลาน้อยๆ
รวมไปถึงทักษะการ present ได้ถูกฝึกฝนมาด้วยสองปีที่ผ่านมาอย่างดี
รู้สึกว่านี่เป็นข้อดีมากๆของการที่เราได้ตัดสินใจมาเรียน ป.เอก
ถ้าเราอยู่เฉยๆ ไม่โดนบังคับให้ทำนู่นทำนี่ตามหลักสูตร
หรือถ้าไม่โดนสถานการณ์บังคับให้ต้องไป present เปเปอร์แทนคนอื่น เราก็คงไม่ได้ฝึกฝนทักษะเหล่านี้
พอถึงตาคนอื่น present เราก็ต้องอ่านเปเปอร์ของคนนั้น และส่งอีเมลว่าได้ไอเดียอะไรบ้างจากเปเปอร์นั้น ก่อนเริ่มคาบ
ส่วนโปรเจคคราวนี้ก็ได้กลับมาทำงานคู่ (เป็นคนที่ชอบการทำงานเดี่ยว เพราะมันชิวดี)
รอบนี้ได้คู่ที่เวิร์คมาก เป็นคนสบายๆ มีครอบครัวแล้ว นัดทำงานด้วยกันง่าย
เวลาทำงานก็ชิวๆ
ถ้าจะให้สรุป เราคิดว่า คนนี้เป็นคนที่มีความคิดและวิธีพูดเป็นผู้ใหญ่ เวลาได้ feedback ก็จะเป็นอะไรที่ฟังแล้วลื่นหู
นอกจากนั้นเป็นคนที่สื่อสาร คอย update ว่าทำอะไรถึงไหนก่อนส่งงานให้เราทำต่อ
เวลาส่งงานให้เราทำต่อ ก็มีความเฉพาะเจาะจงว่า ช่วยลองทำตรงนี้ได้ไหม
สิ่งที่ได้เรียนรู้ก็คือ เวลาจะทำงานกลุ่มกับใคร ควรจะมี
1) การสื่อสารที่นุ่มนวล
2) คอย update คอยสื่อสารกับอีกฝ่ายว่าทำอะไรอยู่ ติดตรงไหน ฯลฯ
3) ให้อีกฝ่ายรู้ว่าเรามีความคาดหวังอะไรบ้าง
คิดว่าเป็นงานกลุ่มที่ลื่นที่สุด ตั้งแต่เราเคยเกิดมา
ตัวโปรเจคเองเป็นการใช้เครื่องมือที่ชื่อ VCC (เขียนโดย microsoft) ตรวจสอบความถูกต้องของ distributed system algorithm อันนึง
การวิจัย
เดิมทีการวิจัยเดิมจะเกี่ยวกับการพิสูจน์ว่า compiler เราจะไม่เพิ่ม bug ให้กับโปรแกรม
แต่โปรเจคนั้นเป็นโปรเจคที่ทำงานร่วมกับมหาวิทยาลัยอื่น รวมไปถึง เดวิด (อาจารย์ที่ปรึกษา) ไม่ได้เชี่ยวชาญด้านนี้โดยตรง
เดวิดเลยแนะนำว่า เราจะมาเปลี่ยนหัวข้อวิจัยกันไหม
กูจะได้ให้คำแนะนำได้เยอะกว่านี้
เราจะได้ก้าวหน้ากันเร็วกว่านี้
แล้วสุดท้ายเมิงก็จะเรียนจบเร็วกว่านี้
เราก็ตอบโอเค ทันที
สรุปเทอมนี้เราได้มาทำโปรเจคใหม่ ที่สนุกไม่แพ้กัน
คร่าวๆก็คือ บริษัทเดี๋ยวนี้มีข้อมูลมากมายมหาศาล
การจะใช้คอมพิวเตอร์เครื่องเดียวประมวลผลข้อมูลเยอะขนาดนี้จะช้ามาก
วิธีนึงที่นิยมกันก็คือใช้คอมพิวเตอร์หลายๆเครื่องมาช่วยกันประมวลผล
อันนี้เรียกว่า distributed system
ซึ่งการเขียนโปรแกรมสำหรับคอมเครื่องเดียวกับการเขียนโปรแกรมสำหรับคอมหลายๆเครื่องมันต่างกันนิดหน่อย
การเขียนโปรแกรมสำหรับคอมหลายๆเครื่องมักจะใช้อะไรที่เรียนว่า map reduce
ทีนี้เนี่ยไอ้คนเขียนโปรแกรมประมวลผลข้อมูลให้กับบริษัทนะ
หลายๆทีมันไม่ใช่โปรแกรมเมอร์ มันไม่ได้จบวิทย์คอม ไม่ได้มีประสบการณ์ตรงในการเขียนโปรแกรมมากนัก
พวกนี้มักจะจบคณิตศาสตร์หรือสถิติ สิ่งที่พวกนี้ถนัดคือ ไม่ทฤษฏี หรือไม่ก็ algorithm ยากๆในการตีความข้อมูล
โปรแกรมที่พวกนี้เขียนบางทีก็เลยมีความไม่ effective อยู่
เป้าหมายการวิจัยของเราในปัจจุบันก็คือ ทำยังไงถึงจะช่วยให้คนเหล่านี้ focus กับสิ่งที่ตัวเองถนัด
แล้วปล่อยให้เป็นหน้าที่ของ compiler ในการทำโปรแกรมพวกนี้ให้เร็วขึ้น นี่เอง
โปรเจคนี้มีความน่าสนใจสามอย่าง
อย่างแรกคือ เราได้ทำงานกับศิษย์เก่า เดวิด ซึ่งอยู่คนละรัฐ
เพราะฉะนั้นการบ้านแต่ละสัปดาห์ นอกจากการทำวิจัย
ยังจะต้องทำ power point เพื่อจะได้ skype คุยกับทางนั้นได้ประมาณ 1 ชั่วโมงต่อสัปดาห์
อันนี้ได้ฝึกทักษะการใช้เวลาน้อยๆ เตรียม presentation อย่างมหาศาล
อย่างที่สองที่น่าสนใจก็คือ ได้ฝึกอ่านโคดขนาดใหญ่
ตอนนี้เรากำลังศึกษาระบบที่เรียกว่า apache spark
ซึ่งประกอบไปด้วยโค้ดที่เขียนด้วยภาษา scala (ซึ่งเราไม่เคยอ่านมาก่อนจนถึงเทอมนี้) ประมาณ 3 แสนบรรทัด
บวกกับแต่ละสัปดาห์บังคับว่าต้องมีอะไรไป present
อันนี้ได้ฝึกทักษะการ อ่านโคดเร็วๆโดยที่ไม่ต้องพยายามเข้าใจทั้งหมด
และต้องอธิบายการทำงานของระบบให้คนอื่นฟังอีก
ด้วยเหตุนี้ เทอมนี้เรารู้สึกว่าได้ทำงานวิจัยเป็นชิ้นเป็นอันอยู่
เพราะมีอะไรที่จะต้อง present ทุกสัปดาห์
ได้เรียนรู้มาอีกหนึ่งอย่าง สมมติว่าเป็นครูของใคร (หรือแม้แต่เจ้านาย)
วิธีการสอนที่ดีหนึ่งวิธีคือ การให้การบ้านให้ลูกศิษย์ สั้นๆประมาณ 1 สัปดาห์
โดยแต่ละสัปดาห์ ลูกศิษย์จะต้องมาเสนอผลงานหรือสิ่งที่เรียนรู้อย่างเป็นทางการ
วิธีนี้จะสอนให้ลูกศิษย์ (หรือลูกน้อง) รู้จักการกำหนดขอบแขตของงานด้วยตัวเอง
เพราะถ้าพยายามทำเยอะเกินก็จะทำไม่ทัน ถ้าพยายามทำน้อยเกิน เจ้านายก็จะรู้ว่าทำน้อย
และยังฝึกทักษะการอธิบายและสอนให้กับลูกศิษย์
อย่างที่สามคือ เนื่องจากตอนนี้ machine learning กำลังฮอต ใครๆก็พูดถึง
เดวิดเลยเสนอว่า เราควรจะเอา algorithm ของ machine learning มาเป็นจุดขายงานวิจัยของเรา
ถ้าเราสามารถทำให้พวก machine learning ทำงานกับข้อมูลใหญ่ๆได้เร็วขึ้น
งานเราก็จะมีคนสนใจ
ผลก็คือเราซึ่งไม่เคยจะสนใจวิชาทางด้านนี้
ต้องมาทำความเข้าใจ มาเรียนสดๆ
หลักๆก็เข้าไปดูตาม youtube coursera แล้วก็ถามเพื่อนที่เคยเรียน
ก็ได้เรียนรู้อะไรมาอีกอย่างที่ได้ผลดี
เกี่ยวกับเรื่องการเรียนสิ่งใหม่ๆ
ได้ข้อสรุปว่า การถามเพื่อนเหมาะกับการเรียนจาก 0 มากๆ
เราจะสามารถถามคำถามโง่ๆได้อย่างเต็มที่ และสามารถถามคำถาม follow up ได้ตลอดเวลา
หลังจากคุยกับเพื่อนเสร็จ เราก็จะได้ไอเดียคร่าวๆละ ว่าอะไรมันทำงานยังไง
จากนั้นการที่จะลงลึกต่ออันที่ได้ผลก็คือดูวีดีโอ ไม่ว่าจะ youtube หรือ coursera
มันจะมีคนเอาหัวข้อต่างๆมาเรียบเรียงให้แล้ว
และมาถึงจังหวะนี้เมื่อเราได้เห็นภาพคร่าวๆจากเพื่อนแล้วว่าอะไรคืออะไร
เราสามารถข้ามบทเรียนที่ไม่ได้เกี่ยวกับเป้าหมายเราไปได้ ทำให้ประหยัดเวลาไปได้อีก
สรุปการวิจัยก็ยังไปได้อย่างดีเรื่อยๆ เทอมนี้ดูดี
ระหว่างทำงานวิจัยก็ได้ข่าวดีว่า หน้าร้อนปีนี้ได้ไปฝึกงานที่ Google อีกหนึ่งรอบ
เอาเว่ย ได้ไปเที่ยวเมือง california ละ
สุขภาพ
เทอมนี้เจอข่าวร้ายหนึ่งอย่าง
เมื่อซัมเมอร์ที่ผ่านมาเรารู้สึกเสียวฟัน
บางทีเสียวจนบางทีเวลาดื่มน้ำเย็นหรือน้ำร้อน จะปวดแปล้บขึ้นมาหลายนาทีกว่าจะหาย
เรารู้สึกว่าไม่ได้ละ เราเลยไปหาหมอฟัน
หมอบอกว่ารากฟันเน่า ต้องขูดรากฟันที่เน่าทิ้ง และใส่ฟันปลอมครอบฟัน
ตอนหมอบอกรากฟันเน่านี่ เราทำหน้างี้
ของเล่นใหม่
ปีนี้เดียร์ชนะเลิศ
วันเกิดก็ส่งของเล่นใหม่มาให้
เป็นเตาอบอินฟาเรดอะไรซักอย่างที่สามารถอุ่นของจากช่อง freeze
มาให้สุกได้ทันทีโดยไม่ต้องเอามาละลายน้ำแข็ง
ช่วงนี้ก็ซื้อปลามาเยอะๆ เวลาจะกินก็เอามาจากช่อง freeze ทำ 25 นาทีก็สุก
โคตรสะดวก
และยังไม่พอ คริสมาสเดียร์ก็ส่ง ps4 มาให้
กินดูอยู่ดีครับ งานนี้
กิจกรรม
อันนี้น่าจะยาวที่สุดและเต็มไปด้วยรูป
เริ่มต้นเทอมก็มีกีฬาสี ทีมเราเตะบอลชนะ แหะๆ
มีงานรื่นเริงประจำเมือง
มีกิจกรรมที่เรียกว่าวัน quad day คือ ไปโฆษณาสมาคมนักเรียนไทยให้คนอื่น
ได้เล่นดนตรีอีกแล้ว รอบนี้ได้ร้องเพลง คำยินดี ของเคลียร์ซักที
กีฬาก็จัดเต็มเหมือนเดิม
รวมไปถึง pool
อีกอย่างนึงที่สนุกมากๆคือ เนื่องจากมีรุ่นน้องที่สนิทคนนึงกำลังเรียนจบ
เราเลยตัดสินใจเช่ารถไปนอนค้างกระต้อบกลางป่า
เที่ยวอุทยานที่ชื่อว่า garden of the gods อยู่ห่างไป 3 ชั่วโมง
ได้ทำไก่งวง วัน thanksgiving
ได้ไปช่วยตักอาหารงานลอยกระทง
ได้ทำคุกกี้ฉลองคริสมาส
แม้แต่ช่วงสอบก็พยายามมาเจอกันที่ แมคโดนัลตอนดึกๆ
นอกจากเพื่อนที่ซี้กันสุดๆเจอกันตลอดเวลา
เราก็พยายามนัดเจอเพื่อนกลุ่มอื่นบ้าง โดยเฉพาะคนที่ใกล้จะจบในปีนี้
ปลายเทอมก็กลับไทย
แต่ก่อนกลับก็ได้แวะญี่ปุ่น
อ่านเรื่องราวญี่ปุ่นได้ที่ีนี่
ได้เจอพี่สาวกับสามีด้วย
แล้วก็ตามสูตรกลับไทยไปฉลองคริสมาสกับเพื่อนและครอบครัว
ได้เตะบอลด้วย โคตรรรรรรรรรรรรรรรรรรสนุก
ได้ไปงานแต่งงานรุ่นน้องคนไทย
(ตั้งแต่มาอเมริกา พลาดงานแต่งงานที่ไทยไปประมาณ 100% คิดว่านี่เป็นงานแต่งงานแรกของเพื่อนที่ได้ไปที่เมืองไทย)
เพื่อนสนิท คลอดลูก ก็ไปเยี่ยม
ใช้เวลากับครอบครัว
นัดเจอเพื่อนเก่า
น่าจะครบแล้ว
แต่เอาเป็นว่าเทอมนี้จัดเต็ม กิจกรรมเยอะมาก
มีพลังงานไปสู้กับงานวิจัยต่ออีกเยอะ
แล้วเจอกันเทอมหน้า!
December 15th, 2016 → 7:07 pm
[…] สำหรับเทอมที่แล้วอ่านได้ที่นี่ (https://amchiclet.wordpress.com/2016/02/19/%E0%B8%8A%E0%B8%B5%E0%B8%A7%E0%B8%B4%E0%B8%95%E0%B8%9B-%E0%B9%80%E0%B8%AD%E0%B8%81%E0%B9%80%E0%B8%97%E0%B8%AD%E0%B8%A1%E0%B9%80%E0%B8%88%E0%B9%87%E0%B8%94/) […]
LikeLike
December 29th, 2017 → 10:28 am
[…] อย่างแรกคือ งานวิจัยเรื่องแรกที่เราทำตั้งแต่เทอม 3 (แต่ว่าเลิกทำและเปลี่ยนไปทำอย่างอื่นตอนเทอม 7) ได้มีเปเปอร์ตีพิมพ์แล้ว […]
LikeLike