Saturday, May 19, 2007

Kubuntu Feisty vs Logitech

หายหน้าหายตาไม่ได้ up blog เป็นเวลานานแสนนาน แถมจั่วหัวเรื่องซะน่ากลัว แต่ไม่ใช่เรื่อง Logitech ไปหาเรื่องฟ้อง Kubuntu แต่อย่างใด เป็นเรื่องที่ผมไปซื้อเมาส์มาใหม่ เป็นเมาส์ Laser รุ่น V450 จาก Logitech ในราคาลดสะบั้นแค่ AU$58 เท่านั้น (แพงฉิบ) ซึ่งเมาส์ตัวนี้ก็ใช้ได้ดีเกือบทุกพื้นผิว ละเอียดดี (ไม่รู้เท่าไหร่ เพราะมันไม่ยอมบอกว่ากี่ dpi แต่รู้สึกว่ามันเคลื่อนที่เรียบขึ้น อาจจะเป็น Placebo Effect) แถมยังใช้ได้ไกลพอตัว (ประมาณเกือบๆ 5 เมตร) และที่สำคัญคือประหยัดถ่าน (มันเคลมว่าใช้ได้นานสุด 1ปี)



ตัวนี้แหละ


การใช้งานทั่วไปบนวินโดวส์ก็ไม่มีปัญหา แต่ต้องลง software ของ Logitech จึงจะทำให้ใช้ได้ครบทุกปุ่ม ซึ่งมันมี 3 ปุ่ม และ sidescroll (ขนาดบนวินโดวส์นะ) ทีนี้มาว่ากันบน Linux มั่ง ซึ่งเครื่องผมลง Kubuntu Feisty เอาไว้ (ก่อนหน้านั้นก็ Edgy แหละ แต่ตัดสินใจลง Feisty ดีกว่าเพื่อความสดของ packages) เมื่อลองเสียบครั้งแรก ก็ใช้ได้ทันที แต่ ปุ่ม sidescroll มันใช้ไม่ได้ สรุปว่า หายไป 2 ปุ่มซะงั้น -_-' แรกๆ ก็ไม่คิดอะไรหรอก ไม่ใช้ก็ได้ แต่ไปๆ มาๆ ก็ซื้อมาตั้งแพง ทำไมใช้ไม่ได้ฟะ แถมเมาส์ก็เคลื่อนที่แบบที่เรียกว่า out of control เอามากๆ คือ ขนาดปิด acceleration ใน KDE ไปแล้ว (ตั้ง factor x1) มันยังปรู๊ดปร๊าด แบบควบคุมลำบาก ยิ่งแย่เข้าไปใหญ่ (คิดว่าน่าจะเป็นผลจากความละเอียดที่มากขึ้นจริงๆ) เลยคิดว่า... สงสัยต้องหาวิธีเอาซะแล้ว

ที่ entry นี้ไม่เขียนเป็นภาษาอังกฤษเพราะว่า เอกสารภาษาอังกฤษมีเยอะแล้ว (เหอๆ) และคนไทยมักไม่ค่อยอยากอ่านภาษาอังกฤษ ดังนั้นก็เขียนเป็นภาษาไทยละกัน (เผื่อจะมีคนมาเม้นต์มากขึ้น เหอๆ)

วิธีการนั้น ผมได้มาจาก Google -> Gentoo Wiki (เข้าใจแล้วว่า ทำไมเค้าถึงบอกว่าเอกสารของ Gentoo ดีที่สุดในโลก) และรายละเอียดปลีกย่อยนิดหน่อยจากหน้า manpage

เอาล่ะ มาเข้าเรื่องกัน

ขั้นแรก: สำรวจไดรเวอร์
การตั้งค่าเมาส์โดยปริยายใน xrog.conf ที่ติดมากับ *buntu นั้น จะใช้ไดรเวอร์ที่เรียกว่า mouse เพราะมันเป็นไดรเวอร์ที่ใช้ได้กับเมาส์ทั่วไปไม่ว่าจะเป็นเมาส์ ps/2, usb หรือ serial (ยังมีใครใช้มั้ยเนี่ย) แต่สำหรับเมาส์ใหม่ๆ ที่ปุ่มมันเยอะๆ และเป็น usb ซึ่งไดรเวอร์และ Protocol ตัวเก่านั้น มันอาจทำให้การ map ปุ่มเมาส์เละไปหมด เค้าก็เลยเปลี่ยนมาใช้ไดรเวอร์ที่ชื่อว่า evdev แทน ซึ่งไดรเวอร์ตัวนี้จะทำการ จับ event ของอุปกรณ์นำเข้าข้อมูลต่างๆ เข้ามาผ่านทำการประมวลผลใน kernel และตามเอกสารของ Gentoo ก็บอกไว้ว่า 9 ใน 10 ครั้งนั้น คุณจะไม่ต้องไปนั่ง map ปุ่มใหม่เอง (เยี่ยม)

สำหรับ evdev นั้น *buntu ได้ build มาเป็น kernel module แล้วพร้อมกับโหลดให้ตอนบูตเรียบร้อย


ขั้นที่ 2: สำรวจอุปกรณ์
รายละเอียดของอุปกรณ์นั้นจะถูกเก็บไว้ในระบบไฟล์ชั่วคราว (/proc) ที่แฟ้ม /proc/bus/input/device ลองดูเนื้อหาภายในนั้นได้จากการใช้คำสั่ง cat หรือ less แบบนี้
cat /proc/bus/input/device
หรือ
less /proc/bus/input/device


แต่แนะนำให้ใช้ less ดีกว่า เพราะเลื่อนขึ้นลงไล่ดูได้ ลองไล่ๆ ไปก็จะเห็นข้อความประมาณนี้


I: Bus=0003 Vendor=046d Product=c518 Version=0111
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:1d.2-2/input0
S: Sysfs=/class/input/input4
H: Handlers=mouse1 ts1 event4
B: EV=7
B: KEY=ffff0000 0 0 0 0 0 0 0 0
B: REL=143

I: Bus=0003 Vendor=046d Product=c518 Version=0111
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:1d.2-2/input1
S: Sysfs=/class/input/input5
H: Handlers=kbd event5
B: EV=f
B: KEY=7fff 2c3027 bf004440 0 0 1 f80 8807c000 667bfa d9415fed 8e0000 0 0 0
B: REL=40
B: ABS=1 0


