Firefox 3 Thai Localized Build

สำหรับแฟนๆ เว็บเบราว์เซอร์ Mozilla Firefox คงได้ยินข่าวคราวกันมาแล้วบ้างว่า Firefox เวอร์ชัน 3 กำลังจะออกในช่วงกลางปีนี้ ในบ้านเราก็ตื่นตัวกับเรื่องนี้และพยายามผลักดันให้ภาษาไทยได้เป็น supported language ทำให้ผู้ใช้บ้านเราไม่ต้องมาคอยโหลดตัวตัดคำ ตั้งค่าโน่นนี่เอาเอง แค่โหลดมาลงก็ใช้ได้ทันที!

ปัญหาที่ผู้ใช้ Firefox บ้านเราเจอกันและเป็นอุปสรรคใหญ่มากคือตัวของ Firefox มันตัดคำไทยไม่ได้ ทำให้เวลาเข้าเว็บหลายๆ แห่งแล้วหน้าตามันจะดูเละๆ (แต่บางเว็บมันก็หน้าตาเละๆ ด้วยตัวมันเองอยู่แล้ว ไม่เกี่ยวกับ Firefox สักหน่อย) ปัญหานี้ค้างมาเป็นเวลานาน แต่ในที่สุดก็ได้รับการแก้ไขให้ตัดคำไทยได้สวยงามทั้งบน Windows, GNU/Linux และ Mac ในเวอร์ชัน 3 นี่เอง

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

สำหรับคนที่ต้องการทดสอบ Firefox 3 Thai Localized Build (ตัดคำได้สวยงาม หน้าตา เมนู เป็นภาษาไทย) ที่ทีมงานทำขึ้นมา สามารถดาวน์โหลดได้จากหน้าโครงการ

  • Firefox ตัวจริงจะออกตอนกลางปี ตัวปัจจุบันล่าสุดที่มีให้ใช้คือเวอร์ชัน beta5 สำหรับรุ่น Thai Localized Build ที่เอามาให้ดาวน์โหลดกันนี้สร้างจากโค้ดล่าสุดของทาง Mozilla เอง
  • ดาวน์โหลด Firefox 3 รุ่นภาษาไทย มีทั้งบน Mac OS X (Universal binary), GNU/Linux, และ Windows XP (สำหรับ Windows Vista จะตามมาในเร็ววัน)
  • ถ้าพบปัญหา แปลไม่ถูกใจ ใช้งานยาก ส่ง feedback กลับมาได้ที่ หน้ารวม issue ของโครงการ (ต้องมี account ของ Google)

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

ติดตามความคืบหน้าของการพัฒนา Firefox 3 รุ่นภาษาไทย ได้ที่ Google Code และ Google Groups

Google App Engine

Google App Engine เป็นหมัดเด็ดของ Google ที่ออกมาเพื่อต่อกรกับ Amazon Web Services ของ Amazon โดยเฉพาะ

ในขณะที่ AWS มีบริการให้ใช้คือ S3 (เก็บข้อมูล), EC2 (ประมวลผล) และ SimpleDB (ฐานข้อมูล) แต่ละบริการจะแยกออกจากกัน จะใช้ทั้งหมดหรือแค่ตัวใดตัวหนึ่งก็ได้ แต่สำหรับบริการของ Google App Engine จะต่างออกไป โดย Google จะให้บริการแบบครบวงจรกว่า แยกใช้งานแบบเป็นบริการเดี่ยวๆ ไม่ได้

บริการของ Google App Engine จะมีลักษณะเป็นการให้บริการ infrastructure ที่ระดับ high-level มากกว่า โดยสามารถรัน application ที่เขียนด้วยภาษา python เท่านั้น (ภาษาอื่นจะตามมาในอนาคต) ทาง Google จะมี SDK มาให้นักพัฒนาสามารถเขียนโปรแกรมทดสอบในเครื่องตัวเองได้ก่อน แล้วนำมา deploy ลงในระบบของ Google App Engine ทีหลังได้ โดยระบบเก็บข้อมูลจะใช้ GFS และใช้ฐานข้อมูล BigTable

Google App Engine ในช่วงแรกจะเปิดแบบ beta ให้นักพัฒนา 10,000 คนแรก และจำกัดการใช้งานไว้ที่เนื้อที่ 500 MB และ bandwidth ไม่เกิน 10 GB ต่อวัน หลังจากนั้นเมื่อเปิดเต็มตัวแล้วจะมีโมเดลเก็บเงินอีกครั้งหนึ่ง (ยังไม่กำหนดราคา)

ในช่วงปี 2005 ตอนนั้น Google ไปจ้าง Guido Van Rossum คนสร้างภาษา python เข้ามาทำงานด้วย เป็นข่าวฮือฮาอยู่พักนึงว่า Google จะจ้างเอาไปทำอะไร แต่เจ้าตัวก็ติด NDA พูดอะไรมากไม่ได้ สุดท้ายเวลาผ่านไป 3 ปี ก็ได้ Google App Engine ออกมาให้ได้ลองใช้กัน

นอกจากนี้แล้ว Google App Engine ยังสนับสนุน Django ซึ่งเป็น web framework ยอดฮิตในภาษา python ด้วย ทำให้การสร้าง application สามารถทำได้รวดเร็วยิ่งขึ้น (ตัวอย่างเว็บที่ใช้ django ก็เช่น Pownce, Revver)

