Archive for the ‘Technology’ Category

“กี่ล้านดีคะ”

Tuesday, September 30th, 2008

เมื่อวานเดินผ่านแผนกกล้องของ Power Buys ที่เซ็นทรัลปิ่นเกล้า ก็เลยเดินๆ แวะๆ เข้าไปดู compact ซะหน่อยเผื่อจะมีอะไรน่าสนใจ (จริงๆ กำลังมองหา Panasonic Lumix LX3 อยู่)

พนักงานสาวคนหนึ่งก็เดินเข้ามาทักทาย ยิ้มแย้มแจ่มใส

พนักงาน: “พี่ชื่ออะไร ขอเบอร์ได้มั้ยคะ”

ไม่ใช่ล่ะ อันนี้ล้อเล่น อันนี้สิของจริง

พนักงาน: “ดูเป็นกี่ล้านดีคะ”

เล่นเอาเอ๋อกินไปพักนึง พร้อมกับหัวเราะดังๆ ในใจ

ผม (คิด): “โห เล่นถามกันแบบนี้เลย”
พนักงาน: “พี่ จะดูเป็นกี่ล้านดีคะ”
ผม (คิด): “นี่ถ้าบอกไปว่า 30MP นี่จะเอา Hasselblad ออกมาให้มั้ยเนี่ย”
ผม: “ขอดูเรื่อยๆ ก่อนครับ”

ถึงผมจะไม่ได้ตอบอะไรไปมากกว่านี้ เพราะว่าไม่อยากไปต่อล้อต่อเถียงกับพนักงานมากกว่านี้ และไม่มีเวลาถามเล่นอะไรมากมาย แต่ว่าเราคงจะจินตนการ conversation มาตรฐานต่อไปนี้ออก

พนักงาน: “ดูเป็นกี่ล้านดีคะ”
ลูกค้า: “เอ่อ อยากได้ที่คุณภาพของภาพดีๆ ไฟล์สวยๆ คมๆ น่ะครับ”
พนักงาน: “งั้นนี่เลยค่ะ รุ่นนี้ออกใหม่ ขายดี 14.5MP นะคะ ยิ่งทำให้ภาพคมชัดมาก ถ่ายออกมาสวยค่ะ”

ครับ ไม่ใช่ความผิดของพนักงานครับ แต่ว่าอย่างที่พวกเราทุกคนทราบกันเป็นอย่างดี ว่านี่คือ “Megapixel Myth” อีกหนึ่งผลงานที่น่าภาคภูมิใจของ number marketing และส่งผลให้เกิดสิ่งที่เรียกว่า “Megapixel Race” หรือการแข่งกันปั๊มตัวเลข MP ของกล้องของบรรดาผู้ผลิตต่างๆ

Number marketing พูดง่ายๆ เป็นวิธีการทำการตลาดโดยอาศัย “ความไม่รู้” ของผู้บริโภคให้เป็นประโยชน์ โดยการ “บอกความจริงไม่หมด” หรือ “ไม่บอกปัจจัยทั้งหมด” และข้อความที่บอกนั้น “เป็นจริงในระดับหนึ่ง” ในขั้นต้น

เช่น มีครั้งหนึ่งเช่นกันในอดีตกาลอันไกลโพ้น ที่จำนวน MP มากกว่านั้นมักจะส่งผลให้ได้คุณภาพของภาพที่ดีกว่า นั่นคือสมัยที่กล้องยังมี MP น้อยๆ เกินไปอยู่ เช่นการเพิ่มจาก 1.3MP เป็น 2MP นี่น่าจะได้ภาพที่มีคุณภาพสูงขึ้นจริง และยังคงอยู่ในความสามารถของเซนเซอร์ที่จะรับได้อย่างมีประสิทธิภาพ

แต่ว่ามันกลายเป็นความเชื่อทางการตลาด การพัฒนาจาก 7.1MP เป็น 8MP ก็ยังคงพอว่า แต่ว่าการพัฒนากันในปัจจุบัน ที่ยัดเยียดกันถึง 12-15MP ลงไปในเซนเซอร์ที่ไม่ได้มีขนาดเพิ่มขึ้น นี่ทำให้คุณภาพมันดีขึ้นเหรอ? มันเกินลิมิทของเซนเซอร์ขนาดเล็กของกล้อง compact ทั่วไปจะรับได้อย่างมีประสิทธิภาพแล้ว

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

ถ้าแสงที่เข้ามา (โฟตอน) เหมือนกับฝนที่ตกมาล่ะก็ การถ่ายรูปก็เหมือนกับการรองรับน้ำฝนน่ะแหละ เซนเซอร์ก็เหมือนกับภาชนะที่เอาไปรองน้ำฝน พวกกล้องแพงๆ อย่างพวก Medium format ก็เหมือนกันเอาอ่างอาบน้ำไปรับน้ำฝน พวก DSLR Full-frame ก็คงจะประมาณโอ่ง พวก DSLR ที่มี crop-factor ทั้งหลายก็คงอารมณ์กาละมังใหญ่ๆ

