
แฮ็กกาธอน รวมพลคนแฮ็กดี
น้องๆ จากมหาวิทยาลัยต่างๆ กว่า 25 ชีวิต กำลังขะมักเขม้นเขียนโปรแกรมแฮ็กสิ่งที่พวกเขาต้องการให้เสร็จภายใน 12 ชั่วโมง
โดย...โยธิน อยู่จงดี
น้องๆ จากมหาวิทยาลัยต่างๆ กว่า 25 ชีวิต กำลังขะมักเขม้นเขียนโปรแกรมแฮ็กสิ่งที่พวกเขาต้องการให้เสร็จภายใน 12 ชั่วโมง ในรายการแข่งขัน “โลคัลแฮ็กเดย์” (Local Hack Day) ซึ่งเป็นงานแข่งขัน แฮ็กกาธอน (Hackathon) 12 ชั่วโมงสำหรับนักศึกษาโดยเฉพาะ รายการแข่งขันนี้ไม่ได้เป็นการแฮ็กเซิร์ฟเวอร์เจาะระบบรักษาความปลอดภัยอย่างที่คิด แต่เป็นการแข่งแฮ็กโปรแกรม หรือการสร้างโปรแกรมภายในเวลาที่กำหนด แน่นอนว่าการแข่งขันแบบนี้ต้องใช้ความสามารถ ความเร็ว และความอดทนในการทำงานต่อเนื่องกันภายใต้ความกดดันอย่างมาก
4 ชั่วโมงหลังเริ่มแข่ง
เวลาที่กำหนดการแข่งขันพร้อมกันทั่วโลกคือเวลา 09.00 น. และสิ้นสุดในเวลา 21.00 น. ใน 4 ชั่วโมงแรกเป็นเหมือนการทำความเข้าใจ ทำความรู้จักและแบ่งทีมเพื่อเข้าแข่งขัน ช่วงเวลานี้สิ่งสำคัญที่สุดคือการรู้ความสามารถของเพื่อนร่วมทีมและระดมไอเดียของทุกคนเพื่อสร้างโปรแกรมที่ตอบโจทย์ไอเดียนั้น
ธนิน โรจนเพียรสถิต ซีอีโอบริษัทเอ็นเตอร์ไพรซ์แลป เล่าถึงงานแฮ็กกาธอนว่า
“จากประสบการณ์ของผมในการร่วมงานแฮ็กกาธอนจะแบ่งออกเป็นสองอย่าง ก็คืองานที่มีแต่โปรแกรมเมอร์เข้ามาร่วมแข่งขันเขียนโค้ดโปรแกรม ไม่มีเรื่องธุรกิจเข้ามาเกี่ยวข้อง กับอีกรูปแบบหนึ่งก็คือการทำสตาร์ทอัพ มีเรื่องธุรกิจที่มาเกี่ยวข้อง มีทั้งคนที่มีไอเดียแต่เขียนโปรแกรมไม่เป็น มีทั้งออกแบบ นักการตลาด โปรแกรมเมอร์เข้ามาร่วมงานกัน ซึ่งเป็นรูปแบบที่ได้รับความนิยมอย่างมากในเมืองไทย แต่งานของผมนั้นจะไม่มีเรื่องของธุรกิจเข้ามาเกี่ยวข้องจะมีแค่โปรแกรมเมอร์และคนที่สนใจเข้ามาร่วมงานเท่านั้น
“คำว่า แฮ็กกาธอน เริ่มต้นมาจากบริษัท ซัน ไมโครซิสเต็มส์ ที่จัดงานแข่งให้พนักงานของเขามาเขียนโปรแกรมอะไรก็ได้ที่พวกเขาอยากเขียนภายในเวลา 10-12 ชั่วโมง จึงเป็นที่มาของคำว่า แฮ็กกาธอน (Hackathon = Hack + Marathon) คำอาจจะดูติดลบไปสักหน่อยสำหรับคนทั่วไป ความจริงแล้วการแฮ็กนั้นไม่ใช่หมายถึงการเจาะระบบที่มีความหมายในทางลบเพียงอย่างเดียว แต่ยังหมายถึงการแฮ็กสิ่งต่างๆ ไม่ว่าจะเป็นระบบคอมพิวเตอร์ เครื่องมือต่างๆ ที่สามารถเขียนโปรแกรมได้ ให้ทำงานอย่างที่เราต้องการในยุโรปและอเมริกางานแฮ็กกาธอน เป็นที่รู้จักและได้รับการยอมรับอย่างมาก
“เมื่อโปรแกรมเมอร์รวมตัวกันก็อาจจะคุยกันด้วยไอเดียกันก่อนว่า ใครเก่งการเขียนโปรแกรมภาษาอะไรบ้าง แล้วก็มารวมตัวกันว่าจะสร้างผลงานอะไรหรือจะแฮ็กอะไรให้เป็นไปอย่างที่เราต้องการ บางคนที่มาร่วมงานก็ไม่ได้เข้ามาแข่ง เพราะทางผู้จัดงานก็ไม่ได้บังคับว่าจะต้องเป็นโปรแกรมเมอร์ที่มีความสามารถมาร่วมแข่งขัน บางทีก็แค่อยากจะเข้ามาทำงานส่วนตัวของเขานั่งเขียนงานของตัวเองไปเรื่อยๆ อยากได้บรรยากาศสนุกๆ มีอินเทอร์เน็ตไว-ไฟแรงๆ มีอาหารและเพื่อนๆ ที่มีความรักความชอบในสิ่งเดียวกันมารวมตัวกันในงานนี้ เพราะเวลาประกาศรับสมัครเขารับทุกคน ใครได้ก่อนก็ได้เข้ามาร่วมงาน แต่บางงานก็มีการคัดเลือกผู้เข้าแข่งแล้วแต่ว่าใครเป็นคนจัด”
ชั่วโมงที่ 5 หลังการเริ่มแข่ง
ชั่วโมงที่ 5-8 เป็นช่วงเวลาที่ทุกคนเร่งสปีดการเขียนโปรแกรมของตัวเองออกมาให้เร็วที่สุด บ้างก็เขียนไปค้นหาข้อมูลวิธีการเขียนในกูเกิลไป บางคนก็ทำหน้าที่เป็นฝ่ายสนับสนุนให้กำลังใจเพื่อนๆ ที่เขียนโปรแกรมได้เก่งกว่าและถือโอกาสนี้เรียนรู้ไปในตัว
วีรวัฒน์ จีนสุกแสง นักศึกษาชั้นปีที่ 2คณะเทคโนโลยีสารสนเทศและนวัตกรรม สาขาวิศวกรรมซอฟต์แวร์ มหาวิทยาลัยกรุงเทพ ผู้เข้าแข่งขัน บอกว่า
“ผลงานที่ผมสร้างจะเป็นผลงานในการใช้กล้องในการจัดภาพใบหน้าเพื่อใช้ในการเปิดประตูบ้าน หลักการทำงานของมันจะเป็นแบบง่ายๆ ก็คือหากเราลืมกุญแจบ้านก็เพียงแค่กดปุ่มที่กล้องก่อนเข้าบ้าน เพื่อให้กล้องจับภาพใบหน้า จากนั้นระบบจะตรวจดูว่าใบหน้านั้นตรงกับฐานข้อมูลที่สามารถปลดล็อกกุญแจบ้านได้หรือไม่ ถ้าตรงก็จะเปิดกุญแจบ้านพร้อมไฟต้อนรับ
“เป็นแนวคิดง่ายๆ ซึ่งเราสามารถนำไปประยุกต์กับสิ่งเล็กๆ อย่างเช่นการล็อกอินเฟซบุ๊กด้วยการจับภาพใบหน้าหรือการประยุกต์การใช้โปรแกรมด้วยการจับภาพใบหน้าเพื่อการปลดล็อกสิ่งต่างๆ
“ผมชอบเทคโนโลยีอยู่แล้ว ปกติตอนเด็กๆ ผมชอบเล่นเกมอยู่ที่บ้าน ตอนที่ผมชอบเล่นเกมที่บ้านใช้เวลาชีวิตส่วนใหญ่หมกมุ่นอยู่กับคอมพิวเตอร์ จนวันหนึ่งผมได้พบว่ามันมีอะไรมากกว่าการเล่นเกมคอมพิวเตอร์ มันมีสิ่งที่อยู่เบื้องหลังในเรื่องของการเขียนโปรแกรม จึงเข้ามาศึกษาการเขียนโปรแกรมคอมพิวเตอร์ เริ่มจากการเขียนเว็บ ด้วยการเขียนเว็บไซต์ง่ายๆ เช่น การนำเอารูปของตัวเองขึ้นเว็บด้วยภาษาพื้นฐานการทำเว็บด้วยภาษา HTML ด้วยการศึกษาจากกูเกิล ซึ่งมีข้อมูลมากมายสอนเกี่ยวกับเรื่องของการเขียนเว็บไซต์ จนวันหนึ่งมีรุ่นพี่แชร์ข้อมูลงานนี้ไว้ในเฟซบุ๊ก ผมรู้สึกว่าน่าสนใจก็เลยกดเข้าไปสมัครทันที
“แต่ว่าการแฮ็กในครั้งนี้ไม่ได้เป็นการแฮ็กด้วยการเจาะระบบ แปลว่าเป็นการแฮ็กเพื่อปรับปรุงโปรแกรมหรือสิ่งเล็กๆ ที่มีอยู่ให้เป็นไปอย่างที่เราต้องการ สมมติว่าถ้ามีไม้แขวนเสื้อ 1 อัน แล้วอยากจะปรับเปลี่ยนไม้แขวนเสื้ออันนี้ให้ไปทำงานอย่างอื่นเช่นนำไปทำที่ตั้งไอแพด นั่นก็คือการแฮ็กเครื่องมืออย่างหนึ่ง
“คำว่าแฮ็กเกอร์นั้นมีอยู่หลายความหมาย แฮ็กเกอร์ที่เจาะระบบก็มีแต่ในขณะเดียวกันคำว่าแฮ็กเกอร์ก็สามารถใช้กับผู้ที่ปรับปรุงเปลี่ยนแปลงสิ่งเดิมๆ ให้เป็นสิ่งที่ตัวของแฮ็กเกอร์นั้นต้องการ การแข่งคราวนี้ผมจับกลุ่มกับเพื่อนสองคนมาจากมหาวิทยาลัยรังสิต และอีกหนึ่งคนมาจากมหาวิทยาลัยบางมด แบ่งกันไปตามความถนัดว่าใครถนัดอะไรก็ทำอย่างนั้น
“พอเราทำไปได้สักพักจึงได้รู้ว่าความชำนาญในการทำงานของเรานั้นค่อนข้างใหญ่มาก มีความซับซ้อนในการเขียนโปรแกรมหลายชั้น การที่เราจะเขียนให้เสร็จภายในเวลา 12 ชั่วโมงนั้น ไม่สามารถทำได้เสร็จทันแน่ๆ ติดด้วยปัญหาเรื่องระยะเวลาในการเขียนโปรแกรมเพียงอย่างเดียว เพราะสเกลระดับนี้ต้องใช้เวลาทำอย่างน้อยๆ ก็ 3 วันขึ้นไป แต่เราเขียนภายใต้เวลาเพียง 12 ชั่วโมง จึงจำเป็นต้องลดสเกลความซับซ้อนของโปรแกรมลงมาให้เหลือแค่พอทำงานได้อย่างที่เราต้องการ”
กองภณ จรัญวัฒนากิจ นักศึกษาชั้นปี 1 คณะวิศวกรรมศาสตร์ สาขาวิศวกรรมซอฟต์แวร์และความรู้ มหาวิทยาลัยเกษตรศาสตร์ หนึ่งในผู้เข้าแข่งขันอีกคนบอกว่า
“ผมเริ่มสนใจเรื่องคอมพิวเตอร์มาตั้งแต่ชั้น ม.4 เริ่มเรียนภาษาไพทอน(Python Programming Language เป็นภาษาการเขียนโปรแกรมชั้นสูง) เราก็รู้สึกว่าชอบ เราสามารถทำงานเรียนรู้อยู่กับการเขียนโปรแกรมได้โดยไม่รู้สึกเบื่อ พอผมเขียนโปรแกรมแรกไปได้สักพัก พี่ชายที่เรียนเกี่ยวกับคอมพิวเตอร์ก็แนะนำผมให้ลองเรียนการเขียนภาษาจาวาสคริปต์ ซึ่งเป็นภาษาที่มีความยืดหยุ่นสูงทำงานได้ทุกแพลตฟอร์มก็เลยเริ่มศึกษาจาวาตั้งแต่นั้น
“โปรแกรมแรกที่ผมเขียนก็คือโปรแกรมการคิดเกรดเฉลี่ยให้เพื่อนๆ ใช้ เพราะผมเรียนโรงเรียน ผมคิดเกรดจะไม่เหมือนกับโรงเรียนทั่วไปที่มีการคิดหลายขั้นตอน ผมจะมานั่งกรอกคะแนนคิดให้เพื่อนทีละคนก็เสียเวลามากเกินไปเลยเขียนเป็นโปรแกรมให้ใช้ไปเลย จะได้เอาไปคำนวณดูว่าแต่ละเทอมจะได้เกรดเฉลี่ยเท่าไหร่
“หลังจากนั้นก็เลยตัดสินใจเลือกเส้นทางการเป็นโปรแกรมเมอร์ด้วยการศึกษาต่อด้านไอทีที่วิศวกรรมซอฟต์แวร์และองค์ความรู้มาตั้งแต่นั้น จนกระทั่งมีข่าวว่าจะมีการแข่งขันแฮ็กกาธอน ผมเคยรู้จักผ่านการชมภาพยนตร์หลายๆ เรื่อง อย่างเดอะ โซเชียลเน็ตเวิร์ก ในฉากที่ มาร์กซักเคอร์เบิร์ก จัดการแข่งแฮ็กกาธอน เพื่อคัดคนเข้าร่วมทีมพัฒนาเฟซบุ๊ก แล้วก็เห็นในภาพยนตร์อีกหลายเรื่องก็เลยเกิดความสนใจที่จะเข้าร่วมการแข่ง
“ตอนเข้าแข่งผมไปโดยไม่รู้เรื่องอะไรเลย กะว่าไปเล่นพอไปถึงงานจริง ให้แต่ละคนเสนอไอเดีย แต่ส่วนตัวผมไม่มีไอเดีย แต่พอฟังแล้วก็เกิดไฟที่จะคิดไอเดียขึ้นมา ผมว่าที่ยากกว่าการเขียนโปรแกรมก็คือการหาไอเดียมาแฮ็กนี่ละครับ ไอเดียแรกของเราเลยคือเปลี่ยนสมาร์ทโฟนเป็นจอยสติ๊กบังคับในคอมพ์ แล้วก็พัฒนาไอเดียกันมาเรื่องๆ จบที่ไอเดียจากแมคบุ๊กโปรรุ่นใหม่ที่มีอุปกรณ์เสริม ทัชบาร์ ไว้ควบคุมช็อตคัต การทำงานโปรแกรมต่างๆ ในแมค เราเลยคิดกันว่าเราน่าจะทำสมาร์ทโฟนที่เป็นจอทัชสกรีนทำหน้าที่แทนทัชบาร์เพื่อควบคุมการทำงานโปรแกรมคอมพิวเตอร์ได้เช่นกัน
“ในกลุ่มผมมีหน้าที่ทำฟังก์ชั่นหลักให้สมาร์ทโฟนเชื่อมต่อคอมพิวเตอร์ผ่านไว-ไฟให้ได้ อีกคนก็ทำพวกยูสเซอร์อินเทอร์เฟซ แล้ววางแผนการเขียนล่วงหน้าเพื่อให้ง่ายต่อการทำงานและแก้ไข”
3 ชั่วโมงสุดท้ายแห่งความกดดัน
ด้านทีมของ วีรวัฒน์ ยังคงทำการแก้ไขโปรแกรมไปเรื่อยๆ ปัญหาที่มีของเขาพบก็คือการไม่รับคำสั่งของไมโครคอนโทรลเลอร์เพราะต้องอาศัยการเขียนโค้ดที่มีความซับซ้อนสูงและใช้เวลานาน ตอนนี้สิ่งที่พวกเขาทำได้ดีที่สุดคือลดขั้นตอนการทำงานลงให้พอแค่พรีเซนต์การทำงานให้ผ่านไปได้
ในขณะที่ทีมของ กองภณ กำลังเผชิญกับปัญหาใหญ่ที่อาจทำให้ทุกอย่างล้มเหลว
“ผมเจอปัญหาในเรื่องของอินเทอร์เน็ตของอาคารมีระบบรักษาความปลอดภัยที่ไม่อนุญาตให้โปรแกรมสามารถทำงานได้ เราก็ต้องเปลี่ยนมาใช้ฮอตสปอตจากมือถือแทน เท่านั้นไม่พอยังมีก่อนเวลาพรีเซนต์เพียง 3 ชั่วโมง ก็เจอปัญหาแอพที่เขียนในคอมพิวเตอร์พอเอามาลงเครื่องแล้วไม่สามารถทำงานได้อย่างที่ต้องการ เพราะที่ผ่านมาผมเรียนการเขียนและทำงานบนโปรแกรมจำลองในคอมพิวเตอร์อย่างเดียว ไม่เคยเอามาใช้ในเครื่องจริงๆ พอเจอปัญหานี้ผมก็ต้องนั่งค้นหาข้อมูลว่าต้องแก้อย่างไร จนเหลือเวลาแค่ครึ่งชั่วโมงก็เริ่มรันระบบทดสอบก่อนพรีเซนต์ แต่สุดท้ายก็สามารถผ่านไปได้ด้วยดี เหมือนทุกอย่างที่กดดันมาทั้งวันถูกยกออกไปหมดแล้วภูมิใจกับ
ผลงานอย่างมาก
“ประสบการณ์ในการแข่งครั้งนี้ทำให้ผมได้ความรู้กลับมาหลายอย่างว่า เวลาเจอปัญหาในการเขียนโปรแกรมแล้วต้องแก้ไขอย่างไร แต่สิ่งที่ได้มากกว่านั้นคือเพื่อนๆ ที่มีความชอบในสิ่งเดียวกัน ได้แลกไลน์ตั้งกลุ่มพูดคุยแลกเปลี่ยนความรู้ในการเขียนโปรแกรมต่างๆ เพราะแต่ละคนก็มีความสามารถในการเขียนโปรแกรมที่แตกต่างกันออกไป ซึ่งถือว่าเป็นประสบการณ์ที่คุ้มค่าอย่างมาก”
สุดท้ายหลังจบการแข่งอันยาวนานแล้วทีมของกองภณ ก็สามารถคว้ารางวัลชนะเลิศไปได้ในที่สุด ส่วนทีมของวีรวัฒน์ ก็สามารถคว้ารางวัลรองชนะเลิศมาครอง ธนิน ในฐานะผู้จัดงานบอกถึงเกณฑ์การตัดสินว่า
“ผมจะเน้นเรื่องการแข่งเขียนโปรแกรมเพียงอย่างเดียวแล้วดูว่าในเวลา 12 ชม. ใครสามารถเขียนโปรแกรมออกมาได้เจ๋งที่สุด และสามารถทำงานได้จริง อย่างทีมที่ผมชอบมากที่สุดก็คือทีมที่ได้รางวัลชนะเลิศ เพราะเป็นการเขียนโปรแกรมข้ามแพลตฟอร์ม จากแอนดรอยด์ให้ไปบังคับการทำงานของโปรแกรมในวินโดวส์ ซึ่งเกณฑ์การตัดสินหนึ่งของเราก็คือดูการโค้ดดิ้งที่เจ๋งที่สุดออกมาให้ดีที่สุด
“การเขียนโปรแกรมนั้นก็มีหลายภาษา แต่ละภาษาก็มีความสามารถที่เหมือนๆ กัน แต่ว่าจะเหมาะสมกับการใช้งานในรูปแบบที่แตกต่างกันออกไป เช่น การเขียนแอพโทรศัพท์ การเขียนโปรแกรมคอมพิวเตอร์ การเขียนโปรแกรมให้หุ่นยนต์ มีผลงานหนึ่งเป็นการเขียนเว็บไซต์เรียนรู้คำศัพท์ เช่น วันนี้ใครเรียนรู้ศัพท์อะไรก็เอามาแชร์กันในเว็บ ผมว่าก็เป็นไอเดียที่ดี แต่เป็นการเขียนโปรแกรมด้วยแพลตฟอร์มเดียวและภาษาในการเขียนก็ไม่ได้ยากมาก ในขณะที่ผลงานของผู้ชนะเลิศ เป็นการเขียนโปรแกรมข้ามแพลตฟอร์มให้ทำงานร่วมกันได้ซึ่งก็มีความยากขึ้นไปอีกระดับ และยังสามารถทำได้สำเร็จภายในเวลาที่กำหนดอีกด้วย
“แต่การแข่งแฮ็กกาธอนในระดับโลก การข้ามแพลตฟอร์มถือว่าเป็นเรื่องที่ทำกันโดยทั่วไป ตอนนี้ทิศทางกำลังมุ่งเน้นไปที่การเขียนโปรแกรมเอไอ ให้คอมพิวเตอร์สามารถเรียนรู้แยกแยะ พูดหรือแสดงคำออกมาได้ อย่างงานที่ผมเคยร่วมแข่ง มีคนหนึ่งเดินออกมาพร้อมโน้ตบุ๊กที่เปิดกล้องหน้าไว้เพียงเครื่องเดียว แล้วบอกว่าเขาได้เขียนโปรแกรมออกมาให้กล้องสามารถจับภาพวัตถุและบอกได้ว่า มันคืออะไร เขาหยิบกล้วยขึ้นมาหนึ่งใบคอมพิวเตอร์ก็ขึ้นข้อความว่า Banana”
การเขียนโปรแกรมเอไอจัดว่าอยู่ในช่วงที่กำลังพัฒนา ยังไม่มีการสอนมากนัก ยังไม่สามารถหาวิธีการแก้ปัญหาการเขียนได้ในอินเทอร์เน็ต ดังนั้นคนที่เขียนโปรแกรมเหล่านี้ได้จะต้องเป็นคนที่มีความรู้ความสามารถค่อนข้างมาก เมื่อเทียบกับพักหลังๆ ในงานแฮ็กกาธอนจะมีผลงานที่ได้รางวัลจากผลงานแบบนี้ค่อนข้างมาก
“แต่สุดท้ายแล้วผมเชื่อว่าผมคิดว่าเมืองไทยต้องมีจัดงานแบบนี้ขึ้นเพื่อช่วยกันพัฒนาวงการซอฟต์แวร์ และยังเป็นงานที่ให้กลุ่มเด็กๆ ที่ชื่นชอบในเรื่องไอทีโปรแกรมคอมพิวเตอร์ได้มาพูดคุยรวมตัวกัน เพราะส่วนมากเด็กที่เรียนไอทีมักจะเข้ากับคนทั่วไปไม่ค่อยได้ ชอบเก็บตัวอยู่กับหน้าคอมพิวเตอร์ แต่งานแฮ็กกาธอนนี่ละที่จะเป็นพื้นที่ให้พวกเขาได้โชว์ความสามารถในการเป็นแฮ็กเกอร์ที่ดีให้เราได้เห็น”







