NLC11 & NSC13

ดองมานานมากๆ แล้วขอมาบล็อคหายดองหน่อย เนื่องจากคาใจเรื่องนึงที่จะบ่นอยู่

ก็จบไปแล้วสำหรับ NLC11 และ NSC13 ที่เราได้ที่ 1, 2 ตามลำดับ

NLC11
————
– วันแรกยังเหมือนปีก่อนๆ
– วันที่สองนี่สงสัยกลัวผม dominate เลยกำหนดให้แจกคะแนนทุกคนที่ทำได้ ก็ดีด้วยครับเพราะผมจะได้ไม่ต้องรีบทำนักและไม่ dominate จนพาคนอื่นๆ เสียกำลังใจหมด
– เหมือนว่าปีนี้น้องๆ หน้าใหม่กันเยอะมาก ก็ขอให้โชคดีกันในปีต่อๆ ไปนะครับ
– โดยรวมแล้วปีนี้ผมยังถือว่างั้นๆ โจทย์รอบสองออกแบบมาให้ผมสนุกกับมันมาก แต่ผมยังคิดว่า hack เล่นกันแบบ NLC9 เป็นอะไรที่สนุกที่สุด (แต่ทีมงานคงไม่สนุกด้วย) มันเหมือนมาคุยกันมากกว่าจะเป็นกิจกรรมการแข่งขัน และไม่ใช่คุยเฉยๆ แต่แสดงฝีมือกันเต็มที่ไม่ว่าจะเป็น chat server, message wall, internet tethering

NSC11
———–
ปีนี้ผมกลัวทีมจากมหิดลมากๆ เพราะยังไม่ทราบรายละเอียดแต่ว่ามหิดลจะเน้นจุดขายด้าน Algorithm ซึ่งผมมีปัญญาไปแข่งกับเขา (เพราะถ้าผมทำอะไรซับซ้อนหน่อยโค๊ดมันจะซับซ้อนด้วย recursive loop แล้วเขียนไปมึนไป) แต่พบว่าทีม Jerboa ไม่น่ากลัวเลยเพราะว่า social impact หรือ economy มันไม่มีเพราะว่าในตลาด ckeditor, tinymce, yui editor มันมีดี ฟรี อยู่แล้ว ส่วนอีกทีมผมดู demo เค้าแล้วน่ากลัวทีเดียว คือใส่โค๊ด C เข้าไปมันวาด flow chart ออกมา พร้อม visualize การทำงาน และอีกทีมนึงที่ผมเห็นแล้วกลัว คือทีม Facebiz ซึ่งพ่อผมไปดูเค้า demo (ผมยังไม่ได้ไปดูบูทเค้าเลยถึงจะอยู่ตรงข้ามกัน) แล้วบอกว่าเป็น Facebook clone

แต่สิ่งที่ผมคิดมันไม่ใช่! ผมไม่เข้าใจกรรมการมากว่าทำไมให้ wysiwyg editor ได้ที่ 1 เพราะจากหมวดการให้คะแนน คือ

– Creativity
– Technical
– Look & Feel
– Social Impact/Economy

สำหรับผมแล้วผมมองว่า Creative พอมีอยู่บ้างเพราะผมเองก็คิดว่า wysiwyg editor มันสมบูรณ์สุดๆ แล้วบน desktop, Technical เขาบรรยายให้ผมฟังแล้วผมยังไม่เห็นว่ามันจะยาก (ไปเปิดซอร์สเค้าดูก็ไม่ยากนะ แต่ส่วนเรียงโค๊ดนี่ยากกว่า เค้าไม่ได้พูดถึง) แต่บรรยายให้ฟังดูยากหน่อย, ความสวยงามนี่ไม่รู้จะให้ยังไงเพราะมันมีปุ่มเดียว จะบอกว่าไม่สวย ก็ไม่รู้จะทำยังไงให้สวย ถ้าบอกว่าสวยมันก็ยังน้อยไปคือปุ่มลอยๆ อันนึง และ Social Impact ก็ดังที่ว่าไว้ข้างต้น

กลับมานั่งคิด ผมว่าผมตีความคำว่า Social Impact ไม่ตรงกับกรรมการแน่ๆ ผมมองว่าโปรแกรมของเราจะเปลี่ยนอะไร ซึ่ง OvzCP (โครงงานผม) จะผลักดัน VPS Hosting ในบ้านเรา (ฝันไปเถอะ) และโปรแกรมนี้ผมยังเอาไปขายแข่งกับฝรั่งได้ แต่กรรมการน่าจะมองถึงความกว้างของ User Base ที่ของเขาใครๆ ก็ใช้ได้ (มองดูผลการแข่งขัน คือ Jerboa, OvzCP, C Visualizer, โปรแกรมตรวจข้อสอบ 2 ตัว, Facebiz แล้วก็เหมือนว่ามันเรียงตามความกว้างของ User base ชัดๆ)

