Theppitak's blog

My personal blog.

28 พฤศจิกายน 2547

ความคืบหน้า GTK+/Pango

สรุปสิ่งที่เกิดขึ้นกับงานพัฒนาในช่วงอาทิตย์ที่ผ่านมา

  • หลังจากตั้ง milestone ของ GNOME Bug #156781 (Lao Pango) เป็น 1.8.0 แล้ว ก็เมลถึง Owen Taylor ขออนุญาตเพิ่ม GTK+ IM Thai module พร้อมๆ กับการ commit Pango patch
  • Owen อึ้งไปหลายวัน ในระหว่างนั้นสังเกตเห็นการพยายามจัดระเบียบใหม่ของ milestone ของ GTK+ bug ใน mailing list เพราะมี patch คั่งค้างอยู่เป็นจำนวนมาก แล้วในที่สุดก็ตอบเมลมาอย่างสุภาพ บอกว่า ที่ตอบช้าเพราะลังเลอยู่ว่าควรทำอย่างไรดี เพราะเขาไม่อยากให้เพิ่ม IM module ใน GTK+ โดยไม่จำเป็น เนื่องจากยังไม่มี integration ที่ดีระหว่างการสลับ keyboard group กับการสลับ input module แต่คิดว่า IIIMF น่าจะเป็นทางออกที่ดีกว่า แต่ทั้งนี้ ก็ได้ชี้ช่องให้อีก ว่าถ้าอยากเพิ่ม Thai GTK+ IM จริงๆ ก็ให้ไปดูที่ gtk-im-extra แทน
  • พร้อมกันนี้ Owen เสนอว่าจะลบ im-thai-broken ออกจาก GTK+ source ให้ ผมตอบตกลง และคิดว่าอาจจะไปติดต่อ gtk-im-extra แทน หรือไม่ก็ใช้ gtk-im-libthai (แต่ปัญหาของ gtk-im-libthai คือยังไม่สนับสนุนภาษาลาว) แต่จะเอาให้แน่ คิดว่าน่าจะไปดู IIIMF มากกว่า
  • เว้นระยะรอเมลอีกสองวัน ไม่มีเมลตอบมาเพิ่มเติมอีก ก็เลยจัดการ commit patch เข้า CVS HEAD และ resolve GNOME Bug #156781 เรียบโร้ย

26 พฤศจิกายน 2547

Origami

อ่านต่อจากหัวข้อ wikipedia เรื่อง Sadako Sasaki ที่คุณ Pit ให้มาใน blog เรื่อง ตำนานกระเรียนพันตัว แล้วเลยไปต่อเรื่อง Origami ศิลปะการพับกระดาษของญี่ปุ่น นับว่าน่าสนใจมากๆ ในวัยเด็กเราเคยพับนก เครื่องบิน เรือ กบ อะไรกันมาแล้ว หลายอย่างก็ได้ลืมไปแล้ว ถ้าอยากจะฟื้นความจำ ก็มีเว็บรวมวิธีพับกระดาษไว้ หรือถ้าจะหัดพับสิ่งที่ซับซ้อนกว่าที่เคยพับตอนเด็กๆ ก็มีอีกเพียบ เช่น

  • FOLDS.NET น่าลองดูเป็นอันดับแรก มีตัวอย่างเรียงจากง่ายไปหายาก
  • Paper Airplanes สำหรับคนสนใจพับเครื่องบินโดยเฉพาะ

(แต่ไม่ยักมีพวกเรือแบบต่างๆ เลยแฮะ ส่วนกบกระโดดก็เบสิกไปหน่อย)

หรือใครบ้า math หน่อย ก็มีเว็บ Origami Mathematics ว่าด้วยเรขาคณิตของการพับกระดาษ เขามีงานวิจัย ประชุมวิชาการ เขียนตำราเป็นเรื่องเป็นราวเลยแหละ ดูรายการลิงก์ทั้งหลายใน wikipedia ดีกว่า

ก็เลยทำให้ Origami เป็นศาตร์และศิลป์ที่ยังมีชีวิตชีวาของญี่ปุ่น จำได้ว่าตอนไปญี่ปุ่นเห็นมี "กระดาษเท่า" ที่มีสีสันลวดลายข้างหนึ่งขายเป็นกล่องๆ สามารถเอามาพับประดับกับห่อของขวัญ ประดับโต๊ะ ประดับบ้านได้

