Theppitak's blog

My personal blog.

30 ธันวาคม 2547

ข้อมูล Tsunami เพิ่มเติม

หลังจากงงกับแผนที่การเกิดสึนามิ ว่าศูนย์กลางแผ่นดินไหวมันตรงไหนแน่ เพราะรูปจาก CNN กับ BBC ไม่ตรงกัน ก็พอดีได้ดูถึงลูกถึงคนคืนก่อน ที่ได้เชิญอาจารย์ธรณีวิทยาจากจุฬาฯ นักวิชาการจากกรมอุตุนิยมวิทยา และอาจารย์วิทยาศาสตร์ทางทะเลจากเกษตรฯ มานั่งคุยกัน อาจารย์ท่านหนึ่งได้แสดง animation ที่ simulate ด้วย supercomputer ที่ NOAA ว่าความจริงแล้ว แผ่นดินมันสั่นตลอดช่วงรอยต่อของเพลต (โดยศูนย์กลางอยู่ใต้หัวเกาะสุมาตราลงมา แต่ไม่ต่ำอย่างรูปใน CNN) ทำให้สึนามิกระจายเป็นวงรี ไม่ใช่วงกลม และสันคลื่นด้านที่วิ่งไปอินเดีย-ศรีลังกาดูจะใหญ่กว่า ทำให้ฝั่งโน้นได้รับความเสียหายมาก (และเลยไปถึงแอฟริกาด้วย) ส่วนบังกลาเทศก็เจอแค่ด้านข้างๆ จึงไม่โดนหนักเท่าประเทศอื่น

ดูจบ เลยไปค้นที่ เว็บของ NOAA แล้วก็ได้ ไฟล์ QickTime มา

Tsunami snapshot

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

รัฐบาลประเทศแถบนี้เริ่มเห็นความสำคัญของการติดตั้งระบบเตือนภัยแล้ว

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

งานนี้ ฮีโร่ที่ช่วยชีวิตผู้คนไว้ได้มากก็คือ ต้นไม้และแนวปะการัง ที่ช่วยดูดซับแรงกระแทกจากสึนามิไว้

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

ขวัญเอย.. ขวัญมา..

27 ธันวาคม 2547

Tsunami

เมื่อวานนี้ (26 ธ.ค.) ทั้งวัน ที่ภูมิภาคหนึ่งของประเทศ กำลังประสบภัยพิบัติครั้งร้ายแรงที่สุดในประวัติศาสตร์ แต่ข้าพเจ้าไม่ทราบข่าวอะไรเลย เพราะนั่งทำงานอยู่ และตอนค่ำก็ไปฟังพระสวดงานศพ ระหว่างทางกลับบ้าน เห็นทีวีตามบ้านเหมือนมีรายงานข่าวพิเศษ ถึงได้กลับมาดูที่บ้าน ก็เจอรายงานข่าวที่ต้องตะลึง คือคลื่นยักษ์ (tsunami) กระหน่ำภาคใต้!

คุ้นๆ ว่าเคยมีคนออกมาเตือนเรื่อง tsunami เมื่อหลายปีก่อน แต่พอดูไปๆ อ้าว คนกำลังพูดให้ข้อมูลนั่นเอง เป็นคนที่เตือนตอนนั้น แล้วก็เลยได้ข้อมูลทางธรณีวิทยาของ tsunami เพิ่มเติม ว่าครั้งนี้เกิดจากแผ่นดินไหวที่มีศูนย์กลางที่แถวๆ หัวเกาะสุมาตรา (แต่รูปจาก CNN ข้างล่างนี้ บอกว่าอยู่ใต้ลงไปอีก) โดยเป็นการเคลื่อนตัวของแผ่นดิน Eurasian plate กับ Australian plate ในลักษณะที่ Australian มุดเข้าไปใต้ Eurasian plate เลยเกิดการดูดน้ำทะเลลงไป ก่อนจะกระจายกลับมา จนเมื่อเข้าใกล้ชายฝั่ง ความตื้นของฝั่งทำให้คลื่นสั้นลงและแอมพลิจูดสูงขึ้น กลายเป็นคลื่นยักษ์โถมเข้าใส่แผ่นดินทั่วทั้งมหาสมุทรอินเดีย โดยศรีลังกาดูจะเสียหายมากที่สุด

Picture from CNN

แผ่นดินไหวครั้งนี้ รุนแรงเป็นอันดับ 5 (ปรับค่าวัดแล้ว กลายเป็นอันดับ 4) ของที่เกิดในศตวรรษที่ 20

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

(เมื่อวานที่บ้านเปิดทีวีเหมือนกัน แต่บังเอิญเปิดช่อง 5 ไม่ใช่ช่อง 9 ที่เคยเปิดประจำ แต่ผมก็ไม่ค่อยได้ดูอยู่ดีแหละ ไม่ขอวิจารณ์เขาละกัน)

