All posts by kitty

On-demand wiki-to-html / pre-render wiki-to-html

นั่งดูผลจาก ab (ApacheBench) แล้วสลดหน่อยๆ

$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred:      696250 bytes
HTML transferred:       688300 bytes
Requests per second:    6.02 [#/sec] (mean)
...
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   20  47.0      0     151
Processing:  1107 1586 467.3   1356    2586
Waiting:     1069 1551 467.5   1322    2546
Total:       1258 1606 469.7   1359    2623

Percentage of the requests served within a certain time (ms)
  50%   1359
  66%   1444
  75%   1513
  80%   2380
  90%   2577
  95%   2586
  98%   2623
  99%   2623
 100%   2623 (longest request)

หลักๆ เป็นเพราะ wiki-to-html มัน render on-demand (เอา wiki text มา render ทุกครั้งที่มี request) มันก็ช้าอะดี เลยแก้ code ใหม่เป็นแบบ pre-render HTML เก็บลงใน database แทนการ ผลที่ได้ ..

$ ab -n 50 -c 10 http://kitty.in.th/
...
Total transferred:      696250 bytes
HTML transferred:       688300 bytes
Requests per second:    35.25 [#/sec] (mean)
...
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   26  52.5      0     210
Processing:    41  248  80.5    247     414
Waiting:        6  211  80.4    215     381
Total:        200  274  65.6    253     454

Percentage of the requests served within a certain time (ms)
  50%    253
  66%    268
  75%    278
  80%    353
  90%    399
  95%    414
  98%    454
  99%    454
 100%    454 (longest request)

6.03 requests / sec กับ 35.25 requests / sec. ..

space-time tradeoff = เร็วขึ้นเกือบ 6 เท่า แลกกับพื้นที่เก็บอีกเท่ากว่าๆ .. :)

หนังสือ โชคดี

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

ผมติดต่อไปที่ มูลนิธิมายา โคตมี แล้วได้ความว่าให้ทำหนังสือแจ้งความจำนงในการเผยแพร่ส่งไปยังมูลนิธิฯ .. lulu เลยร่างหนังสือส่งมูลนิธิฯ ซะวันนั้น ผมเลยแจมขอเผยแพร่ด้วยในคราวเดียว

หลัง fax ไปที่มูลนิธิ lulu รออยู่หลายวัน ทางมูลนิธิไม่ได้แจ้งอะไรตอบกลับมาเลย .. ช่วงวันแม่ ฤกษ์ดี เลยพากัน release ซะเลย (ถือคติ ไม่ค้าน ไม่ตอบกลับ ถือว่ายอมรับ ..:P)

รายงานข่าวเสียหน่อย

Opera 10 RC

Opera 10 RC build 4570 ออกมาหลังจากเกิดปัญหาแปลกๆ ที่เคย blog ไว้ก่อนหน้านี้

Acid3 Test 96-100 / 100

ลองหาวิธี disable notification icon .. เจอจาก --help เลย

$ opera --help
...
  -notrayicon                    do not show an Opera icon in system tray
...

แล้วก็ disable menu ด้วย จะได้มีพื้นที่เยอะๆ หน่อย กรอก URL เป็น opera:config แล้วก็ search หา options ของ menu จะเจอ option “show menu” ทีนี้จะ enable หรือ disable ก็ตามสะดวก :)

Move to kitty-v3

ปรับปรุงบ้านขนานใหญ่ ปล่อยเว็บเวอร์ชันใหม่ได้เสียที !

ไม่ได้เปลี่ยนหน้าตาอะไรมาก แต่เปลี่ยน back-end เพื่อสนองความต้องการของตัวเองเป็นหลัก

  1. ใช้ wiki แทน HTML markup
  2. มี tag แต่ยังไม่ได้เอามาทำอะไร
  3. ปรับ CSS ใหม่
  4. convert content ทั้งหมดจาก HTML markup เป็น wiki เสียเวลาหลายวัน :P
  5. revise content บ้างนิดหน่อย ส่วนใหญ่จะแก้คำผิด
  6. ปรับ back-end นิดหน่อย
  7. backward compatible กับ URL เดิมทั้งหมด
  8. ปรับโครงสร้างฐานข้อมูลนิดหน่อย
  9. Atom 1.0 validated