โปรดสังเกตชื่อ Logitech USB Receiver และคุณจะเห็นว่ามันมีอยู่ 2 entries เนื่องจากว่า kernel มองมันเป็น Receiver ของทั้งเมาส์และคีย์บอร์ดไร้สายของ Logitech มันก็เลยขึ้น 2 อัน โดยส่วนสำคัญที่เราสามารถเอาไปใช้ใน xorg.conf ได้มีอยู่หลายส่วน เช่น Name, Phys, bit (B: น่ะ) ให้จดๆ เอาไว้ก่อน แล้วเราไปแก้ /etc/X11/xorg.conf กัน

ขั้นที่ 3: แก้ xorg.conf
คำเตือน: ก่อนกระทำการใดๆ ในขั้นนี้ โปรด backup ไฟล์ xorg.conf เอาไว้ก่อน เพราะเกิดเข้า X ไม่ได้ขึ้นมาจะได้ก็อปกลับไปทับได้

ทีนี้ ตามคู่มือของ Gentoo ที่อ่านมา เค้าบอกว่า ให้แก้ไฟล์ xorg.conf โดยทำการเพิ่มส่วน InputDevice section เพิ่มเข้าไป โดยต้องไปตามดูวิธีการเขียน Config ตามรุ่นและชนิดของเมาส์อีกที (ดูอ้างอิงข้างล่าง) แล้วก็เพิ่มค่าของเมาส์ใหม่เข้าไปในส่วนของ ServerLayout ด้วย

ตามตัวอย่างของ Gentoo Wiki นั้น เค้าบอกให้เพิ่ม InputDevice เข้าไปแบบนี้


Section "InputDevice"
Identifier "V450"
Driver "evdev"
Option "Name" "Logitech USB Receiver"
Option "HWHEELRelativeAxisButtons" "7 6"
EndSection

และ

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "V450" "CorePointer" <- เพิ่มตรงนี้เข้าไป
InputDevice "Synaptics Touchpad"
EndSection


จะเห็นว่า ตัวไดรเวอร์เปลี่ยนไปโดยหันไปใช้ evdev แทน แล้วก็กำหนดอุปกรณ์ด้วยชื่อ ซึ่งก็ควรจะใช้ได้ ถ้าเกิดว่าอุปกรณ์ของผมมันไม่มีชื่อซ้ำกัน แต่จากตัวอย่างข้างบนในขั้นที่ 2 คุณเห็นแล้วว่าชื่อ Logitech USB Receiver มันซ้ำกัน ผลก็คือ เมื่อ restart X ใหม่แล้ว มันมืดไปเลย - -'

ก็เลยเปลี่ยนวิธีเรียกอุปกรณ์ใหม่ เป็นการเรียกใช้จาก event แทน จากตัวอย่างในขั้นที่ 2 จะเห็นว่า ตัว event ที่เป็นเมาส์ของ Logitech นั้น ตรงกับ event4 เราก็เปลี่ยนตรง Option name ให้เป็น Device แบบนี้


Section "InputDevice"
Identifier "V450"
Driver "evdev"
Option "Device" "/dev/input/event4"
Option "HWHEELRelativeAxisButtons" "7 6"
EndSection


หลังจาก restart X แล้วก็ปรากฏว่า สามารถใช้งานเมาส์ได้ และใช้ได้หมดทุกปุ่ม ทั้งปุ่ม ซ้าย ขวา scroll ขึ้น-ลง และ scroll ซ้าย-ขวา ฮ่า... สำเร็จ

แต่...