ที่ pantip มีคนโพสต์ ความรู้เรื่อง tsunami เป็นภาษาไทยด้วย

/me เตรียมเงินและข้าวของบริจาคช่วยเหลือคนใต้

Update: เพิ่มการปรับข้อมูลความแรงของแผ่นดินไหว, แก้ชื่อ plate หลังจากที่ได้ข้อมูลใหม่จาก BBC มีคำอธิบาย การเกิด tsunami ครั้งนี้ด้วย) และเปรียบเทียบตำแหน่งจุดศูนย์กลางแผ่นดินไหว ที่บอกว่ามีศูนย์กลางอยู่ที่อาเจห์:

Picture from BBC

25 ธันวาคม 2547

ลินุกซ์ในโรงเรียน

ช่วงนี้งานค่อนข้างยุ่งเหยิง ทั้งงานหลวงงานราษฎร์ หลังฉลองบัณฑิตใหม่ ก็มีงานเตรียมงานวิชาการที่โรงเรียน ระหว่างนี้ก็มีข่าวญาติผู้ใหญ่ท่านหนึ่งเสียชีวิต ก็แวะไปเคารพศพท่านด้วย กับอีกงานคือญาติทำบุญขึ้นบ้านใหม่ แม่ให้ไปช่วยเตรียมของขวัญ นี่วันนี้ที่โรงเรียนก็มีงานวิชาการ ก็ต้องมา stand by แต่ระหว่างที่รอประธานเปิดงาน ก็มานั่งเขียน blog ไปพลางๆ

พักนี้การคลุกคลีกับงานโรงเรียน ก็ทำให้คิดถึงเรื่องการใช้ลินุกซ์ในโรงเรียน

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

  • ครูยังใช้ลินุกซ์กันไม่เป็น ตรงนี้เราก็เลยต้องเหนื่อยหน่อย ที่มีเราคนเดียวที่สอนได้ ก็เหมาสอนทั้งมัธยมและประถมเลย แต่เรื่องนี้ มีแนวโน้มที่ดีบ้าง เมื่อครูฝ่ายคอมพิวเตอร์แสดงความสนใจที่จะเรียนรู้ แม้จะยังหาโอกาสคุยกันลำบาก เพราะงานประจำของแต่ละคนก็หนักหนาอยู่แล้ว
  • เด็กคุ้นกับวินโดวส์แล้ว เรื่องนี้อาจเป็นประเด็นที่ถูกมองข้ามไป เท่าที่ทราบมา หลักสูตรสมัยนี้ ให้เด็กเรียนคอมพิวเตอร์ตั้งแต่อนุบาลทีเดียว และก็ใช้วินโดวส์เป็นหลัก ด้วยเหตุผลทั้งปวง เช่น ครูใช้ลินุกซ์ไม่เป็น (หรือแม้แต่ไม่เคยได้ยินคำว่าลินุกซ์) ขาดแคลนบทเรียน CAI ที่เป็นภาษาไทยบนลินุกซ์ ฯลฯ สำหรับเด็กประถมก็เหมือนกัน เด็กจึงคุ้นกับวินโดวส์ไปแล้ว แต่เด็กยังพอมีหวังมากกว่าผู้ใหญ่ เพราะเด็กจะมีความตื่นเต้นที่เห็นอะไรใหม่ๆ ในขณะที่ผู้ใหญ่อาจจะมีมาตรฐานอะไรบางอย่างที่ต้องรักษา ก็เลยไม่กล้าลองอะไรเท่าเด็กๆ
  • ระบบเดิมของโรงเรียน เดี๋ยวนี้ คอมพิวเตอร์เข้าไปในโรงเรียนมากขึ้น ทำให้เกิด solution ต่างๆ ที่อาศัยวินโดวส์เป็นหลักค่อนข้างเพียบพร้อมอยู่แล้ว เช่น อุปกรณ์ทดลองวิทยาศาสตร์ ระบบบริหารงานโรงเรียน ระบบ e-learning พอมีลินุกซ์เข้ามา แม้จะใช้แค่ในการเรียนการสอน ก็พบว่ากลายเป็นการเบียดบังทรัพยากรที่มีอยู่จำกัดอยู่แล้ว จึงเกิดการแสดงความไม่พอใจต่อคำว่า "ลินุกซ์" เป็นบางโอกาส
  • ตัวผมเอง ขาดทักษะและโฟกัสในการสอน ตรงนี้เรื่องใหญ่ ด้วยความที่ไม่เคยคิดจะเป็นครูแต่แรก (เพราะหลายครั้งที่อธิบายอะไรแล้วคนอื่นฟังเพี้ยนกันบ่อยๆ ก็ทำให้ขาดความมั่นใจเหมือนกัน) เป็นแต่ถูกเสนอให้สอน เพิ่มเติมจากการดูแลเซิร์ฟเวอร์ ก็เลยใช้วิธีแบ่งเวลาไปมากับงานพัฒนา, ดูแลเซิร์ฟเวอร์ และกิจกรรมครอบครัว ซึ่งต่อไป อาจจะต้องให้เวลากับงานสอนมากขึ้น และอาจต้องลดงานพัฒนาลงเป็นงานอดิเรกยามว่างจริงๆ