ถ้าจะนึกถึงศิลปะที่คล้ายกันของไทย ก็น่าจะเป็นเรื่องการจักสาน ตอนเด็กๆ เราเคยสานปลาตะเพียน สานตะกร้อ ทำพัด หรือแม้แต่ตะกร้า กระเป๋า สมัยนี้ก็จะเห็นคนสานตั๊กแตน มังกร ฯลฯ มาวางขายตามบาทวิถี ความจริงแล้ว เรื่องนี้ถ้าจะนำขึ้นมา "บ้า" กันเหมือน Origami ของญี่ปุ่นก็น่าจะได้ พูดถึงคณิตศาสตร์ของมัน ก็เป็นเรื่องชั้นสูงอย่าง Topology ทีเดียว อืมม์.. น่าสนใจนะ แทนที่จะปล่อยให้เป็นเรื่องของ "การอนุรักษ์" เพียงอย่างเดียว :-)

25 พฤศจิกายน 2547

ตำนานกระเรียนพันตัว

เช็กข่าวไปมา ไปเจอเว็บแนะนำจาก MCOT แนะนำเว็บ Sadako Story เป็นที่มาของการพับนก โดยมีความหมายถึงสันติภาพ มีที่มาจากเด็กญี่ปุ่นคนหนึ่งที่ป่วยเป็นลิวคีเมีย อันเป็นผลมาจากระเบิดปรมาณูที่เมืองฮิโรชิมา เพื่อนได้แนะนำให้พับนกกระเรียนให้ครบพันตัว เพื่ออธิษฐานขอพรได้ เธอพับนกได้เกินพันตัวก่อนจะจบชีวิตลงหลังจากนั้นหนึ่งปีต่อมา เพื่อนๆ ที่มาช่วยเธอพับนกจึงมีความคิดที่จะใช้นกกระดาษนี้ เป็นสัญลักษณ์ของการหลีกเลี่ยงสงคราม ใฝ่หาสันติภาพ และได้สร้างอนุสาวรีย์ให้ Sadako เด็กคนนั้นด้วย

เลือกโทรศัพท์มือถือ: ทางเลือกที่สาม

จากที่กำลังตัดสินใจหาโทรศัพท์มือถือ วันนี้เกิดเหตุการณ์ (อีกครั้ง) ที่ทำให้นึกถึงทางเลือกที่สาม คือเลิกใช้โทรศัพท์มือถือไปเสีย

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

อย่างวันนี้ มัวแต่วุ่นกับธุระโน่นนี่ จนลืมเติมเงินมาครบเจ็ดวัน ยอดเงินคงเหลือสองพันกว่าบาทหายเกลี้ยง! ทำให้เริ่มตระหนักว่า ตัวเองอาจไม่เหมาะกับการใช้โทรศัพท์มือถือเสียแล้ว จะขอลองลิ้มรสอิสรภาพจากระบบเติมเงินมหาโหดนี้ดูสักพัก คิดว่ายังไงก็ไม่กระเทือนมาก เพราะที่ผ่านมาคนก็โทรหาผมไม่ค่อยติดอยู่แล้ว จะติดต่ออะไรกับผมก็ใช้ e-mail, ICQ เป็นหลักก็แล้วกัน

21 พฤศจิกายน 2547

Spatial Nautilus กับไดเรกทอรีลึกๆ

ซุ่มมองใน mailing list เห็นมีผู้ เสนอ การจัดการกับ directory ลึกๆ ใน spatial mode ของ nautilus ด้วยการใช้ context menu แบบ BeOS ช่วยลดขั้นตอนการเปิดไดเรกทอรีย่อยทีละขั้น ซึ่งฟังดูเข้าที เพราะไม่ได้ถึงกับทำลายแนวคิด spatial เสียทีเดียว แต่ก็มีความเห็นแย้งจากบางคน ถึงปัญหาของบางไดเรกทอรีที่มีไดเรกทอรีย่อยจำนวนมาก เช่น /usr/share/doc มันจะทำให้ context menu ล้นจอ ซึ่งก็ต้องช่วยๆ กันคิดหาทางแก้ต่อไป

พร้อมกันนี้ เลยได้รู้จักโครงการ Nautilus Plus ที่ดูแลโดยคนที่ถูกปฏิเสธ patch คนหนึ่ง ซึ่ง fork ออกมาทำเอง พอมีคนเสนอเรื่อง context menu เข้ามา ก็เลยรีบเสียบเข้ามาทันที ว่าถ้า Nautilus ไม่รับ patch จะรับฝาก patch ให้

ติดตาม GNOME Bug