การใส่ option แบบนี้มีข้อเสียคือ ในการบูตแต่ละครั้งนั้น HAL มันอาจจะเอาเมาส์ของคุณไป register ไว้ที่ event ต่างๆ กันก็ได้ (โดยส่วนใหญ่ก็จะเป็น event เดิมแหละ แต่ตั้งแต่เปลี่ยนมาใช้ Feisty มันเปลี่ยนทุกครั้งที่บูตเลยอ่ะ - -') ซึ่งถ้าเป็นแบบนั้น คุณก็จะไม่สามารถใช้เมาส์ได้ครบปุ่มอยู่ดี ดังนั้นมีวิธีที่ดีกว่าก็คือ การกำหนด Physical address ไปซะเลย โดยทำการเปลี่ยน Device ไปเป็น Phys แบบนี้


Section "InputDevice"
Identifier "V450"
Driver "evdev"
Option "Phys" "usb-0000:00:1d.2-2/input0"
Option "HWHEELRelativeAxisButtons" "7 6"
EndSection


ทีนี้คุณก็จะได้เมาส์พร้อมใช้งาน ทุกครั้งที่บูต (แต่แบบนี้ก็มีข้อเสียอีกแหละ ถ้าคุณเปลี่ยนพอร์ตที่ใช้เสียบตัว Receiver แล้ว address ตรงนี้ก็เปลี่ยนเหมือนกัน แต่ถ้าไม่เปลี่ยนพอร์ตก็ไม่มีปัญหา)

ขั้นสุดท้าย: ทำการปรับแต่งอีกเล็กน้อย
เนื่องจากว่า ผมรู้สึกว่าเมาส์มันกระตุกๆ แปลกๆ ซึ่งอาจเป็นเพราะว่า การ poll ข้อมูลของเมาส์มันต่ำเกินไปสำหรับเมาส์แบบ Laser ซึ่งมีความละเอียดสูง ดังนั้นก็เลยเปลี่ยนความถี่ในการ poll ข้อมูลซะ (ค่าปกติคือ 100 Hz) โดยจากคู่มือของ Gentoo ที่อ่านมา บอกว่า เมาส์ส่วนใหญ่ของ Logitech สามารถรับความถี่ 500Hz ได้สบายๆ โดยใช้ usbhid module และให้ โหลดโมดูลนี้ตอนบูต โดยทำการสร้างไฟล์ usbhid เอาไว้ใน /etc/modprobe.d


sudo vi /etc/modprobe.d/usbhid

options usbhid mousepoll=2


ซึ่งตรงนี้เป็นการเปลี่ยนให้มีการรับข้อมูลจากเมาส์ทุกๆ 2 ms (ก็คือ 500 ครั้ง/วินาที หรือ 500 Hz นั่นเอง)

แล้วก็บอกให้ทำการโหลดโมดูลพร้อม option นี้ทุกครั้งเวลาบูตด้วยการใส่ usbhid ต่อท้ายเข้าไปในไฟล์ /etc/modules

ต่อมาผมรู้สึกว่า เมาส์มันเคลื่อนที่เร็วเกินไป ถึงแม้จะได้ทำการปรับความเร็วของเมาส์ใน KDE ไปแล้วก็ยังเร็วอยู่ดี หลังจากที่หาไปหามาแล้ว ก็พบวิธีที่จะปรับเมาส์ให้มีความเร็วลดลง และเพิ่ม sensitivity (threshold) โดยการใช้คำสั่ง


xset m 1/2 1


ซึ่งแปลว่า ทำการตั้งความเร็วเมาส์ให้เหลือ 0.5 เท่า และให้เคลื่อน cursor เมื่อเคลื่อนเมาส์ไป 1 pixel ซึ่งการตั้งแบบนี้ ทำให้ผมควบคุมเมาส์ได้ดีขึ้นมากๆ แต่ทนี้จะทำไงให้มันเป็นแบบนี้ตั้งแต่บูตเข้ามาดีล่ะ ... อันนี้หาไม่เจอแฮะ ... แต่ก็มีวิธีพอกล้อมแกล้มไปได้ด้วยการสั่งแบบนี้ในตอน login เข้า kde โดยทำการสร้างไฟล์ .desktop สำหรับเรียกโปรแกรม ใส่เข้าไปใน ~/.kde/Autostart โดยตั้งชื่อว่า reduce_mouse_speed.desktop และมีเนื้อหาแบบนี้ครับ


[Desktop Entry]
Name=Reduce Mouse Speed
Exec=xset m 1/2 1
StartupNotify=false
Terminal=false


ที่ไม่ยัดคำสั่งนี้เข้าไปใน .bashrc เพราะว่า มันจะแสดง error ถ้าเกิดไม่ได้ login ด้วย X ครับ ก็เลยยัดเอาไว้ใน Autostart ดีกว่า

หลังจากนี้ทีนี้ก็ได้เมาส์พร้อมใช้งานได้แบบเต็มประสิทธิภาพแล้วครับ

Resources:
Gentoo's HOWTO Advanced Mouse
Gentoo's HOWTO Advanced Mouse / Individual Configurations
Gentoo's HOWTO Setting mouse speed through command line
Gentoo's HOWTO Change mouse Hz

Thursday, April 19, 2007

KDE Thai translation: Progress note

There's not much time to the release date of KDE4, according to the release schedule. However, it seems that Thai translation of KDE4 has faced some issues. First of all, the KDE i18n team has moved the core KDE translations and templates from trunk/l10n to trunk/l10n-kde4. (FYI: trunk is the developing branch of KDE.) The translations that have been left in the trunk/l10n is something newer and may not be included to KDE4 (extragear packages). And that many translators from many languages have moved their own translation to trunk/l10n-kde4 already.

The second issue is that string entries in trunk/l10n-kde4 translation files are not the 'exact' entries in that of trunk/l10n and the format of po files is a little bit different. This means, in the worst case, Thai team may have to start over for KDE4 translation. What!! Oh, not so fast. It's not that bad. After asking many people in the kde-i18n-doc mailing list, they said that the translations in trunk/l10n can be ported to both kde4 and kde3.5.x with less efforts using 'msgmerge' and converting script from svn. I tried it and it worked great. Phew... that was close.

At the moment, I'm backporting the trunk/l10n to stable branch and have fulfilled the requirements to include Thai with KDE 3.5.7 (if it is released). Furthermore, I take this chance to review many translations that I (and K. Donga, ...) did and found that there were so many flaws in the translation -_-'. Some were translated incorrectly, some were right in the word meaning, but in wrong context. Some were translated diffusely and many more.

If somebody says that [interface, documentation, you name it] translation is a piece of cake, you can be sure that he or she's never done this before.




ตอนนี้ก็เหลือเวลาไม่มากแล้วก่อนที่จะมีการปล่อยตัว KDE4 แต่ตอนนี้การแปลไทยของ KDE4 เกิดปัญหานิดหน่อย (รึเปล่า) จากที่เคยตั้งใจว่าไอ้ที่แปล trunk/l10n (คือ developing branch) นี่พวก package หลักๆ ก็ได้ครบแล้วพอที่จะถูก release ไปกับ KDE4 ได้ แต่ปรากฎว่า ทีม i18n ได้ทำการย้ายพวก core translation ไปไว้ใน trunk/l10n-kd4 แทน แล้วอีกหลายภาษาก็ได้ย้ายไปแล้วด้วย แต่ภาษาไทยยัง (แหะๆ) ส่วนของที่เหลืออยู่ใน trunk/l10n ก็จะมีพวก package ใหม่ๆ ที่อาจจะไม่ถูกรวมเข้าไปใน KDE4 ด้วยเนี่ยแหละ

อีกปัญหาคือ ไอ้ของที่ย้ายเข้าไปน่ะ มันไม่ใช่แค่ย้ายเข้าไปเฉยๆ แต่มันมีการเปลี่ยนพวก string entries ด้วยพอสมควร แถมยังมีการเปลี่ยน format อีกนิดหน่อยด้วย ดังนั้นปัญหาคือ, อย่างแย่ที่สุด ก็อาจต้องเริ่มแปลใหม่... หา! พูดเป็นเล่น!

แต่เดี๋ยวก่อน! อะไรๆ มันไม่ได้แย่ขนาดนั้น หลังจากงงๆ อยู่พักใหญ่ ก็ตั้งสติได้แล้วเข้าไปถามชาวบ้านใน kde-i18n-doc mailing list ก็มีคนตอบมาว่า น่าจะ port คำแปลไปให้ 3.5.x ด้วยโดยไม่ต้องเริ่มใหม่ โดยใช้คำสั่ง 'msgmerge' จะว่าไปก็คือเอาของเก่า มารวมกับของใหม่ แล้วก็ตามแก้ที่มันเป็น fuzzy/no translation นิดหน่อย ลองแล้วปรากฎว่าใช้ได้ดี ส่วนถ้าจะ port ไป kde4 ก็ต้องใช้ script สำหรับ convert ที่อยู่ใน svn

สรุปคือ ตอนนี้ก็เลย port คำแปลจาก trunk/l10n ไปให้ 3.5.x อยู่ แล้วตอนนี้ก็จัดการได้ตาม requirement ที่จะถูกรวมเข้าไปในการ release ของ 3.5.7 (ถ้ามันออก) นอกจากนี้ก็ถือโอกาสตรวจสอบไอ้ที่แปลๆ ไป ปรากฎว่าเจอที่แปลพลาดเยอะแยะ ทั้งแปลผิด แปลเยิ่นเย้อ แปลถูกคำแต่ผิดบริบท -_-' (บางทีไม่เข้าใจว่าเมื่อก่อนตูแปลแบบนี้ได้ไงฟะ) ใครบอกว่าเรื่องแปล [interface, doc, หรืออะไรก็แล้วแต่] เป็นเรื่องกล้วยๆ เชื่อได้เลยว่ามันคนนั้นไม่เคยทำหรอกงานแบบเนี้ย

Sunday, March 18, 2007

Elephants Dream

Elephants Dream is the world's first animation created with Opensource graphic tools, from people at the Orange Open Movie Project studio. It was released last year as well as all production files and behind-the-scene movies under Creative Commons. However, I haven't watched it up until now. I think it has a quite abstract story line and cannot be easily understandable.

After watched it, I decided to make a subtitle for this movie. I can understand what the characters say but in not exact words. I tried to find the English full final script which was on Blender.org server. Unfortunately, it's not there anymore. Anyway, I'm lucky enough to find it on Google cache server and then I can release my Thai subtitle using Ksubtile on my Kubuntu box.

The translation was not difficult as it's just plain English. However, to sync subtitle to movie was a pain. For 10+ minutes movie, I had to use more than 5 hours to sync the subtitle - -' (My first time, though. It may improve as I have more experience.)

Anyway, you can download subtitle file here (Please save target as...). Many thanks to Khun wd for hosting my files :) (Sorry for bothering you so much).

