All posts by kitty

Hua Hin Jazz Festival 2009 – Part I

สุดสัปดาห์ที่ผ่านมาตั้งใจจะไป Hua Hin Jazz Festival 2009 ที่หัวหิน .. ออกเดินทางจากขอนแก่นวันศุกร์ (12 มิย. 51) โดยแวะเข้ากรุงเทพก่อน …ผ่านหน้า ม.กรุงเทพมาได้นิดเดียวเริ่มได้ยินเสียงเครื่องผิดปกติ เสียงเหมือนตอนปั๊มน้ำรั่ว หันไปดูเข็มความร้อนตีไปสุดสเกล เครื่องทำท่าจะดับเลยเปิดไฟขอทาง รีบเลี้ยวเข้าที่จอดรถ Office Depot หน้าฟิวเจอร์พาร์ค เปิดฝากระโปรงรถดูก็เจอสาเหตุทันที ท่อยางที่ต่อกับหม้อน้ำมีรอยแตก น้ำในหม้อน้ำเลยแห้ง .. จะอุดชั่วคราวก็อาจจะไม่อยู่ง่ายๆ .. คงต้องยอมลากไปอู่แถวๆ รังสิต ว่าแล้วก็โบกรถแท็กซี่บอกรถเสียจะลากไปอู่ ไปเจอเอาแท็กซี่ช่างซ่อมพอดี แท็กซี่มาจอดดูอาการให้ แนะนำว่าเดี๋ยวถอดท่อยางแล้วไปเทียบหาอะไหล่มาเปลี่ยนเอาดีกว่า ไม่ต้องลากเปลืองตังค์เปล่าๆ แถวๆ รังสิตหาอะไหล่ไม่ยาก .. เออแฮะ จริงๆ ก็ถอดเปลี่ยนไม่ยากนะนี่ เลยให้แท็กซี่พาไปหาอะไหล่มาเปลี่ยน ได้ท่อยางหน้าตาใกล้เคียงกับของเดิม กับกาวซิลิโคน และใบเลื่อยสำหรับตัดท่อยาง รวมราคา 280 บาท กลับมาที่รถ โชคดีที่ฝนตกเครื่องเลยเย็นเร็ว ลงมือเปลี่ยนท่อยางได้เลย เสร็จแล้วก็เติมน้ำหม้อน้ำไปจนเต็ม สตาร์ททีเดียวติด รอเครื่องอุ่น เข็มความร้อนชี้ปกติ สบายแล้ว :) ..ให้ค่าเหนื่อยกับค่าเสียเวลาแท็กซี่ไปพอประมาณ .. ค่ำวันเดียวกันขับรถต่อไปราชบุรี เสาร์ไปหัวหิน อาทิตย์กลับกรุงเทพ รถวิ่งปกติดี ไม่พบอาการแทรกซ้อน .. ถือว่าซ่อมผ่าน !

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

.. ส่วนงาน Hua Hin Jazz Festival ไว้ค่อยบันทึกใน Part II ละกัน :P

JavaScript Benchmark

ทดสอบโดย http://celtickane.com/labs/web-browser-javascript-benchmark บน Acer Aspire One D150 (Atom N280 @ 1.667 GHz) ใช้ Linux 2.6.30, Ubuntu 9.04

  • Firefox 3.0.10
  • Firefox 3.5b4pre (Shiretoko)
  • Opera 10.0 build 4102
  • Google Chrome 3.0.183.1

ได้ผลลัพธ์เป็นเวลาในการประมวลผลในแกน Y หน่วย milliseconds ทดสอบ10 ครั้งแล้วเอาค่าเฉลี่ยมาทำกราฟ

Google Chrome for Linux

ไม่ใช่ chromium .. ไม่ใช่ chrome + wine .. อันนี้ native จริงๆ … คิดว่านะ :P