แต่ว่าพวกกล้อง compact เนี่ย ถ้าเป็น sensor ขนาด 1/1.7″ (หรือ 1/1.72″) ก็คงจะอารมณ์เดียวกับอ่างล้างหน้า ส่วนขนาด 1/2.33″ นี่คงจะขันน้ำ

นั่นคือขนาดเซนเซอร์ทั้งหมดนะครับ แล้วต้องมา “แบ่ง” ออกตามปริมาณ MP อีก ดังนั้นยิ่ง MP มาก ปริมาณน้ำที่แบ่งออกไปได้สำหรับแต่ละส่วนก็ยิ่งน้อยลงไปอีก

เช่น ถ้าเราจะแบ่งน้ำอาบนึง หรือว่าโอ่งนึง ออกเป็น 100 แก้ว เราคงจะได้น้ำล้นแก้ว หรือว่าได้แก้วใหญ่ๆ แต่ว่าถ้าเราจะต้องแบ่งน้ำขันนึงออกเป็น 100 แก้วเท่ากันล่ะ? คงได้กันแก้วละไม่กี่หยด

แล้วมัน matter ตรงไหนเนี่ย?

ไม่ต้องแปลกใจเลยครับ ที่กล้องที่มี sensor ใหญ่กว่าจะเก็บรายละเอียดของสีสันและแสง ได้ดีกว่ากล้องที่มี sensor เล็ก เพราะว่าถึงแม้ว่า pixel จะเป็นหน่วยย่อยที่สุดของภาพดิจิทัลและเป็นที่ทราบกันดีกว่า ยิ่ง pixel เยอะ ยิ่งเอามาต่อกันเป็นภาพใหญ่ได้เนียนมากขึ้น และน่าจะเก็บรายละเอียดเล็กๆ น้อยๆ ได้ดียิ่งขึ้น … ภาพที่ได้จากกล้อง MP สูงแต่ sensor เล็กมักจะมีพลวัตของแสงและสีสัน (Dynamic range) ที่น่าผิดหวัง ไม่พอ ด้วยเหตุผลทางฟิสิกส์และอิเลคทรอนิกส์ … ยังทำให้มีสัญญาณรบกวน (noise) มากขึ้นอีกด้วย

เป็นหนึ่งในอีกเรื่อง ที่สุดท้ายแล้ว การนำปัจจัยเดียวจากหลายๆ ปัจจัย (เช่น MP อย่างเดียว ในหลายปัจจัยอื่นๆ เช่น Image processing engine, sensor, ฯลฯ หรือการนำ clock speed อย่างเดียวในเรื่องของ CPU design) มาทำการตลาดและโฆษณา ส่งผลให้เกิด Number marketing ที่ลงท้ายด้วย Number myth

และกำลังทำงาน against ตัวเองอย่างมากมาย

ผู้ผลิต CPU ยักษ์ใหญ่อย่าง Intel เคยเจอปัญหานี้มาแล้ว กับตอนที่ออก Pentium-M ที่สามารถทำงานได้มีประสิทธิภาพมากกว่า Pentium-4 ด้วย clock speed ที่ต่ำกว่า แต่ตลาดไม่ยอมเชื่อว่า CPU ความเร็ว 1.7 จะทำงานเร็วกว่า CPU ความเร็ว 2.0

ตอนนี้ผมเชื่อว่าผู้ผลิตกล้องหลายรายก็กำลังเจอกันอยู่ ว่าจะตอบโจทย์ยังไงดี ว่ากล้อง 10MP ดีกว่า 14MP

ขนาด sensor เล็กที่กล้อง compact ส่วนมากใช้กันน่ะครับ 10MP ก็โคตรจะเต็มกลืนแล้ว แต่ว่าก็ยังมี MP bump กันเรื่อยๆ เมื่อรุุ่นใหม่ๆ ออกมา และผมก็ต้องผิดหวังทุกทีเมื่อเข้าไปดู spec แบบละเอียดใน web ที่ไม่มีการเพิ่มขนาด sensor เลย (เช่น Nikon Coolpix S710 14.5MP 1/1.72″ sensor เทียบกับรุ่นก่อนมัน S700 12MP 1/1.72″ sensor เท่ากัน) แล้วก็ต้องไปพยายามแก้ที่การพัฒนา Image processing engine แทน เพื่อจัดการกับ dynamic range และจัดการกับ noise หลังจากรับภาพเข้ามาเรียบร้อยแล้ว

แต่ว่ามันแก้ขีดจำกัดทางฟิสิกส์ของเซนเซอร์ไม่ได้หรอก รับเข้ามาดี ก็ยิ่งดีขึ้น (ยกตัวอย่างเช่น ทำไมกล้อง Nikon ซึ่งใช้ EXPEED Image processing concept engine เหมือนกัน ภาพจาก D700 ซึ่งเป็นกล้อง 12.3MP ถึงดีกว่า Nikon Coolpix S710 ซึ่งเป็นกล้อง 14.5MP แบบฟ้ากับเหว?)

