กระโดดไปยังแผงนำทาง

ขึ้นปีใหม่ ก็ต้องขึ้นเงินเดือนสิ จริงมั้ย? 31 December 2006 9:09 am

บันทึกโดย Mr. PeeTai ใน : การจัดการ , 7 ความคิดเห็น

ตอนนี้ผมได้ข้อมูลเงินเดือนของคนในทีมที่ผมดูแลจาก HR มาแล้วครับ ผมดูแลทางตรงอยู่ราว 6 คนและดูแลทางอ้อมอยู่ 7 คน ก็เลยต้องมาประเมิณกันอีกแล้ว

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

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

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

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

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

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

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

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

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

ล่าสุดคนในทีมจบปริญญาโทอีกคนแล้ว สงสัยต้องจิ้ม ๆ กับระดับนโยบาย เพื่อขอขึ้นเงินเดือนให้คนนี้เยอะหน่อย ก่อนที่เขาจะไม่รอแล้วจากไป T-T

ป.ล. ขอขึ้นเงินเดือนให้คนในทีมได้ แต่ขอขึ้นเงินเดือนให้ตัวเองไม่ได้ แย่จริง ๆ T-T

Technorati Tags: , , , , ,

Natural Language Processing 30 December 2006 5:03 pm

บันทึกโดย Mr. PeeTai ใน : การสร้างซอฟต์แวร์ , 2 ความคิดเห็น

ใกล้จะปีใหม่แล้ว มาเล่าอะไรที่มันสบาย ๆ ดีกว่า วันนี้เอาเรื่องความก้าวหน้าของแขนงวิชาการประมวลผลภาษาธรรมชาติ หรือ Natural Language Processing หรือ NLP ของไทยกันดีกว่าเน้อะ

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

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

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

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

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

เป็นลักษณะห่วงหน้าพะวงหลัง!!!

พื้นฐานแห่ง NLPไม่ว่าจะเป็น Compiler, Text To Speech และ Natural Language Processing ถ้าหากว่าผลลัพท์ของการประมวลผลเป็นภาษาไทยแล้ว คงหลีกเลี่ยงไม่พ้นที่จะต้องไปเน้นทางด้านการตัดคำซะก่อนทั้งสิ้น

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

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

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

อย่างที่เรารู้กันว่า การตัดคำไทยยังไม่ใช่ระบบเปิด นั่นคือ ใครคิดอัลกอริทึมอะไรได้ ก็เขียนเอาไว้ในโค้ด เขียนเพิ่มขึ้น เพิ่มขึ้นเรื่อย ๆ อีกทั้งโค้ดที่เขียนไว้ ก็เขียนด้วยภาษาเฉพาะภาษาใดภาษาหนึ่ง เช่น อาจจะเขียนด้วย Java, PHP หรือ Visual Studio.NET เป็นต้น

ดังนั้นโดยลึก ๆ ของนักพัฒนาซอฟต์แวร์แล้วก็คงรู้สึกคล้าย ๆ กัน คือรู้สึก “กลัว” กลัวว่าโค้ดที่ตนเองเขียนเอาไว้จะหมดอายุลง ด้วยเหตุเพราะโดนภัยคุกคามจากสินค้าทดแทน อันได้แก่

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

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

โมเดลการสร้างซอฟต์แวร์

นักพัฒนาซอฟต์แวร์ไทยส่วนใหญ่ ไม่ชอบการทำเอกสาร เพราะรู้สึกว่าจะเป็นการง่ายกว่า หากบรรจุความคิดของตนเองเข้าไปตรง ๆ ในรูปของโค้ดโปรแกรม แต่จากภัยคุกคามจากสินค้าทดแทนในย่อหน้าก่อน ๆ ที่ผมบอกเอาไว้ ชี้ให้เราเห็นว่า หากเราทำเอกสารเอาไว้อย่างดี การที่ผู้อื่นจะโอนย้ายโค้ดของเราไปยัง IDE อื่น, ภาษาคอมพิวเตอร์อื่น, Platform อื่น จึงน่าจะเป็นสิ่งที่ง่ายกว่า หากเป็นการทำโดยมีเอกสาร Functional Specification, Technical Specification และ Component Test Plan ซึ่งเราสร้างเอาไว้แล้วอย่างละเอียดประกอบไปด้วย