มีข้อเสียที่ทำงานช้าลงเพราะมันต้อง render Wiki เป็น HTML .. ลองดูก่อนละกัน ถ้ามันช้ามากก็จะใช้วิธี pre-render แทน

bug report ได้ที่ kitty at kitty dot in dot th หรือ peorth ณ ห้อง #tlwg @ irc.linux.in.th

โชคดี

วันที่ 21 ก.ค. 52 .. 1 วันก่อนเกิดสุริยุปราคา ขับรถไปประสบอุบัติเหตุกลางสี่แยกวัดใจ (i.e.ไม่มีไฟเขียว-ไฟแดง) ในเมือง โดนชนประตูหน้าด้านซ้าย เอารถเข้าอู่

วันที่ 29 ก.ค. 52 .. รถออกจากอู่แล้ว วันถัดมา 30 ก.ค. 52 เดินทางเข้ากรุงเทพฯ รถคันเดิม ประสบอุบัติเหตุ ถูกรถสิบแปดล้อปาดจากเลนซ้ายมาขวา เฉี่ยวเอาด้านซ้ายรถไปทั้งแถบ ออกจากอู่ได้วันเดียว เอากลับมาซ่อมอีกแล้ว .. 555

ขอบคุณ และ โชคดี

ถ้าได้อ่านหนังสือ โชคดี ของ พระอาจารย์มิตซูโอะ คเวสโก ต้องบอกอย่างนั้น :)

โชคดี ที่ผมมีกัลยาณมิตร และ ขอบคุณ ที่ส่งหนังสือนี้มาให้อ่านครับ

PS. ใครอยากได้เลขทะเบียนรถไปแทงหวยมั้ย :P

Netbook and H.264 HD Video

Cannot playback H.264 HD Video on your netbook ? Try mplayer-mt. It is multithreaded version of mplayer that allows to utilize multiple CPUs/cores. For Ubuntu people, try mplayer-mt from RVM ‘testing’ PPA repos. The others, try google or compile from git/svn.

After install mplayer-mt, add a line in ~/.mplayer/config:

lavdopts=skipframe=default:skiploopfilter=all:fast=1:threads=2

Or, run mplayer-mt on command line, e.g.:

$ mplayer-mt
  -lavdopts=skipframe=default:skiploopfilter=all:fast=1:threads=2
  path/to/media/file

Using XV should utilize about 2-4% of the Atom CPU to playback on 1024×600 fullscreen resolution. Using ALSA should eliminate PulseAudio overhead. The skipframe and skiploopfilter dramatically reduce CPU utilization required to decode H.264 video stream (it may introduce visible artifacts though). The threads=2 enables mplayer-mt to utilize multiple CPUs/cores.

With this setup, my netbook (Acer Aspire One D150 – Intel Atom N280 1.66 GHz, 2 GB RAM, GMA950) is capable to smoothly playback 4000 kbps H.264 video @ 1280×800 with 640 kbps AC3 audio. No "Your system is too SLOW to play this!" message. Cool eh ?

In fact, something like 6 GB BluRay-rip movies in MKV format (i.e. 6000 kbps H.264 video @ 1280×800 with 1536 kbps DTS audio) are also playable on the netbook. Full HD is also possible. To playback such higher bitrates, mplayer-mt may drop some frames and complain "Your system is too SLOW", but it will try to keep A-V sync’ed, producing acceptable video quality.

Using skipframe=nonref can reduce CPU utilization even more, but video may be jerky. The skipframe=bidir / nonkey / all also reduces CPU utilization but will seriously degrade video to something beyond recognition.

YMMV, so try it yourself. Install mplayer-mt on your netbook and have fun watching HD (or even Full HD) video :D

For encoding/transcoding, yes, mencoder-mt does exist.