แต่ก็ยังดีใจหน่อยนึง ที่รู้สึกจะมีหลายผู้ผลิต ให้ความสำคัญและความสนใจกับเรื่องนี้พอสมควร อย่างน้อยๆ ก็ Panasonic ที่ออก LX3 ด้วยการไม่เพิ่ม MP แต่ว่าไปเพิ่มขนาด sensor แทน ถึงแม้จะไม่ได้ใหญ่กว่าเดิมมากมายก็เถอะ แล้วก็ยังมี Sigma ที่ทำ DP1, DP2 ออกมาด้วยขนาด sensor ที่ใหญ่ผิดวิสัย compact

ผมหวังว่า แนวทางนี้คงจะยังไม่หายไป และหวังว่าเมื่อ “compact เปลี่ยนเลนส์ได้” (u4/3 ของ Olympus) ออกมาจริง จะดีขึ้น

และหวังว่าผู้ผลิตรายใหญ่ๆ เช่น Nikon, Canon, Sony จะกลับมาให้ความสำคัญกับเรื่องนี้มากขึ้น มันเป็นการ back-to-basic สำหรับปัจจัยหนึ่งที่สำคัญมากๆ เลยทีเดียว หลังจากทำสงคราม MP ที่ไม่มีใครชนะ และเกินขอบเขตที่ผู้บริโภคทั่วไป (ซึ่งเป็นตลาดของ compact) จะได้ประโยชน์แล้ว

การจัดการกับ MP สูงๆ ก็ทำได้แล้ว Image processing engine ที่ฉลาด จัดการกับ noise ได้ดี และจัดการกับ dynamic range ได้ดี ถึงจะเป็นภาพจากเซนเซอร์เล็ก ก็มีกันทุกคนทุกค่ายแล้ว ถ้าเปลี่ยนขนาดเซนเซอร์ ภาพที่ได้ก็น่าจะดีขึ้นเยอะเลย ไม่ใช่เหรอ

อีกอย่าง มันก็ยังคงเป็น “Number” ไม่ใช่เหรอ พวกทำ Number marketing ก็ยังคงทำได้นี่นา

ผมหวังว่าในอนาคต ผมจะได้ยิน conversation นี้ ถึงแม้โอกาสที่มันจะเกิดขึ้นจะน้อยมากๆ

พนักงาน: “จะดูเป็นแบบไหนดีคะ”
ลูกค้า: “อยากได้กล้อง compact ตัวเล็กๆ หน่อย พกสะดวกหน่อยครับ เอาไว้เที่ยวๆ เล่นๆ ถ่ายเรื่อยเปื่อยน่ะแหละครับ”
พนักงาน: “พี่ต้องใช้รูปใหญ่แค่ไหนคะ”
ลูกค้า: “แค่ดูในจอคอมพ์ 20″ หรือว่าขึ้นจอทีวี 30″ ที่บ้าน แล้วก็ถ้าจะอัดก็คงไม่เกิน A4 ครับ”
พนักงาน: “อืมมม งั้นใช้กล้อง 10MP คงพอค่ะ”
ลูกค้า: “ครับ งั้นสองตัวนี้ตัวไหนดีกว่ากันครับ”
พนักงาน: “ตัวนี้ sensor ใหญ่กว่าค่ะ ตัวนี้ 1/1.63″ อีกตัว 1/2.33″ ให้สีให้แสงดีกว่า noise น้อยกว่าค่ะ”
…………

ฝันกันต่อไป

ปล. เขียนไปเขียนมา ยาวกว่าที่คิดแฮะ

ดาบสองคม

Monday, March 24th, 2008

ดาบสองคม คมหนึ่งมันคมเท่าไหร่ อีกคมมันมักจะคมเท่านั้น

แต่เรามักจะเห็นมันคมเดียว ณ เวลาหนึ่ง จนกระทั่งอีกคมหนึ่งมันไปฟาดอะไรซักอย่างของเราเท่านั้นแหละ ที่เราจะเห็นอีกคมหนึ่ง

เทคโนโลยีทุกอย่าง เป็นดาบสองคม
การพัฒนาการทุกอย่าง เป็นดาบสองคม

เข้าทำนอง ยิ่งรัก ก็ยิ่งทุกข์ เมื่อวันหนึ่งที่ความรักนั้นมันกลับมาเป็นดาบอีกคมหนึ่ง

คุณกำลังสัมผัสดาบสองคม ที่คมที่สุดในประวัติศาสตร์มนุษยชาติ

“อินเทอร์เน็ต”

อินเทอร์เน็ต ให้ Scale ที่ใหญ่ที่สุดเท่าที่จะเป็นไปได้ ในแง่ของ Information Economy นั่นคือ ทุกคนแทบจะมี Economy of Scale เทียบเท่ากัน ขาดแต่เพียง Social Networking รองรับเท่านั้น

ดาบสองคมที่ว่านั่น ก็คือ ถ้าทุกคนอยู่ในฐานะของ “สื่อ” ได้แล้วล่ะก็ จะมีกี่คนเล่าที่มีจรรยาบรรณของสื่อ หรือว่าคำถามที่ดีกว่านั้น จะมีกี่คนเล่าที่ใช้มันไปในทางสร้างสรรค์

เราต้องมี Information Literacy ที่ดีขึ้น …..

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

ข้อมูลหลายอย่าง ถ้ามันอยู่บนอินเทอร์เน็ตแล้ว มันแทบจะเป็นอดีตที่ไม่มีวันลบวันเลือน ….

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

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

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

