Rendering in Firefox 3

เคยลองเอา Firefox 3 มา compile ใช้งานเองเมื่อนานมาแล้ว ตั้งแต่ก่อนช่วงออก Alpha release เสียอีก พอดีว่าตอนนั้นมีปรับปรุงระบบ rendering engine ใหม่ ทำให้สามารถแสดงผล native widget บน Mac ได้ (หมายถึงพวกปุ่มกดทั้งหลาย ใน Firefox 2 จะหน้าตาเป็นเหลี่ยมๆ ไม่สวยเหมือนโปรแกรมบน Mac ปกติ เพิ่งมามีหน้าตาสวยเป็น Aqua เนียนๆ เอาในตอนเวอร์ชัน 3) ก็เลยอยากลองใช้

ใช้งานได้ไม่ถึงวันก็ต้องลบทิ้งเพราะมันไม่เสถียรอย่างแรง เล่นได้แป๊บๆ ก็ปิดตัวเอง ใช้แล้วเหน็ดเหนื่อย สุดท้ายก็กลับมาใช้เวอร์ชัน 2 เหมือนเดิม

ปัจจุบัน Firefox 3 ออกมาถึงรุ่น Alpha 8 แล้ว มีตัวตัดคำภาษาไทยในตัวแล้วด้วย โหลดมาแล้วไม่ต้องแก้อะไร ตัดคำได้ทันที เนื่องในโอกาสนี้ก็เลยทดลองเอามาใช้เป็น browser หลักดู ทดสอบความสามารถการตัดคำและความเสถียรไปด้วยในตัว

ทีแรกคิดว่าใน Firefox 3 มันเรนเดอร์ตัวหนังสือได้คมและเนียนกว่า Firefox 2 แต่ไม่แน่ใจว่าคิดไปเองหรือว่ามันเนียนกว่าจริงๆ ก็เลยต้องทดสอบโดยจับเอา screenshot มาเทียบกัน

firefox 2 & 3 comparison

จะเห็นว่าใน Firefox 3 ตำแหน่งของวรรณยุกต์ (ตามที่วงกลมไว้) แสดงผลได้ถูกต้องกว่าเดิม หรืออย่างตรงที่ล้อมกรอบสี่เหลี่ยมไว้ คำว่า “เปิด” ใน Firefox 2 สระอิกับหาง ป.ปลามันจะทับกันอยู่ แต่ใน Firefox 3 ไม่ทับกันแล้ว นอกจากอันนี้แล้วตอนเปิดเวบ Google Reader ก็รู้สึกว่าตัวหนังสือภาษาอังกฤษใน Firefox 3 มันดูสวยกว่าในของเก่าด้วย

อีกอย่างหนึ่งที่น่าประทับใจคือความเร็วในการทำงาน รู้สึกได้เลยว่าเวอร์ชันใหม่นี้ทำงานรวดเร็ว ลื่นกว่าตัวเก่าอยู่เยอะ ส่วนหนึ่งก็คงเป็นอานิสงส์จากการยกเครื่องส่วน rendering engine ใหม่ (คุ้นๆ ว่าเคยอ่านเจอว่าใน Firefox 2 เวลาเรนเดอร์หน้าจอออกมา มันต้องวนใน message loop อะไรซักอย่าง (ที่เป็น API ของ Mac) ทำให้มันช้า)

แต่ข้อเสียใหญ่ๆ เลยคือว่า Extension (และ theme) ที่เป็นของเวอร์ชัน 2 เอามาใช้ด้วยกันไม่ได้ ที่เดือดร้อนที่สุดคือ Firebug ยังใช้ไม่ได้ เพราะ extension ตัวนี้ตัวเดียวที่เป็นเหตุผลที่ทำให้ยังคงต้องใช้ Firefox 2 อยู่ (extension อื่นไม่มีใช้ก็ยังไม่เดือดร้อนเท่าไหร่)