มาดูผลการแข่งขันย้อนหลังดีกว่า

– **NSC13**: Jerboa, OvzCP, C Visualizer, โปรแกรมตรวจข้อสอบ 2 ตัว, Facebiz
– **NSC12**: iberrycontrol (web hosting manager), Thai handwriting input to speech, ไม่มีที่ 3, School CMS, DekHub (Student social network) ผมมองว่าที่ 1,2 มันสลับกันอีกแน่ๆ และทำไมคนทำ Facebiz ได้ที่ 5 ทุกปีเนี่ย
– **NSC11**: กระดานแห่งอนาคต, โลกสวยด้วยมือคุณ, โลกเงียบไม่เหงา สื่อผสมตัวสะกดนิ้วมือไทย, แปลงดนตรีไทยเป็นดนรีสากล, ระบบจัดการคลังห้องพยาบาล ปีนี้ผมก็ส่งครับ แต่ไม่ได้รางวัล และผมไม่ว่างไปดูโครงงานอื่นเลยมัวแต่เล่นเกมที่บูท -*-
– **NSC10**: ไม่มีที่ 1, Smart LAN manager, Network manager, เครื่องบินสอดแนม, น้ำ 2550, Media Center PC, Online project manager

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

สุดท้ายก็ยังไม่ได้ไอเดียทำโครงการปีหน้าอยู่ จริงๆ มีอยู่แล้วน่ะครับ แต่ตัวนึงเป็น issue tracker ก็อาจจะลงเอยแบบที่ 5 NSC10 เป็นได้ ซึ่งผมอาจจะเอา feature ด้าน social network เข้ามา แต่มันจะลงเอยแบบที่ 5 NSC13,12 ซึ่งทำ social network แต่กรรมการอาจจะไม่อยากสังสรรค์กับใคร ส่วนอีกโครงการผมยังหาหมวดดีๆ ลงไม่ได้ และดูจากแนวโน้มแล้วไม่น่ารอดพ้นที่ 3 ไปได้

**tl;dr:** ตกลงว่านิยามของ โปรแกรมประยุกต์ใช้งาน นี่มันคืออะไร เขียน library? แล้วเกณฑ์การให้คะแนนเค้าให้ตามนั้นจริงหรือเปล่า หรือว่าเออ โครงการนี้คนใช้ได้เยอะ เอาที่ 1 ไปแล้วกัน

#nlc11

กลับมาแล้วจาก #nlc11

ปีนี้ผมค่อนข้างจะดีใจมากที่เป็นโจทย์เขียนเว็บ เพราะผมถนัดมากๆ และยิ่งได้ e-commerce นี่ยิ่งง่ายมาก แต่ผมกังวลว่า HTML5 จะใส่ตรงไหน (ไว้จะเฉลยต่อไป) จากประสบการณ์ผมเมื่อ #nlcX พบว่า SC SS จะไม่ได้ช่วยงานอะไรมากนักเลยต้องคิด assign เพิ่มเข้าไป แต่งานนี้ไม่ใช่ ผมเลือกทำเว็บ e-commerce ด้วย Drupal ครับ ผมลองใช้ Drupal 7 มาก่อนแล้วพบว่ามันไม่ work คืนก่อนไปงานผมเลยติดตั้ง UberDrupal ซึ่งเป็น installation profile ไปก่อน (เหมือนจะมีคนเข้าใจว่าผมทำมาก่อน จริงๆ ผมแค่ลง ajax cart เข้าไปจากตัวนั้นครับ ที่เหลือมันเป็นแบบสำเร็จรูป แค่คืนรููปจากไฟล์เป็น database ก็เสร็จแล้ว) แต่ก็ต้องมีการปรับ