ดาบสองคมชัดๆ

เริ่มเห็น Accord 2008 ล่ะ

Wednesday, February 6th, 2008

เพิ่งเริ่มเห็น Accord ตัวใหม่ จริงๆ บนถนนเร็วๆ นี้เอง … ความรู้สึกแรก คือ ….​ แปลก

มันสวยนะ แต่ไม่หมดจด ดูเกินๆ ยังไงไม่รู้ …. เหมือนกับเอาโน่นนี่มาตัดปะกันอย่างไม่เนียน ไม่ลงตัว ความเหลี่ยมความโค้งความมน มันไม่ได้ยังไงก็ไม่รู้

ส่วนเรื่องไฟท้าย นี่ดูก็รู้ ว่าเอามาจาก BMW Series 5+7 แต่ว่า….. เหมือนกับตัดปะโดยไม่เอากระดาษทรายขัด … ก็ขัดตาอีกจนได้ (แต่ ​BMW นี่เนียน)

รถดูใหญ่ขึ้นนะ (ก็จริง จาก spec) แต่ว่าเหมือนกับคนหัวเล็กตัวโตอ่ะ มองจากด้านหลังแล้วมีความรู้สึกว่าหัวเล็ก แต่ว่าพุงยื่น .. ตัวรถมันบวมๆ ยังไงก็ไม่รู้

อาจจะรู้สึกไปเองนะ … อาจจะต้องรอ Minor change…

และแล้ว … Minor change ก็ออกมา แบบมีไฟหยดน้ำ …. แว้กกกกกก

ฟังไม่ได้ศัพท์ + ความไม่รู้… (ต่อเอาเอง)

Monday, December 10th, 2007

คนเรา บางทีเวลาที่ไม่รู้อะไรแต่ว่าทึกทักไปว่ารู้ แล้วเอาพูดๆ ต่อ เนี่ยมันแย่จริงๆ แฮะ

วันนี้ได้ยินมาจากคนที่ทำงานด้วย ว่ามีคนโทษผมด้วยว่ะ ว่าผมเป็นต้นเหตุของการไม่เสถียร (หรือเรียกเป็นภาษาง่ายๆ ว่า​ “เน่า”) ของอินเทอร์เน็ตในมหาวิทยาลัย

เพราะว่าผมไป “ดูดอินเทอร์เน็ต” ไว้ และก็ได้บอกด้วยว่า ผมเคยทำให้เค้าดู

จะ debunk กันตรงนี้ก็คงจะใช่ที่ แต่ว่าสิ่งที่ผมทำน่ะนะ ไม่มีอะไรมากหรอก อย่างมากก็ใช้ wget ไปเรียก website ที่จำเป็น มาเก็บไว้ในเครื่อง ซึ่งก็ไม่มีอะไรมากไปกว่า request ไปที่ HTTP server​ ธรรมดา เพียงแต่ผลไม่ได้แสดงที่ browser แต่ว่ามาเอาเก็บไว้เป็นไฟล์ในเครื่อง เท่านั้นเอง

เดี๋ยวนี้เครื่องมือเหล่านี้ก็มีเยอะแยะไป เช่น ​Yojimbo และจริงๆ แล้วมันก็ไม่ได้มีอะไรใหม่กว่าการทำงานใน Off-line mode ของพวก browser เท่าไหร่ ที่จะพึ่งพา cache หรือว่าข้อมูลที่ดูดมาแล้วในเครื่องตัวเอง

ซึ่งก็ไม่ได้หนักอะไรมากกว่าการเล่นเน็ตด้วย browser และไม่ได้หนักกว่าการใช้งานอินเทอร์เน็ตปกติเลยแม้แต่น้อย (ยกเว้นแต่ผมจะทะลึ่งไปดูดผลลัพธ์ทุกตัวที่ google มันค้นมาได้จาก query หนึ่งๆ แบบ recursive หรือว่าไปดูด youtube แบบ recursive ซึ่งก็คงจะไม่มีใครฉลาดไปทำแบบนั้น)

จริงๆ มันค่อนข้างจะเบากว่าด้วยซ้ำ ในกรณีที่ต้องใช้งาน documentation (API reference) เพราะว่ามันต้องเปิดหน้าเดิมซ้ำไปซ้ำมาบ่อยมากๆ (ใครมันจะไปนั่งจำ syntax ของทุก function ทุก method ใน API ทุกตัว?) และ ไม่ใช่ทุก API มันจะมี Off-line doc ไว้ให้ download ไปใช้เลย (จะเป็น tar-ball หรือว่า zip หรือว่า PDF ก็แล้วแต่)

อ่อ อีกอย่างนะ ถ้าผมเป็นคนดูแล proxy นะ ผมคงจะต้องทำแบบนั้น เพื่อที่จะ cache หน้าที่มีการ request บ่อยๆ ไว้ที่ proxy ของมหาวิทยาลัย เพื่อให้เน็ตมันเร็วขึ้น (เพราะว่าไม่ต้องไป request ต่อข้างนอก) ซึ่งถ้าผมเป็นคนดูแล และมีการ cache ที่ proxy ที่ฉลาดหน่อยล่ะก็ เน็ตมันจะเร็วขึ้น ไม่ใช่เน่ามากขึ้น ซึ่งอันนี้พวกน้องๆ ที่เรียน com-sci หรือว่า ​IT มันน่าจะเข้าใจไม่ยาก