เวอร์ชั่นนี้เป็น development/unstable version ยังขาดอะไรอีกหลายอย่าง เช่นใน options บาง tab ยังไม่มีอะไรให้ set เลย แต่ที่แน่ๆ Acid3 100/100 และเร็วจนรู้สึกได้ สนใจลองโหลด *.deb ได้เลยนะ

สำหรับ i386 และ amd64

Google and DMCA

วันนี้เจอข้อความปรากฎที่บรรทัดๆ ท้ายของผลการค้นหาจาก Google ว่า …

เพื่อตอบสนองต่อคำร้องเรียนที่เราได้รับตามกฎหมาย US Digital Millenium Copyright Act เราได้ลบผลการค้นหาจำนวน 1 หน้าออกจากหน้าผลการค้นหานี้ คุณสามารถอ่านคำร้องเรียน DMCA ของผลการค้นหาที่ถูกตัดออกได้ที่ ChillingEffects.org

Hmmm .. ใครยังไม่เจอข้อความเกี่ยวกับ DMCA ลองไปอ่านเพิ่มเติมได้ที่ http://www.chillingeffects.org/notice.cgi?sID=8636 (as of 2009-03-17)

Linux TLE Repository Removed

แจ้งหยุด update/build TLE ไปตั้งแต่ประมาณปี 2548 ว่าจะคงไว้ถึงแค่ปี 49 ก็ปล่อยให้ล่วงเลยมานานแล้ว วันนี้ถึงเวลาอันสมควรจะเอาออกจาก ftp.kitty.in.th เสียที :)

ตั้งแต่วันนี้เป็นต้นไป ก็จะไม่มี ftp://ftp.kitty.in.th/pub/TLE ละนะ

เห็น packages ในนั้นแล้ว .. โบราณเหลือเกิน ฮุๆๆๆ

Acer Aspire One D150

หลังจาก topcase ของ Macbook แตกไปสองครั้ง อาการยอดฮิตของ Macbook อีกอย่างก็เกิดขึ้นจนได้ .. แบตเตอรี่บวม .. มันก็บวมมาได้พักใหญ่แล้ว แต่อาการมันหนักเมื่อช่วงอากาศร้อน แบตมันดัน touchpad จนกดแทบไม่ได้ .. ถึงขั้นนี้ประมาทไปอาจตายเพราะแบตระเบิดได้ .. ว่าแล้วก็ไปหาซื้อแบต เผื่อจะฟลุก แต่ก็เป็นไปตามคาด มันไม่มีขายตามร้านทั่วไป หรือแม้แต่ร้าน iStudio ของ Apple .. ต้องส่ง MCC ที่ กทม. โน่นน .. งั้นตูไม่รอแล้ว ว่าจะซื้อ netbook มาใช้ ก็ได้โอกาสซะที .. กะจะสอย Lenovo S10 ก็ดันหายไปจากหน้าร้าน .. HP Mininote 1000 ก็ดูก๊องๆ แก๊งๆ บอกไม่ถูก .. เดินมาเจอ Aspire One D150 วางขายแล้ว เฮ่ย มาเร็วจัง .. ลองจิ้มๆ ทดสอบบน MS Windows XP (preloaded) .. อืมม ราคาสด + up RAM เป็น 2 GB ก็ 17k นิดๆ .. ซื้อโลด :P

มาถึงบ้าน ย้าย HDD ของ Macbook มาเสียบ AO D150 แทน .. บูต .. ใช้งานได้เสยยย ปรับนิดๆ หน่อยๆ ก็เข้าที่เข้าทางพร้อมเป็นเครื่องทำงานหลักแทน MacBook เลย .. ช่วงสัปดาห์ที่ผ่านมา นอกจากใช้ในการทำงานปกติ ก็ลองทดสอบโน่น นี่ นั่น ไปเรื่อย .. ก็ยังมีปัญหาอยู่บ้างแต่ไม่ใช่เรื่องใหญ่โต คือ cpufreq scaling ได้แค่ 800 MHz – 1.33 GHz ทั้งที่ Atom N280 ทำงานได้สุดที่ 1.66 GHz .. อันนี้พอมีทางแก้แล้ว (e.g. ทำ custom DSDT) แต่เรื่องนี้รอได้ คาดว่าหลังจากนี้คงมีคนแก้ให้ :P