โดยสรุปแล้วผมมองว่า ระบบ NLP ของไทยเราจะเติบโตได้ ก็คงต้องอาศัยพิธีกรรม, กลไก และมาตรฐานอะไรหลาย ๆ อย่าง ประกอบเข้าด้วยกัน เพื่อให้การพัฒนาซอฟต์แวร์ซึ่งต่อยอดจากการวิจัยพัฒนาระบบ NLP ภาษาไทย เติบโตต่อไปด้วยความราบรื่นครับ

Technorati Tags: , , , , ,

ช่วงปีใหม่ ใครไม่ได้หยุดบ้าง? 29 December 2006 10:09 pm

บันทึกโดย Mr. PeeTai ใน : ข่าวสาร , 8 ความคิดเห็น

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

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

นักพัฒนาซอฟต์แวร์หลายคนก็ไม่ได้หยุด ไม่ใช่เพราะอยากจะหาเงินพิเศษ แต่เป็นเพราะช่วงวันหยุดยาว มันช่างเหมาะจะปรับเปลี่ยนระบบซอฟต์แวร์เสียนี่กระไร

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

Technorati Tags: , , , ,

Hack Proofing Your e-Commerce Site. 29 December 2006 9:10 pm

บันทึกโดย Mr. PeeTai ใน : E-Book , เพิ่มความคิดเห็น

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

ดังนั้นวันนี้เอา e-book เล่มนี้ไปอ่านเล่นแก้เซ็งดีกว่า ดาวน์โหลดได้เลยครับ

Hack Proofing Your e-Commerce Site

Technorati Tags: , , , , ,

ภัยคุกคาม Software as a Service 28 December 2006 9:07 pm

บันทึกโดย Mr. PeeTai ใน : ข่าวสาร , 6 ความคิดเห็น

ก็อย่างที่รู้กันครับว่าเมื่อวานนี้ (27 ธันวาคม 2549) เกิดแผ่นดินไหวโครม ๆ ๆ ๆ แล้วก็เลยทำให้สายสัญญาณซึ่งมีหน้าที่ในการบริการอินเตอร์เน็ตเสียหาย (อ่านจากข่าวนี้ได้)

ผมคิดว่าในอนาคตโลกของเราจะใช้งานอินเตอร์เน็ตกันอย่างหนาแน่นมากขึ้นกว่านี้ การให้บริการซอฟต์แวร์ในรูปแบบของ Software as a Service ก็จะมีมากขึ้น

ปัจจุบัน ปัจจัยเร่งที่จะทำให้การส่งบริการซอฟต์แวร์ตามหลักการของ Software as a Service แพร่หลายมากขึ้นมีอยู่ 2 ประการ ประการแรกคือการใช้งาน High Speed Internet กันอย่างแพร่หลาย และประการที่สองคือรูปแบบการตอบโต้ของ Browser ซึ่งใช้กลไก AJAX ที่จะทำให้ Browser ตอบโต้ได้ทันทีทันใดเหมือนกับซอฟต์แวร์ประเภท client-server ทั่ว ๆ ไป

แต่ดูเหมือนว่าภัยคุกคามการบริการตามหลักการของ Software as a Service มากที่สุดกลับไม่ใช่ระบบ Hosting แย่ ๆ ครับ มันกลับกลายเป็นความเสียหายของสายสัญญาณที่ใช้รับส่งข้อมูลอินเตอร์เน็ตซะนี่

ผมคิดว่าจากเหตุการณ์ในครั้งนี้ คงทำให้ผู้เชี่ยวชาญในสาขาต่าง ๆ ที่ได้รับผลกระทบกับภัยคุกคามนี้ เริ่มหันมาให้ความสนใจกับความสำคัญของอินเตอร์เน็ตมากขึ้นแล้วล่ะ

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

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

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

เครือข่ายคือแหล่งกำเนิดอำนาจครับ มันคงต้องต่อเชื่อมไปอย่างนี้ ขาดไม่ได้แล้วล่ะ

ป.ล. ผมเองก็ได้รับผลกระทบเหมือนกัน เพราะผมเองก็เข้าบล็อกตัวเองไม่ได้เลยมาเกือบวันนึงแล้ว แย่เลย

Technorati Tags: , , , , ,

ห้องปฏิบัติการแห่งชาติ 27 December 2006 6:00 am

บันทึกโดย Mr. PeeTai ใน : การจัดการ , 3 ความคิดเห็น

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

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