มันตลกตรงที่ คนที่ไม่รู้ และ no idea เรื่องพวกนี้ กลับเชื่อด้วยแฮะ ไม่พอ ดันเอาไปพูดกันต่อด้วย และที่น่าตลกกว่านั้น ก็คือ บางคนก็ดันเป็นคนที่เรียน com-sci/IT น่ะแหละ พวกนี้ยิ่งแย่ เพราะคิดว่าตัวเองรู้ ตัวเองมี idea และตัวเองเข้าใจถูกต้อง และที่แย่ก็คือ พวกนี้จะมี creditability อะไรบางอย่างเวลาไปพูดกับคนอื่น (ที่ไม่ได้เรียนหรือว่าทำงานด้านนี้)

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

ถามจริงเหอะนะ ไอ้คนพูดเนี่ย มันเคยไปดู traffic ในมหาวิทยาลัยหรือเปล่า เคยไปดู log พวกนี้บ้างมั้ย ว่ามันมี activity อะไรบ้าง

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

และเวลาที่มีปัญหาอะไร และทางเจ้าหน้าที่บอกมาว่าปัญหามันอาจจะเกิดมาจากการใช้งานบางอย่างของทางผม (และทีมงาน) ก็พยายามแก้ปัญหาให้เร็วที่สุด เพราะว่าไม่อยากเป็นปัญหากับใครทั้งนั้น โดยเฉพาะกับทรัพยากรสาธารณะอย่างเช่นอินเทอร์เน็ต

สรุป: เหนื่อยแฮะ

Web Services: REST vs. SOAP

Monday, October 8th, 2007

อ้างอิง: Blognone: REST vs. SOAP Web Services โดย krunapon

ผมอ่านข่าวนี้ที่ blognone ด้วยความรู้สึกอยากจะตะโกนในใจว่า Take the Red Pill! Welcome to the Real World! ยังไงก็ไม่รู้

ใช่ครับ ถึงมันจะไม่ใช่ข่าวที่มีการประกาศใหญ่โตมโหฬาร (แบบ MS, Sun, IBM หรือว่าบริษัทชื่อใหญ่ๆ โตๆ ออกมาให้การสนับสนุนหรือว่าจับมือกันให้ความร่วมมือในเรื่องอะไรสักอย่าง) ที่อาจจะ catch ความสนใจและ convince คนที่อยู่ใน mainstream ได้ง่ายกว่า แต่ว่าก็ดีเหมือนกันที่คนเริ่มลืมตามองความเป็นจริงอันโหดร้ายของ SOAP-based Web Services มากขึ้น

ในหลักการแล้ว SOAP มันก็เป็น protocol ที่ดีนะ แต่ว่าในความเป็นจริงแล้ว เนื่องจากความต้องการของการใช้ Web Services ในปัจจุบัน มันเป็นการเข้าถึง resource แบบ CRUD เสียเป็นส่วนมาก การใช้งาน SOAP-based ในความรู้สึกของผม มันเลยกลายเป็นการขี่ช้างจับตั๊กแตนไปโดยใช่เหตุ และจะต้องมีองค์ประกอบอะไรต่างๆ มากมาย อีกทั้งปัญหาอย่างหนึ่งที่ตามมาในโลกความเป็นจริง ก็คือ ความหลากหลายของข้อมูล ความร้อยพ่อพันแม่ของ representation ทำให้การกำหนดมาตรฐานของ SOAP นั้น นับวันมันจะมีแต่ใหญ่ขึ้น และ bloated ขึ้นอย่างใช่เหตุ …. วิธีการ scale ของ SOAP มันสร้างความยุ่งยากและลำบากเอาเรื่อง

ก็เลยทำให้ตัว S ใน SOAP ซึ่งควรจะย่อมาจาก Simple กลายเป็นเรื่องตลก เพราะว่ามันเป็นทุกอย่าง ทุกอย่างจริงๆ นอกเหนือจาก Simple มันมีทุกอย่าง นอกจาก Simplicity

ที่เขียนนี่ ไม่ได้แปลว่า SOAP ไม่ดี หรือว่า REST คือคำตอบสำหรับทุกอย่างนะ ใครที่รู้จักผมจะรู้ดีว่า สำหรับกรณีแบบนี้ ผมแทบไม่เคย claim คำว่า 100% เพราะว่า exception มันมีแทบทุกเรื่องน่ะแหละ ยากที่จะหาอะไรบางอย่างที่มันเป็นจริงในทุกกรณี .. แต่ว่า exception มันจะต้อง catch และ handling แยกต่างหาก ไม่ใช่ยกมาพูดเป็น counter example หักล้างกับ general cases อยู่เรื่อยไป จนลืม handling กรณี “ทั่วไป” (general cases) อีก 80% ของกรณีทั้งหมด… เช่นกรณีนี้ คือ (น่าจะกว่า) 80% ของความต้องการการใช้งาน Web Services ในปัจจุบันนั้นคือ request resources แบบ remote ซึ่ง REST มันดีกว่าจม และไปอยู่บน (= ใช้ความสามารถของ) protocol ที่มาตรฐานมาก คือ HTTP อีกตะหาก