ไปยุ่งกับงานของโรงเรียนอยู่หลายวัน ไม่ได้ blog เกี่ยวกับงานพัฒนา

  • 18 พ.ย. พยายามเลื่อนระดับ priority ของ Ximian Bug #68617 (GAL) เป็น Major ปรากฏว่ามี comment มาบอกให้ส่ง patch เข้า evolution-patches mailing list เลย ส่ง patch ไปที่นั่นแล้ว
  • 21 พ.ย. ว่าจะรอคนลาวมาเพิ่ม comment เพื่อยืนยัน patch ภาษาลาว แต่กำหนดการปล่อย GTK+ 2.6 เหลืออีกไม่ถึงเดือน เกรงว่าจะไม่เหลือเวลา test มาก เขาจะไม่ให้เอาเข้า เลยเข้าไปตั้ง target milestone ของ GNOME Bug #156781 (pango) ไว้ที่ 1.8.0 ไว้ก่อน แล้วจะ commit ตามทีหลัง พร้อมกับขอตั้ง target milestone ของ GNOME Bug #81031 (GTK+ immodule) เป็น 2.6.0 ด้วย (มี permission สำหรับตั้ง target ของ pango bug ได้ ในฐานะ Thai module maintainer แต่ยังไม่มี permission สำหรับ GTK+)

20 พฤศจิกายน 2547

GNOME 2.8 in Sid

เก็บตกมาจาก Debian Weekly News: Sarge อาจจะ up จาก GNOME 2.6 เป็น GNOME 2.8 หลังจากที่ GNOME team ได้ ร้องขอ เพื่อ upload GNOME 2.8 เข้า unstable และ ได้รับอนุมัติ แล้ว