To use subtitle with VLC:
  • Firstly, fire up your VLC program.
  • Next, from menu File, select Open File...
  • Open an AVI file and tick "Use a subtitle file" and browse to open a subtitle file (*.srt).
  • Click "Advanced settings" and choose subtitle encoding as utf-8 (or default)
  • Click OK and OK then enjoy Elephants Dream with Thai subtitle :)
  • For first time user, you may have to set font for displaying subtitle. You can find it in Settings > Preferences > Video > Subtitle/OSD > Text renderer.


vlc01


vlc2


vlc03

Sunday, February 25, 2007

Firefox 2.0.0.2 is out!

Alright, 2.0.0.2 is out now with security bug fixes. There's nothing much to say. If you still need the version that do Thai word breaking with ICU, see here. :)

Tuesday, February 20, 2007

Upgrade...

When I went back to Thailand last year, I had a chance to go shopping at Pantip Plaza. The first reason is that I had to find additional memory for Boss' Fujitsu laptop. It first came with only 512MB DDR2 533 and was not enough for her to manage things. To upgrade, we decided to buy 2 of 1GB DDR2 533 SO-DIMMs and everything works just fine.

The second reason is that my NEC laptop (almost 3 yo) component was broken, the Toshiba's DVD-RW drive. It began to get sick 3-4 months ago. First, it couldn't read and burn DVD-R, followed by DVD and CD-R. Of course, I needed a replacement and decided to replace it with DVD+/-RW (DL) drive. It's very hard to find such component (an internal laptop optical drive) in Australia. Fortunately, it's not that hard to find this in Thailand (and cheaper).

After cruised in Pantip for sometimes, I found one shop (on 3rd floor) that sold the drive I wanted in a very reasonable price :). I got a Lite-on Slimtype SOSW-833S DVD+/-RW (the barcode on it says it is a Teac drive, though) at 2,680 THB. Also, I got a 100GB WD 2.5" Harddisk to replace my old harddisk (it's still healthy but too small) at 3,200 THB (around AU$114). WOW, how cheap the hardwares in Thailand, I love it!

After came back, I replaced the old DVD drive with the new one. At first boot, BIOS did not recognise it!!! but it worked properly in Windows XP. It could read and burn all medias I gave to it (except DVD-RAM, Blu-Ray and HD-DVD, of course). Besides, Windows recognised it as a secondary IDE slave!!!. I didn't realise the problem until I decided to replace the harddisk. After finishing harddisk installation, I had to reinstall OSes and my box couldn't boot from CD.... ??? What the heck!!?? BIOS did not know the existing of the DVD drive. I rectified the problem by reinstalled the old DVD drive (lucky enough, it still can read CD) and install Windows XP.

After googling around, I found that the drive came with slave location as default and that prevented auto detection from BIOS, meaning that this drive, as slave, can't be used to boot my laptop. The problem is the drive is jumper free so I couldn't set it to be master to use it to boot the box. Luckily, after some more google, I found that Lite-on corp. released a software that can alter the status of the slimtype jumper-free drive and downloaded it from here. I used it to change the location from slave to master and rebooted. Voila! the drive turned to master and BIOS has recognised it. Finally, I could boot with CD and installed Kubuntu Edgy Eft to the new hard drive.


Phew~~ that was close... -"-


For now, all components and everything run just fine... ^_^

Sunday, February 18, 2007

Med and Tech

An intercontinental consultation (Australia - Thailand) by \me and Mon using MSN (Windows Live Messenger) Video call. So impressive! See here.

PS. At last, first entry about "Med" :)

Monday, February 05, 2007

Thursday, January 25, 2007

Goodbye Bangkok

One month is very fast. I will go back to Melbourne tomorrow... Ahh... Goodbye Bangkok. See ya next year ;)

Sunday, January 07, 2007

Blog tag

Blog tag is a way of blogging used to tell a story of yourself (in 5 topics, I guess). After that, tag your blog with your 5 friend's names to make them do the same thing.

I got a tag from Keng and have no idea whom I will pass to. - -'