แต่ก็ต้องค่อยๆ แก้ปัญหาแบบค่อยเป็นค่อยไป ต้องค่อยๆ ให้ข้อมูลกับครูไปเรื่อยๆ ต้องคิดหาหลักสูตรที่เหมาะกับเด็ก ต้องเปลี่ยนแปลงตัวเองโดยให้เวลากับงานสอนมากขึ้น (ที่สำคัญคือต้องรักเด็กกว่านี้ :-P) ต้องเริ่มสำรวจโปรแกรมการศึกษาอย่างจริงจัง และต้องค่อยๆ เปลี่ยนเป็นขั้นๆ ตามความจำเป็น ไม่หักดิบ (อย่างน้อยๆ ตอนนี้ก็เริ่มใช้ firefox บนวินโดวส์กันละ)

แต่ที่เห็นว่าน่าจะจำเป็นมากๆ คือ content ที่เป็นภาษาไทย เช่น CAI สำหรับเด็ก, courseware, โปรแกรมใช้งานต่างๆ ที่แม้จะมี มากมาย แต่ยังมีน้อยที่เป็นภาษาไทย

23 ธันวาคม 2547

เมาไม่ขับ

พอดีน้องชายเล่าให้ฟังถึงป้ายข้างทางแถวชุมแพที่ขับผ่าน ฟังแล้วสะดุด ขอบันทึกไว้หน่อยน่ะ รายละเอียดอาจตกหล่น แต่ใจความว่าอย่างนี้แหละ:

ปี 2547 ไข้หวัดนกระบาด คนขอนแก่นตาย 2 ราย งดกินไก่กันทั้งเมือง

ปี 2546 มีอุบัติเหตุช่วงปีใหม่ในขอนแก่น ตาย xxx ราย กว่า 5x% ดื่มสุรา!

ง่วง เมา เราไม่ขับ นะครับ คุณเมาแล้วตายเองไม่ว่า อย่าไปทำคนอื่นตายไปด้วยละกัน

ปล. gnome-applets/po-locations แปลชื่อสถานที่ได้เพิ่มอีก 195 ข้อความ ในจำนวนนี้ 116 ข้อความมาจากคุณศิรัส ฤกษ์งาม ขอขอบคุณมา ณ ที่นี้ รวมแล้ว ตอนนี้แปลไปได้ 795 ข้อความแล้ว มี fuzzy อยู่ 16 และยังไม่แปลอีก 5676 ข้อความ

21 ธันวาคม 2547

พักหนาว

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

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

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

รูปจากที่ไปเที่ยวมา:

17 ธันวาคม 2547

Pango Story

Pango 1.8.0 ออกตามกำหนดก่อนออก GTK+ 2.6 เพื่อใช้ใน GNOME 2.10 ในรุ่นนี้สนับสนุนภาษาเขียนเพิ่มจาก 1.6.0 อีก 4 ภาษา คือลาว สิงหล ซีเรีย ทิเบต พร้อมเพิ่ม PangoRenderer และแก้ bug ที่เกิดกับ uniscribe บน Win32 ด้วย

พร้อมกันนี้ Owen ได้แตก branch พร้อม ประกาศแผน Pango 1.10 ว่าจะสนับสนุน Cairo พร้อมแผนอื่นๆ คือทำ hyphenation, justification, ข้อความแนวดิ่ง, เพิ่มภาษาเขมรและภาษาอื่นๆ อีก 6 ภาษา โหะๆ ท่าทางน่าสนุก GTK+ 2.8 คงมีอะไรเจ๋งๆ

/me อยากดัน word break ภาษาไทยเข้า pango mainstream แทนที่จะใช้ pango-libthai third-party plugin ไม่รู้เป็นไปได้แค่ไหน :-/ จริงๆ อยากได้ word break code ที่เล็กๆ สะอาดๆ ก่อน ระหว่างนี้ก็ third-party ไปก่อน

15 ธันวาคม 2547

เรื่องของลมฟ้าอากาศ