เฮ่อ.. จริงๆ ว่าจะบ่นใน blog หลายวันแล้ว (บ่นใน #TLWG ไปนิดหน่อย) ว่าอยากใช้ debian แบบไม่ต้อง release แต่ใช้การ upgrade แบบต่อเนื่องไปเรื่อยๆ บางคนอาจจะบ่นว่า debian ออกช้า แต่ละรุ่นห่างกันมาก แต่ดูจากเหตุการณ์การ freeze package ต่างๆ ในช่วงที่จะออก stable release แล้ว ผมกลับรู้สึกว่ามันถี่เกินไป เพราะออก stable แต่ละที package หลายชุดหยุดชะงักไปเลย ทำให้แม้แต่ unstable ก็ยังเก่า ใครอยากใช้ bleeding edge จริงๆ ต้องไปใช้ experimental

อย่างกรณี GNOME เนี่ย ก็ถูก freeze ไว้ที่ 2.6 ตั้งแต่ช่วงที่วางแผนจะออก sarge แต่ความที่อยากให้ sarge install ง่าย (คราวนี้ง่ายลงมากๆ แต่ผมว่าคำว่า "ง่าย" ในสมัยนี้ ไปสับสนกับคำว่า "graphic mode" ไปแล้ว อย่าง sarge installer เนี่ย ง่ายลงขนาดเป็น wizard dialog ให้กด enter ผ่านๆ ไปได้เลย มี auto-partitioning ให้ด้วย แต่ความที่เป็น text mode อยู่ ก็คงมีคนบ่นว่ายากอยู่ดี --แต่ก็มีคนทำ sarge installer ใน graphic mode อยู่นะ) ก็เลยเสียเวลาพัฒนาและทดสอบ debian-installer เสียนาน จนเวลาล่วงเลยผ่านมา GNOME upstream ก็ออก 2.8 และ 2.8.1 มาเรียบร้อย ทาง GNOME team ก็ทำ package ไว้ใน experimental หมดแล้ว อยากจะเริ่มทำ GNOME 2.9 ต่อ ก็ทำไม่ได้ เพราะ pipeline เต็มแล้ว ต้องเอา 2.8 ลงมาที่ unstable ก่อน ซึ่งก็หมายความว่า อาจจะหล่นต่อๆ มาถึง sarge ก่อนที่ sarge จะพร้อมปล่อยตัว และ debian user ก็คงได้ใช้ GNOME ที่ใหม่ขึ้น

วันสองวันที่ผ่านมา ก็เริ่มมี GNOME package update มาเยอะแยะใน unstable หุๆ

/me ไม่รอแล้วเฟ้ย คอมไพล์ GNOME 2.9 เองจาก CVS ไปแล้ว

แต่จะว่าไป คิดฝันจะใช้ Debian แบบไม่มีการปล่อยตัวนี่ ก็เห็นแก่ตัวไปหน่อยเนอะ ยังไงผู้ใช้ใหม่ที่ยังคุ้นกับ distro ที่ใช้ CD เป็นหลักก็คงต้องการการ release รวมทั้งการใช้งานแบบภาคสนามที่ต้องการความคงที่มากกว่าความทันสมัยด้วย

ปล. หลายวันก่อนอ่าน FootNote เกี่ยวกับการ obsolete library บางตัวใน GNOME 3.0 แต่ไม่ได้ blog ไว้ อ่านแล้วก็เริ่มเข้าใจแนวโน้มและปัญหาที่ผ่านมา ที่ทำให้ GNOME มัน bloat เกินกว่าที่ควร แต่มีคนทำงานเพื่อตัด dependency ที่ไม่จำเป็นออกแบบนี้ ก็ค่อยเบาใจ คิดว่า GNOME 3.0 น่าจะเบาลง รองรับความสามารถใหม่ๆ ได้อีก

ปล. อีกนิด อีกข่าวคือ freedesktop.org โดนเจาะ มิน่าเล่า update CVS ไม่ได้หลายวันเลย

18 พฤศจิกายน 2547

มือถือเครื่องใหม่?

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

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

ตอนนี้เกิดมีแรงบันดาลใจให้หามือถือเครื่องใหม่อีกครั้ง (หลังจากที่มีมาแล้วหลายครั้ง แต่แพ้ความขี้เกียจ) เลยเริ่มสำรวจอีกครั้ง ก็มีแนวคิดสองอย่าง คือ

  1. ซื้อโทรศัพท์แบบ low-end ไว้คุยอย่างเดียว เรื่องอื่นๆ อย่างต่อเน็ต ก็ใช้โน้ตบุคแทน ส่วนเรื่อง MP3 อาจจะไม่มีประโยชน์เท่าไร เพราะปกติชอบอยู่เงียบๆ ไม่ค่อยได้ฟังเพลงอยู่แล้ว
  2. ซื้อ smart phone เพื่อไม่ต้องถือทั้งโทรศัพท์และ PDA แยกกัน (ผมมี Palm Vx อยู่ตัวหนึ่ง ยังใช้อยู่ แต่เน้นใช้อ่าน e-book และ web clipping มากกว่า ถ้าได้ตัวใหม่ อาจจะโละตัวเก่ามาเล่นอย่างอื่น เช่น เขียนโปรแกรม หรือลองลงลินุกซ์) รวมทั้งถ้ามี Wi-Fi ก็จะได้ใช้เน็ตร่วมกับเครื่องอื่นๆ ในบ้านได้ด้วย

    แบบ smart phone ก็ยังมีอีกสองทางเลือก:

    1. แบบมือถือที่เป็น PDA (เช่น Motorola A768)
    2. PDA ที่โทรศัพท์ได้ (Palm TungstenW, Handspring Treo 600, iPAQ 6365 ฯลฯ)

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

The Art of Blogging

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

อีกบทความหนึ่ง คือ The Art of Blogging (Part 1, Part 2) พูดถึงการ blog ทั่วๆ ไป ว่าเป็นการสื่อสารที่มาแทนสื่อสิ่งพิมพ์ทั้งหลายที่เป็นการสื่อสารทางเดียว แต่ blog นั้น ผู้อ่านแสดงความเห็นได้ทันที แถมยัง real-time จนทำให้การรอหนังสือพิมพ์รายวันเป็นเรื่องช้าจนยอมรับไม่ได้ ฯลฯ และยังมีตัวอย่างการใช้ blog ในงานประเภทต่างๆ มากขึ้น ทั้งการแบ่งปันความรู้ บริการลูกค้า ฯลฯ ก็อืมม์.. นะ.. bookmark ไว้ให้คนที่ยังไม่เข้าใจว่าพวกเรา blog กันไปทำไมอ่าน :-)

เห็นมีพูดถึง การใช้ blog ในโรงเรียน ด้วย น่าสนใจดีแฮะ ไว้ว่างๆ มาอ่าน

16 พฤศจิกายน 2547

Programming Language for Kids

ถ้าจะสอนเด็กประถม-มัธยมต้นเขียนโปรแกรม ควรจะเริ่มด้วยภาษาอะไรดี?

  • Logo
  • BASIC
  • Pascal
  • Python
  • C/C++

ตัวผมนั้น รู้จักคอมพิวเตอร์ครั้งแรกตอน ม.4 ก็เริ่มที่ Applesoft BASIC เลย นับว่าเป็นภาษาที่ "เรียน/เล่น/ใช้" ได้ง่าย สมกับชื่อหนังสือของ อ.ประพัทธ์ อุทโยภาส จริงๆ จากนั้นค่อยเป็น 8088 Assembly ก่อนจะมาเจอ Pascal ในมหาวิทยาลัยสองปีแรก พอขึ้นปีสาม ได้รู้จักกับยูนิกซ์ เลยทิ้ง Pascal มาหา C และก็เขียน C มาตลอด จนเริ่มทำงานถึงได้ตะลุยอ่าน The C++ Programming Language ของ Bjarne Stroustrup แล้วก็บ้า C++ มาหลายปี ก่อนจะเหินห่างไปเพราะความไม่นิ่งของมาตรฐาน และความไม่พร้อมของคอมไพเลอร์ ส่วน Java นั้น เกือบได้จับเหมือนกัน (หนังสือ The Java Programming Language รุ่นแรกๆ ยังอยู่บนชั้นหนังสืออยู่เลย) แต่ก็ไม่มีโอกาสได้ลุยจริงๆ จังๆ เสียที