เปรียบเทียบกันแล้ว Google App Engine ยังเป็นรอง Amazon Web Service อยู่พอสมควร เนื่องจากที่ว่ามันใช้ได้แค่ python ภาษาเดียวเท่านั้น ซึ่งจำนวนนักพัฒนา python (สำหรับเว็บ) เมื่อเทียบกับ PHP หรือ Ruby แล้วยังห่างกันเยอะมาก และในปัจจุบัน application จำนวนมากพิสูจน์แล้วว่า AWS นั้นสามารถใช้งานได้ในระดับใหญ่จริง (เช่น Twitter, Pownce, Slideshare ฯลฯ)

นักพัฒนาที่มี application เก่าที่เป็นภาษาอื่น คงยากที่จะยอมย้ายมาลงบน platform ของ Google สู้ไปใช้งาน AWS เฉพาะในส่วนที่จำเป็นจะดีกว่า อันนี้ก็เป็นปัญหาของ Google ต่อไปที่ต้องเร่งมือทำให้ Google App Engine รองรับภาษาอื่นมากขึ้น ถ้าให้เดา ภาษาถัดไปน่าจะเป็น Ruby (คนต่อไปที่จะโดนจ้างอาจเป็น MatZ หรือ David Heinemeier Hansson)

อ่านเพิ่มเติมจากแหล่งข่าว

ลิงค์ที่เกี่ยวข้อง

Agile vs. CMMi

ไปอ่านเรื่อง Behavioral-Driven Development มาจาก blog ของ อ.มะนาว ติดใจตรงที่เขียนว่า

ถ้าสวมวิญญาณพวก agile คงบอกว่า code คือ document (อันนี้จะตรงกันข้ามกับพวกสาย cmmi เพราะสายนั้นกะว่าจะเขียน document แล้ว generate ออกมาให้เป็น code แทน)

ถึงแม้ว่าผลลัพธ์สุดท้ายจะได้ออกมาทั้ง code และ document แต่ผมว่าการเขียน code มันสนุกกว่าการเขียน document เป็นไหนๆ เลยนะ

Upload hidden file without Finder

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

.htaccess เป็นไฟล์สำหรับกำหนดค่าการทำงานของเว็บเซิร์ฟเวอร์ apache ซึ่งที่ใช้งานบ่อยๆ ก็จะใช้ทำพวก url rewrite หรือกำหนดค่า default บางอย่าง แล้วทีนี้ในเมื่อ Finder มันไม่โชว์ไฟล์ .htaccess ก็ไม่รู้จะลากไฟล์ไปลงเซิร์ฟเวอร์ยังไง

วันนี้นึกวิธีแก้ไขออกคือ ปกติผมใช้ TextMate เป็นตัวเขียนโปรแกรมอยู่แล้ว ซึ่งตัว TextMate มันจะมี drawer ข้างๆ แสดงไฟล์ที่กำลังใช้งานอยู่แล้ว และเจ้า TextMate เนี่ยมันฉลาดอยู่แล้ว รู้ว่า .htaccess เป็นไฟล์ที่โปรแกรมเมอร์ใช้งาน มันก็เอามาโชว์ให้ดู ดังนั้นเวลาจะอัพโหลดไฟล์ .htaccess นี่ก็แค่ลากจากใน drawer ของ TextMate ไปใส่ใน Cyberduck ได้เลย

ง่ายๆ อย่างงี้ทำไมเพิ่งนึกออก

Tweetfreq 0.1

ช่วง 2-3 วันนี้ หลังจาก BarCamp Bangkok บรรดาผู้ร่วมงานหลายคนเกิดอาการติด twitter กันงอมแงม วันนี้ตอนที่อ่าน tweet ของคนโน้นคนนี้ไปมาก็เกิดอาการคัน อยากลองเล่น API ของ twitter ดู ก็เลยเป็นที่มาของ Tweetfreq ตัวนี้

Tweetfreq เป็นตัวสร้างกราฟบอกความถี่ในการ tweet ภายใน 24 ชม. ของเรา หลักการทำงานก็คือตัว Tweetfreq จะคอยไปดึงค่า user timeline ของเรากำหนดเพื่อนำมาเก็บเป็น log ไว้ แล้วเอามาสร้างกราฟบอกความถี่ในการ tweet ของเรา

ทีแรกเขียนไว้เป็น python แต่ว่า server บางเครื่องไม่มี python ก็จะรันไม่ได้ ทำให้ต้องเปลี่ยนโค้ดมาเป็น PHP แทน โดยส่วนการดึงข้อมูล user timeline ใช้ cURL library ดูดมาเป็น format RSS จากนั้นเอามา parse ด้วย simplexml สุดท้ายตอนสร้างกราฟใช้ Google Chart API

Requirement

PHP 5.2 ขึ้นไป และต้องมี cURL library ด้วย

Installation

เอาไฟล์ tweetfreq.php ไปวางไว้บน server แล้วตั้ง cron ให้มาเรียกทำงานทุกๆ 5 หรือ 10 นาทีก็ได้ โดย script ตัวนี้จะสร้างไฟล์ไว้ใน directory เดียวกันสองไฟล์ ชื่อ tweets.txt เอาไว้เก็บข้อมูลการ tweet และไฟล์ tweets.png ซึ่งเป็นกราฟที่สร้างขึ้นโดยผ่านทาง Google Chart API

License

ใช้สัญญาอนุญาตแบบ Creative Commons Attribution 3.0 ใครอยากเอาไปพัฒนาต่อ ทำได้ตามสบาย

Download

โหลดได้ที่นี่

Todo

  • แก้เรื่อง timezone ของ server
  • แก้ส่วนที่ hard-coded ไว้ (เช่น สี, ขนาด ของกราฟ, url ของ feed) ให้สามารถคอนฟิกได้ง่ายๆ
  • ทำให้โค้ดอ่านง่ายกว่านี้

ถ้ามีปัญหาการใช้งานยังไง แปะไว้ได้ข้างล่างนี่ครับ