Okay, let's rock!

  1. I'm a doctor, a real medical doctor (not a person with a Ph.D. degree). However, I'm interested in computer and IT and become a geek (or not?).

  2. First computing experience occurred when I was in the first year of secondary school. The first computer I played with was an 8-bit Apple ][, coming with a phosphor display, 2 floppy disk drives, Apple DOS and BASIC programming language, in school's computer lab. With this box, I did nothing but played 'Hang man' and wrote BASIC programs to display ASCII art.

  3. I use 'DrRider' as an alias because I'm a doctor (Dr.) and I love Kamen Rider.

  4. I've written many blog entries in English because I'm practising to write English articles as I had to take English tests (IELTS, OET, etc...). However, I can't do it very well. T_T Moreover, this may reduce readers of my blog because they may not want to read it in English.

  5. Do you know that I try to use British (Australian) English rather than American English? Sometimes you may find that my spelling is weird, but that is British one.


Alright, that's it.



ไม่ได้ออนไลน์มา 2-3 วัน เปิดไปดูจ่าเก่งปรากฎว่าส่ง blog tag ลูกโซ่มาให้ซะแล้ว

Blog tag คือวิธีการบล็อกอย่างนึงที่ใช้เล่าเรื่องตัวเอง (คงซัก 5 หัวข้อน่ะ) แล้วก็ tag ชื่อเพื่อนต่อไปอีก 5 คน (ดีที่ไม่มีแ่ช่งด้วยนะ) เขียนเป็นภาษาอังกฤษข้างบนละ เล่าตรงนี้สั้นๆ ละกัน
  1. ผมเป็น doctor ที่แปลว่าหมอจริงๆ นะ ไม่ใช่คนที่จบปริญญาเอก แต่ดันสนใจคอมพิวเตอร์กับ IT จนกลายเป็น geek (หรือเปล่า?)

  2. จับคอมฯ ครั้งแรกตอนอยู่ ม.1 เล่นเครื่อง Apple ][ ที่มากับจอเขียว, ฟลอปปี้ไดรฟ 2 อัน, Apple DOS และภาษาเบสิคที่ติดมากะเครื่อง ที่ห้องคอมของโรงเรียน ตอนนั้นก็ทำอะไรไม่ได้มาก นอกจากเล่นเกม Hang man แล้วก็เขียนภาษาเบสิคเพื่อให้มันแสดง ASCII art

  3. ใช้ชื่อ DrRider เพราะเป็นหมอ แล้วก็ชอบคาเมนไรเดอร์ แค่นั้นแหละ

  4. หลังๆ มาเขียน blog entries เป็นภาษาอังกฤษเพราะว่าอยากหัดเขียนบทความภาษาอังกฤษ ส่วนนึงเพราะจะไปสอบภาษา (IELTS, OET, etc...) แต่ไปๆ มาๆ ก็เขียนไม่ดีซักที เพราะรูปแบบการเขียนมันไม่เหมือนกัน แถมดีไม่ดีคนอ่านบล็อกจะลดลงด้วย เพราะขี้เกียจอ่านภาษาอังกฤษ - -'

  5. รู้หรือไม่ว่า ผมพยายามใช้ภาษาอังกฤษแบบ British English มากกว่าที่จะใช้ American English บางทีเห็นผมสะกดแปลๆ (เช่นใช้ s แทน z หรือเพิ่มตัว u เข้าไปมั่งอะไรแบบนี้) เพราะว่ามันเป็น British English ไง


สุดท้ายนี้ขอส่งต่อไปให้...

คุณ wd, คุณสมเจตน์, Mr. Eak, น้องสุดหล่อ และสุดท้าย eYacht (หวังว่าคงมาอ่าน entry นี้นะครับ :D)

Wednesday, December 27, 2006

Damage...

ช่วงนี้ไม่ค่อยได้เล่น Linux เท่าไหร่ เลยไม่ค่อยมีอะไรเขียน (ทิ้งเครื่องที่ลงลินุกซ์ไว้ที่ออสเตรเลีย) เลยขอเขียนบันทึกไว้อ่านเล่นๆ ละกัน

ตั้งแต่กลับมาก็ตามหาตามซื้อ DVD เป็นบ้าเป็นหลัง เพราะตอนที่อยู่ออสเตรเลีย หนังอะไรก็ไม่ค่อยได้ดู ถึงโหลดบิตมาดูบ้างก็แค่นั้น ยังไงๆ ก็จะซื้อ DVD อยู่ดี ฮ่า! อีกอย่างคือ DVD ที่นู่นก็ค่อนข้างแพง เรื่องออกใหม่ๆ ปาเข้าไปเป็นพัน (ส่วนเรื่องเก่าๆ เอามาขายลดราคาแบบ 2 เรื่องควบ 500) แถมยังเป็น Zone 4 อีก (เครื่องเล่น DVD ที่เอาไปด้วยอ่านได้แต่ Zone 3 กะ free zone T_T) ไดรฟก็เจ๊ง เฮ่อ... พอกลับมาก็ได้ฤกษ์ตามเก็บหนังที่ติดตามอยู่ รวมกับ CD อีกนิดหน่อยดังนี้

    DVDs
    • Harry Potter and The Goblet of Fire 2 Discs Special Edition, 350 กว่าบาท
    • Kamen Rider The First, 300 กว่าบาทเหมือนกัน
    • Kamen Rider Hibiki and the 7 Oni Warriors (Kamen Rider Hibiki to Shichinin no Zenki), 249 บาท - อันนี้เคยโหลด Director's cut มาดู ปรากฏว่าไอ้ที่ฉายนี่ตัดออกไปเยอะเหมือนกันแฮะ :P
    • Final Fantasy VII - Advent Children, 239 บาท - Action สุดยอด ยังกะ Dragon Ball แน่ะ นอกนั้นก็ Tifa อกโตจัง :D (เกมนี้ไม่เคยเล่น)

    CDs
    • Evanescence - The Open Door, 350 มั้ง ออสเตรเลียขายตั้ง AU$21
    • Beethoven: Symphony Nos. 5 & 8, Berlin Philharmonic, Conducted by Karajan, 420 บาท


นอกจากนี้ยังกะว่าจะตาม T-Square กับเก็บ Kamen Rider Faiz ที่เหลืออีก 12 แผ่น (เนื่องจากปีที่แล้วซื้อไว้ 2 แผ่น แต่แผ่นที่ 2 หายไปไหนไม่รู้หาไม่เจอ แผ่นละ 230 T_T) แต่ต้องพักๆ ไว้ก่อน เผื่อปีหน้าจะลดราคา (หรือจะหมดหว่า ไว้คิดดูอีกทีว่าจะซื้อหรือเปล่า :P) อีกอันคือ Garo ก็น่าสนใจแฮะ

สิริรวมเสียหายไปหลายพันเหมือนกันนะเนี่ย T_T (มีแต่ Kamen Rider ทั้งนั้นเลย)

Saturday, December 23, 2006

First blogging in Thailand (season 2)

Alright, this is the first blog entry after coming back home. This year, I came back to Thailand by Thai International from Melbourne to Suvannabhumi Airport. The airport looks great! But, at the same time, it seems that the construction has not been completed yet. The poles, walls and many things have not been painted (maybe, this is an intention of the architect who designed this place). Furthermore, I heard some bad things regarding luggage transport system that some passengers had to wait for their luggages for more than 16 hours. That scared me! Everything seemed OK, though. I could retrieve my luggages with no hassles, in fact, it's even faster than in Don Mueng :).

Except goods and petrol prices (which something have the same price as in Australia :P) and the government, nothing has been changed.

Welcome home...



บล็อกแรกในประเทศไทย (ปี 2) กลับมาได้สักพักแล้ว ประเทศไทยไม่ค่อยมีอะไรเปลี่ยน นอกจาก ราคาข้าวของ, น้ำมัน แล้วก็รัฐบาล กลับมาคราวนี้เปลี่ยนไปหน่อยตรงต้องไปลงเครื่องที่สนามบินสุวรรณภูมิ ซึ่งก็ดูดีนะ สวย แต่ดูไปดูมาเหมือนกับยังทำไม่เสร็จ เสาและกำแพงกับอีกหลายๆ อย่างยังไม่ได้ทาสี (หรือว่าเป็นความตั้งใจของสถาปนิกหว่า?) นอกจากนี้ยังได้ยินเสียงร่ำลือเกี่ยวกับการขนส่งกระเป๋าอีก ว่าตอนเปิดใหม่ๆ บางคนต้องรอกระเป๋า 16 ชั่วโมง แต่มาคราวนี้ก็ดี เอากระเป๋าได้โดยไม่มีปัญหาใดๆ รู้สึกเร็วกว่าที่ดอนเมืองอีกมั้ง บล็อกนี้เอาสั้นๆ ก่อน เดี๋ยวนึกอะไรได้มาเขียนต่อ

ยินดีต้อนรับ(ตัวเอง)กลับบ้าน :)