พิจารณาดูแล้ว ภาษาที่เป็น interpreter นั้น ง่ายต่อการเรียนรู้ เด็กไม่ต้องเจอกับขั้นตอนการคอมไพล์ ภาษา Pascal และ C/C++ จึงอาจยังไม่เหมาะจะเป็นภาษาแรก

เหลืออยู่สามภาษาให้เลือก ภาษา Logo เห็นหลายคนบอกว่าเหมาะกับเด็กเล็กที่สุด เพราะการวาดรูปมันเพลิดเพลิน แต่ได้สอดแทรกแนวคิดการเขียนโปรแกรมไปในตัว แต่ผมไม่เคยเรียน Logo เลยไปเสาะหาในเน็ตดู เห็นมี Logo หลายเจ้า เช่น Berkeley Logo, KLogo-Turtle ก็เลยลอง Berkeley Logo ก่อน เพราะมีใน Debian มาเลย และก็ไปเจอ Logo Tutorial ที่ Brown University เห็นเขาเรียบเรียงเนื้อหามาดี เลยจัดการ เรียบเรียงเป็นภาษาไทย เตรียมไว้

ส่วน Python นั้น ดูจะมีประโยชน์ในระยะยาว เพราะเอามาใช้พัฒนาโปรแกรมได้จริง ใครๆ ก็แนะนำ รวมทั้ง ESR อีกทั้ง syntax ดูจะเป็นมาตรฐานกว่าอีกสองภาษาที่เหลือ แต่ปัญหาคือ ก่อนจะสอนเด็ก ผมต้องหัดเขียน Python ก่อน :P

สำหรับภาษา BASIC นั้น ห่างเหินมานาน การพัฒนาก็เปลี่ยนแปลงไปมากจนไล่ตามไม่ทัน (และไม่อยากไล่ตาม) อาจจะตัดทิ้ง

15 พฤศจิกายน 2547

Lang4Fun

MrChoke เอาจริงแฮะ สร้าง Lang4Fun blog สำหรับภาษาท้องถิ่นแล้ว (แต่ดูจาก description อาจรวมถึงเรื่องภาษาไทยทั่วๆ ไปด้วย) นี่ถ้ามีนักภาษามาร่วมให้ความรู้ด้วยคงสนุกไม่เบา :-)

13 พฤศจิกายน 2547

Which OS are you?

อาจเป็น quiz ที่เก่าแล้ว แต่เห็นคนใน PlanetGNOME ทดสอบกันจัง บางคนได้เป็น Windows ก็โอดครวญ ว่ามันคงสุ่มมั่วเอาน่ะ ก็เลยลองทำดูมั่ง นี่คือผลลัพธ์ของผม:

You are Debian Linux. People have difficulty getting to know you.  Once you finally open your shell they're apt to love you.

ได้ตรงกับ OS ที่ชอบเสียด้วย บังเอิญจริงๆ

12 พฤศจิกายน 2547

อีสานวันละคำ

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

ช่วงนั้นผมชอบรายการข่าวมาก คนอ่านข่าวจะพูดเป็นภาษาอีสาน ใช้ดนตรีพื้นเมืองเป็น background ชื่อรายการว่า "อีสานวันนี้" (แต่คนอ่านข่าวพูดว่า "อีสานมื้อนี้" ตลอด) ความนัวที่เป็นเอกลักษณ์ของภาษาอีสานทำให้ฟังเพลินมาก ตอนท้ายข่าวจะจบด้วย "ก่อนจากกันมื้อนี้ กะเช่นเคยล่ะครับเนาะ /ขอเสนอรายการ ภาษาไทยอีสานวันละคำ ห้ายฟังกันนะครับ วันนี้ขอเสนอคำว่า../" (ท่อน /.../ คือออกเสียงดัดจริตสำเนียงกรุงเทพฯ) ตัวอย่างเช่น มีวันนึง เสนอคำว่า "กะปอม" แปลว่า "กิ้งก่า" แล้วก็มีตัวอย่างประกอบว่า มีนักเล่นหวยคนหนึ่ง แสวงหาอาจารย์ดังๆ มามาก เห็นอะไรก็ตีเป็นเลขไปหมด มีอยู่คืนหนึ่งฝันเห็นกิ้งก่าตัวเบ้อเริ่ม เลยไปตีเป็น เก้าเก้า แต่ถึงวันหวยออก เลขที่ออกคือ เก้าแปด ให้รู้สึกเจ็บใจเป็นอันมาก เลยเอาไปถามหลวงพ่อ เผื่อคราวหลังจะได้ไม่พลาด หลวงพ่อเลยชี้ทางสว่างให้ว่า ไม่รู้เหรอ ว่าคนที่มาเข้าฝันน่ะ เขาเป็นคนอีสาน เขาจะใบ้ว่า "กะปอม" โว้ย ไม่ใช่ "กิ้งก่า"

