Category Archives: Blog

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

MSN Issue on Pidgin (Again !)

ตั้งแต่วันที่ 12 ม.ค. 52 Pidgin เริ่มล็อกอินเข้าใช้งาน MSN ไม่ได้ .. ดูจาก debug windows จะเห็นอะไรประมาณนี้ ..

...
msn: Got the Address Book!
msn: AB Faultstring: Passport Authorization Failed
msn: AB Error Code: PassportAuthFail
...

ถาม อ.กู้ ก็พบว่ามีคน report bugs ไว้แล้วจำนวนหนึ่ง และเพิ่งจะพบอาการนี้ในวันเดียวกัน (อ.กู้ index ไวโคตร !) .. เฉพาะวันที่ผ่านมา ในห้อง(ผีสิง) #tlwg บ่นเรื่องเดียวกันนี้ 4-5 ราย … จะว่าไปบนลินุกซ์มีอีกหลายโปรแกรมที่ใช้ MSN ได้ เท่าที่ลองใช้งานกันวันนี้ aMSN, emesene ยังล็อกอิน MSN ได้ ไม่มีปัญหาเหมือน Pidgin .. ส่วน SIM, Kopete บน KDE ไม่ได้ลองเพราะทำใจกับขนาดของ kdelibs ไม่ได้ … หรือจะเอาอย่างข้าน้อยเนื่องจากมีของกะมือเลยใช้ Miranda-IM ใน MS Windows XP ใน VirtualBox … หรือจะใช้ Miranda-IM กับ Wine ก็ได้ (ลองแล้ว) … ดูเหมือน ใครๆ เข้าก็ใช้งาน MSN ได้ตามปกติ ยกเว้น Pidgin นี่แหละ เฮ่อ !

ระหว่างคุยๆ กัน ณ ห้อง #tlwg ป๋าเด่นก็แจ้งมาว่าบางคนลง msn-pecan แล้วใช้ได้.. ไม่รอช้า aptitude install msn-pecan แล้วก็ add WLM account … โอ้!… ใช้ได้จริงๆ ด้วย :D

msn-pecan เป็น implementation ของ MSN/Windows Live Messenger protocol สำหรับ Pidgin ลองใช้ดูแล้วก็ไม่เลว เร็วดี … ระหว่างรอแก้ bug ก็ใช้ไปก่อนละกัน :P