ด้วยความสงสัย ว่าจะมีปัจจัยอะไรให้ลุ้นว่าจะมีข้อมูลอากาศขอนแก่นใน gweather applet เมื่อไร ก็เลยลงมือไล่ซอร์ส gweather อีกครั้ง ก็พบว่า ยังคงเรียกไปที่ NWS Internet Weather Source เหมือนเดิม โดยเรียก cgi-bin/mgetmetar.pl แล้วระบุรหัสสถานีอากาศเอา เช่น ของดอนเมืองก็ VTBD ส่วนของขอนแก่นใช้รหัส VTUK แต่ยังไม่มีข้อมูลที่นั่น ยังคงมีแต่ข้อมูลสถานีหลัก 5 แห่งของไทย (ดอนเมือง, เชียงใหม่, หาดใหญ่, ภูเก็ต, ระยอง) ตามที่ gweather รุ่นเก่าแสดงไว้ให้เลือกเท่านั้น เพราะฉะนั้น กว่าจะมีข้อมูลสถานีอื่นที่นั่น ก็ต้องรอให้ NWS ให้บริการเสียก่อน

แต่ก็มีบริการที่ Weather Underground ที่ให้บริการข้อมูลอากาศที่สถานีย่อยๆ ด้วย พยายามค้นดูว่าแหล่งข้อมูลที่เขาได้มานั้น มาจากไหน ก็ไปพบในหน้า Information about the data ของเขา ว่าสำหรับข้อมูลอากาศในอเมริกา เขาก็ได้มาจาก NWS น่ะแหละ แต่สำหรับสถานีย่อยทั่วโลก เขาได้มาจากแหล่งต่างๆ ซึ่งส่วนใหญ่เป็นสถานีวัดอากาศอัตโนมัติที่สนามบิน ซึ่งรหัส METAR ที่ใช้แทนสถานีอากาศที่ NWS (เช่น VTBD, VTUK) ก็คือรหัสสนามบินนั่นเอง แต่ก็มีรหัสอีกแบบหนึ่ง คือรหัส World Meteorological Organization (WMO) ซึ่งจะละเอียดกว่า และครอบคลุมพื้นที่ที่ไม่มีสนามบินด้วย (นับแล้วรหัส WMO ในไทยมี 67 สถานี ในขณะที่รหัส METAR มี 42 สถานี) และ wunderground จะใช้รหัสนี้เวลาเรียกข้อมูล เช่น ของกรุงเทพฯ ก็ 48456 ส่วนขอนแก่นก็ 48381

สำหรับ กรมอุตุนิยมวิทยา ของไทย (ข้อควรระวังก่อนคลิก: ใช้ flash ซึ่งโหลดเครื่องมหาโหด) ก็มีบริการ รายงานสภาพอากาศเป็นพื้นที่ เหมือนกัน โดยอ้างสถานีด้วยรหัส WMO ถ้าจะเก็บมา parse ลง applet ก็พอได้ (มีแต่ภาษาไทย และดูเหมือนจะอัพเดตทุก 3 ชั่วโมง ส่วนฉบับภาษาอังกฤษจะเป็นแบบตารางเปรียบเทียบหลายๆ แห่ง)

ยังไม่จบสำหรับ gweather นอกจากการรายงานสภาพอากาศแล้ว ก็ยังมีการเก็บข้อมูลพยากรณ์อากาศเพิ่มเติมอีก ซึ่งของ อเมริกา, อังกฤษ, ออสเตรเลีย เขาไปดูดข้อมูลมาแสดงเพิ่มได้ ถ้าทำของไทยก็อาจดูดจาก กรมอุตุนิยมวิทยา ได้ (เสียดาย เขาเน้นหน้าตาของเว็บเกินไป เลยไม่ค่อย flexible เท่าไร ไม่รู้ว่ามีบริการ feed plain text หรือ XML มั่งหรือเปล่า ยังไม่ได้หา)

นอกจากนี้ gweather ยังดึง ภาพถ่ายเรดาร์ มาแสดงได้อีกด้วย แต่ก็อย่างว่า อะไรๆ ก็เพียบพร้อมไปหมดสำหรับอเมริกา :-P

14 ธันวาคม 2547

GWeather Update

เห็นใน gnome mailing list มีประกาศขอความร่วมมือ ให้ช่วยกันตรวจสอบชื่อสถานที่ต่างๆ ที่อยู่ใน Locations.xml ของ gweather applet ซึ่งในรุ่น 2.9.x เนี่ย เขาไปได้ข้อมูลสภาพอากาศที่ละเอียดยิ่งขึ้นมาใส่ เข้าไปดูก็ต้องทึ่ง กับจำนวนสถานที่ถึง 6,487 ชื่อทั่วโลก (แปลกันหูตูบเลยทีนี้) ในนั้นมีจังหวัดในภูมิภาคของไทยถึง 42 แห่ง (นับจังหวัดก็ 39 จังหวัด เพราะสงขลามี 2 แห่ง คือสงขลากับหาดใหญ่, ตากมีแม่สอดกับตาก, เชียงรายมีแม่เสรียงด้วย) รวมขอนแก่นที่ผมอยู่ด้วย หุๆ แต่พอลองเลือกแล้ว ยังไม่มีข้อมูลอยู่ดี แต่ยังเป็น development version ก็ไม่ว่าอะไรอยู่แล้ว ได้แต่รอ ว่าอีกเดี๋ยวคงมีข้อมูล :-)

