แม่ง Google Chrome

ผมชอบ Google Chrome มากครับ มันเป็นเบราเซอร์ที่ออกแบบมาดี ตอบสนองเร็ว เขียน extension ง่าย และมี Web Developer ค่อนข้างดีมากแถมมาในตัว

ผมแทบจะเป็นคนแรกในประเทศไทยที่รีวิวมันเมื่อมันเปิดตัว ผมชอบทีมงานที่ตอบสนองต่อบั๊ก local ดีมาก มีความคืบหน้าอย่างเร็ว รับรู้และช่วยกันแก้ปัญหาเร็วมาก แม้ว่าบางทีรอบ release จะช้าออกไป แต่เมื่อติดตามบั๊กแล้วมันถูกแก้ไขอย่างรวดเร็ว ก็ไม่ใช่เรื่องน่ากังวลอีกต่อไป บางทีเราก็แค่ใช้รุ่นเก่าสักหน่อย แล้วรอรุ่นหน้าที่ปัญหาถูกแก้ไขแล้วเท่านั้นเอง

แต่มันไม่ใช่รอบนี้ กับปัญหาภาษาไทยบนลินุกซ์

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

แต่เมื่อวันก่อนน้อง @nattster ก็บอกว่า [บั๊ก 43951](http://crbug.com/43951) ซึ่งเป็นปัญหาคล้ายๆ กันแต่เกิดกับภาษากลุ่มรัสเซีย เริ่มมีแพตซ์แล้ว และเป็นไปได้มากว่ามันจะเป็นปัญหาเดียวกับภาษาไทย เพราะมีการแจ้ง[Chrome OS บั๊ก 3031](http://crosbug.com/3031) ไว้ใน Chrome OS ก่อนหน้านี้แล้ว

ผมไม่รอแล้ว หกเดือนมันนานเกินไป ผม setup build environment แล้วจัดการโหลดแพตซ์มาคอมไพล์เองเมื่อคืนนี้

ข่าวดีคือแพตซ์ของบั๊ก 43951 ช่วยแก้ปัญหาตัวอักษรซ้อนกันได้

ข่าวร้ายคือมันไม่แก้ Chrome OS บั๊ก 3031 ทำให้สระและวรรณยุกต์ข้างบนบินไปมา

แม่ง…

ผมเปิด trac ของเว็บ WebKit ผมไม่รอแล้วหกเดือนมันนานเกิน และเรารู้แน่ๆ ว่าเมื่อหกเดือนก่อนมีใครสักคนทำมันพัง ผมไล่ดู revision ของ SVN พบว่าเมื่อปลายปีที่แล้ว Evan Martin ยังเข้ามาดูเรื่องภาษาไทยในกันอยู่ใน [revision 49994](http://trac.webkit.org/browser/trunk/WebCore/platform/graphics/chromium/FontLinux.cpp?rev=49994) เอาล่ะทีนี้เรารู้ว่ารุ่นนี้มันเวิร์คแน่

เล่นง่ายด้วยการเอาไฟล์ FontLinux.cpp วางทับ แล้วหวังว่ามันจะคอมไพล์ผ่าน….

แน่นอนมันไม่เคยเป็นจริง…

ตื่นจากฝัน แล้วดูโลกความเป็นจริง เราต้องค่อยๆ ดึงโค้ดเก่าบางส่วนว่าตรงไหนบ้างที่น่าจะก่อปัญหา [จาก diff](http://trac.webkit.org/changeset?old_path=%2Ftrunk%2FWebCore%2Fplatform%2Fgraphics%2Fchromium%2FFontLinux.cpp&old=49994&new_path=%2Ftrunk%2FWebCore%2Fplatform%2Fgraphics%2Fchromium%2FFontLinux.cpp&new=)

ไล่บ้างมั่วบ้าง สุดท้ายก็ไปเจอเอาฟังก์ชั่น setGlyphXPositions ทดลองวางของเดิมทั้งอัน เวิร์ค! แต่ไม่ดีแน่ที่เอาของเดิมไปทับดื้อๆ ผมค่อยๆ ไล่แล้วพบว่าที่มันก่อปัญหาก็มีแค่สามบรรทัดตรงกลางเท่านั้น ก็ส่งเป็น [patch](http://code.google.com/p/chromium-os/issues/detail?id=3031#c6) ไป หวังว่าทีมงานคงดูต่อให้เรียบร้อย ส่วนตัวผมมีใช้งานก็พอใจแล้ว

คนแถวๆ นี้คงขี้เกียคอมไพล์ใหม่ ก็[จิ้มโหลดตัว binary](http://garnet.cpe.ku.ac.th/~wason/chrome.r50881.tgz) ได้เลยครับ หาทางติดตั้งกันเอาเองแล้วกันงานนี้

 

การบ้าน Cryptography

ไม่ได้ได้การบ้านมาจากไหน แต่ตั้งโจทย์การบ้านเล่นๆ

Blognone ได้รับของมาฟรีๆ เป็น “จตุคอร์แรมเทพ” Core i7 Extreme + DDR3 16GB เป็นของแจกในเว็บ ปัญหาเริ่มเกิดขึ้นว่าจะแจกกันอย่างไร

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

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

1. โปรโตคอลนี้ต้องเปิดเผยสู่สาธารณะ ดังนั้นห้ามมั่วนิ่มแบบ [Security through obscurity](http://en.wikipedia.org/wiki/Security_through_obscurity)
2. อย่าลืมว่าใน Blognone มีผู้เชี่ยวชาญด้านการคำนวณประสิทธิภาพสูง และมีหลายคนเข้าถึงเครื่องซุปเปอร์คอมพิวเตอร์ได้ ดังนั้นอย่าประมาทการ brute force

BONUS: เขียน script ตามโปรโตคอลที่ออกแบบ

ส่วนนี่ไม่เกี่ยวกับเนื้อหา

 

นักการเมืองมันชั่ว

ผมคิดเรื่องนี้มานานแล้ว [มาร์คมาเขียนเรื่องนี้](http://www.isriya.com/node/3190/transform-thailand-1-เลือกตั้งผู้ว่า)เข้าพอดีเลยได้เวลา

เราเห็นคำพูดมากมายว่านักการเมืองนั้นชั่วช้าอย่างนั้น โกงอย่างนี้ ไม่รับผิดชอบ โดดประชุม ฯลฯ

เราจะมีส่วนแก้ได้อย่างไร?

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

เราต้องตั้งคำถามว่าทำไมคนดีๆ (เช่นเราๆ ที่ด่านักการเมืองทุกวัน) จึงไม่ลงเล่นการเมือง

ผมเคยตั้งคำถามนี้เล่นๆ กับนักวิจารณ์การเมืองตัวยงรอบข้างผม คำตอบคล้ายๆ กันหมด

“ไม่เห็นคุ้มเลย”

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

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

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

1. ใส่วันลางานไปหาเสียงไว้เป็น one-time leave แบบเดียวกับลาบวชหรือลาคลอด ไปเลย ชีวิตคนๆ หนึ่งลองลงสมัครสส. อบต. ฯลฯ ดูสักทีก็น่าจะดี
2. เพิ่มเงินเดือนให้มันคุ้ม น่าแปลกที่เงินเดือนนายกเราน้อยกว่าผู้ว่าแบงค์ชาติมากนัก เราอาจจะเห็นว่ามันเยอะ แต่ในระดับผู้บริหารด้วยกันแล้วคงต้องบอกว่าสภาพการทุกวันนี้ฐานเงินเดือนนายกอยู่ในระดับย่ำแย่
3. เปิดทางออกให้กับคนที่หมดสมัย ไม่ใช่ว่ามาเป็นสส.ดีๆ ได้สมัยเดียวแล้วสมัยหน้าสอบตก ต้องหมดอนาคต ไม่มีเงิน ไม่มีอาชีพ เราอาจจะสร้างระบบรับประกันตำแหน่งงานสำหรับการออกไปทำหน้าที่การเมือง (เหมือนไปเกณฑ์ทหาร) เราอาจจะต้องมีระบบบำนาญสำหรับอดีตนักการเมืองที่ยัง active อยู่ในวงการ ฯลฯ

ทำให้การมีส่วนร่วมทางการเมือง เป็นเรื่องของการเลือกว่าจะทำหรือไม่ทำ ไม่ใช่ปล่อยให้เป็นเรื่องที่คนดีๆ ไม่ทำกันเช่นทุกวันนี้

 

ขอ

ผมไม่เจอคนขอเงินข้างทางนานมากแล้ว และวันนี้ผมก็พบอีกครั้ง กับเรื่องราวที่น่าเชื่อถือ จนผมลังเลใจว่านี่เป็นเรื่องจริงหรือไม่

ผมจำได้ว่านี่เป็นครั้งที่สองที่ผมไม่ได้เงินคนเหล่านี้ไป

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

ชายกลางคนๆ หนึ่ง เคยมาขอเงินกลับบ้านแถวหอสมัยผมเรียนปริญญาตรี นับเป็นครั้งแรกๆ ที่ผมพบกับคนเหล่านี้ในยามวิกาล (เกือบเที่ยงคืน)

ผมให้เงินเขาไปจนมากพอที่จะเดินทาง (แบบลำบากๆ หน่อย) ไปที่ไหนก็ได้ในกรุงเทพฯ

หลายเดือนผ่านไป ผมเห็นเขาที่เดิม ในเวลาวิกาลอีกครั้ง

อีกครั้งหนึ่งผมพบชายคนหนึ่งระบุตัวเองว่าเป็นทหารกำลังกลับภูมิลำเนา เป็นอีกครั้งที่ผมให้เงินเขา

และเป็นอีกครั้งที่ผมพบชายคนนั้นที่เดิมในเวลาต่อมา

บางทีคนเราก็อาจจะเรียนรู้ที่ต้องใจร้าย?

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

คนเหล่านี้ขอเงินใครบ้าง อาจจะไม่ใช่ชายร่างค่อนข้างใหญ่อย่างผมเสมอไป

จะเกิดอะไรขึ้นถ้าผู้ถูกขอเป็นผู้หญิง

จะเกิดอะไรขึ้นถ้าคนเหล่านั้นต้อง “ให้” ด้วยความกลัว

ผมอ้่าปากจะเสนอ “การสื่อสาร” (โทรศัพท์นั่นล่ะ) ให้กับผู้ขอวันนี้ อย่างน้อยถ้ามันเป็นเรื่องจริง การสื่อสารคงเป็นเรื่องสำคัญ

“เธอ” ปฎิเสธ…

ผมไม่แน่ใจว่าเรื่องของเธอเป็นเรื่องจริงหรือไม่

ผมไม่แน่ใจจริงๆ

แต่ผมแน่ใจว่าผมจะไม่เป็นส่วนหนึ่งในการสร้างสังคมนี่น่ากลัวเช่นที่ผมมีส่วนมาอีกต่อไปแล้ว