ในขณะที่บริษัทใหญ่ๆ ที่ชอบนั่งกำหนด standard ก็ยังคงบ้ากับ SOAP-based standard spec กันต่อไป บริษัทใหญ่ๆ ที่ต้องทำงานให้บริการข้อมูลจริงในโลกความเป็นจริง เช่น Google หรือ Amazon (ที่ Web Services มีผลอย่างมากกับ model ทางธุรกิจของตัวเองด้วย) กลับมีแนวโน้มจะกลับมาใช้ REST เพิ่มขึ้นเรื่อยๆ นี่ยังไม่นับถึงบริษัทเล็กๆ อีกนับร้อยนับพัน ที่ต้องให้บริการข้อมูลจริง เชื่อมโยงจริง ใช้งานจริง เป็นส่วนหนึ่งของระบบนิเวศน์ของข้อมูลขนาดใหญ่จริง .. ที่ใช้งาน WS แบบ REST มากกว่าที่จะเลือก SOAP (คนใช้ SOAP มันก็มีนะ ไม่ใช่ไม่มี)

การทำงานในโลกความเป็นจริง บางทีมันมีอะไรที่มากกว่า เรียบง่ายกว่า และ work กว่าการทำงานตามกฏเกณฑ์ข้อกำหนดข้อบังคับ ที่นั่งกำหนดกันบนกระดาษ ด้วยความรู้สึกที่ว่า ถ้าเป็นแบบนี้การทำงานจริงจะราบรื่น การทำงานจริงจะไม่มีปัญหา ฯลฯ หลายครั้ง สุดท้ายก็ต้องกลับสู่ความเรียบง่าย ด้วยการกลับมาดูธรรมชาติของตัวงานจริง

และ SOAP vs. REST ก็เป็นอีกบทพิสูจน์หนึ่ง …. ที่ยังคงดำเนินต่อไป

ปล. จริงๆ ผมเคยเขียน blog เรื่อง SOAP หรือว่าทำนองบ่นๆ เรื่อง SOAP ไปแล้วหลายครั้ง

เทอมหน้าวิชา WWW Programming ในส่วนของ Web Services จะสอน REST Web Services เป็นหลัก ส่วน SOAP คงจะยกยอดไป “ถ้ามีเวลา” แทน

[update 1]: ลืมไป ว่าเมื่อไม่นานมานี้ Tim Bray จาก Sun Microsystems ได้มาพูดถึง REST ไว้ด้วย และน่าสนใจทีเดียว และเขียนไว้หลายบทความ รวมถึงการให้สัมภาษณ์หลายครั้งด้วย ลองหาอ่านๆ ได้จาก blog ของเค้าครับ

  • tbray.org (link นี้เฉพาะในส่วนของ Web Services Technology เท่านั้นนะครับ) ภายในแต่ละ link ค่อนข้างยาวทีเดียว น่าอ่านครับ
  • InfoQ: Tim Bray on Rails, REST, XML, Java and More อันนี้สัมภาษณ์
  • Tim Bray: Issues in Web Frameworks เป็น PDF ของ slide ที่ Bray ไปพูดเรื่องเกี่ยวกับ Web Frameworks ครับ มีเรื่อง Web Services ด้วย

[update 2]: เพิ่งอ่านที่ James Clark เขียนเรื่อง Bytes not Infosets ที่ remark น่าสนใจหลายเรื่องเหมือนกัน ที่อาจจะไม่เกี่ยวกับ SOAP vs. REST ตรงๆ แต่ว่าโดนหางเลข เนื่องจาก WS-* แบบ SOAP มัน emphasis กับ XML infosets มากเลย …. และ James Clark (คนที่เราน่าจะฟังมากที่สุดคนนึงในเรื่องของ XML) ก็มี remark ว่า

My conclusion is this: one aspect of the WS-* approach that should not be carried over to the REST world is the emphasis on XML infosets.

เห็นด้วยไม่รู้จะเห็นด้วยยังไง

[update 3]: minor clarifications added

หนังสือที่อยากได้ (Complex Systems) และ amazon.com

Wednesday, October 3rd, 2007

เมื่อวานนี้ Amazon ส่ง e-mail มาโฆษณาหนังสือ … เห็นเล่มนี้แล้วอยากได้มาก



Complex and Adaptive Dynamical Systems: A Primer โดย Claudius Gros มีกำหนดออกวันที่ 1 พย. ปีนี้ น่าจะเป็นของขวัญวันเกิดให้ตัวเองได้ดีเลยนะเนี่ย

มี description (เอามาจาก Amazon):

We are living in an ever more complex world, an epoch where human actions can accordingly acquire far-reaching potentialities. Complex and adaptive dynamical systems are ubiquitous in the world surrounding us and require us to adapt to new realities and the way of dealing with them.

This primer has been developed with the aim of conveying a wide range of “commons-sense” knowledge in the field of quantitative complex system science at an introductory level, providing an entry point to this both fascinating and vitally important subject.