งั้นเรามาดูห้องปฏิบัติการแห่งชาติของสหรัฐอเมริกาก่อน …

ห้องปฏิบัติการแห่งชาติสหรัฐอเมริกา

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

จะเห็นว่าผมมีการป้ายสีเหลืองเข้มหน่อยเอาไว้ ซึ่งเป็นสิ่งที่ผมพยายามจะบอกว่า ห้องปฏิบัติการดังกล่าวมีการเน้นวิจัยพัฒนาในเรื่องคอมพิวเตอร์ด้วย ไม่ว่าจะเป็นการวิจัยพัฒนาฮาร์ดแวร์และซอฟต์แวร์ เจ๋งไปเลยเน้อะ สหรัฐอเมริกามีห้องปฏิบัติการแห่งชาติตั้ง 7 แห่งแน่ะ ที่มีการวิจัยพัฒนาเน้น ๆ เกี่ยวกับคอมพิวเตอร์

งั้นเรามาดูประเทศไทยซึ่งเป็นมหาอำนาจเดี่ยวแห่งเอเชียตะวันออกเฉียงใต้กันบ้าง…

ห้องปฏิบัติการแห่งชาติไทย

โอ้ ประเทศไทยเรามีห้องปฏิบัติการแห่งชาติตั้ง 1 ที่แน่ะ ที่มีการวิจัยพัฒนาเน้น ๆ เกี่ยวกับคอมพิวเตอร์ เราเองก็เจ๋งไม่เบาเหมือนกัน :-P

สำหรับคนที่อ่านแล้วพบว่าผมไม่ได้กล่าวถึง สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน) หรือ SIPA, สำนักงานพัฒนาเทคโนโลยีอวกาศและภูมิสารสนเทศ (องค์การมหาชน) หรือ GISTDA และ สถาบันเทคโนโลยีนิวเคลียร์แห่งชาติ (องค์การมหาชน) หรือ TINT ก็ไม่ต้องแปลกใจนะครับ เพราะสำนักงานและสถาบันเหล่านี้ไม่ใช่ห้องปฏิบัติการแห่งชาติอ่ะครับ สำนักงานเหล่านี้เป็นหน่วยงานที่จะมีห้องปฏิบัติการแห่งชาติภายใต้กำกับดูแลของตนเองในอนาคต ซึ่งถึงตอนนั้นห้องปฏิบัติการแห่งชาติเหล่านั้น ก็จะมีศักดิ์และสิทธิ์เทียบเท่าห้องปฏิบัติการทั้ง 5 ที่ ที่กล่าวถึงข้างต้นนั่นเอง

ป.ล. จุดที่ผมแปลกใจมาก ๆ ก็คือ ทำไมหนอ ห้องปฏิบัติการแห่งชาติของสหรัฐอเมริกาทุกห้อง อยู่ภายใต้กำกับดูแลของกระทรวงพลังงาน ในขณะที่ห้องปฏิบัติการแห่งชาติของไทยทุกห้อง กลับอยู่ภายใต้การกำกับดูแลของกระทรวงวิทยาศาสตร์และเทคโนโลยีล่ะเนี่ย?? งงเหลือเกิน

Technorati Tags: , , , , , , , ,

การเปลี่ยนศัตรูให้กลายเป็นมิตร 26 December 2006 3:42 pm

บันทึกโดย Mr. PeeTai ใน : การจัดการ , 4 ความคิดเห็น

วันนี้คุยหัวข้อจิตวิทยาเล็ก ๆ หน่อยแล้วกันนะครับ คุยแต่เรื่องการพัฒนาซอฟต์แวร์บางทีมันก็ไม่สนุก :-P

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

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

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

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

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

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

แย่หน่อยตรงที่นักพัฒนาซอฟต์แวร์บางคนนะบางคน มีอุปนิสัยชอบคุยข่มชาวบ้านน่ะสิ แย่จัง การคุยข่มคนอื่นมันมีความหมายลึกซึ้งนะ มันแสดงว่าเรากำลังไปทำลายความยึดมั่น ถือมั่น และเชื่อมั่นของเขา ซึ่งถ้าเราไปทำแบบนั้น เขาก็ต้องเป็นศัตรูเรา เพราะเขากลัวเราจะไปทำลายความเชื่อมั่นของเขาไป เขากลัวว่าเราจะไปทำลายความมีอยู่ของจิตวิญญาณของเขา
อย่างที่เคยบอกไว้ว่าแหล่งกำเนิดอำนาจเกิดจากแหล่ง 8 แหล่ง อันได้แก่ เงินตรา, กลไกรัฐ, ธุรกิจผูกขาด, ภาพลักษณ์, ความรู้, สื่อ, เครือข่าย และกำลัง

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