ตั้งค่า OO.o 3.1 ให้ Impress ตอบสนองดีขึ้น

ใช้งาน OO.o 3.1 บน netbook บางครั้งก็ตอบสนอบไม่ทันใจเท่าไหร่นัก โดยเฉพาะกับ OO.o Impress เมื่อวานทนมันไม่ไหวละ เลยหาวิธีตั้ง options ให้มันไวขึ้นมาหน่อย

สำหรับ OO.o 3.1 มีฟีเจอร์ใหม่สองอันที่เป็นทั้งจุดเด่นและด้อย คือ Anti-Alias และ Modify Object with Attributes ในแง่จุดเด่นคือหน้าจอดูสวยงาม ไว้อ้างได้ว่าทำได้ไม่แพ้ office suites อื่นๆ แต่ข้อเสียคือทั้งสองฟีเจอร์ต้องแลกมาด้วยการประมวลผลที่เพิ่มขึ้นอีกหลายเปอร์เซ็นต์

กรณีข้าน้อย ทั้งสองฟีเจอร์นี้ไม่จำเป็นเลย ไม่มีก็ไม่เดือดร้อน ว่าแล้วก็ปิดมันซะ

  • ปิด Anti-Aliasing: Tools -> Options -> View -> Use Anti-Alias = Unchecked
  • ปิด Modify Object with Attributes: View -> Toolbars -> Modify Object with Attributes = Unchecked

คราวนี้ OO.o Presentation ก็จะสอบสนอบได้เร็วขึ้นแล้ว :) ที่ปิดไปนี่มีผลเฉพาะในหน้าจอ edit เท่านั้น ตอน slide show มันจะ anti-alias ให้เอง

ถ้ามีแรมเยอะพอ (e.g. 1+ GB) ก็ลอง customize ตาม ที่เคยเขียนไว้ในห้องทดลอง ด้วยก็ได้ :)

Ref: http://user.services.openoffice.org/en/forum/viewtopic.php?f=11&t=18613

Google Chrome on Linux and Thai Language

เพิ่งจะ aptitude update / safe-upgrade ตะกี้ เห็นว่ามี google-chrome-unstable มาด้วย (จาก Google Linux/deb Repository) พักหลังบ้า swiftfox เลยไม่ค่อยได้ใช้ Chrome

พอลองใช้ดูก็พบว่า Chrome 3.0.192.0-r19969 (หรืออาจจะเวอร์ชันก่อนหน้านั้นนิดหน่อย) มันแสดงผลภาษาไทยได้แล้ว ตัดบรรทัดสวยด้วย :D

แต่! ไม่ถึงกับสมบูรณ์แบบนะ เท่าที่ดูคร่าวๆ ถ้าหน้าเว็บแสดงผลโดยใช้ฟอนต์ TrueType จาก MS Windows (e.g., Tahoma, Microsoft Sans Serif, .. ) อาจเห็นวรรณยุกต์ลอย สำหรับผู้ใช้ไม่น่าเป็นปัญหาใหญ่ .. ส่วนฟอนต์จาก Thai Font Scalable (e.g., Loma) ดูเหมือนจะไม่มีปัญหาวรรณยุกต์ลอย

ว่าแล้วก็ blog โดย chrome นี่แหละ จะได้ทดสอบ input ไปด้วย … แล้วก็พบว่ามีอาการเหมือนนับตัวอักษรไม่ถูก ขาดๆ เกินๆ เลื่อนเคอร์เซอร์ กด DEL / BKSP / พิมพ์แทรก อาจลบผิด/แทรกผิดตำแหน่งซะงั้น

แต่ก็เอาเถอะ unstable ได้ขนาดนี้ก็ถือว่าดีแล้วแหละ จะว่าไปแล้ว ถือว่า Chrome สนับสนุนภาษาไทยได้เร็วกว่าที่คาดไว้ และถึงจะแสดงผลเว็บภาษาไทยได้ไม่สวยเท่า Firefox แต่ก็ดีกว่า Opera บน Linux ล่ะน่า … :P