ถ้าไม่นับเรื่อง cpufreq scaling ก็แทบไม่เจอปัญหาอะไร .. ที่คาดไม่ถึงคือ ลองเอา mplayer เปิด Big Buck Bunny กับ Elephant’s Dream ที่ 1080p (เน้น! 1080p!) เล่นได้ ไม่มีกระตุก .. ตะลึงไหมล่ะนั่น ! .. เรื่องนี้ หลักๆ มันอยู่ที่ video CODECs กับ display driver นะ .. ตัวไหนเป็นคอขวดก็ playback ไม่ออก มันถึงได้มีการจับคู่ Atom + GN40 หรือ NVIDIA Ion ออกมา .. อย่าง Big Buck Bunny / Elephant’s Dream มันใช้ MPEG-4 FFmpeg มันไม่กิน CPU มาก + GMA950 ก็ playback ไหว ก็เล่นได้สบาย .. แต่ถ้าเป็น H.264 นี่เอาแค่ 720p ก็ต้องจูน mplayer กันหน้ามืด กระนั้น บางไฟล์ก็เล่นได้ บางไฟล์ก็กระตุกจนดูไม่ได้ .. รายละเอียด เรื่องการปรับแต่ง .. ค่อยว่ากันวันหลังเน้อะ :P

UTC+7 UNIX Time = 1234567890 @ St. Valentine’s Day

วันก่อนสอนหนังสือเห็นเลข UNIX time ใกล้จะวินาทีที่ 1234567890 แล้ว กำลังจะหาว่าเมื่อไหร่ ก็เห็นใน http://tech.slashdot.org/article.pl?sid=09/02/08/2043206 พูดถึงพอดี สรุปว่า UNIX time = 1234567890 ในวันศุกร์ที่ 13 กุมภาพันธ์ 2552 23:31:30 UTC

สำหรับ timezone บ้านเรา UTC+7 จะตรงกับ วันเสาร์ที่ 14 กุมภาพันธ์ 2552 06:31:30 :)

Cross Processing Script-Fu for GIMP 2.6

เขียน Cross Processing โดยใช้เทคนิคปรับ curve แบบเดียวกันกับหลายๆ ที่เขาใช้

ลอง mouse over เทียบกับต้นฉบับดู (รอโหลดนิดนึง)

สนใจใช้งาน ดาวน์โหลด kitty.in.th – cross processing เอาไปลงใน ~/.gimp-2.6/scripts/ จะปรากฎเมนูใน Filters -> kitty.in.th -> Cross Processing :)

Arietta & Codetta

สัปดาห์ที่ผ่านมาเป็นอีกครั้งที่ได้คุยเรื่องการแสดงผล สระอำ ที่ยังมีปัญหาบน OO.o 3.0 สำหรับคนที่ใช้ฟอนต์ TTF ของวินโดว์ส ในขณะที่ฟอนต์ของลินุกซ์แสดงได้ไม่มีปัญหา แล้วก็เกิดบรรเจิดว่า ถ้าแก้ OO.o 3.0 ไม่ได้ ตูก็แก้ฟอนต์ซะก็สิ้นเรื่อง :P .. ว่าแล้วก็เริ่มทดสอบกับ Cordia New เอา FontForge เขียน GSUB แยก สระอำ เป็น นิคหิต กับ สระอา … เกิดมาก็เพิ่งได้ใช้ FontForge นี่แหละ ! .. งมไปงมมาพักใหญ่ ได้ผล ! ตัดคำถูกแล้ว :D .. ฟอนต์รุ่นนี้อาจจะมีบางคนได้เห็นในชื่อ Cordia Newer :P