ขนาดบริษัทเอกชนเขายังพยายามที่จะจำกัดอัตราส่วน “หนี้สิน ต่อ ส่วนของผู้ถือหุ้น” โดยถ้าค่ามันน้อย ๆ นะยิ่งดี ดังนั้นนักพัฒนาซอฟต์แวร์เองก็ควรจะพยายามจำกัดอัตราส่วน “ศัตรู ต่อ คนที่ต้องร่วมงานหรือใช้ชีวิตด้้วย” ให้มันมีค่าน้อย ๆ จะดีกว่ามั้งครับ :-)

ในบางสถานการณ์ “เครือข่าย” ก็มีอำนาจที่ทรงพลังมากกว่า “ภาพลักษณ์” และ “ความรู้” อีกนะจะบอกให้ :-P

Technorati Tags: , , , , , , ,

File Extension 25 December 2006 8:28 pm

บันทึกโดย Mr. PeeTai ใน : การสร้างซอฟต์แวร์ , 9 ความคิดเห็น

วันนี้ผมว่าผมโม้เรื่อง File Extension บ้างดีกว่า เทคนิคหน่อยนะวันนี้ :-) จะบอกว่าตอนนี้ในโลกคอมพิวเตอร์ของพวกเรามี File Extension เยอะแยะเต็มไปหมดเลยเน้อะ ทั้งที่คิดค้นโดยบริษัท, หรือองค์กร, หรือแม้กระทั่งโดยตัวบุคคลเดี่ยว ๆ

อย่างที่ผมเคยโม้เอาไว้อ่ะครับว่า ถึงสุดท้ายแล้วการเขียนซอฟต์แวร์ของเรา ก็มีจุดพื้นฐานง่าย ๆ อยู่ที่การนำข้อมูลเข้า, การประมวลผล และการแสดงผลลัพท์¿ ซึ่งกระบวนการทั้งสามอย่างนี้เราหลีกหนีไม่พ้นเลย ที่จะต้องยุ่งวุ่นวายอยู่กับข้อมูลใน RAM และข้อมูลใน File ครับ

ทีนี้บทความนี้จะคุยเรื่อง File งั้นก็คุยแต่เรื่อง File ดีกว่า :-P คือจะบอกว่าเรื่องเกี่ยวกับ File Extension เป็นเรื่องคลาสิคมาก ๆ เลยนะ ขอบอก ขอบอก อย่างที่เรารู้กันว่า File มีสองแบบใหญ่¿ๆ คือแบบ Plain Text กับแบบ Binary ไอ้เจ้า File แบบ Plain Text มันแทบจะไม่มีวิวัฒนาการอะไรเลยงั้นอย่าไปสนใจมันเลย มาสนใจไอ้ประเ฿ทที่เป็นแบบ Binary กันดีกว่า

โครงสร้างไฟล์แบบซับซ้อนโครงสร้างไฟล์แบบพื้น ๆผมชอบแนวคิดของ File แบบ Binary มาก ๆ เลยนะ ไม่รู้ใครเป็นคนคิดขึ้นมา ที่ชอบก็เพราะไม่ว่าจะเป็น File แบบ Binary แบบไหน ก็จะมีโครงสร้างคล้าย ๆ แบบ฿าพด้านซ้ายอ่ะ คือมี Header กับมี Detail หรือบาง File Extension ก็จะเว่อร์หน่อยแบบ฿าพด้านขวา คือมี Header ใหญ่แล้วก็มี Header ย่อย ๆ กับมี Detail ย่อย ๆ ตามลำดับ

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

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

ปัจจัยสำคัญที่จะ Launch ไอ้เจ้า File Extension ของตนเองออกสู่สาธารณชนได้ จะประกอบไปด้วยขั้นตอนไม่ซับซ้อนครับ นั่นคือ ออกแบบโครงสร้าง File, สร้างซอฟต์แวร์ที่จะใช้สร้าง File ดังกล่าวออกมา และสร้างซอฟต์แวร์ที่จะใช้อ่าน File ดังกล่าว

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

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