Saturday, December 09, 2006

History?

History is not facts. It's about contextual, and depends on who's telling the story.

--From Smallville--


What do you think?

Tuesday, November 28, 2006

1000 Words

I know it's quite old for this song and music video from Final Fantasy X-2 (I've never played this game.) But I've just discovered that it's melting my heart. I think it's far better than 'Eyes on me' of Final Fantasy VIII. :) The good thing is that it's available on iTS Japan; the bad thing is that it's not available on iTS Australia :( ... So, Apple couldn't get my money again.




1000 Words

-=Sweetbox=-

I know that you're hiding things
Using gentle words to shelter me
Your words were like a dream
But dreams could never fool me
Not that easily

I acted so distant then
Didn't say goodbye before you left
But I was listening
You'll fight your battles far from me
Far too easily

"Save your tears cause I'll come back"
I could hear that you whispered as you walked through that door
But still I swore to hide the pain
When I turn back the pages
Shouting might have been the answer
What if I'd cried my eyes out and begged you not to depart
But now I'm not afraid to say what's in my heart

Though a thousand words
Have never been spoken
They'll fly to you
Crossing over the time and distance holding you
Suspended on silver wings

And a thousand words
One thousand confessions
Will cradle you
Making all of the pain you feel seem far away
They'll hold you forever

The dream isn't over yet
Though I often say I can't forget
I still relieve that day
"You've been there with me all the way"
I still hear you say

"Wait for me I'll write you letters"
I could see how you stammered with your eyes to the floor
But still I swore to hide the doubt
When I turn back the pages
Anger might have been the answer
What if I'd hung my head and said that I couldn't wait
But now I'm strong enough to know it's not too late

Cause a thousand words
Call out through the ages
They'll fly to you
Even though I can't see I know they're reaching you
Suspended on silver wings

Oh a thousand words
One thousand embraces
Will cradle you
Making all of your weary days seem far away
They'll hold you forever

Oh a thousand words
Have never been spoken
They'll fly to you
They'll carry you home and back into my arms
Suspended on silver wings ohhh

And a thousand words
Call out through the ages
They'll cradle you
Turning all of the lonely years to only days
They'll hold you forever

Oh... a thousand words...

Thursday, November 16, 2006

Vision?

"With open source, there is no intellectual property. Anyone can use it and all your ideas become public domain. If nobody can make money from it, there will be no development and open source software quickly become outdated."

--Dr Sitthichai, Minister of Ministry of ICT--
Bangkok Post


I know that you're a programmer but you know nothing regarding opensource.

Nothing to say... -_-'

Please look here.

Update:

It seems that everything is resolved without a hitch after opensource people went to see the minister. He admitted that he did not know much regarding opensource. And now he knows and is willing to support opensource, including OLPC (Children machine).

You can see some details here

Thursday, November 09, 2006

เปาบุ้นจิ้น - เดกะเรนเจอร์: ปลูกฝังความรุนแรง (Are you an idiot!?)

ไม่ได้เขียนบล็อกภาษาไทยนานแล้ว วันนี้ขอหน่อย เพราะนึกภาษาอังกฤษไม่ออก (ถ้าฟิตมากพอจะเขียนเป็น bilingual ให้)

เมื่อวานเล่นเว็บบอร์ดประจำที่นึง พลันไปเห็นกระทู้เกี่ยวกับซีรีส์ทีวี 2 เรื่องที่กำลังฉายอยู่ คือเปาบุ้นจิ้นและเดกะเรนเจอร์ ถูกวิจารณ์จากคนผู้หนึ่ง ซึ่งเป็นถึงผู้อำนวยการศูนย์ประสานงานเด็กและเยาวชนสร้างสรรค์ เพื่อชีวิตและสิ่งแวดล้อม กระทรวงอะไรไม่ทราบ หรือว่าเป็น NGO ก็ไม่รู้ เนื้อหาประมาณว่า

หวั่น "เปาบุ้นจิ้น"-"เดกะเรนเจอร์"ชอบประหารชีวิต เกรงส่งผลสะสมความรุนแรงให้เด็ก บ่มนิสัยต่อไปคนเลวต้องตายสถานเดียว


ไม่อยากเอามาลงทั้งหมด เพราะมันยาว ขอเชิญติดตามอ่านข้อความทั้งหมด ที่นี่ ก็แล้วกัน หรือไม่งั้นยังมีคน quote ข้อความเหล่านี้ลงไปในกระทู้พันทิพ ห้องเฉลิมไทย ขึ้นเป็นกระทู้แนะนำอีกด้วย

หลังจากอ่านดูแล้วความรู้สึกแรกก็คือ "ท่านเอาอะไรคิดครับเนี่ย อยากให้ผมช่วยเจาะเอาน้ำที่ขังอยู่ในอวัยวะที่ท่านใช้คิดออกมาให้หน่อยมั้ย เผื่อว่าอาจจะมีความคิดมากกว่านี้อีกหน่อย" ไม่รู้ว่าเคยได้ติดตามซีรีส์เหล่านี้จนจบหรือเปล่า เปาบุ้นจิ้นเนี่ยเอามาฉายเมืองไทยซ้ำแล้วซ้ำอีกเป็นรอบที่สี่แล้ว (อย่างน้อยผมก็ดูมาแล้ว 2 รอบล่ะ)

ถ้าว่ากันแล้ว ทั้งสองเรื่องเน้นกันที่ ความยุติธรรม ผิดว่ากันตามผิด ถูกว่ากันตามถูก ไม่มีแพะ แต่ละคน (ตัว, ตน) ที่โดนคำสั่งประหารในเรื่องล้วนแล้วแต่ทำความผิดขั้นอุกฉกรรจ์ทั้งสิ้น