gweather 2004-12-14 screenshot

ว่าแล้วก็เลยลงมือแปล gnome-applets/po-locations โดยไปเก็บข้อมูลมาจากเว็บต่างๆ โดยมี เว็บกระทรวงการต่างประเทศ ยืนพื้น ปรากฏว่า ทั้งวันแปลไปได้ 574 ชื่อ ฟังดูเยอะ แต่มันเพิ่งได้แค่ 8.85% เอง.. งานนี้งานช้างขอรับ -_-!

แอบดู Locations.xml ปรากฏว่า มีหลายภาษาเขาใช้ตัวสะกดภาษาอังกฤษเป็นคำแปลไปเลย คือ copy มาทั้งดุ้น ในบรรดานี้มีภาษาเวียดนามรวมอยู่ด้วย โหะๆ มิน่าเล่า เปอร์เซนต์การแปลของเขาถึงก้าวไปไกลกว่าเรามาก แต่ทั้งนี้ ถ้าดู package ย่อยอื่นๆ เขาก็แปลเยอะกว่าเราอยู่ดีแหละ เหอๆ อย่าพยายามหาข้ออ้างหน่อยเลย :-P

12 ธันวาคม 2547

งานวันหยุด

หยุดสามวันครั้งนี้ ค่อยว่างหน่อย อาจเป็นเพราะธุระอื่นๆ ของท่านทั้งหลายได้เสร็จสิ้นไปแล้ว ตั้งแต่ช่วงหยุดวันพ่อ แต่วันศุกร์ก็ใช้ไปกับการเดินงานไหมกับแม่ แล้วก็ดู Finding Nemo (พักนี้พลาดหนังโรงตลอด แต่ก็ดีเหมือนกัน ดูซีดีก็ได้ฟัง sound track ด้วย แถวนี้หนังโรงพากย์ไทยล้วนๆ) ดูแล้วรู้สึกทะนุถนอมปลาที่เลี้ยงไว้ขึ้นอีกเยอะ ในเรื่องมีการจับเอาปรากฏการณ์บอกต่อแบบ forward mail ในอินเทอร์เน็ตมาใช้ด้วยแฮะ

ว่าแล้วก็กลับมาทำงาน:

  • พยายามแก้ปัญหา license ใน thaifonts-scalable อีกครั้ง
  • แก้คำแปลใน gnome-applets หลังจากที่ไปเจอคำแปลแปลกๆ ระหว่างเซ็ตเครื่องสอนลินุกซ์ พร้อมกันนี้ ก็แปลแพกเกจใหม่เพิ่มอีกสองตัว คือ gnome-menus และ procman ทั้งหมด commit เข้า GNOME CVS แล้ว
  • ติดตาม AbiWord Bug #8064 (crash/hang กับ XIM ไทย) เป็นไปตามที่คาด ว่าการ revoke bug เก่า เขาไม่ยอม (จริงๆ ก็ไม่ได้คิดจะ commit แบบนั้นอยู่แล้วแหละ แค่เป็น workaround ที่ช่วยบรรยายปัญหาให้ใกล้เข้าไปแค่นั้น) แต่คำอธิบายของเขาก็ทำให้กระจ่างขึ้น ว่าโค้ดที่ใช้หาตำแหน่งต้นย่อหน้านั้น เอาไว้ใช้กับการเคลื่อนไปมาในเอกสาร พอเจอต้นย่อหน้า มันเลยพยายามกระโดดไปย่อหน้าก่อน เพื่อให้ต่อเนื่อง ไอ้เราก็งง ว่า operation นี้มันน่าจะ atomic คือย้ายไปต้นย่อหน้าก็พอ จะกระโดดต่อก็ให้เป็นเรื่องของคน call สิ แต่พอ search source tree ไป ก็เจอการใช้งานหลายที่ ที่ทำให้ต้องยอมเขาละ ก็เลยเสนอเขาไปว่าน่าจะเพิ่มการเคลื่อนที่แบบ "begin of same block" ด้วยไหม? (ตาม patch ซึ่งทดลองแล้ว work ขาดก็แต่ว่า มัน make sense ในทางเทคนิคหรือเปล่าแค่นั้น)

08 ธันวาคม 2547

Virtual E-mail Accounting