BTD 3.0

งาน Blognone Tech Day จัดกันมาเป็นครั้งที่ 3 (และครั้งสุดท้าย) แล้ว (สรุปครั้งที่ 1, 2) แต่คราวนี้โปรโมทไม่เยอะเท่าไหร่ คนที่มาร่วมงานเลยออกจะบางตาสักเล็กน้อย โดยสรุปๆ หัวข้อที่พูดกันไปก็มีเรื่อง

  • ทำ Font – คุณ iannnnn มาสอนวิธีทำ font ให้ดู ก็ไม่ยากนัก แต่ต้องอาศัยความอดทนพอสมควร รายละเอียด วิธีทำ ตัวอย่างต่างๆ แนะนำให้ไปหาอ่านที่ f0nt.com
  • UI design – โดยคุณ apirak มาพูดเรื่องการออกแบบ interface ของโปรแกรม แต่ออกจะหนักไปทาง mac ไปนิดนึง คาดว่าคนใช้ platform อื่นอาจจะตามไม่ทันในบางจุด
  • Ubuntu – น้องๆ จาก ubuntu club มาโชว์ความสามารถของ Gutsy Gibbon แต่ละคนนี่แค่ ม.1-ม.2 เท่านั้นเอง เก่งกันโคตรๆ เทียบกับตัวเองสมัย ม.2 ยังทำได้แค่นั่งเขียนโปรแกรมด้วยภาษา basic
  • Educationอ.เดฟ มาเล่าให้ฟังเรื่องประสบการณ์ในแวดวงการศึกษาเรื่อง computer science ในบ้านเรา ชอบประโยคเด็ดที่ว่า “นักศึกษาบ้านเราเป็นผลผลิตที่สมบูรณ์แบบของระบบการศึกษาที่ล้มเหลว”
  • 3KC interview – สัมภาษณ์ทีม 3KC ที่ชนะเลิศรายการ Imagine Cup ปีล่าสุด (โดยทีม duocore (ได้เห็นคุณมะเหมี่ยวตัวเป็นๆ แล้ว!)) เขียนโปรแกรมออกมาหน้าตางดงามสุดๆ (เห็นว่าใช้ WPF)
  • สรุปงานlew กับ mk ออกมาสรุปงานและทิศทางของ blognone ก็แสดงให้เห็นว่ามีความเป็น community driven มากขึ้น และมีแนวโน้มการเติบโตที่ดี
  • ThaiGrid – เยี่ยมชมศูนย์ ThaiGrid โดยคุณ sugree ก็เห็นเป็นตู้ๆ ไม่ค่อยแปลกใจเท่าไหร่ เพราะตอนที่อยู่ที่ทำงานเก่า เห็น server จำนวนเยอะกว่านี้หลายเท่าอยู่ในห้องเดียวกันมาแล้ว ความเจ๋งของ grid คือมันช่วยกันรันงานพร้อมๆ กันได้ แต่มันก็มองไม่เห็นด้วยตาเปล่า สรุปว่ามันเจ๋งอยู่แต่ขาด wow factor
  • Dinner – ปิดท้ายด้วยข้าวเย็นร้านตรงข้ามเกษตร (อร่อยใช้ได้ และถูกมาก) ได้แลกเปลี่ยนความเห็นหลายๆ เรื่อง กับหลายๆ คน

ที่แย่คือ คืนวันศุกร์ ได้นอนเอาตอนตี 5 ได้มั้ง ตื่นขึ้นมา 9 โมง ซักผ้า แล้วค่อยรีบไปงาน BTD พอเลิกงานกลับมาถึงบ้านก็ปวดหัวตึ้บเลย วันอาทิตย์ไข้ขึ้น นอนยาวทั้งวัน

grep

เพิ่งรู้ว่าคำสั่ง grep บน *nix มันมีที่มาจากคำสั่ง ed ที่ว่า