เปาบุ้นจิ้นเองตัดสินความตามกฎหมาย และพยานหลักฐาน ผู้กระทำความผิดล้วนดิ้นไม่หลุดทั้งสิ้น ขนาดเป็นแพะมา ท่านยังสังเกตได้แล้วก็ไปลากเอาตัวคนทำความผิดจริงๆ มาเข้าเครื่องประหารได้เลย แถมยังมีการแจ้งข้อหา และให้คติสอนใจอีกมากมาย นอกจากนี้ยังไม่ไว้หน้าใครทั้งสิ้น ยิ่งใหญ่มาจากไหนถ้าทำความผิดจริงๆ ก็ตัดสินไปตามนั้น ไม่เหมือนบางประเทศ ทำความผิดมากมายก็เอาเงิน+อิทธิพลยัด หลุดมาได้

ส่วนเดกะเรนเจอร์นั้นเป็นตำรวจอวกาศ และไม่ได้มีหน้าที่ในการตัดสิน "ประหาร" หากแต่ว่าเป็น "ศาลสูงสุดแห่งจักรวาล" ต่างหากที่เป็นผู้ตัดสิน ตามพยานหลักฐานและกฎหมายเช่นกัน หากศาลไม่ให้ประหาร ก็ทำได้แค่จับกุมตามบทกำหนดโทษ แถมตัวร้ายแต่ละตัว มีความผิดขนาด ทำลายดาวเคราะห์ ยึดดาวเคราะห์ ฆ่าพลเมือง จะยึดครองโลก ฯลฯ สมควร Delete หรือไม่ให้คิดเอาเอง

เรื่องเหล่านี้น่าจะเป็นการปลูกฝังให้เด็ก "ไม่กล้ากระทำความผิด" ไม่ใช่หรือ หรืออาจจะทำให้โตขึ้นมาอยากเป็นนักกฎหมายเพื่อรับใช้บ้านเมืองและปลูกฝังความรักในความยุติธรรมเข้าไปไม่ใช่เหรอ

เมื่อเทียบกับละครหลังข่าวหลายๆ เรื่องที่ พระเอกข่มขืนนางเอก นางร้ายกรี๊ด จ้างด่า จ้างตบ จ้างวานฆ่า แล้วก็ลอยนวล เหมือนกับบ้านเมืองไม่มีขื่อมีแป ปลูกฝังให้เยาวชนรู้ว่า ถ้าตูมีอิทธิพลเมื่อไหร่ ใครก็ทำอะไรตูไม่ได้ บิดาใหญ่ซะอย่าง...

หรือจะว่ากันถึงวรรณคดีไทยเลยก็ได้ แต่ละเรื่องสอนดีๆ กันทั้งนั้น (มองในแง่ร้ายไว้ก่อน แบบคุณ ผอ. น่ะเป็นไงล่ะ เจอมาจากพันทิพ) แบนเลยดีมั้ย
  • รามเกียรติ์
    • ส่งเสริมการทำสงคราม และการฆ่าล้างเผ่าพันธุ์ มีปัญหากับทศกัณฑ์ตนเดียว สุดท้ายฆ่ายักษ์หมดลงกาเลย ทำไมไม่เอาทศกัณฑ์มาขึ้นศาลล่ะ ซัดดัมยังได้ขึ้นศาลเลย (แต่ดูเหมือนโดนประหารเหมือนกัน)
    • ทศกัณฑ์ - กะเอาลูกตัวเอง (เพราะไม่รู้ แต่ก็ฉุดก่อนละวะ)
    • พระลักษณ์ - ใช้ศาลเตี้ยตัดสินนางยักษ์ที่เข้าหาพระราม ด้วยการตัดจมูกทิ้ง
  • ขุนแผน - เอาผู้หญิงไปทั่ว แถมยังปล้ำผู้หญิงทั้งผ้าเหลือง
  • ขุนช้าง - เจ้าเล่ห์ หักหลังเพื่อน (ขุนแผนเป็นเพื่อนรึเปล่า) -- แก้ไขลบมักมากในกามออก ตามม่อน
  • พระอภัยฯ - มีชู้ (นางเงือก) แล้วฆ่าเมียตัวเอง (นางผีเสื้อ)


แค่อยากจะบอกว่า ถ้าไม่รู้ให้ถามได้ แต่อย่าออกมาแสดงความเห็นที่แสดงความโง่มากถึงขนาดนี้ ถ้าไม่พูดคงไม่มีใครว่าโง่หรอกครับ หรือว่าอยากดังทางลัด เลยต้องออกมาพูดแบบนี้ เดี๋ยวคนจะจำชื่อไม่ได้ หรือว่ารับเรื่องการตัดสินด้วยความยุติธรรมไม่ได้ มันแทงใจ กลัวโดนเครื่องประหารหัวสุนัข...

จบแบบเดือดๆ (ฮึ่ม)

Tuesday, November 07, 2006

Tapioca: the answer for GTalk voice call on Linux

If there're things that stick me to Windows, one of them would be Google Talk (GTalk). I use it as my primary instant messenger as well as a PC-to-PC phone to call my home in Thailand.