จากที่เคยเซ็ตระบบเมลรอไว้เมื่อสามเดือนก่อน โดยใช้ maildir format + imap + pop3 interface พร้อม spam/virus scanner ก็ทดลองใช้เป็นการภายในมาระยะหนึ่ง มันก็ใช้การได้ดี มาถึงตอนนี้ ผู้บริหารต้องการเริ่มใช้ระบบเมลแล้ว ก็เลยมาเซ็ตต่อ ให้ใช้ virtual account คือไม่ต้อง generate shell account บนระบบ เพื่อความปลอดภัยของระบบ แต่ใช้ DBMS เก็บข้อมูลผู้ใช้ (ตามที่ kitty เคยแนะนำในการสนทนาครั้งหนึ่ง)

เคยอ่านพบในข้อมูลแพกเกจของ debian ว่า cyrus สามารถทำ virtual mail ได้ แต่สูตรที่ใช้อยู่ คือ exim4 + courier ยังไม่อยากเปลี่ยน ค้นไปสักหน่อยก็พบว่า ทั้ง exim4 และ courier ต่างก็สนับสนุนการ deliver และ authenticate ผ่าน DBMS ทั้ง MySQL และ PostgreSQL ก็เลยจัดการลองซะ โดยเริ่มจาก HOWTO ที่เคยเก็บไว้ใน blog เก่า ทำไปทำมา ปรากฏว่าเขาทำครบถ้วนมากๆ มีทั้งระบบตอบกลับอัตโนมัติด้วย จะทดสอบทีละขั้นก็ทำได้ยาก ก็เลยค้นใหม่อีก จนไปเจอ อีกฉบับ ดูเป็นขั้นเป็นตอนดี ทำทีละขั้นได้เลย สรุปย่อๆ สักหน่อย (เพิ่มเติมจาก exim4 + sa-exim + spamassassin + amavisd-new + clamav + courier-imap บน Debian) ก็คือ:

  1. apt-get install exim4-daemon-heavy ซึ่งจะมาแทน exim4-daemon-light ที่ไม่สนับสนุนการ lookup DBMS
  2. apt-get install courier-authmysql (หรือ courier-authpostgresql) เพื่อเพิ่ม module การ authenticate ของ courier ผ่าน DBMS
  3. create database และ table สำหรับการ authenticate ตามคำแนะนำในเอกสารของ courier-authmysql
    CREATE TABLE users (
      id       char(128) DEFAULT '' NOT NULL,
      crypt    char(128) DEFAULT '' NOT NULL,
      clear    char(128) DEFAULT '' NOT NULL,
      name     char(128) DEFAULT '' NOT NULL,
      uid      int(10) unsigned DEFAULT '65534' NOT NULL,
      gid      int(10) unsigned DEFAULT '65534' NOT NULL,
      home     char(255) DEFAULT '' NOT NULL,
      maildir  char(255) DEFAULT '' NOT NULL,
      quota    char(255) DEFAULT '' NOT NULL,
      KEY id (id(128))
    );
    
  4. เพิ่มโมดูล authmysql (หรือ authpostgresql) ในรายการ authmodulelist ใน /etc/courier/authdaemonrc แล้วเซ็ตค่าใน /etc/courier/authmysqlrc (หรือ authpostgresqlrc)
    MYSQL_SERVER         localhost
    MYSQL_USERNAME       mail
    MYSQL_PASSWORD       password
    MYSQL_DATABASE       maildb
    MYSQL_USER_TABLE     users
    MYSQL_CRYPT_PWFIELD  crypt
    MYSQL_LOGIN_FIELD    id
    MYSQL_HOME_FIELD     home
    MYSQL_NAME_FIELD     name
    
    จบแล้ว /etc/init.d/courier-authdaemon restart
  5. ทดลองเพิ่ม user ลงใน database และทดสอบ imap authentication
  6. เซ็ต exim4 เพื่อให้กระจายจดหมายตามข้อมูลใน database (ขั้นนี้วิธีในเว็บหลังไม่ผ่าน ต้องผสมวิธีการกับเว็บแรก):
    • กำหนดการเชื่อมต่อ DBMS (ในที่นี้คือ MySQL)
      hide mysql_servers = host/db/user/password
      
    • เพิ่ม virtual_local director ให้ accept และใช้ virtual_local_md_delivery transport
      virtual_local:
        driver = accept
        domains = +local_domains
        transport = virtual_local_md_delivery
      
    • เพิ่ม virtual_local_md_delivery transport ให้กระจายเมลแบบ Maildir โดย query หาแหล่งถุงเมลของผู้ใช้จาก DBMS
      virtual_local_md_delivery:
        driver = appendfile
        directory = ${lookup mysql {SELECT maildir FROM users \ 
                     WHERE id='${quote_mysql:$local_part@$domain}'}{$value}}
        maildir_format
      
      (พอสังเขปนะครับ ความจริงมีต่ออีก แต่เป็นการ fine tune อย่างอื่น)
    แล้วก็ update-exim4.conf และ /etc/init.d/exim4 restart

จบแล้ว ทดลองส่งเมลถึงผู้ใช้แล้วเปิดเมลผ่าน IMAP interface ได้เรียบร้อย :-)

