Jumpstart

แนวทางการปั้น Jusci

– ช่วงเดือนนี้เราคงต้องเกาะกระแส LHC ไปก่อนจากสถิติที่ผ่านมานับว่าดีมากเกินคาด ต้องให้ Mr.JoH ที่เขียนเรื่องนี้ได้ง่ายในแบบที่ผมไม่มีทางเขียนได้อยู่แล้ว
– วันแรกของการประกาศรวมตัว Jusci กับ Blognone.Science ทำให้ Jusci มีคนเข้ามากขึ้นทันทีประมาณสี่เท่าตัว จากข่าว LHC ตอนนี้มีเกินสามพัน คำถามตอนนี้คือเมื่อเราทำ SSO ร่วมกันแล้วคนจะยังคงอยู่ประจำประมาณเท่าใหร่ ผมคาดว่าน่าจะอีกสี่เท่าตัวจากของเดิม คือน่าจะยืนอยู่ที่ 1,600++ ซึ่งนับว่าโอเคเมื่อคิดว่า Blognone ใช้เวลาสองปีในการทำแบบเดียวกัน
– ผมอยากให้ Blognone และ Jusci มีความเหมือนกันอย่างหนึ่งคือ คนเกินครึ่งเป็น “ขาประจำ” (ของ Blognone ประมาณ 51%)
– โดยรวมแล้วแนวทางของ การเติบโต Jusci น่าจะเดินตาม Blognone มาเยอะมาก แต่คำถามคือเราจะย่นระยะเวลาสี่ปีของ Blognone ลงได้สั้นแค่ไหนกัน?

เชิงเทคนิค

– Blognone กับ Jusci จะรวมกันภายใต้ Codebase เดียวกัน เพื่อความง่ายในการ maintain ในอนาคต และนี่อาจจะหมายถึงการกลับมาของ Codenone? (คงเป็นหลังจาก Jusci อยู่ตัวและผมเอาเวลามาทุ่มกันมันได้)
– SSO เป็นสิ่งที่เราต้องทำในอนาคตอันใกล้แน่ๆ อาจจะพร้อมกับการรวมตัว
– ย้ายไปใช้ Drupal 6 เลยดีไหม?
– ปัญหาที่ตอนนี้พบและยังหาทางแก้ไม่ได้คือประเด็นของ Permalink ที่อาจจะพังในเว็บใดเว็บหนึ่ง เพราะการรวมฐานข้อมูล content เข้าด้วยกัน ทำให้เลข node เปลี่ยนไป อาจจะต้องปรึกษา @sugree ต่อไป

 

Computing is changing #2

ต่อจากเมื่อวานนี้

Clouds Along the Road

ผมเคยเขียนเมื่อตอนต้นปีที่ Blognone ว่าเทคโนโลยีอะไรที่น่าจับตามองที่สุดในรอบปีนี้ สิ่งที่ผมเขียนไปนอกจากจะเป็นเรื่องของ Multi-Core (ที่กำลังจะตกยุค และเข้าสู่ยุคของ Many-Core) แล้ว อีกเรื่องหนึ่งที่ผมมองว่าสำคัญกว่าเสียอีก คือเรื่องของ Cloud Computing