เฮ่อ.. คิดถึงจัง ยิ่งเดี๋ยวนี้ภาษาท้องถิ่นถูกบรรจุในหลักสูตรแล้ว มีรายการอย่างนี้ทำให้เด็กเรียนสนุกขึ้นด้วยนะ เหอๆ

ความสำคัญของงานแปล

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

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

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

คนกลุ่มนี้ อาจเป็นเหตุผลในทางปฏิบัติที่จะทำให้งานแปลได้ใช้งานภาคสนามจริง แต่ถึงแม้จะไม่คำนึงถึงคนกลุ่มนี้เลย ผมก็ยังเห็นว่า งานแปลน่าจะมีความสำคัญมากกว่าที่เป็นอยู่ เพราะมันคือการประกาศให้ชาวโลกรู้จักว่า มีโลแคลที่ชื่อ Thai อยู่ในโลกนี้ เวลาที่เขาสนับสนุนนานาชาติในเรื่องอื่นๆ จะได้ไม่ข้ามจาก Swedish ไป Turkish อยู่เรื่อยๆ (ระยะหลังนี้ มีแนวโน้มจะเห็นการข้ามจาก Tamil เป็น Turkish แทน ถ้าเราไม่ทำให้ Thai เป็นที่คุ้นหูคุ้นตาชาวโลกให้มากกว่านี้)

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

อ้อ.. แต่ว่า เว้นงานแปลเกมไว้ก่อนก็ดีนะครับ มันเป็นแรงกระตุ้นอย่างดีที่จะทำให้เด็กไทยได้พัฒนาภาษาอังกฤษเลยแหละ :-)

10 พฤศจิกายน 2547

กระดาษห่อไฟ

ตั้งใจว่าจะ ช่วยทีม Firefox Folding@Home เสียหน่อย แต่ตั้งแต่เข้าทีมไป ส่งงานแรกได้แค่งานเดียว หลังจากนั้น ยังไม่เคยรันได้จนจบงานเลย เพราะตอนค่ำก่อนจะปิดเครื่องนอน ก็กด Ctrl-C เพื่อเบรกโปรแกรม ปกติมันก็จะเก็บสถานะของงานไว้ก่อนจบโปรแกรม เพื่อที่เวลารันครั้งต่อไปจะเริ่มทำต่อจากจุดเดิม แต่สองงานที่ผ่านมา ทำได้มาราวๆ 70% แล้ว วันดีคืนดี กด Ctrl-C แล้ว มัน delete data แล้วพยายาม fetch job ใหม่เฉยเลย วันนี้กำลังเริ่ม job ใหม่อีกเป็นครั้งที่ 3 จะรันได้จบงานไหมเนี่ย -_-!

เมื่อก่อนเคยเจอแบบนี้เหมือนกัน แต่จะเป็นตอนที่ฮาร์ดดิสก์เต็ม เพราะใช้เนื้อที่คอมไพล์โปรแกรมเยอะไปหน่อย แต่เป็นตอนกด Ctrl-C ต่อหน้าต่อตานี่ เพิ่งเคยเจอ.. ได้กลับไปหา ET ต่อล่ะม้าง ^_^!

06 พฤศจิกายน 2547

HOSxP

วันนี้ได้เจอไตรเทพเพื่อนเก่า เป็นเภสัชกรก็จริง แต่เรื่องที่คุยมีแต่เรื่องคอมพิวเตอร์ทั้งนั้น คุยกันถึงระบบคอมพิวเตอร์ในโรงพยาบาล ผมเลยแนะนำ Hospital-OS ไป (เพราะรู้จักอยู่ตัวเดียว) หารู้ไม่ ว่าจุดไต้ตำตอเข้าเต็มๆ เพราะเขาเพิ่งกลับจากรับรางวัล Thailand ICT Awards (TICTA) 2004 กับรุ่นน้องของเขามาหมาดๆ กับซอฟต์แวร์ HOSxP ที่รุ่นน้องเขา (ภก. ชัยพร สุรเตมีย์กุล) เป็นคนพัฒนา