06 ธันวาคม 2547

AbiWord Bug

หลังจาก rebuild GNOME จาก CVS ตามปกติ (พอดีวนรอบมาตรงกับ 2.9.2 ออกพอดี) ก็คอมไพล์ AbiWord จาก CVS ต่อ (เข้าใจว่าตรงกับรุ่น 2.2.1 ที่ออกหลัง 2.2.0 ไม่กี่วัน) เพื่อทดสอบ ปรากฏว่า เจอ bug เข้าจังเบ้อเร่อ ซึ่งพอดี debug message ที่มันขึ้นที่ console มันมาจากโค้ดส่วนจัดการ signal "retrieve-surrounding" ที่ทำให้ XIM ไทยแก้ลำดับการพิมพ์พอดี เลยเอ๋อเลย อุตส่าห์จะลุ้นภาษาไทยใน AbiWord ซะหน่อย อาการตามที่บรรยายใน AbiWord Bug #8064

พอดีหยุดสามวันยุ่งตลอด ทุกคนที่รอคอยวันหยุดก็ดูจะประดังกันเข้ามาในช่วงวันหยุด แม่เองก็ไปหาน้องสาวที่ปักษ์ใต้ ญาติๆ ก็แห่กันมาเยี่ยมเยียนในวันหยุด ก็เลยทำงานได้ไม่เต็มเม็ดเต็มหน่วย เท่าที่คาดไว้ ทำๆ หยุดๆ (ความจริง วันหยุดควรจะหยุดพักเหมือนชาวบ้านเขา แต่ตามปกติของ FOSS hacker นั้น วันหยุดก็คือ "เวลาว่าง" ที่จะใช้ hack โปรแกรม :-P แต่เอาน่า.. ทำตัวให้เหมือนมนุษย์ปกติหน่อยก็ดีเหมือนกัน)

วันนี้แม่กลับมาแล้ว ค่อยมีโอกาสนั่งลงทำงานบ้าง เลยจัดการแกะ AbiWord ต่อ ก็ได้ patch แก้ มาละ แต่มันไป revoke bug เก่าของ AbiWord ขึ้นมาตัวนึง ไม่รู้ว่าเขาจะว่าไง

04 ธันวาคม 2547

Thai vs Indic

ได้ยินมาหลายครั้ง บ่นไปก็หลายหน เกี่ยวกับคำวิจารณ์เรื่องการเข้ารหัสอักขระภาษาไทย (และลาว) ที่ไม่เหมือนกับ Indic script อื่นๆ ดูเขาจะประณามกันเกินจริงเสียเหลือเกิน หลังจากที่บังคับให้เราเปลี่ยนไม่สำเร็จ เคยคิดไว้ว่าจะทำเว็บอธิบาย และความจริงก็ร่างไว้ตั้งแต่ต้นปีแล้ว แต่ยังไม่ได้มาเขียนต่อเสียที วันนี้โดนอีก (ใน mailing list) เลยจัดการเขียนต่อให้เสร็จแล้วเอาขึ้นเว็บเสีย:

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

ปล. GNOME 2.9.2 ออกแล้วแฮะ

ปล. อีกนิด AbiWord 2.2 ออกแล้วเหมือนกัน รุ่นนี้ apply patch ให้ XIM ไทยแก้ลำดับการคีย์แล้วด้วย (แต่ยัง render วรรณยุกต์ลอยอยู่)

03 ธันวาคม 2547

ตามข่าว

ไล่ตามข่าว GNOME:

  • GNOME 2.9.2 Tarballs Due เมื่อวันจันทร์ (29 พ.ย.) กะจะออก 2.9.2 วันพุธ (1 ธ.ค.) ตาม กำหนด แต่ยังมิดซี่ลี่*
  • inkscape 0.40 ออกแล้ว มี รีวิว ที่ OSnews และ debian package ก็ upload ที่ sid เรียบร้อย มีฟีเจอร์ใหม่เพียบ เช่น layer, text on path, bitmap tracing
  • Pango 1.7.0 ออกแล้ว ความเปลี่ยนแปลงหลักคือ PangoRenderer ที่ใช้วาด PangoLayout เป็นโค้ดที่ Owen บอกว่ามีซ้ำๆ กันในหลายแห่งใน GNOME เลยเอามาใส่ Pango เสีย พร้อมกันนี้ ก็สนับสนุนภาษาเพิ่มอีกสองภาษา คือลาว และซีเรีย ส่วนภาษาไทยก็ สนับสนุน OpenType font เต็มที่มากขึ้น พร้อมกับการปรับปรุงเรื่องการใช้ dotted circle

_____

* แปลว่า เงียบสนิท

01 ธันวาคม 2547

Intel Play

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