The approach is modular and phenomenology driven. Examples of emerging phenomena of generic importance treated in this book are: - The small world phenomenon in social and scale-free networks; - Phase transitions and self-organized criticality in adaptive systems; - Life at the edge of chaos and coevolutionary avalanches resulting from the unfolding of all living; - The concept of living dynamical systems and emotional diffusive control within cognitive system theory.

Technical course prerequisites are a basic knowledge of ordinary and partial differential equations and of statistics. Each chapter comes with exercises and suggestions for further reading - solutions to the exercises are also provided.

อยากได้ชะมัด .. นี่ถ้ายังอยู่ญี่ปุ่นนี่คงจะสั่งไปแล้วนะเนี่ย..

นี่แหละ power ของการเก็บข้อมูล และการวิเคราะห์พฤติกรรมผู้ใช้ ผมเคยซื้อหนังสือเกี่ยวกับ Chaos Theory, Fractals, Complex Systems theory จาก Amazon ไว้หลายสิบเล่ม (นอกจากหนังสืออื่นๆ นะ ไว้วันหลังจะทำ reading list ให้) ไม่พอนะ ผมอาจจะมีพฤติกรรมการซื้อหนังสือจากสำนักพิมพ์ Springer เยอะด้วย พอเอาข้อมูลนี้มาวิเคราะห์นะ ระบบ computer ที่ Amazon ก็เลยไม่ลังเล (computer มันลังเลเป็นที่ไหน) ในการที่จะส่ง e-mail มาบอกผมว่า มีหนังสือใหม่เล่มนี้นะ สนมั้ย

  • ถ้า Amazon ส่งโฆษณามามั่ว มีหนังสือใหม่อะไรก็ส่งมาหมด ผมก็คงสั่งโปรแกรม e-mail client ของผมให้ filter มันไปเป็น junk แบบถาวร
  • ถ้าส่งมาแบบ 50 mail มีดีซักอัน ผมก็คงจะ filter มันเข้าไปอยู่ใน mailbox ที่ไม่สำคัญ อยากอ่านก็อ่านอยากลบก็ลบ (แต่ไม่ใช่ junk) แล้วปกติก็จะลบมากกว่าอ่าน
  • ถ้ามันส่งมาแบบ 10 mail ผมคิดว่าเข้าท่าซัก 1 เนี่ยสิ ค่อยน่าสนหน่อย

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

ซึ่งมันก็เป็น hit-and-miss

แต่ว่าทุกครั้งที่ผมซื้อ Amazon ก็ยิ่งมีโอกาสได้เงินจากผมมากขึ้นในอนาคต

การใช้ computer และทฤษฎีต่างๆ อย่างฉลาดในเชิงธุรกิจ บางทีมันเพิ่มโอกาสในการทำธุรกิจ ในการขายของ ในการเชื่อมโยง ในการบริหารจัดการมากขึ้นอย่างมากมาย

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

ปล. ใครมีประสบการณ์สั่งหนังสือจาก Amazon พักหลังๆ ช่วยบอกหน่อยนะครับ ว่าดีมั้ย (การขนส่งและ delivery นะ) เพราะว่าเคยสั่งครั้งนึงเมื่อนานมาแล้วตอนกลับมาเยี่ยมบ้าน ตอนนั้น delivery ในบ้านเราห่วยสุดๆ…. เลยเข็ด

Computer Stupidities

Monday, October 1st, 2007

มี website อยู่ที่หนึ่งนะ ที่ผมเคยชอบเข้าไปดูเมื่อก่อน (ตอนนี้ก็ once in a while) เข้าไปหาเรื่องสนุกๆ อ่านเล่น

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

  • Piecing it together (เอาเรื่องโน้นเรื่องนี้มาจับแพะชนแกะกันมั่ว)
  • Operating System (ความเข้าใจผิด เรื่องขำขัน เกี่ยวกับ OS)
  • Programming (ใครเรียน CS/IT/CE ต้องอ่าน!)
  • Mincing Words (เอาคำมายำกัน)
  • Paranoia (ความกลัวจากความเชื่อผิดๆ จนเข้าขั้นวิตกจริต)
  • Stupid Tech Support (อันนี้ขำมาก)
  • Stupid Salesman (อันนี้ด้วย)
  • ……. เยอะแยะ เข้าไปอ่านเองนะครับ

เมื่อก่อนอ่านก็ขำนะ แต่ว่าทำไมเดี๋ยวนี้มันต้องหัวเราะแห้งๆ ก็ไม่รู้ ขำไม่ออกมากขึ้นหลายๆ อย่าง แต่ว่าก็ยังเข้าไปอ่านอยู่ดี มีความรู้สึกว่าดีกว่าอ่านกระทู้ที่ web หลายๆ web หน่อยนึงมั้ง

