ใช้ Password Manager กันเถอะ

สมัยเด็กๆ ผมก็เห็นโปรแกรม password manager อยู่หลายตัวล่ะครับ ก็คิดว่า เอารหัสผ่านมารวมใส่ไฟล์ๆ เดียวแบบนี้นี่ก็ไม่ต่างกับเอามาแปะหน้าจอคอมสิ

จนกระทั่งปีที่ผ่านมานี้ผมเพิ่งได้คำตอบว่าทำไมถึงควรใช้ Password Manager

“รหัสผ่านที่จำได้คือรหัสที่ไม่ดี”

โอเคว่าเราสามารถเลือกรหัสผ่านยาวๆ ได้ จะเป็น correct horse battery staple หรือจะพิมพ์ไทยแบบ pkpdbo]ewpohe]kppkpws]phvp แต่มีใครจำรหัสผ่านไม่ซ้ำกันเลย 60 เว็บไหวไหมล่ะครับ (มันก็เป็นไปได้นะ ประเภทรหัสว่า this is my facebook, this is my twitter แต่หลุดมาสักอันก็พอเดาได้ว่าอันถัดไปจะเป็นอะไร)

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

ฉะนั้นแล้ว ใช้ password manager เถอะครับ แล้วคุณจะมีรหัส 60 เว็บไม่ซ้ำกันแม้แต่นิด