มันคือกล้องจุลทรรศน์ Intel Play QX3 สำหรับเด็ก ภายในตัวกล้องมีกล้องวิดีโอต่อออกมาทาง USB port เข้าเครื่องคอมพิวเตอร์ แต่ปรากฏว่า แผ่นซีดีที่มากับกล้องนั้น ให้มาแต่โปรแกรมรุ่นเก่าที่ใช้กับ Win 98/ME เท่านั้น แต่เครื่องที่ใช้มีแต่ Win XP เลยต้องไปดาวน์โหลดรุ่นใหม่มาแทน หลังจากติดตั้งแล้วก็ใช้ได้ทันที เป็นประสบการณ์การใช้กล้องจุลทรรศน์ที่แปลก ไม่ต้องใช้ตาเล็งผ่านรูกล้องเล็กๆ แต่ดูจากจอภาพ คุณครูจะเอามาฉายขึ้นจอใหญ่ให้นักเรียนดูกันทั้งห้องก็ได้ ถ่ายภาพเก็บเอามาพิมพ์ออกกระดาษได้ เอาขึ้นเว็บก็แป๊บเดียว เจ๋งดีแฮะ เห็นแล้วอิจฉาเด็กเลย

พอเซ็ตกล้องได้ ครูหมวดวิทย์เลยขอให้เซ็ตอุปกรณ์วัดอีกตัวนึง เป็น probe สารพัดแบบ ทั้งวัดอุณหภูมิ วัดความสว่าง ตรวจจับการเคลื่อนที่ด้วย ultrasound วัดกระแส/แรงดันไฟฟ้า เป็นตาชั่งวัดแรงกลก็ได้ ฯลฯ ทั้งหมดสามารถต่อผ่านอุปกรณ์ควบคุมอันเดียว ซึ่งมี USB port สำหรับต่อกับคอมพิวเตอร์อีกที ตัวนี้ไม่ใช่ Intel ทางโรงเรียนซื้อมาจากบริษัทที่กรุงเทพฯ ชื่อคุ้นหูมากๆ ;-) แต่ก็วางไว้ในตู้ ไม่เคยได้ใช้เหมือนกัน ก็จัดแจงลงโปรแกรมแล้วเชื่อมต่อจนสำเร็จ ลองทำการทดลองง่ายๆ ดู โอ้ว.. มันยอดมากเลยจอร์จ มัน sampling ค่าตามที่กำหนดเก็บลง spreadsheet แล้วพล็อตกราฟให้เสร็จสรรพ มีฟังก์ชันทำ curve fitting ในตัว คำนวณพื้นที่ใต้กราฟ หาความชัน ฯลฯ คิดว่ามหาวิทยาลัยบางแห่งยังไม่มีอุปกรณ์แบบนี้ด้วยซ้ำ!

เซ็ตเสร็จแล้ว ก็มานั่งนึก ว่าพวกนี้สามารถใช้งานกับลินุกซ์ได้หรือเปล่า อุปกรณ์ probe นี่คงยาก เอาไว้ทีหลัง แต่กล้องจุลทรรศน์นั้น มันคือกล้องวิดีโอดีๆ นี่เอง ซึ่ง เว็บของ Intel Play เอง ก็บอกว่า มีลูกค้าบอกว่าใช้ CPiA driver บนลินุกซ์ได้ เลยตื่นเต้น ลองเข้าไปดูในเว็บ ก็มีข่าวบอกว่า driver ได้เข้าไปใน source ของลินุกซ์ตั้งแต่รุ่น 2.5 แล้ว ก็เลยลองมาคอมไพล์เคอร์เนล 2.6 โดยเปิด Video4Linux และเปิดโมดูล cpia, cpia_usb พร้อมกับโหลดโมดูล "v4l" ใน XFree86 พอเสียบกล้องปุ๊บ dmesg ดู ก็ปรากฏว่ารู้จักอุปกรณ์ lsmod ดูก็เห็น cpia, cpia_usb ขึ้น แต่มาตกม้าตายที่ udev เพราะลองเรียก vlc, xawtv, tvtime ทั้งสามตัวอ่านสัญญาณไม่ได้ บอกว่า เปิด device /dev/video0 ไม่สำเร็จ ลอง ls ดู ก็ไม่เจอ device file ที่ว่า!

เลยชักงงๆ ว่า udev มันผิดปกติอะไร หรือว่า naming convention มันเปลี่ยน? เลยจัดการสั่ง /etc/init.d/udev stop เพื่อ unmount udev เสีย คราวนี้ /dev/video0 โผล่ แต่ก็ยังเปิด device ไม่ได้อยู่ดี จบวันนั้น ยังเชื่อมต่อไม่ได้ ต้องเอากล้องไปคืนก่อน ไว้วันหลังค่อยไปลองใหม่

ตอนนี้ งานที่เร่งกว่า นอกเหนือจากงานสอน คือเว็บโรงเรียน :-P

hacker emblem