แล้วก็เลยได้ซักต่อ เรื่องโครงการที่ว่า เขาเลยให้ URL ของโครงการมา (hosxp.sf.net) พร้อมกับให้ข้อมูลประกอบเรื่องความละเอียดลออและความอดทนของผู้พัฒนา ที่เฝ้าเพิ่มเติมความสามารถขึ้นเรื่อยๆ เป็นปีๆ รวมทั้งอุดช่องโหว่และ optimize ให้มีประสิทธิภาพสูงสุด โดยเป็น FOSS บริสุทธิ์ที่ไม่มีใครให้ทุนสนับสนุน (ยกเว้นตัวเพื่อนของผมเอง ในฐานะคนรู้จักกัน) เป็นงานอดิเรกล้วนๆ ของคนคนเดียว! (คนเดียวจริงๆ เพราะซอร์สโค้ดที่แจกไป ไม่มีใครช่วยพัฒนาต่อเลย)

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

วันนี้รู้สึกยินดี ที่ได้รู้จัก FOSS developer อีกคนหนึ่ง ซึ่งเขาอยู่ไม่ไกลจากผมเลย คนขอนแก่นด้วยกันแท้ๆ อยู่แค่ซอยอนามัยนี่เอง เพื่อนรับปากว่าสักวันจะแนะนำให้รู้จักกัน :-)

ว่าแล้วก็เลย ประชาสัมพันธ์ ให้ทราบกันเสียหน่อย

05 พฤศจิกายน 2547

My Desktop

เห็นอวด desktop กันจัง ขอมั่งดิ

My desktop screenshot (2004-11-05)

desktop ผม อาจไม่เหมาะจะเอาไปชักชวนคนชอบ eye candy ให้มาใช้ลินุกซ์ เพราะอย่างที่เห็น มันคือการย้าย text console มาไว้บน graphic mode ดีๆ นี่เอง แต่ผมใช้แนวคิด spatial เต็มที่นะครับ

ผมจะเปิดหน้าต่าง X terminal ไว้เลยสี่หน้าต่างใน gnome session แต่ละหน้าต่างมีหน้าที่ของตัวเอง เช่น บนซ้าย ใช้สั่งงานเชลล์ทั่วไป (เมื่อก่อนใช้เปิด slrn เข้าอ่านข่าวใน th.pubnet.linux* แต่เดี๋ยวนี้ ย้ายไปใช้ phpBB2 interface ของ LTN แล้ว) บนขวา เป็น root shell ไว้ config ระบบตามจำเป็น ล่างซ้าย ใช้เปิด mutt อ่านเมล ล่างขวา ใช้ update CVS และคอมไพล์โปรแกรม นอกจากนี้ ถ้าสังเกตใน desktop switcher applet ก็จะเห็นว่า อีกสอง desktop ด้านขวากับด้านล่าง ก็เปิด X terminal 4 จอ ไว้ทำหน้าที่อื่นอีก (แต่ละจอ มีหน้าที่ของตัวเองทำนองเดียวกันทั้งนั้น) เหลือ desktop สุดท้ายโล่งๆ ไว้เปิดโปรแกรม GUI ทดสอบการทำงานตามต้องการ

แต่พบว่า โปรแกรม GUI โปรแกรมเดียวที่ขาดไม่ได้เลย คือ web browser จะเห็นหน้าต่าง Firefox ซ่อนอยู่ข้างหลัง (ใครจะเห็นว่าโปรแกรม office สำคัญ ผมไม่เห็นว่าจะสำคัญไปกว่า web browser และ pdf viewer เพราะอย่างน้อยๆ เวลาสร้างเอกสาร หรือ presentation ผมก็แทบไม่ได้แตะ word processor หรือ presentation ในชุด office อยู่แล้ว ส่วน spreadsheet ก็นานๆ จะเจอสักครั้ง) ส่วน gnome panel ผมอัดทุกอย่างที่ต้องใช้ไว้ใน panel เดียวด้านบน มี gnome menu ตามด้วย launcher ที่ใช้บ่อย (window screenshot, xiterm+thai, gnome-terminal, uxterm, firefox) และอื่นๆ จะเห็นว่า panel ด้านล่างที่ใช้เป็น taskbar ใน default setting ของ debian นั้น ไม่จำเป็นเลย เพราะสามารถใช้เมนู task list ด้านบนขวาสุดแทนได้ ได้เนื้อที่ทำงานเพิ่มมาอีก

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