ก็ตอนนั้นผมยังไม่เก่งพอที่จะเขียนซอฟต์แวร์เพื่อควบคุมไมโครโฟนได้, ยังเขียนซอฟต์แวร์เพื่อบังคับให้เสียงที่ถูกอัดผ่านไมโครโฟนบันทึกลงไปใน Virtual Memory แล้วให้ Thread ย่อยไปอ่านข้อมูลจาก Virtual Memory มาประมวลผลไม่ได้

ผมก็เลยจำเป็นจะต้องใช้กลไกมาตรฐานที่ IDE ดังกล่าวมีให้ บันทึกเสียงที่อัดผ่านไมโครโฟนลง WAV File แทน ดังนั้นก็เลยหลีกเลี่ยงไม่ได้ที่ต้องไปทำความเข้าใจกับโครงสร้างของ WAV File

สมัยนั้นข้อมูลหายาก โชคดีผมได้รู้จักกับเว๊ปไซต์หนึ่ง เว๊ปไซต์เกี่ยวกับ File Format ที่เก่าแก่มาก เปิดมาตั้งแต่ปี พ.ศ. 2536 เลย (เขาบอกว่าเขาสงวนลิขสิทธิ์ตั้งแต่ปี พ.ศ. 2539 แต่ผมเจอเว๊ปเขาก่อนหน้านั้นตั้งหลายปีแล้ว) เว๊ปดังกล่าวคือ Wotsit’s Format

ปัจจุบันอะไร ๆ มันก็ง่ายขึ้นนะ เพราะนักพัฒนาซอฟต์แวร์ระดับ Top ของโลก เขาช่วยกันสร้าง Framework ที่จัดการ File Extenstion มาตรฐานขึ้นมา ผมมอง ๆ ดูนะไม่ว่าจะเป็น Java, PHP, Visual Studio.NET ล้วนมี Framework เพื่อช่วยจัดการ File Extension ทั้งนั้น ข้อดีก็คงเป็นเรื่องของความง่ายในการเขียนซอฟต์แวร์ ที่เราคงไม่จำเป็นต้องไปจัดการ File Extension เองแล้ว แต่ข้อเสียก็คงเป็นว่าเราไม่ได้พัฒนาหยักสมองอะไรซักเท่าไหร่ เพราะกลายเป็นว่าอะไร ๆ ก็มีคนทำไว้ให้แล้วนั่นเอง

Technorati Tags: , , , , ,

นักพัฒนาซอฟต์แวร์ vs ลูกค้า 24 December 2006 12:21 am

บันทึกโดย Mr. PeeTai ใน : การจัดการ , 11 ความคิดเห็น

ไหนลองมานับซิว่าคนเรียนทางด้านคอมพิวเตอร์ ส่วนใหญ่แล้วเขาเรียนกันกี่ปี? ลองนับดูนะ ถ้าเรียนมาทางสายสามัญ เฉพาะจบปริญญาตรีก็แสดงว่าเรียนทางด้านคอมพิวเตอร์มา 4 ปีถูกแมะ?

ถ้าเรียนมาทางสายอาชีพ เช่น ปวช. หรือ ปวส. ก็จะเรียนคอมพิวเตอร์ตอน ปวช. ปี 3 แล้วก็ต่อคอมพิวเตอร์ตอน ปวส. อีก 2 ปี ก็นับรวมได้ 3 ปี ยิ่งถ้าเรียนต่อปริญญาตรีต่อเนื่อง ก็จะใช้เวลาเพิ่มเข้าไปอีก 2 ปี นับรวมกันได้ 5 ปี

และถ้าเรียนต่อปริญญาโทอีกก็เพิ่มไปอีก 2 ปี

นับรวมกันแล้วถ้าคนที่มุมานะที่จะเรียนคอมพิวเตอร์จนจบระดับบัณฑิตก็ใช้เวลาราว 4 - 5 ปี และถ้าร่วมกับการต่อในระดับมหาบัณฑิต ก็จะได้คิดได้เบ็ดเสร็จราว 6 - 7 ปี

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

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

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

ทราบมั้ยครับว่าผมต้องเรียนรู้และปรับตัวตั้งนานเลยล่ะ กว่าจะรู้วิธีที่จะสื่อสารกับลูกค้าหรือ User ได้อย่างรู้เรื่อง

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

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

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