แนะนำกันก่อนว่า [Cloud Computing](http://en.wikipedia.org/wiki/Cloud_computing) คือบริการรูปแบบใหม่ที่ต่างจากการเช่าคอมพิวเตอร์ในแบบเดิมๆ ก่อนอื่นลองนึกภาพว่าวันนี้ถ้าคุณต้องการเครื่องคอมพิวเตอร์มาทำเว็บเซิร์ฟเวอร์ซักเครื่อง สิ่งที่คุณทำได้คือเช่าคอมพิวเตอร์ “หนึ่ง” เครื่องมาใช้งานสำหรับเว็บของคุณ

คำถามคือ แล้วถ้าโหลดมันเกินเครื่องที่เช่ามาล่ะ?

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

ข่าวร้ายบางอย่างเกิดขึ้น เมื่ออีกสองวันหนังสือพิมพ์เอาข่าวเว็บสุดเจ๋งของคุณลงไปข่าว แล้วคนพากันเฮโลเข้ามานับล้าน ผลสุดท้ายแล้วเว็บของคุณก็ยังดาวน์ไปในที่สุด

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

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

แน่นอนว่าทุกอย่างไม่ได้ง่ายอย่างนั้น ซอฟต์แวร์จำนวนมากออกแบบมาเฉพาะสำหรับการทำงานบนคอมพิวเตอร์เครื่องเดียว ความสามารถหลายๆ อย่างจะทำได้ลำบากขึ้นเมื่อเราต้องคำนึงว่าถึงว่าซอฟต์แวร์นั้นอาจจะกระจายตัวอยู่บนเครื่องกี่เครื่องก็ได้ เราจึงได้เห็นระบบฐานข้อมูลแบบใหม่ๆ ที่ความสามารถต่ำลงกว่าเดิม แต่ทำงานเร็วขึ้น และรองรับ Cloud Computing นี้มาตั้งแต่ต้น

มีคนเคยถามผมว่า Web 2.0 ทั้งหลายจะอยู่รอดได้อย่างไรในการแข่งขันที่สูงจนไม่น่ามีใครรอดอย่างทุกวันนี้

คำตอบผมคงง่ายๆ ทำกำไรให้ได้ในภาวะที่คนยังน้อย และทำกำไรให้มากขึ้นในภาวะที่คนเยอะ ขยายตัวให้ได้แม้จะมีคนโดดเข้ามารุม

Cloud Computing น่าจะเป็นทางออกที่ดี

 

Computing is changing

วันนี้ไปอบรมกับทางอินเทลมา เนื้อหาภายในคงไว้เล่าให้ฟังกันทีหลัง

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

โลกซอฟต์แวร์กำลังจะเปลี่ยนไป ถ้าวันนี้คุณไม่รู้ ก็คงได้เวลาแล้วล่ะครับ

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

ที่ผ่านมาฝ่ายออกแบบต้องยอมก้มหัวให้กับนักพัฒนาซอฟต์แวร์ตลอดมา เพื่อให้ชิปตัวเองขายได้ นักพัฒนาฮาร์ดแวร์ทำทุกอย่าง (ฝรั่งเรียก At all cost) เพื่อที่จะรีดความเร็วออกมาได้อีกสักนิด

เราเลยมีสถาปัตยกรรมใหม่ๆ เช่น out-of-order execution, register renaming, และอื่นๆ อีกหลายต่อหลายอย่าง โดยในภาษาวิชาการมันเป็นการพยายามทำให้คำสั่งหลายคำสั่งทำงานได้พร้อมๆ กันโดยที่ตัวซอฟต์แวร์เองไม่รู้ตัว ความพยายามนี้เรียกว่า Intruction Level Parallelism (ILP)

มาวันนี้เกิดอะไรขึ้น? นักพัฒนาฮาร์ดแวร์กำลังหันมาบอกว่าที่พยายามทำให้สารพัดนั้นมันกำลังถึงทางตัน แล้วตะโกนใส่หน้านักพัฒนาซอฟต์แวร์ว่าถ้าอยากได้ความเร็วเพิ่มต้องเขียนให้แบ่งงานกันเองแล้ว เป็นการบังคับให้นักพัฒนาซอฟต์แวร์ต้องแบ่งการทำงานซอฟต์แวร์ออกเป็นหลายๆ เธรด เพื่อทำงานพร้อมๆ กัน เรียกว่า Thread Level Parallelism (TLP)

การทำงานพร้อมกันเช่นนี้ทำให้แต่ละงานที่นักพัฒนาซอฟต์แวร์เขียนแบ่งงานให้เธรด สามารถแบ่งทำงานบนคอร์ของซีพียูที่มีมากขึ้นเรื่อยๆ ได้ เช่น PlayStation3 นั้นมีทั้งหมด 9 คอร์ (ทำงานได้ 8 เพราะใช้เลเซอร์ปิดการทำงานไปหนึ่ง)

ยิ่งไปกว่านั้นนักพัฒนาฮาร์ดแวร์เริ่มเรียกร้องมากขึ้นเรื่อยๆ โดยในวันนี้ความเร็วแต่ละคอร์เพิ่มขึ้นเพียงเล็กน้อย แต่อาศัยการเพิ่มจำนวนคอร์มากขึ้นเรื่อยๆ และมีแนวโน้มว่าอนาคตความเร็วของแต่ละคอร์จะลดลงเรื่อยๆ แต่จำนวนคอร์จะเพิ่มขึ้นอย่างมาก ไปในระดับหลายๆ สิบคอร์เช่นใน Larrabee ของอินเทลที่ความเร็วแต่ละเธรดจะลดลงเหลือเพียงครึ่งเดียวเพราะตัดความสามารถในส่วนของ out-of-order execution ออกไป แต่เพิ่มคอร์เข้าไปนับสิบคอร์

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

อาจารย์ผมเคยว่าไว้ว่าอย่าไปจับเทคโนโลยีเอาตอนบ่ายโมง

สำหรับเทคโนโลยี Multi-Thread นี่สิบโมงครึ่งแล้วครับ ถ้านักพัฒนาไทยจะจับ คงได้เวลาเต็มที่แล้ว

 

Symbian is coming back

เรื่องราวของโทรศัพท์มือถือทุกวันนี้อยู่ในระดับที่เรียกได้ว่าสงครามกันอย่างหนัก การแข่งขันระหว่าง Symbian แชมป์เก่า, Windows Mobile ที่ค่อยๆ กินตลาดไปอย่างเงียบๆ และ iPhone ที่หวือหวามาโดยตลอด

อย่างที่เคยให้ความเห็นไปแล้วใน Blognone ว่า Android นั้นพลาดมากที่ไม่ยอมออกโทรศัพท์มาตั้งแต่ Q1 ปีนี้ (จริงๆ แล้วจ้าง ODM อย่าง FIC ผลิตให้ก็ได้) โดยอาจจะขายเป็น gPhone ไปก่อนแล้วเปิดให้เจ้าอื่นใช้งานเหมือนกันแบบ Symbian ก็ไม่น่าผิดอะไร มาวันนี้ผ่านมาสองไตรมาสกับ iPhone 3G ที่อยู่ในตลาดไปแล้วเป็นล้านเครื่อง Android ก็มีที่ยืนน้อยลงเรื่อยๆ

ประเด็นนี้มีเรื่องน่าสนใจเกี่ยวกับที่เคยเขียนเรื่อง [Wow Index][lc1] เอาไว้ว่าความเจ๋งมันอยู่ที่ความลงตัวทั้งหมด เรื่องของเวลา, ราคา, และฟีเจอร์ ปรากฏการณ์น่าสนในในเรื่องนี้คือ[การลดราคาของ Samsung i450 และ i550][bn1] ที่หลายคนอาจจะไม่พอใจเพราะราคาลงมาแรงจนเหมือนหักหลังคนซื้อไปก่อน แต่เรื่องที่เกิดขึ้นจริงคือกระแสของมือถือทั้งสองรุ่นกลับมาดังอีกครั้งได้อย่างไม่น่าเชื่อ [ที่ห้อง mbk][ptc] ผมเห็นคนคุยกันเรื่องนี้ไม่ต่ำกว่าสิบกระทู้เข้าไปแล้ว

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

สุดท้ายแล้วโลกอาจจะเหลือแค่สามทางคือ iPhone ให้กับกลุ่มต้องการเอกลักษณ์ในตัวเอง (แม้เอาเข้าจริงมันจะเหมือนกันเป็นล้านเครื่องก็เถอะ) Windows Mobile น่าจะทำได้ดีในตลาดธุรกิจต่อไปภายใต้ร่มเงาของแบรนด์ Windows ส่วน Symbian นั้นโนเกียคงพร้อมที่จะเป็นเจ้าตลาดมือถือระดับล่างที่ครองส่วนแบ่งมากที่สุด และทำกำไรได้ดีต่อไปเรื่อยๆ

สิ่งที่ Symbian ต้องทำในวันนี้เพื่อให้แข่งได้จริงๆ คงเป็นเรื่องของการรวม Platform ของตัวเองกลับมาเป็นอันเดียวกันให้หมด เพราะการใช้ 3 รูปแบบในการพัฒนาทั้ง UIQ, MOAP และ S60 ไม่ใช่เรื่องดีแน่ๆ สุดท้ายแล้วทั้งหมดคงต้องกลายเป็น S60 เพียงอันเดียว UIQ นี่อาจจะง่ายหน่อยเพราะ Sony Ericcson และ Motorola ก็อ่อนแรงเต็มที คงไม่อยากสู้มาดูแลต่อแล้ว ที่คุยยากหน่อยคงเป็น MOAP เพราะ NTT DoCoMo นั้นยังแข็งแกร่งอยู่มาก จะให้อยู่ดีๆ เลิก MOAP แล้วไปใช้ S60 นี่อาจจะคิดหนัก

หลังจากรวม GUI เข้าด้วยกันได้แล้วส่วนที่เหลือคือการสร้าง Handset ให้มากที่สุดเท่าที่จะมากได้ ผมไม่แน่ใจว่าเกิดอะไรขึ้น แต่โทรศัพท์ของโนเกียในระดับกลางเองดูเหมือนจะสุ่มๆ เอาว่าตัวไหนจะใช้ S40 และตัวไหนใช้ S60 ทั้งที่ราคา S40 บางตัวดันแพงกว่า สิ่งที่โนเกียต้องการเพื่อให้ S60 ไปต่อได้คงเป็นการประกาศยกเลิก S40 ทิ้งไป แล้วประกาศใช้ S60 ในโทรศัพท์จอสีทุกรุ่น เพื่อสร้าง Single Platform ที่มีฐานผู้ใช้ขนาดใหญ่

อีกเรื่องคือเครื่องมือการพัฒนา Symbian นั้นถูกต่อว่ามานานแล้วเรื่องของ C++ ที่แปลกประหลาดแบบครึ่งๆ กลางๆ (ไม่รับ STL) แต่โดยส่วนตัวแล้วผมชื่นชอบกับ Python มาก และเชื่อว่านักพัฒนาจำนวนมากจะหันกลับมาถ้าโนเกียรองรับเอา [PyS60][p60] เข้าเป็นแพลตฟอร์มการพัฒนาหลักบน Symbian แล้วดึงนักพัฒนากลับมา

หลังจากนั้นคงต้องสนับสนุนอีกหน่อยให้เครื่องจีนแดงใส่ Symbian แทน Windows Mobile ที่เหลือก็สร้างร้านออนไลน์แบบ AppStore แล้วเก็บเงินลงกระเป๋า

[lc1]: http://lewcpe.com/blog/archives/672/wow-index/
[bn1]: http://www.blognone.com/node/8389
[ptc]: http://www.pantip.com/cafe/mbk/
[p60]: http://opensource.nokia.com/projects/pythonfors60/