g/re/p

ใน wikipedia บอกว่าความหมายคือ “search globally for lines matching the regular expression, and print them”

Plotting w/ Gnuplot

เคยได้ยินมานานแล้วว่าเวลาจะพล็อตกราฟ เค้านิยมใช้ Gnuplot กัน แต่ก็แค่เคยได้ยิน เพราะไม่เคยได้ใช้งานที่มันต้องพล็อตกราฟจริงๆ จังๆ ซักหน อย่างมากใช้แค่โปรแกรม SpreadSheet ทั่วไปก็เพียงพออยู่แล้ว แต่พอดีวันนี้มีความต้องการใช้การพล็อตกราฟจากสมการที่เป็น function ของ x หลายๆ สมการเทียบกัน แล้วก็ขี้เกียจเปิดโปรแกรม SpreadSheet ขึ้นมาใช้ เลยพยายามลองใช้ Gnuplot ดู

โชคดีที่ Gnuplot มีให้ใช้งานทั้งบน windows, linux แล้วก็ mac วิธีการติดตั้งบน mac ก็ไม่ยากอะไร แค่รันผ่านทาง fink เท่านั้นเอง

Tabris:~ pittaya$ apt-cache show gnuplot
Package: gnuplot
Source: gnuplot
Version: 4.0.0-1005
Priority: optional
Section: sci
Maintainer: Jeffrey Whitaker <jswhit @fastmail.fm>
Depends: libpng3-shlibs (>= 1.2.5-3), texinfo, aquaterm (>= 1.0.0-1002), aquaterm-shlibs (>= 1.0.0-1002), readline-shlibs (>= 4.3-1028), pdflib-shlibs (>= 5.0.1-1), x11, ncurses (>= 5.4-20041023-1006), libncurses5-shlibs (>= 5.4-20041023-1006), gd2-shlibs, libjpeg-shlibs, darwin (>= 8-1)
Architecture: darwin-i386
Filename: dists/fink-0.8.1/main/binary-darwin-i386//sci/gnuplot_4.0.0-1005_darwin-i386.deb
Size: 2438510
Installed-Size: 6320
MD5sum: ff5fe43474e8491e0ab3c088477bec4a
Description: Command-driven interactive plotting program
It can be used to plot functions and data points in both two- and
three-dimensional plots in many different formats, and will accommodate
many of the needs of today's scientists for graphic data representation.
.
Web site: http://www.gnuplot.info/

Tabris:~ pittaya$ apt-get install gnuplot

library ที่จำเป็นต้องใช้งานส่วนใหญ่ก็มีอยู่แล้ว ยกเว้น Aquaterm ที่ไม่ได้ลงไว้ fink ก็จะไปโหลดมาลงให้เอง สะดวกสบายดี

ติดตั้งเสร็จแล้วก็อ่านวิธีใช้แบบคร่าวๆ จาก Tutorial พอให้ทำงานได้

Trigonometry

วาดกราฟตรีโกณใช้แค่คำสั่งนี้ที่ shell ของ gnuplot
gnuplot> plot sin(x), cos(x), tan(x)

ง่ายกว่าที่คิด

VLC

VLC

VLC เป็นโปรแกรม media player ใช้งานได้ทั้งบน Windows, Mac และ Linux
เปิดดูไฟล์ได้เกือบทุกฟอร์แมต ใช้เป็นตัว encoder ก็ได้ ไม่มีปัญหา codec ตีกัน เป็นโปรแกรมที่จำเป็นต้องมีติดเครื่องไว้ตลอด

รูปนี้ถ่ายตรงที่มีก่อสร้างใกล้ๆ อพาร์ตเมนท์ เห็นกรวยส้มๆ ตั้งอยู่แล้วมันคิดถึง VLC ขึ้นมาตะหงิดๆ
ถ่ายด้วย Lomo LC-A, Fuji Provia 100F, cross-processed