สมัยเด็กผมมีคำถามอีกอันนึงที่ผมสงสัย คือโปรแกรมพวก password generator เนี่ยมันมีไว้ทำไม ออกมาแบบ [uoK=%FBX$I1Hu#CwlRrWY4j ใครจะไปจำได้

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

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


ผมเองก็ใช้ Password Manager มาเกือบครึ่งปีแล้วครับ ก็มีประเด็นหลายอันที่น่าสนใจที่อยากมาเล่าให้ฟังประกอบการตัดสินใจ

Master password

ปัญหาของ password manager คือมันจะมีรหัสแม่ที่ไว้เข้ารหัสฐานข้อมูล หลุดปุ๊บคืองานเข้าเลยครับ รหัสตัวนี้เรียกว่า master password ซึ่งมันน่ารำคาญตรงที่ ตั้งยาวมากก็ขี้เกียจพิมพ์โดยเฉพาะในมือถือ (นึกภาพตั้งรหัสยาวๆ แล้วจะต้องพิมพ์ตอน login แบบไม่ใช้จำรหัสผ่านน่ะครับ แถมต้องทำทุกครั้งที่จะล็อคอินเข้าเว็บ เพราะถ้าไม่ตั้ง auto lock เดี๋ยวจะมีคนมาแอบใช้ตอนลืมลุกจากคอม)

โปรแกรม password manager บางตัวก็จะมีวิธีที่ยอมให้ใช้ 2 factor เข้ามาปลดล็อค เช่นผมใช้ KeePass ก็จะใช้ keyfile ได้ด้วย (คือจะ login ต้องมีทั้ง password + keyfile) ผมก็เอา file database ผมใส่ Dropbox ได้ แต่ keyfile ผมเก็บไว้กับตัวไม่ขึ้น cloud เลย หรืออย่าง LastPass จะใช้ OTP เข้ามาช่วยก็ได้

ในความเห็นผมว่ารหัสผ่านตัวที่สำคัญสุดๆ เช่น อีเมล, Dropbox หรืออาจจะรวมไปถึง servers ด้วย พวกนี้ควรจะจำไว้เองดีกว่าเอาใส่ password manager และควรจะไม่ซ้ำเช่นเดียวกัน (ก็จะเหลือที่ต้องจำไม่กี่ตัวจากกว่า 60 เว็บ)

App

แอพ password manager ก็มีหลายตัวครับ จะเป็น KeePass หรือ 1Password, LastPass หรืออื่นๆ อีกมากมาย แต่ผมยังหาตัวที่ถูกใจไม่ได้ (ตอนนี้ผมเองใช้ KeePass 2 อยู่)

ปัญหานึงของผมคือผมใช้ทุก OS ครับ Windows, Linux, Mac มีหมด iOS ก็มีแต่ก็เหมือนไม่มี Android ก็ใช้ (Windows Phone เอ่อ ช่างมันเถอะ) ก็มาดูกันว่าแต่ละตัวเป็นอย่างไรบ้าง

NOTE: ผมไม่ได้ใช้แอพอื่นนะครับ อันนี้คือข้อมูลที่หามาตอนที่ผมเริ่มใช้ password manager ซึ่งอาจจะไม่ถูก เก่า หรือไม่ครบก็ได้

KeePass

  • Open source (ผมรู้สึกว่าเป็นปัจจัยสำคัญตัวนึงนะ เพราะจะได้มั่นใจว่ามันน่าจะถูก peer-review แล้ว และไม่ทำอะไรตุกติก)
  • Offline — ไม่มี sync
  • มีเฉพาะบน Windows
    • ในลินุกซ์ใช้ mono รันพอได้ โปรแกรม support ด้วย (ใช้ xdotool พิมพ์รหัสแทน) แต่ UI ก็จะมีแปลกๆ บ้าง
    • ในแมคผมใช้ MacPass ซึ่งความสามารถพื้นฐานมาก (คือใช้งานได้แต่อย่าหวังว่าจะมีอุปกรณ์อำนวยความสะดวก)
  • มี chrome extension ช่วย fill รหัสในเว็บ สะดวกมาก ปัญหาคือมันต้องลง plugin และ MacPass ไม่รองรับ (มีอยู่ในแผนงานของเค้า)

ปัญหาของผมกับ KeePass คือ OS อื่นๆ นี่แหละครับ ชีวิตจะลำบากขึ้นเยอะเลย

1Password

  • $69.99 (หรือถูกกว่าถ้าซื้อแค่ OS เดียว)
  • โคตรเอียงไปทางแมค
  • ตอนผมดูนี่ UI App Android ห่วยมาก ตอนนี้ปรับปรุงมาแล้ว
  • ไม่มี cloud ใช้ dropbox อยู่ดี (ผมว่าขูดรีดมากสำหรับราคานี้)
  • ไม่มี Keyfile

LastPass

  • ฟรี*
  • ปีละ $12 ได้ฟีเจอร์ต่อไปนี้
    • Mobile apps (ผมว่าสรุปแล้วก็คือต้องจ่ายแหละ)
    • Yubikey support (เป็น hardware OTP ซึ่งมันมีขายแพคเกจ Yubikey พร้อม LastPass Premium เหมือนกัน)
    • ไม่มีโฆษณา
    • Share รหัส
  • Client เป็น browser extension
  • ใช้ OTP ได้
  • Cloud sync — ไม่มีไฟล์ offline ถ้าไม่ได้ใช้โปรแกรมพิเศษ

ที่ผมไม่ปลื้ม LastPass คือมันเป็น cloud นี่แหละครับ ซึ่งก็มีทั้งดีและไม่ดี และอีกเหตุผลนึงที่ไม่ค่อยชอบคือผมไม่ค่อยปลื้ม client มันเท่าไร

iCloud

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

Mobile

ปัญหาชีวิตมันจะมากขึ้นเมื่อมาอยู่ในมือถือครับ เพราะต้องจัดการเรื่องการ sync ให้ปลอดภัย และการพิมพ์รหัสผ่านจะยุ่งยากขึ้น

ตอนนี้ KeePass ผมใช้แอพ KeePassDroid อยู่ (open source) ซึ่งก็ค่อนข้างโอเค มีฟีเจอร์เยอะดี (เยอะกว่า MacPass ล่ะ) ไอเดียที่น่าสนใจคือโปรแกรมมี QuickUnlock ซึ่งปิดหรือตั้งค่าได้ คือเวลาไม่ใช้สักพักโปรแกรมจะล็อคให้ แต่จะถามรหัสผ่าน 3 ตัวท้าย (หรือมากกว่า ตั้งได้) ก็จะสะดวกในการพิมพ์

ผมเองอยากให้มันล็อคแบบปัดๆ เหมือนหน้าล็อค Android นะ แต่คิดว่าเค้าคงไม่ทำเพื่อป้องกันการแอบอ่านรหัสจากในแรม

สำหรับการ Sync ตัวโปรแกรมรองรับ Dropbox ครับ หรือ cloud อื่นๆ หลายตัวเลย ก็สะดวกดี

ปัญหาที่จะเจอต่อมาคือการเอารหัสไปใช้ครับ ในคอมเนี่ยมันมี browser extension ดึงไป แต่ในมือถือก็จะใช้วิธี copy paste ซึ่งก็จะยุ่งยากกว่าและไม่ปลอดภัย บางแอพอย่าง KeePassDroid เองก็จะมี keyboard ให้แทน

ผมชอบระบบของ KeePassDroid นะครับ คือจะเข้าเว็บอะไรก็แล้วแต่ ให้กดแชร์ไปที่แอพมันแล้วมันจะเปลี่ยน keyboard เป็นของมันให้เลย ก็แค่จิ้มช่อง user กด User จิ้มช่องรหัส กด Password แล้วกด Go จะเปลี่ยน keyboard กลับให้เป็นอันเดิมเลยด้วย แต่จะทำได้ก็ต้อง root และลงแอพ Secure Settings นะครับ ถ้าไม่ลงแอพหรือไม่รูทต้องสลับ keyboard เอง

สำหรับการ login ในแอพอื่นๆ KeePassDroid รองรับการที่ใส่ Package Name กำกับรหัสผ่าน เวลาล็อคอินก็แค่เปิด keyboard มันมา กดหารหัสผ่านก็จะเจอโดยอัตโนมัติแล้วก็เข้าได้เลย (ตรงนี้อาจจะฟังดู setup ยาก แต่ถ้าใช้คำสั่งค้นหาครั้งแรกมันจะ list รหัสทั้งหมดให้ พอเลือกรหัสแล้วก็จะถามเลยครับว่าจะกำกับ Package Name เลยมั้ย)

สำหรับใน iOS ผมอยากรู้เหมือนกันว่าจะกลายเป็นยังไง แต่มี keyboard API แล้วคงไม่เลวร้ายแล้วมั้งครับ

เครื่องชาวบ้าน

ปัญหาที่เลวร้ายที่สุดคือเครื่องชาวบ้านครับ

LastPass ใช้วิธีเอาแอพใส่ USB ไปจิ้ม ก็จะแนวเดียวกับ KeePass แต่ผมว่ามันไม่ปลอดภัยในการเอาไฟล์รหัสผ่านไปเสี่ยง ก็เลยต้องยอมเปิดมือถือมานั่งพิมพ์รหัสยาวๆ ยากๆ แทน (เคยพิมพ์จน internet banking lock เพราะผมมองไม่ออกว่าเป็นตัวอะไร)

ไอเดียนึงที่ผมว่าน่าสนใจมากคือ KeePassDroid รองรับอุปกรณ์พิเศษตัวนึง (แพงอยู่) ซึ่งเสียบกับคอมแล้วจะเห็นเป็น keyboard และต่อกับมือถือทาง Bluetooth เราก็สามารถกดให้ KeePassDroid ส่งสัญญาณไปให้ keyboard พิมพ์รหัสผ่านลงไปได้เลย แต่ข้อเสียของวิธีนี้คืออุปกรณ์มันแพงนั่นแหละครับ และก็มันส่งแบบไม่เข้ารหัสด้วย

สรุป

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

2014: หวานขม ระคนกันไป

ผมรู้สึกว่าผมพยายามหาเส้นแบ่งระหว่าง 2013 กับ 2014 ไม่ค่อยเจอ วันก่อนผมอยากหาสักเกมเป็น Game of the Year พอมานั่งดูแล้วก็เพิ่งรู้ตัวว่า BioShock Infinite นั่นก็ปีที่แล้วแล้ว หรือว่าตอนผมได้รางวัล NSC, APICTA ผมก็ไม่แน่ใจว่ามันปีหรือสองปีก่อนกันแน่ เวลามันผ่านไปไวเหลือเกิน

หรือบางทีอาจจะเป็นว่าปีนี้ผมไม่ได้ทำอะไรเลยก็ได้มั้ง..

Sophomore slump

ต้นปีจบปีหนึ่งมาด้วยเกรดอย่างอลังการมากชนิดที่ว่าถ้าจบตอนนี้คงได้เกียรตินิยมอันดับ 1 แต่หลังจากเกรดออกไม่นานซัมเมอร์ก็เริ่มต้นขึ้นกับแมท 2

ก็ตลกดีว่า ผมบอกคนอื่นว่าผมไม่ถนัดแมท แต่ถ้าถามว่าแมทผมได้เกรดอะไรผมจะบอกว่าได้ A สองตัว (กับ W ตัวนึง)

eXceed Camp

ที่ภาคจะมีกิจกรรมหนึ่งครับคือ eXceed camp (บังคับ, มีเกรดด้วย) ซึ่งผมว่ามันเจ๋งมากๆ

วันแรกๆ เป็นกิจกรรม ice breaking ผมเกลียดกิจกรรมประเภทนี้มาก แถมที่ exceed เล่นซะวันครึ่ง ก็พยายามจะไม่นับเวลามันก็ผ่านๆ ไป

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

หลังจากผ่านไปทั้งวันกับอีกครึ่งคืนก็ได้เป็นเกม Strength ครับ ชื่อเกมนี่คือเอาชื่อธีมโจทย์มาตั้งเลย ง่ายดี 555

ตอนทำนี่พบเลยว่าปัญหาคือผมโค้ดระบบเตรียมไว้พอสมควรแล้วครับ แต่พอทำไปสักพัก game designer ขอให้ผมทำระบบอีกอันนึงใช้ในห้องบอส (ผมจำไม่ได้แล้ว) ทีนี้มันดึกๆ ผมง่วงแล้วก็เริ่มขี้เกียจโค้ดล่ะครับ แต่สุดท้ายก็เข็นแบบเผาๆ มาให้​ ต่อมา designer เดินมาให้ผมเพิ่ม ability อีกอันนึงเลย ผมบอกผมไม่เพิ่มแล้ว ถ้าเพิ่มมันจะไม่เสร็จ เพื่อนเลยไป hack code ผมเองแล้วส่งมา ผมเปิดดูปรากฏว่าจริงๆ ระบบที่ผม design มามันประยุกต์ใช้ได้อยู่แล้ว -*-

แต่ปัญหาที่ง่วงที่สุดคือลงบันไดครับ ผมลืมคิดสนิทเลยว่าลงบันไดยังไงได้ (เพราะลงมามันจะทับ trigger ขึ้นบันไดแล้วติดลูป) พอใกล้เสร็จเพื่อน beta test (น่าจะเกือบเที่ยงคืนตีหนึ่งแล้วตอนนั้น) แล้วแจ้งมาที่ผมนี่คิดไม่ออกเลยว่าจะทำยังไง (ในหัวมีแต่ว่าวางจุดเกิดเวลาลงบันได แต่มันหลายฉากผมขี้เกียจแก้) สุดท้ายแล้วใช้วิธีบวกตำแหน่งไปโง่ๆ เลยครับ ก็จะมีบางด่านที่มันจะลงบันไดมาแล้วไม่เนียนเท่าไร แต่ผมก็ถือว่าไม่ game breaking แล้วส่งละกัน

วันต่อมาก็จะมี present งานครับซึ่งก็มีปัญหาที่ผมเซ็งมากๆ คือผมใช้ virtual joystick ปรากฏว่าอาจารย์ในภาคไม่มีใครใช้ virtual joystick เป็นสักคน (คือลากจากจอฝั่งหนึ่งไปสุดจออีกฝั่งเลย แทนที่จะลากมานิดเดียว) ซึ่งตรงนี้ผมก็ว่า virtual joystick มันก็ไม่เหมาะกับเกมมือถือล่ะครับ แต่เกมแนวนี้ผมยังไม่เห็นว่าจะมีใครในโลกที่คิดคอนโทรลดีกว่านี้ได้

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

ญี่ปุ่น

เพิ่งเคยไปญี่ปุ่นครั้งแรก ถึงจะไปแค่ฟุกุโอกะก็เถอะ ผมว่ามันเปิดหูเปิดตามากเลยนะ (มากกว่าเล่นเกม Go Go Japan อะ นั่นมันตลกมากที่ตัวละครหลักตะลึงกับบัตร NFC) อย่างเช่นห้องน้ำในสถานีรถไฟใต้ดินนี่ผมอยากให้มีบ้าง หรือแม้แต่ตั๋วเที่ยวเดียวที่เป็นกระดาษแถบแม่เหล็กก็ดูแปลกใหม่ดี ผมก็ไม่คิดว่าจะมีการเอาแถบแม่เหล็กมาใช้แบบนี้ด้วย

อันนึงที่ตื่นเต้นมากคือ JR หนแรก ผมเห็นภาพสถานีรถไฟในอนิเมะมาเยอะมาก โดยเฉพาะใน Hanasaku Iroha (รวมไปถึง PV Omokage Warp) พอเห็นของจริงแล้วก็ว่ามันก็เหมือนใน PV นี่แหละ ผมว่ามันมีฟีลแปลกๆ กว่ารถไฟฟ้าเรานะ แต่รถไฟไทยนี่ผมยังไม่เคยขึ้น อาจจะได้ฟีลเหมือนกับเขาก็ได้มั้ง

(ติ่ง nano.RIPE สุดๆ ขนาดไปหาซื้อแผ่น Plus to Minus no Shikumi มาฟัง)

KUSmartBus

ผม expect ว่าปีนี้ KUSmartBus น่าจะสนุกเพราะจะขยายโครงการต่อเฟสสอง ปรากฏว่างบเฟสสองขอพักไปก่อน โครงการก็เลยไม่ได้ทำอะไรต่อเท่าไร แต่ขณะเดียวกันผมที่นั่งซนกับโครงการอยู่ก็ได้อะไรหลายอย่างเลยครับ

  • ผมลองเล่นระบบ Google Cloud Messaging มา push สายรถที่กำลังเข้าป้ายลงมือถือ (เสียดายว่า ETA ในแอพจากกองยานฯ มาวิศวไม่ค่อยแม่นผมเลยไม่ได้ใช้เองเท่าไร และหลังๆ ระบบคิด ETA มันรวน)
  • ผมขอส่วนจอแสดงผลสายรถไปทำเอง ก็กลายเป็นว่าผมมีโฮสต์ 3 ตัวที่ต้องดูแล ก็เลยมาลองเล่น Fabric และตอนหลัง Ansible (ปีที่แล้วผมเล่น Chef/Puppet แล้วงงมาก เพิ่งมาพบว่า Ansible ง่ายมากกกกก) โปรเจกท์ NSC ผมก็จะใช้ Ansible ด้วย
  • ฝั่ง Android ก็เขียนอะไรไปเยอะเลยครับ อัพเดตบ่อยเหมือนกัน ผมชอบหลัก release early, release often ตามสไตล์ลินุกซ์ พอมาใช้กับ Android ก็พบเลยว่า user ไม่ยอมอัพเกรดกันเท่าไร และถ้าแอพพังเตรียมหายไปดาวนึงได้เลยถึงจะปล่อยตัวแก้มาอย่างไว ปีหน้าจะมี material design มาให้ใช้นะครับ รอ Play Service 6.5 ออกก่อน

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

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

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

ปลายปีมานี้ตัวจอเหลือจอเดียวแล้วครับ network กับ power เสียไปหลายจุด กำลังทยอยซ่อมอยู่

Terror of Tiny Town

มีช่วงหนึ่งผมว่างๆ ไม่มีอะไรทำ ช่วงนั้น Twitpic จะปิด TwitchTV ก็จะลบคลิป ก็เลยได้วนเวียนกลับไปที่ ArchiveTeam อีกที ก็เห็นว่าเค้าอยากได้คนช่วยทำระบบเก็บ URL Shortener ซึ่งผมเห็นเค้าทำมาหลายปีแล้วไม่เสร็จสักที ก็เลยเข้าไปช่วยครับ เค้าแทบไม่มีเลยว่าต้องทำอะไรบ้างแค่ว่าทำให้มันเสร็จ

ผมงมอยู่สองสามวันก่อนจะเริ่มงานได้จริงจนกระทั่งตอนนี้ก็เข้าขั้น beta test แล้วผมก็หายเข้ากลีบเมฆไป (อยากช่วยต่อนะครับ แต่เริ่มมีงานอื่นมาแล้ว) เหมือนโค้ดผมจะเป็นภาระให้คนดูแลด้วยครับเพราะผมเองไม่ได้คิดเรื่องที่เค้าใช้จริงเท่าไรว่า data เค้าจะมีมหาศาล ผมก็โค้ดไปแบบง่ายๆ โง่ๆ มากแล้วตอนหลังเค้าก็ต้องเริ่มมาไล่แก้ของผมที่บางจุดโหลด data ทั้งหมดใส่ memory ไป และยังต้องมีการลบ data ที่ export ไปแล้วออกด้วยเพื่อไม่ให้กินพื้นที่

Project นี้นี่ที่ความรู้ได้เยอะที่สุดคงเป็น Python 3 ล่ะครับ ผมเองไม่เคยเขียนมาก่อนเลย พอใช้ดูแล้วก็พบว่ามันไม่ค่อยโหดร้ายเท่าไร แล้วก็ได้เรื่องการไปนั่งแกะโค้ดชาวบ้านด้วย

NSC

ผมว่าอยากได้ถ้วยที่ 1 NSC อีกสักใบ ก็เลยมองหา project ทำอยู่ ถามอาจารย์ในคณะแล้วก็ยังไม่ได้อะไรถูกใจ ก็คุยๆ กับอาจารย์โครงการ KUSmartBus อยู่ว่าจะเอาไปส่ง แต่สุดท้ายก็ปล่อยผ่านไปเพราะหมวด mobile ไม่ได้ถ้วย มีวันนึงนั่งนึกๆ อยู่แล้วก็ได้ไอเดียมาทำ

ผมรู้สึกอย่างนึงว่า NSC ยุคหลังๆ เริ่มผลักดันให้ต่อยอดมากขึ้น อาจจะไม่ได้ทางตรงแต่มาจากงานอื่นๆ ที่มาเชิญชวนให้ไปลงด้วย เช่น TICTA, ICT Princess Awards, ต่อกล้าฯ ซึ่งจากที่ผมสัมผัสมาสิ่งที่หลายๆ โครงการเหล่านี้ถามถึงคือด้าน business แต่ถ้าสิ่งที่ผมทำเนี่ยมัน plan มาด้วยการที่จะเป็น open source มาแต่ต้นแล้วผมจะไปพูดยังไงให้มันดูดีเหมือน commercial product ที่มันขายอยู่ (นึกภาพว่าผมบอกว่า project open source ผมมียอด download กว่า 200 ครั้ง กับผมบอกว่าโปรแกรมผมขายให้บริษัท 3 ที่ อันไหนดูดีกว่ากันล่ะครับ)

เกรดปีสอง

ตอนแรกก็อยากได้ A รัวๆ อีกนะครับ ออกมาตัวแรกเป็น B+ แล้วนีี่ก็เลิกลุ้นละ

Barcamp Bangkhen 5

นั่นสิ ผมยังไม่ได้บล็อค Barcamp ปีนี้เลย

ปีนี้ผมเป็นสตาฟงานตามที่ตั้งเป้าไว้ปีก่อน และพอจัดงานมาก็พบว่ามันมีอะไรๆ มากมายกว่าที่คิดไว้ในหัวเยอะมาก (ในหัวผมมองถึงแค่ว่าทำเว็บงานแล้วก็จบ ปรากฏว่าผมได้ไปนั่งคุมเวทีพิธีเปิดอีก)

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

2014 Goals

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

Frag Cake Challenge ภาคต่อ

ตอนผมประกาศจะทำใหม่ๆ ผมมีเกมประมาณ 150 เกม แล้วมันก็มาที่ 200 250 เผลออีกทีตอนนี้จะ 400 แล้ว ถึงผมจะพยายามลดการซื้อบันเดิลอย่างมากจนแทบจะเลิกไปเลย

ผมมองๆ ดูแล้วก็พบว่าเกมที่มันยังค้างอยู่เนี่ย หลายเกมก็เกมเดิมๆ ที่ไม่อยากเล่นนั่นแหละ ผมเบื่อเกมพัซเซิล เกมแพลทฟอร์มเมอร์เต็มที่แล้ว

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

ที่คิดว่ามันเฟลคือสุดท้ายแล้วผมก็ไม่ได้เขียนบล็อครีวิวต่อ ปีนี้มีแค่ Narcissu ละมั้งที่ผมอวยจนมาบล็อค

ซื้อโปรแกรมแท้

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

อีกเหตุผลนึงที่ไม่ได้ซื้ออะไรเลยคือผมมองจาก trendline นั่นแหละครับว่าปีนี้จะรับงานลูกค้า ผลปรากฏว่าซัมเมอร์เรียนเยอะจนผมก็ไม่ได้รับงานอะไรเลยทั้งปี

และสุดท้ายผมคาดไว้ว่า Sublime 3 จะออก ก็ไม่ออก ไม่รู้ว่ากว่าจะออกผมจะพร้อมย้ายไป Atom หรือ Bracket เลยหรือเปล่า

Contribute เข้าโปรเจทก์ open source

ตอนเขียน goal นี้มาผมตั้งใจว่าจะ contribute อะไรเป็นประจำ ก็ไม่แน่ใจว่า Terror of Tiny Town นี่น่าจะเป็นไปตามความตั้งใจหรือเปล่าเพราะมันก็ไม่ได้ขนาดใหญ่มาก (แต่ผมหวังว่าในอนาคตมันจะเป็นข่าวแล้วผมจะไปอ้างอิงได้ว่าผมเป็นคนช่วยสร้างและเป็น committer)

ปีนี้ผมเจอบั๊กจาก Symfony ที่เป็นตั้งแต่ปีที่แล้วที่ทำ grader แล้วครับ ผมปล่อยผ่านไปแล้วใช้ workaround แต่พอเพื่อนออกโจทย์มาแล้วมันบอกว่าออกโจทย์หลบบั๊กนี้ไม่ได้ ก็เลยต้องไล่ดูจนกระทั่งได้เป็น pull request 11264 ไปที่ Symfony

ส่งไปแล้วก็รู้สึกได้เลยครับว่าการส่งโค้ดเข้า project ใหญ่ๆ ถึงผมจะแก้บั๊กบรรทัดสองบรรทัดแต่ตรวจกันโหดมาก ให้ผมเขียน test ให้อีกด้วย (จริงๆ ควรจะทำแต่ต้นแล้วนะ..) ประเด็นเค้าคือว่าการส่งโค้ดให้เค้าไม่ได้แปลว่าช่วยเค้าแต่เป็นการที่ทำให้เค้าต้องรับภาระดูแลโค้ดผมต่อไปในอนาคตอีกด้วย ฉะนั้นแล้วก็เลยต้องตรวจรับกันดีๆ ก่อนครับ

Game engine

ปีก่อนผมว่าอยากทำเกมเอนจิ้น

ผมดูท่าทีแล้วคิดว่าคงไม่มีเวลาขนาดนั้นแล้วล่ะ แถมเกมเอนจิ้นยุคนี้ก็เริ่มง่ายขึ้นเรื่อยๆ นี่พ่อผมมาบอกว่ามีง่ายกว่า Construct2 แล้ว ผมยังไม่ได้ลองดู

สรุป

  • Frag Cake Challenge ภาคต่อ: Replanned
  • ซื้อโปรแกรมแท้ FAIL
  • ทำเว็บกิจกรรมนิสิต Cancel
  • Staff Barcamp Bangkhen 5 SUCCESS
  • Contribute เข้าโปรเจทก์ open source ขนาดกลางๆ บ้าง SUCCESS
  • ส่ง NSC **SUCCESS

2015 Goal:

  • ดู Durarara 2 (เหมือนมีอีกเรื่องนึงนะ ยังนึกไม่ออกว่าคิดเรื่องอะไรไว้)
  • ไป APICTA อีก ไหวมั้ย? (คงไม่มั้ง…)
  • อยากได้ 5A อีก
  • NSC ที่ 2 ขึ้นไปได้มั้ย
  • กลับมาทำบัญชี ไม่งั้นตั้ง goal ซื้อของนี่ไม่ได้เลย