อืมมม แต่ว่าจริงๆ คงต้องมองย้อนกลับไปที่ต้นตอของปัญหามากขึ้น ด้วยความรู้สึกส่วนตัวอย่างหนึ่งที่มีมานานแล้วนะ คือ computer แล้วก็ information technology มันกลายเป็น mainstream เร็วเกินไป เร็วเกินกว่าที่คนจะมี literacy กับมันมากพอ คือทุกวันนี้ computer กลายเป็นอุปกรณ์มาตรฐานอย่างหนึ่งในการใช้ชีวิต การทำงาน การเรียน การติดต่อ ฯลฯ แต่ว่ามันต่างจาก TV, วิทยุ, โทรศัพท์, projector, ฯลฯ มากมายมหาศาล เรียกว่ามันคนละ order of magnitude เลยก็ว่าได้

พูดง่ายๆ ว่าเราสามารถใช้ TV ได้โดยไม่ต้องคิดว่ามันจะตีกับวิทยุหรือเปล่า แต่ว่าถ้าเราเปิดโปรแกรมดูหนังพร้อมกันกับโปรแกรมฟังเพลง มันอาจจะตีกันทำให้ crash กันได้ไม่ยากเย็นเลย หรือว่าเราสามารถที่จะใช้เครื่องคิดเลข กับเครื่อง word processor ได้โดยไม่ต้องคิดว่าพวกมันแย่งทรัพยากรกันยังไง (นอกจากค่าไฟค่าแบตเตอรี่จากกระเป๋าเรา) หรือว่าเรื่องไวรัสที่ติดกับโปรแกรมตัวนึงอาจจะทำลายไฟล์ได้ทั้งเครื่อง ฯลฯ

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

ช่วยกันได้ก็ช่วยๆ กันไปนะครับ เรื่อง computer/information literacy กับคนใกล้ตัวเนี่ย สำคัญเชียวแหละ อ่าน web นั้น อ่านกระทู้ทั่วไปตาม webboard หรือว่าเจอคนใกล้ๆ ตัว ก็ช่วยกันสร้างความเข้าใจที่ดีขึ้นกับ computer เถอะครับ มันใกล้ตัวกว่าที่เราคิด

Blog คือ?

Wednesday, September 19th, 2007

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

คำว่า blog มันมีที่มาจากคำว่า web log หรือว่า log บน web ทีนี้ไอ้คำว่า log เนี่ย มันเหมือนกับพวก data logger คือบันทึกข้อมูล บันทึกข้อความ อะไรก็แล้วแต่ที่เราอยากจะบันทึก คล้ายๆ diary น่ะแหละ แต่ว่าแทนที่จะเขียนมันลงกระดาษ หรือว่าลงโปรแกรม word แล้วเก็บเป็นไฟล์ไว้ ก็เขียนมันลง web ซะ

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

ซึ่งไปๆ มาๆ มันก็เริ่มดึงดูดคนที่สนใจ ที่มีประสบการณ์เหมือนกัน มีความคิดคล้ายกัน สนใจเรื่องเดียวกัน ให้เข้ามาอ่านได้ ให้เข้ามาทำความรู้จักกันได้ เริ่มเชื่อมโยงกันไปเชื่อมโยงกันมา ก็เริ่มกลายไปเป็น social networking (เครืิอข่ายของสังคม) แบบง่ายๆ

เรื่องน่าสนุกอยู่ตรงนี้ ถ้าเราเอาคำว่า web log มาเขียนติดกัน จะได้คำว่า weblog แล้วตัดคำเสียใหม่ จะได้คำว่า we blog ซึ่ง we ในที่นี้แปลว่า “พวกเรา” และ blog ก็เหมือนจะกลายเป็นคำกริยา (เหมือนกับ we write, we walk, we talk, we do) โดยที่คำนี้จะมีความหมายสื่อถึงการกระทำที่ผมเพิ่งจะเขียนถึงไปเมื่อย่อหน้าสองย่อหน้าก่อนเนี่ยแหละ

ดังนั้น เวลาคนถามกันว่า “มี blog หรือเปล่า” ก็จะหมายถึงว่า เรามีพื้นที่สำหรับเขียนความคิด เขียนประสบการณ์ แบ่งปันความรู้ ความเข้าใจ ทั้งถูกและผิด อะไรก็ตามที่บ่งบอกถึงความเป็นตัวเราเอง อยู่ในโลก cyberspace หรือเปล่า และนอกจากนี้ เราเป็นส่วนหนึ่งของ social network ขนาดใหญ่ ที่ไม่มีขอบเขตพรมแดน ไม่มีแบ่งแยกประเทศ ไม่มีหมวก ไม่มีหน้ากาก หรือเปล่า

และเวลาที่เราบอกใครว่า “ผมมี blog” ก็จะหมายถึงว่า เรามีสิ่งเหล่านั้น นั่นเอง

ปล.จริงๆ เรื่องของ blog มีมากกว่านี้เยอะ ลองดู http://en.wikipedia.org/wiki/Blog นะครับ ส่วนเรื่องที่ตัดคำใหม่ ให้ได้คำว่า we blog น่ะ อันนี้ถึงผมจะคิดเอง มั่วเอาเอง แต่ว่าอาจจะมีอีกหลายคนคิดเหมือนกัน และชอบเหมือนกันก็ได้ .. โดยส่วนตัวผมคิดว่ามันเป็น definition ของพฤติกรรมสังคมในยุค social networking content ที่ดีนะ…

January 2009
M T W T F S S
« Dec    
 1234
567891011
12131415161718
19202122232425
262728293031