Why don't I use Skype?
Firstly,I feel that GTalk provides better both quality and integrity of voice call than Skype (it's subjective; my feeling). Secondly, its interface is quite simple and minimal, compared to Yahoo or Skype, so that my family members can familiar with it quickly. Their computing skills are below average, so letting them face something that is confusing is not a good idea.

For instant messaging, I use Kopete, a multiprotocol messenger for KDE, but it cannot be used as a voice call client. So I have to google around and found Tapioca Project. It uses Jabber protocol plus libjingle, released by google, to make voice calls with GTalk. In fact, Kopete has an experimental feature that can make voice calls to GTalk using libjingle as well but it doesn't work for me. Also, it can crash Kopete itself when using voice call.

Tapioca comes with GTK interface, tapiocaui, which is very simple, too simple! It has only login, contact and chat windows (with voice call function). There are no configuration options, account management and avatar support. However, if you don't like tapiocaui, there is an alternative UI for Tapioca, named Landell. It is written in C# and requires Mono to run. It has far more flexible user interface than tapiocaui plus account manager and avatar support. However, it can't be embedded to the system tray and has some problems with Thai language. I couldn't send Thai message via Landell.

tapioca1 tapioca2

tapioca3

Tapioca with tapiocaui can flawlessly make voice calls to GTalk client. However, it has no incoming call and message alert popup and sound, just a blinking icon in the system tray, so that I missed some calls and chat. I tried to build the latest version of tapiocaui (0.3.9.1) but was not successful.

Tapioca and libjingle are not new. They have been released for more than 6 months. I had tried them before on PCLinuxOS. But at that time, there were no packages for PCLinuxOS so that I had to build them myself. Tapioca and libjingle depend on many packages such as ortp, farsight, dbus, dbus-glib and many more. I had to build them all from source and, BOOM!, they screwed up my box. After that, I switched to Kubuntu -_-"...

For you who are using Ubuntu family, there are Tapioca and Landell packages for Breezy and Dapper. Just add "deb http://extindt01.indt.org/VoIP/apt dapper main" for Dapper and "deb http://extindt01.indt.org/tapioca/apt breezy main" for Breezy to sources.list and then apt-get.

I wanna say that Tapioca is the best answer for ones who need GTalk voice call on Linux, at this time, though. It does its job excellently but its UI is too minimalist. Improvements to UI will make it more attractive.

Tuesday, October 24, 2006

Firefox 2.0 has been released

At last, it has been released; actually, it is the renamed RC3 and you may read its many new features from Mozilla website. I've just finished building and configuring something in FF2 on linux platform, saying that I patch and build it to use icu for Thai word breaking and create some graphic works :). I modified an about graphic and about dialog, including credit page with the Japanese Firefox mascot named Foxkeh. It's so adorable so that I have replaced the old "globe" mozilla logo as well as Firefox icon with it. Furthermore, this mascot is licensed under Creative Commons which makes "Foxkeh" can be used under Attribution and Non-commercial conditions. I hope that Mozilla will not sue me when I distribute my icu-thai patched build with Foxkeh logo.

Examples?

This
foxkeh2

and...

foxkeh1

However, savefile.com is down for some times, If somebody can find some hosts to upload, that would be highly appreciated.


Update: Savefile.com is back and I've just uploaded it here. Let's try and have fun! :D

Update2: Sorry for any inconvenience, Savefile.com sometimes down for maintenance but it's back now. Thankfully, there're people who mirrored this build of firefox on other servers so you may find it here and here. Thank Khun Noi and Khun wd.

Monday, October 09, 2006

Back online

Now I successfully switch to ADSL2+ and am back online again. The new one is spectacularly fast so that I may reach data limit (15 GB) so soon. However, it's still slow browsing Thai pages that their servers are in Thailand. I don't know why; may be because of the bottle neck of Thai gateway (port 80) or problem with the ISP proxy itself. Nevertheless, other kinds of data transfer, such as multimedia streaming, are great. I can watch most of Thai free TV via KU website smoothly, except MCOT; it's crappy slow -_-'.

In conclusion, switching to ADSL2+ is very great and cost effective at around 1,500฿/mo (it costs AU$49.95 and includes 500 min free calls from VoIP to capital cities in Aus and a great rate for international call). I wish I will have this in Thailand when I go back.

PS. I built Firefox 2.0 RC2 with Thai icu word breaking and uploaded it here.

Tuesday, October 03, 2006

Switching to ADSL2+

I'm in the process of switching to ADSL2+. The upsides are that it's lightning fast at 24 Mbps using the old telephone line and it includes 500 minutes call from the VoIP account. The downside is that I have to disconnect and remove the conventional ADSL (at 512kbps) of previous ISP from the line first. Then the new ISP will install the system to the line, which will take around 5 - 8 working days. That means I can't go online unless using the dial-up in that period. I have to live offline for a while.

Nowadays, life without internet would not be easy. Because almost everything has been moved to the internet, including shops, services, banking transaction and many more. Many times, I have to pay bills using internet banking, buy some stuffs as well as do a research on the internet. I used to live with always-on internet and find many things on it but now I can't do as before. Moreover, I use email as my main communication. To be offline means I will be out of touch from others, including jobs, friends and family. Okay, I still have a telephone and a phone card, however, it's not that convenient.

In contrary, life without internet may provide me more time to do things other than usual, for examples, reading books, preparing myself for the coming exam or even exercise. With internet, I would stick to the monitor, surfing the web and do nothing. Hopefully, this will be a chance to alter my lifestyle.

Alright, see you when my line is back.

Wednesday, September 27, 2006

Is Windows that bad?

For some times, I've read about how bad Windows would be from several blogs and web boards which belong to Linux and Mac communities. They described many many bad things in Windows such as instability, viruses, worms, malwares, spywares, security holes, etc... Some said that Win users may have to reformat and reinstall every 1 or 2 months. I can't deny the bad things mentioned above, however, I'd like to know that is that all MS fault?

Firstly, MS has admitted that its OS has ton of bugs and security holes and released ton of patches to correct them. The problem is that many users are just users. They don't know how important of those patches and decide not to apply them so that their boxes are vulnerable and unstable. Another reason is that the copies they're using are the pirated ones, especially in Thailand and most of developing countries. So, they're afraid that MS will penalise them or make their systems useless.

Furthermore, many users install so many (pirated) softwares, which, in many times, they never use them, to their boxes. These programs, sometimes, produce conflicts to each other, or even to the operating system itself making the system crash and hard to trace back. In addition to those softwares, many users love free(mal)wares and never read the agreement before installing them. This means you ALLOW the malwares to be run in your box.

Regarding viruses and worms, I don't have any argument to this. Because it is true that there're megatons of Windows viruses and worms out there. I have to admit that it has far less amount of viruses in other platforms (Mac, Unix and Linux) than in Windows. Nevertheless, you can immunise your system with anti-virus software and try not to be tempted to open certain kinds of email attachments which their subjects are about "pornography" or something like that.


From the factors above, you may see that the primary cause is USERS. They don't know how to use and maintain theirs properly. Or even worse, they don't want to know about it or remember what was happened to their systems and make it happen over and over again. (Honestly, it's not politics)

I dual boot Windows and Linux and use Linux as my main OS. I love it because it looks geeky and it can answer all my needs. However, I still have to use Windows because ... (you know that). My Windows system has been still healthy since the second installation (the first one had gone during Ark Linux installation. I accidentally deleted the Windows partition T_T), around 6 months since then. I always update security patches, do not install unnecessary softwares, try to read everything before installation and do update anti-virus definition. Since then, I've never seen BSOD. I feel that this is a kind of sufficiency economy. In term of softwares, if they are necessary, then buy and use them. But if they are not essential, why do you have to get them (illegally). Just keep it simple and clean and you'll be happy with Windows.

It's not that bad, is it?

PS. This is not an excuse for MS, however, I don't like some opinions, saying that how bad Windows could be while they don't even know what they are doing to their own system.

PS.2 First year anniversary in blogging at Blogspot :)