ถามถึง desklet เหรอ? ลงไว้เหมือนกันครับ แต่ไม่เคยได้ใช้เลย ก็เห็น screenshot ผมแล้ว คงคาดเดาได้ว่า ผมแทบจะไม่ได้สัมผัสพื้นโต๊ะเลย wallpaper ที่ตั้งไว้ จะได้เห็นก็ตอนที่ย้ายไป desktop ที่ 4 เพื่อลองโปรแกรมแค่นั้นแหละ และถ้าผมจะได้สัมผัส nautilus ก็คงเป็นโอกาสแบบนั้นเหมือนกัน ที่เหลือก็มีแต่ X terminal

โดยส่วนตัว ผมไม่ชอบแนวคิดของการวางอะไรต่อมิอะไรไว้บนพื้นโต๊ะสักเท่าไร ไม่ว่าจะเป็น nautilus หรือ desklet เพราะมันมักจะโดนหน้าต่างโปรแกรมบังอยู่เสมอๆ ทำให้ต้องเลื่อนหน้าต่างหลบก่อนใช้งาน หรือจะเป็นแบบ dock ของ wmaker ก็ใหญ่เทอะทะเกินไป แถมขอบเขตของ dock ก็ไม่ได้เป็นสัดเป็นส่วนเหมือนแบบ panel bar

ปล. สำหรับคนที่อ่านแล้วงง (คนไม่งงไม่ต้องอ่าน) ว่าผมสร้างเอกสาร/presentation ไม่ใช้ office แล้วใช้อะไร คนที่รู้จักผมจะได้ยินผมพูดถึง LaTeX บ่อยๆ.. น่านแหละครับ คุณเคยเขียนเว็บเพจด้วย Notepad ไหมล่ะ? ผมก็ใช้ vim บน X terminal สร้างเอกสารด้วยวิธีคล้ายกัน แถมได้คุณภาพสุดเนี้ยบอีกด้วย เก็บ resource ที่ OO.o จะสวาปามไว้คอมไพล์โปรแกรมดีกว่า

03 พฤศจิกายน 2547

สรุป GNOME Bug ชุด 2

มีรายการ bug ยาวให้ติดตามอีกแล้ว สรุปเสียหน่อย ก่อนที่ blog เก่าจะหล่นไป

  • GNOME Bug #141993: (GtkSourceView) Text insertion undo manager should not assume text length [ยกยอดมากจาก รายการ bug เดิม]
  • Ximian Bug #68617: (GAL) Incorrect IM surrounding handling
  • GNOME Bug #153205 (GTK+) Selection and input method preedit [เกี่ยวข้องกับกรณี IM ที่มีการเลือกข้อความ]
  • GNOME Bug #156781: (Pango) Add Lao Support to Thai Module
  • GNOME Bug #81031: (GTK+) immodules for Thai
  • AbiWord Bug #8064: Crash/Hang When Starting New Line in Thai Locale
  • GNOME Bug #167095: system-tools-backends translated messages should always be in UTF-8
  • GNOME Bug #155948: Preserve normalization for backspace-deletes-character [สืบเนื่องมาจาก backspace patch เดิม --ไม่ใช่สำหรับภาษาไทย แต่มันไปกระทบภาษาละติน]
  • GNOME Bug #160163: [umbrella] Locations Love [เพิ่ม patch สำหรับจัดหมวดหมู่สถานที่ตามเมือง]

02 พฤศจิกายน 2547

Thai-Lao GTK+ IM

ทำ pango patch สำหรับภาษาลาวไปแล้ว วันนี้เลยย้อนไปที่ GTK+ IM Module อีกที ความจริงเคยเสนอ patch ไปใน bug เก่าตั้งแต่ยุคดึกดำบรรพ์ (ดูจากหมายเลข bug ได้) คือ GNOME Bug #81031 แล้วจนแล้วจนรอดก็ไม่ได้เข้าไปแทนที่ "Thai (Broken)" ใน GTK+ เสียที มาวันนี้เลยแยกตาราง วทท (ที่แก้แล้ว) ออกมาจาก Pango patch ใน GNOME Bug #156781 แล้วแก้ GTK+ imthai patch ให้มาเรียกตารางข้างนอกจาก source นี้ แล้วก็ submit ทั้ง 2 bug

สรุปว่า วันนี้ ได้ input method ภาษาลาวเพิ่มขึ้นมาอีก โดยมีการตรวจ-แก้ลำดับตามแบบ วทท เรียบร้อย พร้อมทั้งได้โค้ดภาษาไทยใน Pango, GTK+ IM ที่ดู modular ขึ้น ต่อไปก็รอเวลาที่เขาจะรับ patch ละ

hacker emblem