– ด้านเนื้อหาผมเพิ่ม Taxonomy Vocabularies จำนวนหนึ่ง แล้วให้คนที่ไม่น่าจะช่วยอะไรได้ นั่ง add ไปเยอะๆ
– หลายๆ คนบอกว่า Drupal ใช้ยาก เพราะคนเหล่านี้ไม่รู้จักการใช้มอดูลปรับปรุงระบบแอดมิน ซึ่งผมเห็นทุกกลุ่มที่ใช้ Drupal ก็ไม่ได้ใช้ระบบพวกนี้เลย สมัยก่อนผมเลือกใช้ Rootcandy ครับ ค่อนข้างดีเลยทีเดียว แต่ปัจจุบันผมใช้ Rubik theme + Admin module ซึ่งเมนูมันผมไม่ชอบ แต่ว่า Rubik สวย เลยใช้
– AJAX Cart อย่างที่บอกไป ใช้ AJAX ได้คะแนนครับ ผมเลยใช้ AJAX Cart + AJAX module
– สิ่งที่ Ubercart ขาดคือ block รายการ order ซึ่งตรงนี้ผมใช้ Views implement เอาครับ ไม่ยากเลย
– ผมสร้าง block แปะหัวหน้า order list เป็นลิงก์ไป Track & Trace ของไปรษณีย์ไทย (น่าจะนึกถึง form ก่อนนะเนี่ย ):)
– ธีมผมจำชื่อไม่ได้แล้วครับว่าใช้ตัวไหน ผมมองแล้วว่าไม่สวยมากๆ แต่พอผมเปลี่ยนสีหน่อยมันสวยจริงๆ ด้วย (แต่ผมชอบอันที่มันแถมกะ uberdrupal มากกว่า แต่ตัวนั้นสีมันหม่นจน [ShopIt](http://shop.ubuntuclub.com) ขายไม่ออก)

สุดท้านสำหรับ HTML5 ผมก็นึกไม่ออกนะครับ ว่าจะทำยังไงเพราะ e-commerce จะมี notification เด้งมาก็คงไม่ใช่ จะมี CSS Transform เดี๋ยว Firefuck ก็เข้าไม่ได้ จนหันไปมองจอสองเจอว่ามี Geolocation + Reverse Geocoding ที่น่าทำมาก ผมก็เลยเอามาทำ คือพอถึงหน้าใส่ที่อยู่ ระบบจะตรวจสอบว่ามี geolocation api หรือไม่ ถ้ามีจะมีปุ่ม พอกดแล้วมันจะหาตำแหน่งจาก HTML5 Geolocation API อัตโนมัติ แล้วยิงเข้า Reverse geocoding ได้ที่อยู่และรหัสไปรษณีย์ออกมาจากนั้นก็กรอกลงฟอร์มเป็นอันเรียบร้อยครับ ซึ่งกลุ่มอื่นๆ มักจะเข้าใจผิดว่า widget ที่เป็น JavaScript วูบๆ มันเป็น HTML5 แต่ไอ้พวกนั้นมันมีตั้งแต่สมัย DHTML แล้วครับ (เพียงแต่เพิ่งมาฮิตในยุคหลังที่ browser ทำงานพวกนี้เร็วขึ้นมาก)

สำหรับการ present ผมเองรู้สึกว่าผมไม่ถนัดด้าน presentation มากๆ แต่พอเริ่มนำเสนอแล้วเนื่องจากว่าผมเขียนเนื้อหามาฮาๆ ก็เลยมัวแต่ฮา ไม่ประหม่าอะไร ก็สั่ง iPad ตัวละ 190 ไป 50 ตัวครับ เรียกเสียงฮาจากผู้ชมได้พอสมควร และพอเปิดให้ดูยอดขายยิ่งฮาเพราะผมขายจอตัวเป็นล้านไปร้อยตัว ยอดขายเลยเป็นสองหมื่นล้าน แต่ในการ present นี้ผมก็พลาดลืมหลายๆ ส่วนไปเยอะเลยครับ เช่นว่าตอน 30 วินาทีสุดท้าย ผมกะจะเปิดคลิปจับผิดศาสดา แต่ก็รีบจนลืมไปเลย ส่วนการตอบคำถามผมรู้สึกแปลกใจที่กรรมการไม่ถามหลายๆ คำถามที่กลุ่มอื่นโดน (ทราบทีหลังว่ากลุ่มที่โดน คือไม่รู้จะให้คะแนนยังไง) เช่นว่า meta ที่ผมรับมือไว้แล้ว (บังเอิญไปเจอว่าธีมรองรับ เลยทำครับ ไม่ได้ลงมอดูลเพิ่ม) หรือจะเป็นเรื่อง license ที่โลโก้ผมเป็นลุงแซมเป็น PD ส่วนรูปในเว็บผมก็ใส่ credit และใช้ใน resolution ต่ำก็จะเข้าข่าย Fair Use (ในไทยไม่มีเรื่อง fair use ตรงๆ ครับ แต่ใน พรบ. ลิขสิทธิ์ก็จะมีอยู่หลายข้อ แต่เว็บที่ผมก๊อปมามันไม่ใช่เว็บไทย) แต่เรื่อง Geolocation บน Firefox นี่ผมก็เคืองจริงๆ ครับว่ากดปุ่มปุ๊บมัน error ใน source ของ Firefox และ Firefox 4 ก็ไม่มี geolocation provider ที่ดีเท่า chrome! นี่มัน browser เหี้ยอะไร (ปัจจุบันเว็บส่วนตัวผมจัด non-webkit อยู่ในชั้นเดียวกับ IE คือ not-supported ปล่อยตามเวรตามกรรมที่ developer มันทำมา)

ขอบคุณทุกท่านสำหรับรางวัลขวัญใจมหาชนนะครับ