การอุปมาหรือเปรียบเทียบศัพท์ทางเทคนิคให้สอดคล้องกับภาษาชาวบ้าน เป็นสิ่งที่เราต้องเลือกพูดตามสถานการณ์ เช่น ถ้าระบบมันช้าด้วยเหตุผลเพราะ Server เจอปัญหา I/O Bound กับ Client ผมก็จะอธิบายกับลูกค้าหรือ User ให้เข้าใจว่า …

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

ก็แถไปแบบนี้ครับ แล้วเขาก็เข้าใจนะ ดีจริง ๆ

โดยสรุปแล้ว เราควรมีความเมตตาและมีปัญญาเชิงอารมณ์ที่สูงมากพอในการคุยกับลูกค้าครับ อย่าลืมนะครับว่าพวกเราน่ะเรียนคอมพิวเตอร์กันมาถึง 6 - 7 ปีเชียวนะ เห็นใจคนที่เขาไม่ได้เรียนคอมพิวเตอร์มาบ้างเด้อ

Technorati Tags: , , , ,

Inside Direct3D 23 December 2006 6:00 pm

บันทึกโดย Mr. PeeTai ใน : E-Book , 3 ความคิดเห็น

เล่มนี้เก่าหน่อยนะคงไม่ว่ากัน ที่ว่าเก่าก็เพราะว่าเดี๋ยวนี้ไมโครซอฟท์ได้โอน Direct3D เข้าไปไว้เป็นส่วนหนึ่งของ DirectX เป็นที่เรียบร้อยแล้ว แต่ผมก็เชื่อว่าโดยพื้นฐานของการทำอะไร ๆ ที่เกี่ยวกับการจัดการภาพสามมิติล่ะก็ เจ้า DirectX ก็น่าจะมีพื้นฐานมาจาก Direct3D เช่นกัน

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

ก่อนที่จะมี Direct3D หรือ DirectX นะ ผมยังจำได้เลยว่าการที่จะแสดงผลจุดสีแค่จุดเดียวบนจอภาพได้ ไม่ใช่ง่าย ๆ เลยล่ะ เพราะผมต้องเรียนรู้การขอ Interrupt CPU เพื่อเปิดโหมดกราฟิกส์ ทั้งแบบ CGA, XGA, EGA, VGA แล้วตอนหลังก็เปิดได้ระดับ VESA

จากนั้นก็ต้องจองพื้นที่หน่วยความจำใน RAM ให้มีขนาดหน่วยความจำเท่ากับ Video RAM เพื่อจะเขียนข้อมูลลงผืนหน่วยความจำดังกล่าว แล้วส่งปรู๊ดเข้า Video RAM เพื่อไปแสดงผลต่อไป

คิดว่าเด็กสมัยนี้คงไม่รู้หรอกว่า Video RAM คืออะไร มันก็คือผืนหน่วยความที่ CPU จะอ่านเพื่อใช้แสดงผลบนหน้าจอคอมพิวเตอร์อ่ะครับ

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

สมัยนั้นการเขียนเกมส์นะ ลำบากมากเลยล่ะ เพราะ MultiThreading บนระบบวินโดว์ยังไม่มี ตอนนั้นมีแต่ MS-DOS การจะแสดงผลภาพกราฟิกส์ไปด้วยแล้วบรรเลงเพลงไปด้วยน่ะ วุ่นบรมเลย ทำลูปจนงงไปหมด

จะเขียนด้วย Turbo C++ ก็ไม่ได้ เพราะมันไม่เหมาะ แล้วตอนนั้นเขาใช้อะไรรู้เปล่า? เขาก็ใช้ WatCom C++ ไง เจ้าคอมไพเลอร์ตัวนี้นะเปิด Protect Mode ได้ด้วยล่ะ เล่าแล้วยาวเอาเป็นว่าหยุดดื้อ ๆ แล้วก็โหลด e-book ดีกว่าครับ

Inside Direct3D

ป.ล. เดี๋ยวพวกทำเกมส์สบายกันแล้ว มี Application Framework ดี ๆ อย่าง DirectX ก็ทุ่นแรงไปอักโขเลยล่ะ ดูเหมือนไมโครซอฟท์จะเก่งกาจเรื่องแบบนี้นะ

Technorati Tags: , , , ,