แต่ ! ก็เกิดปัญหาต่อมาคือ วรรณยุกต์ลอย (อาจจะเป็นเพราะ FontForge มันอ่านมาไม่ได้) .. งั้นยำ Umpush กับ Cordia New เลยดีกว่า ก๊อปปี้ glyph ของ Cordia ไปใส่ตาราง Umpush .. rename glyph ให้ถูกกับที่ต้องใช้ใน GSUB ของ Umpush … ก็เป็นว่า วรรณยุกต์อยู่ในตำแหน่ง .. ทั้งหมดนี้แจกไม่ได้ .. จริงๆ แล้ว Cordia Newer ก็ไม่ควรจะเกิด เพราะมัน(อาจ)ละเมิดลิขสิทธิ์ฟอนต์ และ EULA ของ Microsoft .. หลังจากทดลองเสร็จเลยลบทิ้งหมด

ในเวลาเดียวกัน .. คุยกับพี่เทพได้ความว่า Cordia กับ Angsana เขาให้ใช้ฟรีแล้ว .. แต่ต้นฉบับกับพี่เทพหายไปพร้อมฮาร์ดดิสก์ .. ไปถามเอากับ Mr.Choke ได้มาเป็น TTF ที่ distribute ใน TLE 9.0 ทดลองยำไปๆ มาๆ … ก่อนจะมาเริ่มต้นทำจริงๆ จังๆ วันนี้นี่เอง ได้เป็นฟอนต์ Arietta และ Codetta ซึ่งใช้ glyphs ของ Angsana และ Cordia ตามลำดับ ทั้งสองฟอนต์ import GSUB และ GPOS ของ Umpush มาใช้ + ปรับ Anchor สำหรับสระ และวรรณยุกต์นิดหน่อย

ดูผลได้

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

เพิ่มเติม  Codetta แสดงผล pangram ภาษาไทย | Arietta และ Codetta (Regular, Italic, Bold, Bold-Italic) PDF

ฟอนต์ทั้งสองดาวน์โหลดได้ที่ ftp://ftp.kitty.in.th/pub/sources/fonts/ ไฟลที่ไม่มี -ttf จะมีทั้ง *.sfd และ *.ttf ไฟล์ที่มี -ttf จะมีเฉพาะ *.ttf

ถ้าต้องการใช้แทนฟอนต์ของวินโดว์ส แก้ ~/.fonts.conf นิดหน่อย โดยเติมข้างล่างนี้เข้าไป

<!-- Synthesize Windows AngsanaUPC and Angsana New with Arietta -->
<match target="pattern">
    <test qual="any" name="family" mode="eq">
        <string>AngsanaUPC</string>
        <string>Angsana New</string>
    </test>
    <edit name="family" mode="assign" binding="same">
        <string>Arietta</string>
    </edit>
</match>
<!-- Synthesize Windows CordiaUPC and Cordia New with Codetta -->
<match target="pattern">
    <test qual="any" name="family" mode="eq">
        <string>CordiaUPC</string>
        <string>Cordia New</string>
    </test>
    <edit name="family" mode="assign" binding="same">
        <string>Codetta</string>
    </edit>
</match>

ข้อจำกัดของทั้ง Arietta และ Codetta คือมี glyphs เฉพาะอักขระไทยเท่านั้น เพราะต้นฉบับ Angsana และ Cordia มีเฉพาะ glyphs ไทย .. อย่างที่สองคือ hint มันจะไม่สวยเท่าไหร่ เข้าใจว่าต้นฉบับ Angsana/Cordia ใช้ hints คนละแบบกับตระกูล UPC/New ในไมโครซอฟต์ (ติดลิขสิทธิ์ของ hints ?)

สุดท้าย .. Arietta และ Codetta เป็นศัพท์ทางดนตรี :P

Thanks: พี่เทพ & Mr.Choke