29 December 2005

Conditional Expression

ภาษา C จะมี conditional expression (?:) ซึ่งทำหน้าที่เป็น if statement สำหรับ expression โดยเฉพาะ เช่น

int a, b;
...
a = b==1 ? 1 : 2;
...

จะกำหนดค่าของ a เป็น 1 หรือ 2 ขึ้นอยู่กับค่าของ b ดังนั้น conditional expression ในกรณีนี้ จึงทำงานเหมือน

if (b==1)
  a=1;
else
  a=2;

เมื่อวานนี้หลังจากลองทำการบ้านแล็บที่ให้นักศึกษาไป เพิ่งรู้ว่าภาษาซี จะกำหนด type ของ conditional expression ในเวลา compile โดยส่วนใหญ่อาศัยกฎ implicit cast เลยขอจดเอาไว้หน่อย เช่น

int a,b;
int i;
float f;
...
a = b==1 ? i : f;
...

Type ของ conditional expression นี้ จะเป็น float เนื่องจากมี int กับ float เป็น operand ที่ 2 กับ 3 จึงเป็นไปตามกฎคือ เปลี่ยน int เป็น float ดังนั้น ใน expression นี้ ถึงแม้ว่า b จะมีค่าเท่ากับ 1 ก็จะเกิดการ promote ค่า i ให้เป็น float ก่อน แล้วจึง demote กลับไปเป็น int อีกครั้งเวลากำหนดค่าให้ a

24 December 2005

สร้างโปรแกรมเครื่องคิดเลขด้วย flex กับ bison

ช่วงนี้ไม่ได้เขียนเรื่องใหม่ๆ เนื่องจากมีภาระอยู่กับการเตรียมสอน เลยเอาเรื่องเกี่ยวกับการใช้ flex กับ bison ซึ่งเป็นเครื่องมือสำหรับสร้างคอมไพเลอร์ที่กำลังสอน มาเขียนลงไว้หน่อยเพื่อเตือนความจำตัวเอง และอาจจะเป็นประโยชน์ต่อคนอื่นๆ ที่กำลังจะใช้ด้วย

เริ่มจาก flex ซึ่งเป็นเครื่องมือสำหรับสร้าง lexical analyzer ซึ่งส่วนของคอมไพเลอร์ที่ใช้วิเคราะห์เพื่อแบ่งข้อมูลเข้า (ในที่นี้คือโปรแกรม) ออกเป็นส่วนๆ ที่เรียกว่า token โดย token เปรียบเสมือนคำในภาษาคอมพิวเตอร์ เช่น ชื่อตัวแปร ชื่อฟังก์ชัน หรือ เครื่องหมาย หรือตัวดำเนินการต่างๆ การวิเคราะห์ token นี้จะทำโดยการระบุรูปแบบ (pattern) ของ token แต่ละประเภท ด้วย regular expression เช่น ชื่อตัวแปรในภาษาซี คือ สายอักขระที่เริ่มต้นด้วย a-z A-Z หรือ _ (underscore) แล้วตามด้วยตัวอักษร ตัวเลข หรือ _ (underscore) จะกำหนดด้วย [a-zA-Z_][a-zA-Z0-9_]* ในที่นี้ [] ใช้กำหนดเซตของตัวอักษร ส่วน * หมายถึง Kleene closure หรือสายอักขระที่สร้างจากเซตที่มีความยาวอย่างน้อย 0 ตัว ดังนั้นจะเขียน lex specification file สำหรับโปรแกรมเครื่องคิดเลข ได้คือ

%{
#include"y.tab.h"
%}

%%

[0-9]+            { yylval=atoi(yytext); return NUMBER; }
"+"|"-"|"*"|"/"|"("|")"   { return yytext[0]; }
\n                { return yytext[0]; }
[ \t]             { }
.                 { printf("Error in lexical analyzer.\n"); }

%%

มีการกำหนด token หลักๆ 2 แบบ ใน specification file นี้ คือ token สำหรับตัวเลข (NUMBER) ซึ่งเกิดจากตัวเลข ตั้งแต่หนึ่งตัวขึ้นไป โดยนอกจากจะส่งค่า token NUMBER และ ยังส่งค่าของตัวเลขนั้น ไปยัง parser ผ่านทางตัวแปร yylval

01 December 2005

กรรม

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

ฟังช่วงแรกก็เฮ้อ..... แต่ฟังไปฟังมาแล้วก็ขำดี ขำตรงที่ขนาดเจ้าตัวบอกจำไม่ได้ว่าไปทำกรรมไว้จริงหรือเปล่า แต่ก็เชื่อนักบวชนั้นว่าเคยทำจริงๆ แถมยังจะไปแก้กรรมตามที่บอกด้วย เฮ้อ.... ตัวเองก็ไม่ได้ศึกษาพุทธศาสนาลึกซึ้งเท่าไรหรอกนะ แต่พุทธศาสนาไม่เคยสอนเรื่องล้างบาป หรือแก้กรรมไม่ใช่หรือ ? ถ้าเราเคยทำกรรมชั่วไว้ เราก็ต้องไปรับผลกรรมนั้นสักวันหนึ่ง เพียงแต่ว่าเราอาจจะเจือจางผลนั้นได้ ด้วยการทำกรรมดี เหมือนการเติมน้ำเพิ่มลงไปในน้ำเกลือ ถ้าเติมไปเรื่อยๆ รสเค็มก็จะค่อยๆ จางหายไปเอง ไม่ใช่หรือ ?

18 November 2005

The Gimp กับ RawPhoto Plugin

ลอง plugin RawPhoto กับ Gimp 2.2 ที่มากับ FC4 ดู ง่ายดีเหมือนกันนะ เดี๋ยวนี้ชอบถ่ายรูปเป็น RAW format เพราะมีที่เหลือเฟือ ไม่ค่อยได้ไปถ่ายรูปที่ไหนไกลๆ เท่าไหร่แล้ว ถึงไม่พอจริงๆ ก็เปิด PowerBook มาโหลดไปเก็บไว้ก่อนก็ยังทัน

เสร็จแล้วก็เลยลองเอารูปวัดเบญจมฯ ที่ถ่ายไว้คราวก่อนมาแต่งใหม่ เพื่อเป็นการลองจอใหม่ด้วย อุๆ

Programming

ช่วงนี้สอนหนังสือวิชาออกแบบคอมไพเลอร์ ซึ่งเป็นวิชาหนึ่งที่ชอบเรียนมากสมัยเรียนปริญญาตรี แต่ตอนนี้เป็นวิชาผสมชื่อ Programming Language and Compiler Design ทำให้เนื้อหาส่วนคอมไพเลอร์ ไม่เข้มข้นเท่าที่ควร เนื่องจากมีเวลาไม่พอ ตอนนี้ได้สอนเอง แถมเป็นวิชา เกี่ยวกับคอมไพเลอร์ล้วนๆ ทำให้สอนได้เต็มที่ โดยวางแผน จะให้นักศึกษาทำโครงงานสร้างคอมไพเลอร์เล็กๆ ขึ้นมาตัวหนึ่ง แต่ก่อนที่จะให้งานนักศึกษาได้ ก็ต้องเริ่มทำที่ตัวเองเสียก่อน เมื่อวานนี้เลยได้นั่งเขียน lexical analyzer ง่ายๆ ขึ้นมาดู ทำแล้วสนุกดี อย่างเช่น จะจัดการกับระบบ buffer ยังไงให้มันทำงานได้ดี เป็นความสนุกที่ช่วงนี้ไม่ค่อยได้ทำเท่าไหร่นัก เพราะมัวแต่เอาเวลาไปทำอย่างอื่นหมด เลยรู้สึกเหมือนได้กลับไปเป็นเด็กอีกครั้งหนึ่ง

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

15 November 2005

ซื้อคอมพิวเตอร์

ตั้งใจว่าจะเขียนเรื่องนี้มาซักพักหนึ่งแล้ว เพิ่งมีโอกาสเขียนจริงๆ วันนี้ เรื่องนี้เกิดมาประมาณ 2-3 สัปดาห์แล้ว คือที่ทำงานเขาจะซื้อเครื่องคอมพิวเตอร์ ให้ใช้ โดยกำหนดงบประมาณให้ แล้วให้เรากำหนดคุณสมบัติเอง ก็เลยพยายามเลือกรุ่นดีๆ จะได้ใช้ได้นานๆ หน่อย สุดท้ายเลยตัดสินใจเลือก Pentium 4 630 3.0GHz ซึ่งทำงานที่ความถื่ 3.0GHz และเป็นรุ่นที่มี cache 2MB และสนับสนุนคำสั่งแบบ 64 บิต (EM64T) ปรากฎว่าพอให้เจ้าหน้าที่เขาติดต่อไปยังร้านต่างๆ เพื่อขอใบเสนอราคา จะได้นำมาเปรียบเทียบกัน แล้วก็จะเลือกซื้อจากร้านที่มีราคาถูกที่สุด

ปรากฎว่ามีหลายร้าน ที่ระบุมาในใบเสนอราคาเพียงแค่ว่า "Pentium 4 3.0GHz" หรือ "Pentium 4 3.0T" พอเจ้าหน้าที่ติดต่อไปให้เพิ่ม 630 ให้หน่อย จะได้เป็นการระบุที่ชัดๆ ก็บ่ายเบี่ยง แถมยังบอกอีกว่ารุ่นเดียวกันแหละ ไม่ยอมระบุให้ เจ้าหน้าที่ซึ่งไม่มีความรู้มากนักก็งงๆ ว่าทำไม เลยเอากลับมาให้เราเช็คอีกครั้งหนึ่ง ตอนแรกก็งงๆ เหมือนกัน เพราะไม่ค่อยได้ติดตามรุ่นของโปรเซสเซอร์ พอเช็คไปเช็คมา ก็เห็นภาพเลยว่าร้านต้องการจะเอารุ่น 530 ที่ใช้สัญญาณนาฬืกาเท่ากันมาหลอกขาย เนื่องจากเป็นรุ่นที่มีราคาถูกกว่าเยอะ เฮ้อ....ตอนนี้เลยขึ้นบัญชีดำร้านเหล่านั้นไว้แล้ว และต่อไปคงต้องเช็คสเปคต่างๆ ให้ละเอียดขึ้น

01 November 2005

官房長官

เมื่อวานฟังข่าวทางวิทยุระหว่างกลับบ้าน ได้ยินข่าวเรื่องการปรับคณะรัฐมนตรีของรัฐบาลญี่ปุ่น ซึ่งมีการวางตัวให้ อะเบะ ชินโซ (安倍晋三) เป็นทายาททางการเมืองของนายกฯ โคะอิซึมิ ซึ่งจะลงจากตำแหน่งประมาณเดือนกันยายนปีหน้า โดยตั้งให้เป็น คัมโบโจคัง (官房長官) ซึ่งในข่าวแปลว่า "หัวหน้าโฆษกรัฐบาล" ซึ่งคนที่ไม่ทราบเรื่องการเมืองของญี่ปุ่น คงจะแปลกใจว่าทำไมถึงวางตัวทายาททางการเมืองโดยตั้งให้เป็นเพียงโฆษกของรัฐบาล ซึ่งเมืองไทยเห็นว่าเป็นตำแหน่งที่สำคัญน้อยกว่ารัฐมนตรีเสียอีก

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

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

ด้วยเหตุนี้นายกฯ โคะอิซึมิ จึงตั้งทายาททางการเมืองของตัวเองเป็นคัมโบโจคัง

อ้างอิง: http://oshiete1.goo.ne.jp/kotaeru.php3?qid=861760

20 October 2005

ทำไมต้องทำงานดึกๆ

เมื่ออาทิตย์ที่แล้ว ไปกินข้าวกับเพื่อนหลายๆ คน แล้วมีคำถามว่า "ทำไมคนที่เรียนที่ญี่ปุ่นจะต้องทำนั่งทำงานอยู่ที่แล็บจนดึกจนดื่น ?" ได้ตอบคำถามไปพอสมควร คิดว่าคนถามก็รับกับคำตอบได้ แต่วันนี้มานั่งนึกๆ ว่ายังตอบไม่ดีเท่าที่ควร เลยเอามาเขียนตอบไว้ในนี้ด้วยดีกว่า

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

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

10 October 2005

วัดเบญจมบพิตร ดุสิตวนาราม

เมื่อวันเสาร์ที่ผ่านมา มีโอกาสหาเรื่องไปถ่ายรูปพระอุโบสถวัดเบญจมบพิตร หลังจากไม่ได้จับกล้องมาเป็นเวลาหลายเดือน ดีหน่อยที่อากาศค่อนข้างเป็นใจ คือฝนไม่ตก หลังจากตกมาหลายวัน

05 October 2005

ผ่านไปหกเดือน

นับถึงวันนี้ก็กลับมาอยู่เมืองไทยได้หกเดือนแล้ว ช่วงนี้มีสิ่งต่างๆ ในชีวิตเปลี่ยนแปลงไปเยอะพอสมควร
  • เปลี่ยนจากขี่จักรยานมาขับรถยนต์ ตอนอยู่ญี่ปุ่นก็ใช้จักรยานเป็นหลัก ไม่ว่าจะไปไหน ซึ่งก็สะดวกพอสมควร แถมยังได้ออกกำลังกายด้วย แต่พอมาอยู่เมืองไทยก็ต้องใช้รถยนต์แทน เพราะที่พักกับที่ทำงานค่อนข้างไกลกันมาก (20 กิโลได้มั้ง) ใช้จักรยานไม่ไหว แถมกลับบ้านทุกเสาร์อาทิตย์อีกด้วย การใช้รถยนต์ทำให้สะดวกขึ้น แต่ไม่ดีตรงที่ไม่ได้ออกกำลังกาย แถมยังรู้สึกว่าเป็นการผลาญน้ำมันอีกด้วย
  • เปลี่ยนอาชีพจากนักวิจัย มาเป็นอาจารย์ ที่จริงก็ไม่มีอะไรเปลี่ยนแปลงมากหรอกนะ เพราะยังไงก็ยังทำวิจัยเหมือนเดิม แต่การเป็นอาจารย์ทำให้ต้องมีความรับผิดชอบสูงขึ้น คือต้องรับผิดชอบต่อนักเรียน นักวิจัยแค่ทำงานเพื่อพัฒนาสิ่งใหม่ๆ ออกมา โดยหวังว่าจะสามารถนำไปประยุกต์ เพื่อเพิ่มความสะดวก หรือขจัดปัญหาที่มนุษย์ประสบอยู่ในปัจจุบัน แต่การเป็นอาจารย์คือการทำงานเพื่อพัฒนาคน ทำอย่างไรจึงจะสามารถทำให้นักเรียนในตอนนี้ กลายเป็นนักไอทีตามที่สังคมคาดหวัง แต่สิ่งที่รู้สึกว่าแปลกที่สุด ก็คงจะเป็นการที่โดนเรียกว่า "อาจารย์" ตอนแรกๆ ก็งงๆ ว่าเรียกเราหรือเปล่า ทำงานมาได้หกเดือนชักเริ่มชินแล้วสิ
เขียนไว้แค่นี้ก่อน นึกออกอีกแล้วค่อยเขียนต่อ

ใช้ภาษาญี่ปุ่นบน FC4

การติดตั้งระบบรับคีย์ภาษาญี่ปุ่นบน FC4 ก็ทำได้ไม่ยาก เพียงแค่ไปที่ส่วน extras ซึ่งรวบรวมแพคเกจเพิ่มเติม ที่อยู่นอกเหนือจากแพคเกจที่มาพร้อมกับ distro เลือกดาวน์โหลดแพคเกจต่อไปนี้
  1. uim-0.4.9.1-1.fc4.i386.rpm
  2. uim-anthy-0.4.9.1-1.fc4.i386.rpm
  3. uim-gnome-0.4.9.1-1.fc4.i386.rpm
  4. uim-gtk2-0.4.9.1-1.fc4.i386.rpm
  5. anthy-6700b-1.fc4.i386.rpm
จากนั้นก็ติดตั้งทั้งหมด โดยใช้คำสั่ง rpm -ivh ก็เป็นอันเสร็จ ส่วนวิธีใช้งาน ก็แค่เพิ่ม uim applet เข้าไปใน panel ที่ไหนซักที แล้วก็เลือกใช้ anthy ก็จะสามารถพิมพ์ภาษาญี่ปุ่นได้ทันที ดังรูป

Firefox Thai บน Fedora Core 4

ตอนนี้กลับมาใช้ Fedora Core อีกครั้งหนึ่ง หลังจากเลิกใช้ไปนานมาก เนื่องจากกำลังเตรียมแล็บสำหรับนักศึกษา ซึ่งปัจจุบันเครื่องของห้องแล็บที่จะใช้สอน ลง Fedora Core 4 เอาไว้ ก็เลยต้องลงไว้ใช้ที่เครื่องตัวเองบ้าง เพื่อไม่ให้ป้องกันปัญหา วิธีติดตั้ง หรือวิธีใช้งานอะไรบ้างอย่างไม่เหมือนกัน หลังจากติดตั้ง FC4 เรียบร้อยแล้ว ก็ต้องทำการปรับแต่งพอสมควร เพื่อให้ใช้งานได้สะดวก ซึ่งสิ่งแรกที่ต้องทำก็คือ อยากให้ Mozilla Firefox ตัดคำไทยได้ เนื่องจากใช้มานานจนติดซะแล้ว เวลาใช้ตัวที่ตัดคำไม่ได้ ก็จะรู้สึกว่าแปลก รำคาญตาชอบกล

หลังจากลองหาดูที่ LTN แล้ว ไม่มีข้อมูลแพคเกจสำหรับ FC4 เลย ก็คิดว่าคงจะต้องทำเอง แต่เนื่องจาก Linux TLE 7.0 รุ่นล่าสุด ใช้ FC3 อยู่แล้ว ก็กะจะโหลด srpm มาคอมไพล์เอา คิดว่าคงไม่มีปัญหาอะไร ลองไปหาดู ก็เจอ srpm รุ่นล่าสุด (1.0.7) ที่ทางทีม TLE เตรียมไว้ คิดในใจว่าอย่างนี้ก็ง่ายสิ แค่คอมไพล์สร้าง binary rpm ใหม่ก็เสร็จแล้ว

แต่พอทำจริงๆ ปรากฏว่ามี error เกิดขึ้นระหว่างคอมไพล์ โดยบอกว่า หา libnss3.so ไม่เจอ โอ้ว... จะให้แก้เองก็รู้สึกว่าไม่มีความสามารถ และเสียเวลาด้วย คาดว่าน่าจะมีปัญหาระหว่างระบบ FC3 กับระบบ FC4 ซึ่งแค่ตัวคอมไพเลอร์ก็ต่างกันแล้ว สุดท้ายเลยไปเจอ srpm สำหรับ FC4 เลยเอามาเป็นตัวเริ่มต้น จากนั้นก็ลองเปิดไฟล์ spec ของทางทีม TLE เห็นว่ามีการใช้ patch 3 ตัว คือ mozilla-icuthai-6.patch, firefox-1.0-config-tle2.patch, และ firefox-1.0rc-config-tle.patch ก็จัดการเพิ่มเข้าไปในไฟล์ spec ของ FC4 แล้วก็ทำการสร้างแพคเกจด้วย คำสั่ง

# rpmbuild -bb firefox.spec

ปรากฎว่าทุกอย่างราบรื่นดี เลยได้แพคเกจ rpm สำหรับ Mozilla Firefox รุ่น 1.0.7 เมื่อลองติดตั้งก็สามารถตัดคำได้ดี เป็นอันเสร็จสิ้นภารกิจ ต้องขอขอบคุณทีม TLE ด้วยที่ช่วยทำ patch ไว้ให้ ส่วนไฟล์ spec ที่แก้ไขก็เอาไปวางไว้ที่นี้แล้วด้วย

31 August 2005

LaTeX กับข้อสอบ

ช่วงนี้งานเต็มไปหมด ทำให้โอกาสเขียนบลอก วันนี้กลับมาเขียนอีกครั้ง เพราะว่าอยากจะจดสิ่งที่เพิ่งทำขึ้นเก็บไว้เป็นบันทึกช่วยจำ เรื่องก็เกิดจากเวลาสอบใกล้เข้ามาทุกทีแล้ว ทำให้ต้องรีบออกข้อสอบ เพราะไปสอนวิชาพื้นฐานสำหรับปีหนึ่ง ซึ่งจะต้องออกข้อสอบเป็นแบบปรนัย เนื่องจากมีนักเรียนเยอะมาก ตรวจข้อสอบไม่ไหว แต่การออกข้อสอบแบบปรนัยให้ดีก็เป็นเรื่องที่ลำบากมาก ต้องคิดว่าทำอย่างไรถึงจะวัดความรู้ของนักเรียนได้ ไม่ใช่ว่าแค่ไปเดาๆ แล้วก็สอบผ่าน แถมจำนวนข้อก็จะเยอะมาก ทำให้ต้องรีบทำเตรียมไว้ตั้งแต่เนิ่นๆ เมื่อวานเลยเริ่มคิดเรื่องข้อสอบ แล้วก็คิดว่าจะเอาอะไรเขียนดี ตอนแรกก็กะจะใช้เวิร์ดโปรเซสเซอร์ทั่วๆ ไป แต่ก็ฉุกคิดขึ้นได้ว่าถ้าใช้โปรแกรมพวกนั้น คงจะมีปัญหามากมาย เพราะข้อสอบนั้นคงจะต้องแก้ไขเยอะมาก แถมออกข้อสอบเขียนโปรแกรมด้วย จะต้องมีบางส่วนยกโปรแกรมมา แล้วให้นักเรียนตอบคำถามจากโปรแกรม สุดท้ายเลยคิดถึง LaTeX ลองไปหาๆ ดู ก็เจอ style file สำหรับข้อสอบแบบ Multiple choice อยู่อันหนึ่ง แต่ยังไม่ถูกใจ ลองปรับดู ก็ลำบากเหมือนกัน สุดท้ายเลยทำเองใหม่ทั้งหมดเลย โดยอาศัยความรู้จากไฟล์ที่ได้มา ได้เป็นคลาสใหม่ ตั้งชื่อง่ายๆ ว่า mcexam.cls เป็นอันว่าเสร็จสิ้น คราวนี้ก็เริ่มออกข้อสอบได้ซะที

คลาส mcexam นี้ออกแบบมาสำหรับเขียนข้อสอบวิชาเขียนโปรแกรมโดยเฉพาะ ใช้ความสามารถของแพคเกจ fancyvrb เพื่อดึงซอร์สโค้ดมาจากไฟล์โดยตรง ทำให้สะดวกในการตรวจสอบความถูกต้อง เพราะสามารถเอาซอร์สไปลองก่อน แล้วก็ดึงมาใส่ข้อสอบได้ทันที โดยไม่จำเป็นต้องเสียเวลาตัดแปะ ซึ่งอาจจะทำให้เกิดความผิดพลาดได้ง่าย แถมการใช้ LaTeX ยังทำให้การจัดลำดับข้อสอบทำได้ง่าย เนื่องจากไม่จำเป็นต้องกำหนดเลขข้อเอง ลองดูตัวอย่างผลลัพธ์ได้

29 July 2005

AJAX: Simple sample

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

  1. index.html ซึ่งเป็นส่วนติดต่อกับผู้ใช้
  2. ajax.js ซึ่งเป็น Javascript เพื่อติดต่อกับ server
  3. ajax.php เป็น php ส่วนติดต่อกับ database โดยส่วนนี้จะติดต่อกับ ajax.js เพื่อส่งผลลัพท์ไปแสดงผลใน index.html

ส่วนแรก index.html ก็เหมือนกับ html/php ทั่วๆไป คือเป็น form รับข้อมูลจากผู้ใช้

<html>
<head>
<title>Test Ajax</title>
<script language="javascript" src="ajax.js"></script>
</head>
<body>
<form action="search.php" method="post">
<strong>Book name:</strong> 
<input type="text" name="bkname" autocomplete="off" 
id="bkname" onKeyUp="preSearch()" />
<br />
</form>
<div id="filling">&nbsp;</div>
<div id="result">&nbsp;</div>
</body>
</html>

ส่วนที่สองคือ ajax.js ซึ่งทำหน้าที่ติดต่อกับ ajax.php เพื่อแสดงผลการค้นหา โดยจะถูกเรียกมาทำงานตามฟังก์ชัน preSearch() ซึ่งกำหนดไว้ที่ onKeyUp ซึ่งเป็น event ที่จะเกิดขึ้นทุกครั้งที่ผู้ใช้กรอกข้อมูลเข้าไปหนึ่งตัวอักษร เพราะต้องการให้เว็บแสดงผลลัพธ์ทันทีในขณะที่กำลังกรอกข้อมูล

var xmlhttp = false;

if (window.XMLHttpRequest) {
 xmlhttp = new XMLHttpRequest();
 xmlhttp.overrideMimeType('text/xml');
}
else if (window.ActiveXObject) {
 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

function preSearch() {
 var bkName = document.getElementById('bkname').value;
 if (bkName != "") {
   document.getElementById('filling').innerHTML = "Searching... ";
   var url = 'ajax.php?q='+bkName;
   xmlhttp.open('GET',url,true);
   xmlhttp.onreadystatechange = function() {
     if (xmlhttp.readystate == 4 && xmlhttp.status == 200) {
       document.getElementById('result').innerHTML = xmlhttp.responseText;
       document.getElementById('filling').innerHTML = "&nbsp;";
     }
     else {
       document.getElementById('result').innerHTML = "Error....";
       document.getElementById('filling').innerHTML = "&nbsp;";
     }
   };    
   xmlhttp.send(null);
 }
}

จากโปรแกรมข้างบน จะมีการเรียกใช้ XMLHttpRequest ซึ่งเป็น object จึงต้อง initialize ก่อน แต่ Internet Explorer กับ Gecko-based browser มีวิธีการเรียกใช้ XMLHttpRequest ไม่เหมือนกัน จึงต้องใช้วิธีข้างต้น ในการกำหนดค่าเริ่มต้น จากนั้น preSearch() จะเรียกข้อมูลที่ผู้ใช้กรอกไว้ โดยใช้ document.getElementById() ซึ่งฟังก์ชันนี้จัดว่าเป็นฟังก์ชันสำคัญฟังก์ชันหนึ่ง เพราะทำให้สามารถเข้าไปแก้ไขโครงสร้างส่วนต่างๆ ของเว็บได้ จากนั้นจะใช้ XMLHttpRequest เพื่อติดต่อไปยัง ajax.php และส่งข้อมูลที่ต้องการค้นหาไปให้ แล้วก็รอผลลัพธ์จาก ajax.php เพื่อนำมาแสดงผลใน id ที่ชื่อว่า result

ส่วนสุดท้ายคือ ajax.php ก็เป็นสคริปต์ php ทั่วๆ ไป ซึ่งจะรับ request แล้วก็จะไปค้นหาข้อมูลในฐานข้อมูล จัดรูปแบบให้เรียบร้อย เพื่อใช้เป็นผลลัพธ์

<?php 
 if (empty($_GET['q'])) {
       echo ' ';
   }
   else {
       $search = trim($_GET['q']);
       $link = mysql_connect('localhost', 'user', 'password')
           or die('Could not connect: '.mysql_error());
      mysql_select_db('bookstore') 
           or die('Could not select database:'.mysql_error());

      $query = "SELECT bkname,bkauthor FROM book WHERE bkname LIKE
'$search%'";
      $result = mysql_query($query) 
           or die('Query failed:'.mysql_error());
?>
       <table border="1"><tr><th>Title</th><th>Author</th></tr>
       <?php
       while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
           echo('<tr>');
           foreach($line as $col) {
               echo("<td>$col</td>");
           }
           echo('</tr>');
       }
       ?>
       </table>
<?php
       mysql_free_result($result);
       mysql_close($link);
   }
?>

สรุป จะเห็นว่าส่วนที่เพิ่มเติมของเทคนิค AJAX ก็คือ การใช้ XMLHttpRequest เพื่อร้องขอข้อมูลเพิ่มเติม และการเข้าถึง DOM โดยใช้ document.getElementById เพื่อให้สามารถแก้ไข หรือเพิ่มเติมโครงสร้างของเว็บได้ ช่วยให้เว็บมีการตอบสนองผู้ใช้ได้ดียิ่งขึ้น จากเดิมที่ต้องแสดงผลใหม่ทั้งหน้า เป็นแสดงผลเฉพาะส่วน ตัวอย่างนี้แค่แสดงลักษณะง่ายๆ ของ AJAX แต่การนำไปใช้งานจริง คงจะมีสิ่งที่ต้องคำนึงถึงมากกว่านี้ ทั้งในเรื่องการจัดการส่วนการแสดงผลให้เหมาะสม

AJAX

AJAX ย่อมาจาก Asynchronous Javascript And XML เป็นเทคนิคการพัฒนาเว็บแบบใหม่ ซึ่งสามารถตอบสนองผู้ใช้ได้ดีขึ้น ใกล้เคียงกับโปรแกรมประยุกต์อื่นๆ โดยใช้ Javascript และ XML มาช่วย กล่าวคือ เดิมการพัฒนาโปรแกรมบนเว็บนั้น จะต้องโหลดเว็บใหม่ทั้งหน้าเมื่อมีการเลือก หรือกำหนดค่าข้อมูลเข้า (inputs) อะไรบางอย่างที่จะให้โปรแกรมตอบสนอง ซึ่งทำให้ลักษณะการตอบสนองต่อผู้ใช้ ไม่ดีเท่ากับโปรแกรมประยุกต์ทั่วๆ ไป ซึ่งเมื่อเลือกหรือกำหนดค่าแล้ว โปรแกรมจะแสดงผลทำให้เกิดการเปลี่ยนแปลงเฉพาะส่วนที่ต้องการ AJAX จึงเป็นเทคนิค และแนวทางที่เข้ามาเสริมจุดอ่อนของเว็บในด้านการตอบสนองผู้ใช้ โดยใช้ลักษณะการจัดการข้อมูลการแสดงผล ซึ่งอยู่ในรูปของ Document Object Model ที่เข้าถึงเพื่อเปลี่ยนแปลงแก้ไขการแสดงผลได้ด้วย Javascript และใช้ XMLHTTPRequest มาช่วยดึงข้อมูลเพิ่มเติมจาก server ทำให้สามารถเปลี่ยนแปลง หรือแสดงผลข้อมูลได้ โดยไม่จำเป็นต้องไปโหลดเว็บมาใหม่ทั้งหน้า ช่วยลดเวลาที่ผู้ใช้ต้องรอ นอกจากนี้ยังใช้เทคโนโลยี XML, XSLT รวมทั้ง CSS มาช่วยจัดรูปข้อมูล ให้แสดงผลได้มีประสิทธิภาพมากขึ้น

ตัวอย่างของเว็บที่ใช้เทคนิค AJAX ในการพัฒนาก็คือ เว็บต่างๆ ของบริษัท Google ตั้งแต่ GMail ที่ทำงานได้ราบรื่น จนดูเหมือนเป็นโปรแกรมเมลที่ทำงานบนเครื่องเราเอง หรือ Google Maps ซึ่งสามารถจัดการ Zoom in/out และเลื่อนแผนที่ไปมาได้ง่ายมากๆ เคยได้ยินเรื่อง AJAX มาซักพักนึงแล้ว แต่ตอนนี้เพิ่งมาศึกษารายละเอียด เพราะกำลังตัดสินใจว่าจะเอาไปสอนเป็นส่วนหนึ่งของวิชาเกี่ยวกับระบบสารสนเทศที่กำลังสอนดีหรือไม่ เพราะกลัวว่าเวลาอาจจะไม่พอ แต่ถ้าเป็นวิชาเกี่ยวกับเทคโนโลยีอินเตอร์เน็ตคิดว่าคงไม่พลาดอยู่แล้ว

อ้างอิง:

Gnome-volume-manager

เจอปัญหามาพักใหญ่แล้ว ว่าทำไม Gentoo Linux ที่ใช้อยู่ไม่ยอม mount removable devices เช่น CD, handy drive ให้อัตโนมัติ ทั้งๆ ที่ติดตั้ง hal, dbus และ gnome-volume-manager ไว้แล้ว แต่จะว่าไปก็ไม่เห็นมีปัญหาอะไรกับระบบ เพียงแต่สังเกตว่า หลังจากเสียบ handy drive เข้าไปแล้ว ก็ต้องไปเรียก gnome-volume-properties หรือโปรแกรมสำหรับกำหนดค่าเกี่ยวกับ removable devices ต่างๆ ก่อน ระบบจึงจะ mount ให้โดยอัตโนมัติ

ด้วยความสงสัยเลยลองหาใน Forums ของ Gentoo ดู ปรากฎว่ามีคนเจอปัญหาคล้ายๆ กัน และสาเหตุของปัญหาก็คือ hald ไม่ได้ไปเรียก gnome-volume-manager มาทำงาน ทำให้ไม่เกิดการ mount สุดท้ายบอกวิธีแก้ไว้ด้วยว่า อาจจะเกิดจากการที่มีการสร้างไดเรคทอรี /media ไว้เองก่อน (หรือมีปัญหาอะไรก็แล้วแต่ ที่ทำให้ /media เหลือค้างอยู่) ทำให้ hald ไม่ยอมจัดการ mount ให้ วิธีแก้ก็ง่ายๆ เพียงแค่ลบ /media ทิ้ง ก็เป็นอันเสร็จสิ้น

27 July 2005

ปฏิทินคลาดเคลื่อน ?

วันนี้ดูรายการถึงลูกถึงคนด้วยความหงุดหงิดกับบรรดาโหรทั้งหลาย เลยต้องมานั่งเขียนบลอค หลังจากที่ไม่ได้เขียนมาซะนาน ว่าบรรดาโหรทั้งหลาย จะอะไรกันนักหนา ที่ว่ากำหนดวันต่างไปจะเป็นเรื่องใหญ่โต จะทำให้อะไรผิดเพี้ยนไป เพราะวันเหล่านั้นมนุษย์ก็เป็นคนกำหนดขึ้นเอง โดยมีจุดหมายเพียงเพื่อคำนวณวันเวลาต่างๆ ให้ตรงกับปรากฏการณ์ธรรมชาติมากที่สุด ส่วนเรื่องวิธีการคำนวณปฏิทินไทยนั้น จะทำยังไงก็ได้ไม่เห็นแปลก เพราะจุดที่แตกต่างก็คือวิธีการทดวัน เพื่อให้วันตามระบบจันทรคติสอดคล้องกับระบบสุริยคติ แถมเมื่อดูตามข้อมูลการคำนวณขององค์การนาซ่าที่น่าเชื่อถือกว่าข้อมูลของบรรดาโหรทั้งหลายที่กำหนดว่าคาบของดวงจันทร์มีค่าคงที่เท่ากับ 29.5 วัน ก็ยิ่งเห็นได้ชัดเลยว่าปฏิทินหลวงถูกต้องกว่า เพราะกำหนดวันได้ใกล้เคียงกับลักษณะของดวงจันทร์มากกว่า อย่างวันอาสาฬหบูชาที่ผ่านมา ก็ตรงตามที่นาซ่าคำนวณไว้ว่า ดวงจันทร์เต็มดวง ณ เวลา 11:00 ของวันที่ 21 กรกฎาคม ตามเวลา GMT หรือ 18:00 ตามเวลาประเทศไทย ตอนนี้ก็คงได้แต่รอสำนักพระราชวังออกมาชี้แจงเรื่องนี้ แต่อยากให้ชี้แจงเร็วๆ จัง โหรคนนั้น (ที่ยกตัวเองว่าเป็นปราชญ์) จะได้เลิกกร่างซะที

อย่างไรก็ดี สุดท้ายแล้วก็มีความเห็นตามอ.ประเสริฐ ณ นคร ว่า จะวันไหนก็เหมือนกัน ไม่เห็นจะเป็นเรื่องที่ต้องมาใส่ใจนัก โดยเฉพาะเราซึ่งไม่เคยถือฤกษ์ยามใด ไม่เคยนับถือบรรดากระพี้ทั้งหลาย ที่พยายามปิดบังแก่นของพุทธศาสนา ใครจะว่าโหราศาสตร์เป็นเรื่องของสถิติ แต่สถิติที่ไม่ได้มีการจดบันทึก หรือมีหลักฐานที่แน่นอน ก็ไม่ต่างจากการเดาหรอก

07 July 2005

Leap Second

วันนี้เจอข่าวจาก /.jp ว่ามีการประกาศให้เพิ่มเวลา 1 วินาที เข้าไปตอนสิ้นปีนี้ เพื่อให้เวลามาตรฐาน หรือ UTC ใกล้เคียงกับเวลาหมุนรอบดวงอาทิตย์ของโลกที่สุด เขาทำกันมาหลายครั้งแล้ว แต่เพิ่งเคยได้ยินครั้งแรก เลยไปนั่งอ่าน Wikipedia เรื่อง Leap second มาหน่อย ได้ความว่าตามระบบเวลามาตรฐาน เรากำหนดให้ 1 ปี มี 84,600 วินาที แต่เวลาการหมุนรอบดวงอาทิตย์ของโลกจริง (UT1) อาจจะไม่ตรงตามนั้น เลยต้องมีการปรับเวลา UTC เพื่อให้ใกล้เคียงกับเวลา UT1 ที่สุด คือไม่เกิน +/- 0.9 วินาที อย่างเช่นปลายปีนี้ ก็เลยมีการประกาศให้เพิ่มเวลา 1 วินาที ดังนั้นสิ้นปีนี้เราจะมี

 31 ธันวาคม 2548,   23.59.59น.
 31 ธันวาคม 2548,   23.59.60น.
  1 มกราคม 2549,   00.00.00น.

06 July 2005

ภารกิจเลือด

วันนี้บ่นมาสองเรื่องแล้ว สุดท้ายขอเขียนถึงนิยายที่เพิ่งอ่านจบไปหน่อยดีกว่า เมื่อวันเสาร์เพิ่งไปซื้อหนังสือเรื่อง "ภารกิจเลือด (Blood work)" ซึ่งเขียนโดย ไมเคิล คอนเนลลี่ มาอ่าน หลังจากจดๆ จ้องๆ อยู่นาน เพราะกลัวเสียเวลา เนื่องจากรู้ว่าตัวเองจะไม่เลิกอ่าน จนกว่าจะจบ ซึ่งอาจจะทำให้งานไม่เดิน แต่เรื่องนี้ไม่ทำให้เสียงานมากนัก แค่อดนอนนิดหน่อย เนื่องจากใช้เวลาอ่านสองวันจบ

ภารกิจเลือด เป็นนิยายสืบสวนคดีฆาตกรรม โดยมีตัวเอกคือ แม็คเคเล็บ ซึ่งเป็นอดีตเจ้าหน้าที่เอฟบีไอซึ่งเชื่ยวชาญในการตามล่าฆาตกรต่อเนื่อง เขามีผลงานที่โดดเด่นสามารถจับฆาตกรโหดเหี้ยมได้หลายราย แต่วันหนึ่งเขาก็ต้องลาออกจากงานก่อนวัยอันควร เนื่องจากเป็นโรคหัวใจล้มเหลว ซึ่งมีทางรักษาทางเดียวคือการเปลี่ยนหัวใจ แต่ความหวังนั้นก็ริบหรี่เนื่องจากเขามีหมู่เลือดพิเศษแตกต่างจากคนทั่วไป คือจะพบหมู่เลือดแบบนี้เพียง 1 คนใน 200 คน แต่แล้วจู่ๆ ก็มีคนที่บริจาคหัวใจที่มีหมู่เลือดตรงกับเขาเสียชีวิตกะทันหัน ทำให้สามารถเปลี่ยนหัวใจให้กับแม็คเคเล็บได้ทันเวลา การผ่าตัดเป็นไปอย่างราบรื่น เขาสามารถกลับมามีชีวิตปกติได้อีกครั้งหนึ่ง แต่มันอาจจะไม่ปกตินัก เพราะโดยคำแนะนำของแพทย์ เขาไม่สามารถทำงานหนักๆ เสี่ยงๆ หรือเผชิญกับความเครียดแบบเดิมได้ เขาจึงลาออกมาใช้ชีวิตอยู่กับเรือที่มารีน่าแห่งหนึ่ง โดยวางแผนซ่อมเรือของพ่อ เพื่อออกไปล่องทะเลอีกครั้ง

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

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

ชื่อคู่สมรสในบัตรประชาชน

เมื่อวานได้ยินข่าวส.ว.คนหนึ่งออกมาเรียกร้อง ให้ใส่ชื่อคู่สมรส หรือภาพคู่สมรสในบัตรประชาชน เพื่อป้องกันการจดทะเบียนสมรสซ้อน ฟังแล้วก็เฮ้อ.... เพราะรู้สึกว่าถ้าเป็นอย่างนี้ เราจะต้องลงทุนระบบทะเบียนราษฎร์ หรือระบบสารสนเทศต่างๆ ไปทำไม ในเมื่อไม่มีใครเห็นความสำคัญ ผมเชื่อว่าระบบทะเบียนราษฎร์ของกรมการปกครองในปัจจุบัน สามารถรองรับการตรวจสอบได้เรียบร้อยแล้ว เพราะมันเป็นหน้าที่พื้นฐาน ถ้าหากว่าเรามีระบบสารสนเทศแล้ว เรายังไม่สามารถตรวจสอบได้ ยังยอมให้มีคนจดทะเบียนสมรสซ้อนได้ ผมก็คิดว่าถึงจะใส่ชื่อคู่สมรสลงไปในบัตรประชาชน ก็ไม่มีทางป้องกันได้หรอก เมื่อเช้ายังมีคนพูดติดตลกว่า งั้นก็อาจจะเอาใบเหลืองไปจดทะเบียนสมรสแทนก็ได้

ความบังเอิญ ???

วันก่อนตื่นมาตอนดึกๆ เลยกดรีโมททีวีไปมา เผื่อจะมีอะไรน่าสนใจดู เสร็จแล้วก็มาหยุดที่รายการเพลงรายการหนึ่งที่ช่องโมเดิร์นไนน์ กำลังฉายมิวสิควิดีโอของนักร้องชายคู่หนึ่งที่กำลังดัง แต่พอฟังทำนองเพลงแล้ว คุ้นมากๆ แม้เนื้อหาจะเป็นคนละเรื่อง แต่ทำนองเพลงนั้นเหมือนเพลง Tsunami ของ Southern All Stars ขนาดฟังเพลงนั้นแล้วร้อง Tsunami ตามได้เลย สุดท้ายอยากรู้ว่าเราคิดไปเองหรือเปล่า เลยต้องไปขอความช่วยเหลือจาก Google ปรากฎว่ามีคนเขียนบลอกถึง แถมยังมีกระทู้ห้องเฉลิมไทยพูดถึง ตั้งแต่ช่วงปลายเดือนมีนาแล้ว แหะๆๆ ตกข่าว เพราะเพิ่งได้ยิน

ในกระทู้นั้นมีคำชี้แจงด้วย ซึ่งเขาก็ยอมรับว่ามันเหมือน และคำชี้แจงนั้นก็พยายามโน้มน้าวว่ามันเป็นเรื่องบังเอิญ เอ้า...บังเอิญก็บังเอิญ ตอนนี้แค่อยากรู้จริงๆ ว่า ความน่าจะเป็นที่เพลงสองเพลงจะมีท่วงทำนองเหมือนกันได้ถึง 80% (ตามคำชี้แจง) เป็นเท่าไหร่ ???

01 July 2005

สุริยคราส 3.1

Eclipse ออกรุ่นใหม่ 3.1 แล้ว ซึ่งคุณสมบัติเด่นของรุ่น 3.1 ก็คือการสนับสนุน J2SE 5.0 ทำให้เราสามารถใช้โครงสร้างภาษาใหม่ๆ ได้เต็มที่ แถมยังปรับปรุงด้านประสิทธิภาพความเร็วด้วย ตอนนี้กำลังเอามาลองใช้อยู่ อาจจะได้ใช้สอนวิชา Java เทอมหน้า ถ้าเครื่องในห้องแล็บไม่เก่าจนรันแล้วอืด

AMD64

อาทิตยที่แล้วไปถอย Athlon64 3000+, แรม 1GB มาใช้งาน เนื่องจากมีทั้งงานราษฎร์ และงานหลวง ซื้อแต่ตัวเครื่องอย่างเดียว รวมราคาแล้วก็ไม่แพงเกินไปนัก หลังจากได้มา ก็ได้ฤกษ์ลง Linux ใหม่ โดยเริ่มจาก Ubuntu ก่อน เนื่องจากติดตั้งได้รวดเร็วกว่า (ถ้ามีซีดีพร้อม ก็ประมาณ 1 ชม.เองมั้ง) แต่เนื่องจากไม่มีซีดีแบบ amd64 ก็เลยเสียเวลาโหลดอยู่เกือบสองวันได้ (ตอนรอนี่คิดถึงมหาลัยญี่ปุ่นจริงๆ ตอนก่อนโหลดซีดีแผ่นหนึ่ง ใช้เวลาประมาณ 5 นาทีเองน่ะ) เมื่อติดตั้ง Ubuntu เสร็จใช้งานได้เรียบร้อย ก็เริ่มโหยหา Gentoo เพราะรู้สึกว่าชินกับ Gentoo มากกว่า ก็เลยแบ่งพาร์ติชันเพิ่มเพื่อติดตั้ง ซึ่งก็ใช้เวลาไปอีกสองวันได้ จนวันนี้หันมาใช้ Gentoo เต็มตัวแล้ว

หลังจากไม่ได้ใช้ Gentoo ไปหลายเดือน พบความเปลี่ยนแปลงใหม่ๆ หลายส่วนเหมือนกัน เช่น ระบบ portage ดูแปลกไป มีการตรวจสอบ md5sum ที่เป็นระบบมากขึ้น เลยทำให้พบปัญหาเวลาจะลง Firefox Thai ตามวิธีของคุณพูนลาภ ซึ่งจะต้องไปเพิ่ม patch ในไฟล์ ebuild แต่เนื่องจาก patch ที่เพิ่มเข้าไปไม่มี md5sum เก็บไว้ก่อน ระบบก็จะไม่คอมไพล์ให้ สุดท้ายเลยต้องพึ่ง google ซึ่งก็ได้ความว่า ต้องใช้

# emerge --digest mozilla-firefox

ซึ่งจะสร้าง digest หรือ md5sum ให้ใหม่ก่อนที่จะคอมไพล์ ebuild สงสัยตัวนี้เป็นฟังก์ชันใหม่แน่เลย เพราะหาอ่านใน man แล้วใน emerge --help ก็ไม่มีบอกไว้เลย

ป.ล. วันนี้เพิ่งสังเกตว่า blogger เพิ่มปุ่มสำหรับ upload รูปให้แล้วล่ะ ไม่ต้องต้องใช้บริการจาก Picasa หรือ Flickr แล้ว

22 June 2005

สลับ Ctrl กับ Caps Lock

เนื่องจากตอนนี้ติดนิสัยใช้สลับปุ่ม Ctrl กับ Caps Lock ซึ่งเป็นไปตามแบบของเครื่อง Sun โดยปุ่ม Ctrl อยู่เหนือ Shift ทำให้กดได้ง่ายขึ้น ไม่ต้องแยกนิ้วห่างมาก ใช้แบบนี้มาตลอดตั้งแต่ไปอยู่ญี่ปุ่น จนกระทั่งซื้อ Happy Hacking Keyboard มาใช้ ก็ยังเป็นแบบนั้น ประกอบกับบน X ก็มีวิธีสลับปุ่ม Ctrl กับ Caps Lock ได้ง่ายๆ ก็จะเลือกสลับปุ่มไว้เสมอ พอมาใช้ Powerbook ปุ่ม Ctrl ก็วางเหนือ Shift เหมือนกัน ทำให้ใช้มาตลอดจนติด เรียกว่าไปใช้เครื่องคนอื่นทีไร จะต้องกดผิดเป็นประจำ ช่วงนี้มีงานบางอย่าง ทำให้ต้องใช้วินโดวส์บ่อยๆ ก็เลยต้องหาวิธีสลับปุ่ม Ctrl กับ Caps Lock บนวินโดวส์ เจอวิธีหนึ่ง แก้ไม่ยาก เพียงแค่แก้ไขค่าใน regedit ลองทำแล้วบูตใหม่ ก็สลับปุ่มได้ตามต้องการ

ดีที่สุด

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

สุดท้ายก็ตอบคำถามนั้นไปสั้นๆ ว่า "ก็คงไม่มีอะไรดีที่สุดหรอกมั้ง"

17 June 2005

Ubuntu 5.04 Live PowerPC

ตอนนี้ใช้ Powerbook มาได้เกือบปีแล้ว (เหลืออีกสองเดือนมั้ง) ก็ยังพอใจ แต่มีความสุขกับการใช้งาน OS X ซึ่งผสมผสาน Unix กับ User Interface ได้ดี และเป็น OS ที่ไม่เคยมีปัญหาใดๆ แต่เนื่องจากว่าตอนนี้ไม่มีเครื่อง PC ในที่พัก ทำให้ต้องเปิด Powerbook ขึ้นมาทำงานตลอด และบางครั้ง ก็อยากจะทดลองอะไรบางอย่างกับ Linux ก็ไม่สามารถทำได้ เลยอยากจะลง Linux บน Powerbook แต่เนื่องจากไม่ได้เตรียมพาร์ติชัน (หมายเหตุ: คำนี้เป็นคำที่เริ่มใช้โดย Microsoft ปัจจุบัน FreeBSD ยังคงยืนยันที่จะเรียกว่า Slice เหมือนเดิม) ถ้าคิดจะลง Linux ก็ต้องลง OS X ใหม่ทั้งหมดด้วย เพราะต้องจัดการแบ่งเนื้อที่ใหม่หมด ด้วยความขี้เกียจ บวกกับความจำเป็นที่จะต้องใช้งาน Powerbook ตลอดเวลา ทำให้ไม่สามารถแบ่งเนื้อที่ได้ โครงการนี้ก็เลยต้องพับไปก่อน

เมื่อวานอ่านข่าวไปมา เจอข่าวว่า Gnoppix ซึ่งเป็นดิสตริบิวชันแบบ Live ทำงานโดยตรงจากแผ่นซีดี โดยไม่ต้องติดตั้งโปรแกรมบนฮาร์ดดิสก์ ออกเวอร์ชันใหม่ และรู้สึกว่าเวอร์ชันนี้ จะใช้ Ubuntu เป็นพื้นฐาน ก็เลยเกิดความคิดว่าจะเอามาลองดู พอเข้าไปดูปรากฏว่า Gnoppix ออกเฉพาะ x86 ไม่สามารถเอามาใช้บน PowerPC ได้ เลยต้องหันไปหา Ubuntu แทน เนื่องจาก Ubuntu มีรุ่น Live ให้ทดลองใช้งานอยู่แล้ว จากนั้นก็ตั้งหน้าตั้งตาโหลดซีดีมาใช้งาน แต่เนื่องจากเน็ตของสถาบันไม่เร็วมากนัก ก็เลยต้องรอๆๆ จนกระทั่งเมื่อเช้านี้ก็ได้ ISO ของ Ubuntu 5.04 Live สำหรับ PowerPC มาเป็นที่เรียบร้อย และหลังจากเขียนลงแผ่น แล้วก็ restart เครื่อง Powerbook โดยกดปุ่มตัว C ค้างไว้ เพื่อให้บูตจากซีดี ก็จะบูตเข้าไปยัง Ubuntu เป็นที่เรียบร้อย เริ่มต้นต้องกำหนดค่าต่างๆ ของเครื่องก่อน จากนั้นก็จะเข้าสู่ Gnome ให้โดยอัตโนมัติ หน้าตาเหมือน Ubuntu ที่ใช้อยู่บนพีซีอย่างกับแกะ เจ๋งจริงๆ พวกฮาร์ดแวร์ต่างๆ ก็ทำงานได้เรียบร้อย ทั้ง touchpad และเมาส์ ที่ต่อเข้าไปเพิ่มก็ใช้งานได้ดี ขาดอย่างเดียวคือการต่อกับจอภาพภายนอก ซึ่งคิดว่าอาจจะต้องกำหนดค่าต่างๆ เอง สุดท้ายก็เลยลองเปิด Firefox ขึ้นมาดูเล่น ก็ใช้งานได้ดี ส่วนในแง่ความเร็ว ก็ไม่เร็วมากนัก เนื่องจากทำงานจากซีดี คิดว่าถ้าติดตั้งลงฮาร์ดดิสก์ คงจะเร็วกว่านี้เยอะ ทำให้เกิดความขยันขึ้นเล็กน้อย ที่จะลง OS X ใหม่ เพื่อให้ลง Linux ได้ด้วย

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

15 June 2005

五月病

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

อ้อ สิ่งหนึ่งที่อาจจะเป็นสาเหตุให้คิดถึงญี่ปุ่น ก็เพราะเรายังคงดูรายการทีวีญี่ปุ่นผ่านทาง UBC แต่ต้องดูเป็นภาษาไทยแล้วรู้สึกแปลกๆ รู้สึกว่าไม่สนุกเท่าเดิม ครั้นจะเลือกเป็นภาษาญี่ปุ่นก็ไม่ให้เลือก ไม่รู้ทำไม (อาจเป็นเพราะระบบของหอพัก) เลยทำให้อยากหวนไปฟังภาษาญี่ปุ่นแบบเดิมอีกครั้ง

หมายเหตุ: 五月病 (Go-gatsu-byou - โรคเดือนห้า) เป็นอาการมักจะเกิดจากขึ้นเมื่อต้องปรับตัวเข้ากับสภาพแวดล้อมใหม่ๆ โดยเฉพาะกับคนที่เริ่มทำงานใหม่ หรือนักเรียนที่เปลี่ยนที่เรียนใหม่ ทำให้ต้องปรับตัว โดยจะมีอาการคือ ไม่มีอารมณ์หรือใจในการทำสิ่งใดๆ รู้สึกไม่อุ่นใจ หรืออาจจะรุนแรงถึงขั้นนอนไม่หลับ รู้สึกอ่อนเพลีย ไม่อยากทำงาน ในญี่ปุ่นอาการเหล่านี้มักจะเกิดในช่วงเดือนพฤษภาคมหลังจากวันหยุดยาวในช่วงต้นเดือน จึงเป็นที่มาของชื่ออาการนี้

ตามรอยพระพุทธเจ้า

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

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

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

ทดสอบ Drivel

ทดสอบโพสต์จาก Drivel ที่แก้ไขแล้ว

หลังจากที่เมื่อวานทดลองใช้ Drivel รุ่น 2.0 ซึ่งสนับสนุน Atom API หรือ Blogger 2.0 ในการติดต่อกับเซิร์ฟเวอร์ แล้วพบปัญหาว่าไม่สามารถใช้งานภาษาไทยได้ เนื่องจากข้อมูลทั้งหมดถูกเปลี่ยนไปอยู่ในรูป character entity เช่น &xE49; ทำให้อ่านไม่ออก แก้ไขไม่ได้ วันนี้เลยลองเอาซอร์สของ Drivel มาแกะดู ก็พบว่าข้อมูลที่ส่งมาจาก blogger ก็ถูกต้องดี ปัญหาเกิดขึ้นตอนแปลงข้อมูล ซึ่งใช้ libxml2 โดยใช้ฟังก์ชัน xmlDocNew และ xmlDocDumpFormatMemory เพื่อสร้างเอกสาร xml ตัวใหม่ แล้วปรากฏว่าไม่ได้กำหนดวิธีการเข้ารหัสตัวอักษรที่ถูกต้อง (เดาว่าค่าปริยายคงจะเป็น us-ascii) ทำให้มีการแปลงข้อมูลทั้งหมดให้อยู่ในรูป character entity เพื่อให้สอดคล้องกับวิธีการเข้ารหัส การแก้ไขก็ทำได้ง่ายมากๆ เพียงแค่เพิ่ม

content->encoding = xmlStrdup("UTF-8");

ทุกอย่างก็จะเรียบร้อย เนื่องจากกำหนดให้เป็น UTF-8 แล้ว จึงไม่จำเป็นต้องแปลงข้อมูลอีก เสร็จแล้วคงจะต้องไปรายงานบักอีกทีจึงจะสมบูรณ์

หมายเหตุ: ตอนนี้ยังพบว่าไม่สามารถแก้ไขข้อมูลที่แปะไปแล้วได้ แต่ดูเหมือนว่าไม่ได้เกิดจากส่วนที่แก้ไข เพราะถึงไม่แก้ก็มีปัญหาอยู่ดี ไม่รู้ว่าเกิดจากส่วนไหน มีปัญหาี่ตัวเซิร์ฟเวอร์ หรือว่าเป็นที่ proxy ที่ใช้งานอยู่ คงต้องเอาไปลองที่อื่นก่อน

14 June 2005

Drivel 2.0

วันนี้เห็นแว่บๆ ใน Gnomefiles.org ว่า Drivel ออกรุ่นใหม่ (รุ่น 2.0) เลยไปเอามาลองสักหน่อย Drivel เป็นโปรแกรมสำหรับจัดการ blog ทำให้เราสามารถเขียนข้อความใหม่ได้โดยไม่จำเป็นต้องเข้าไปที่เว็บของ blog ทำให้สามารถใช้งานได้สะดวก แต่เดิม Drivel สนับสนุนเฉพาะ Livejournal แต่รุ่นใหม่นี้สนับสนุน blogger ที่ใช้อยู่ด้วย เลยต้องไปเอามาลองซักหน่อย แต่เนื่องจากว่าตอนนี้ใช้ hoary อยู่ซึ่งคงไม่ปรับปรุงแพคเกจเป็นรุ่นใหม่ให้ (มีเฉพาะรุ่น 1.2.3) เลยต้องไปหาเอาเองจาก google.com แล้วก็เจอคนทำแพคเกจไว้เหมือนกัน เพียงแค่โหลดมา แล้วก็ติดตั้งด้วยคำสั่ง

$ sudo dpkg -i drivel_2.0.0-1_i386.deb

ก็เป็นอันเรียบร้อย ข้อความนี้ก็ลองเขียนผ่าน Drivel ดู

หมายเหตุ: รู้สึกจะมีข้อจำกัดตรงที่ ไม่สามารถจัดการหัวข้อได้ คงเนื่องมาจากข้อจำกัดของ API ของ blogger ถ้าจะใส่หัวข้อก็ต้องเข้าเว็บไปแก้เอาเอง

เพิ่มเติม: กลายเป็นว่าเลือกผิดเอง เพราะถ้าเลือกใช้ Atom หรือ Blogger 2.0 ก็จะสามารถจัดการหัวข้อได้ แต่ก็เป็นอีกปัญหาหนึ่ง คือ blogger ส่งข้อมูลมาในรูป character entity เช่น อ ทำให้อ่านไม่ออก คงต้องหาวิธีแก้ต่อไป

Adobe Acrobat Reader 7.0 Japanese Edition for Linux

จั่วหัวซะยาวเลย แค่ต้องการจะเขียนว่าเจอข่าวว่า Adobe ออก Adobe Acrobat Reader โปรแกรมสำหรับเปิดไฟล์ PDF รุ่นภาษาญี่ปุ่น สำหรับ Linux แล้ว หลังจากปล่อยให้รออยู่ตั้งนาน เนื่องจากสองอาทิตย์ก่อน อยากจะพิมพ์เปเปอร์ภาษาญี่ปุ่นออกมาอ่านแล้วมีปัญหากับ Xpdf คือดูบนจอก็อ่านได้ปกติดี แต่พอสั่งพิมพ์แล้วมันไม่ยอมแนบฟอนท์ไปให้ด้วย ทำให้พิมพ์ออกมาเป็นตัวอะไรก็ไม่รู้

เพิ่มเติม: ถึงจะใช้ Acrobat Reader แล้วก็ยังพิมพ์ได้ไม่เรียบร้อยอยู่ดี คือหน้าแรกๆ พิมพ์ได้ แต่หน้าหลังๆ ตัวอักษรส่วนใหญ่กลายเป็นเครื่องหมายกากบาท คาดว่าน่าจะเกิดจากหน่วยความจำของเครื่องพิมพ์ไม่เพียงพอ คงต้องหาทางแก้ไขต่อไป

13 June 2005

The Unhanded C Contest

ปกติเคยได้ยินแต่การแข่งกัน Obfuscated C Contest ที่แข่งกันเขียนโปรแกรมภาษา C ให้ดูยุ่งยากที่สุด หรืออ่านไม่รู้เรื่องที่สุด แต่ยังคงสามารถทำงานได้ตามปกติ หรือทำงานได้ตามที่กำหนด แต่วันนี้เจอข่าวใน /.jp เรื่องการประกวดเขียนโปรแกรมภาษา C เหมือนกัน มีชื่อว่า The Unhanded C Contest มีเป้าหมายที่ดูเผินๆ เหมือนจะอยู่ตรงข้ามกับ Obfuscated C Contest กล่าวคือต้องการให้เขียนโปรแกรมที่อ่านเข้าได้ง่ายที่สุด แต่ซ่อนหน้าที่การทำงานอื่นๆ ซึ่งจะมุ่งโจมตีเครื่อง ทำให้โปรแกรมนี้เป็นกลลวง เพราะซอร์สดูเข้าใจง่าย เหมือนไม่มีพิษสงอะไร แต่ซ่อนพิษร้ายกาจเอาไว้ และแต่ละปีเขาก็จะกำหนดหัวข้อ หรือประเภทของโปรแกรมที่แตกต่างกันไป

07 June 2005

Intel Mac

วันก่อนเคยเขียนถึงข่าวลือที่ Apple จะเปลี่ยนมาใช้โพรเซสเซอร์ของ Intel แทนที่จะใช้ PowerPC ของ IBM ต่อไปอย่างทุกวันนี้ แล้วก็คาดการณ์ผิดเพราะคิดว่าไม่น่าจะเป็นไปได้ ปรากฏว่าวันนี้่เป็นความจริงแล้ว เมื่อวานสตีฟ จอบส์ออกมาประกาศแล้วว่า ตั้งแต่ปีหน้าเป็นต้นไปจะออกเครื่อง Mac ที่ใช้ชิปของ Intel โดยคาดว่าจะเริ่มจาก Mac mini ก่อน

แต่หลังจากประกาศ รองประธานอาวุโสของ Apple ก็ให้ข่าวทันทีว่าถึงเครื่อง Mac จะใช้ชิปของ Intel แต่ก็จะไม่ขาย หรือไม่สนับสนุน Windows (ถ้าอยากจะใช้ก็ให้พยายามเอาเอง) และที่แย่ที่สุดคือ OS X จะทำงานเฉพาะเครื่อง Mac เท่านั้น ดับฝันที่เราจะไปซื้อ OS X มาใช้กับ PC ทั่วๆ ไป (แต่ก็ไม่แน่หรอก อะไรก็เกิดขึ้่นได้ หุๆๆ)

06 June 2005

Summer of Code

เพิ่งจะเห็นข่าวโครงการ Summer of Code ของ Google ซึ่งร่วมมือกับโครงการโอเพนซอร์สต่างๆ เสนอเงินรางวัล $4500 ให้กับนักเรียนที่ใช้เวลาว่างในช่วงปิดเทอมฤดูร้อน พัฒนาโปรแกรมโอเพ่นซอร์สต่างๆ ซึ่งแต่ละโครงการเป็นผู้กำหนดหัวข้อให้ ส่วน Google เป็นผู้สนับสนุนเงินรางวัล ดูแล้วแต่แนวคิดที่น่าสนใจทีเดียวสำหรับการดึงนักเรียนนักศึกษาให้เข้าร่วมกับโครงการต่างๆ

02 June 2005

Computex Taipei 2005

วันนี้นั่งอ่านรายงานบรรยากาศงาน Computex Taipei 2005 จาก ITmedia.co.jp งานนี้จัดว่าเป็นงานคอมพิวเตอร์ที่ใหญ่ที่สุดในเอเชีย ข่าวที่ดังที่สุดในงานนี้น่าจะเป็นการเปิดตัวคอมพิวเตอร์ตัวใหม่ของ AOpen ที่ร่วมมือกับ Intel ให้ออกมาละม้ายคล้ายกับ Mac Mini เห็นว่าใช้ชิปเซ็ต Intel 915GM รองรับ Pentium M ได้ถึง 1.6 GHz และแบ่งเป็นหลายรุ่นตามโครงสร้าง ว่าจะมีแลนไร้สายหรือไม่ หรือว่าใช้ไดรว์ซีดี/ดีวีดีแบบไหน ส่วนราคาต่ำสุดอยู่ที่ 499 ดอลล่าร์ (ไม่ต่างจาก Mac Mini เท่าไหร่แฮะ) คาดว่าจะวางจำหน่าย (ในญี่ปุ่น) ประมาณปลายเดือนกันยา หรือเดือนตุลา

25 May 2005

ปลาที่ว่ายในสนามฟุตบอล

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

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

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

名探偵コナン:迷宮の十字路

เมื่อวานได้ DVD โคนันแบบที่เป็นหนังมา ตอน 迷宮の十字路 (คดีฆาตกรรมแห่งเมืองปริศนา) ซึ่งเคยเช่ามาดูแล้ว แต่ด้วยความที่อยากสะสม เลยต้องควักกระเป๋าไป 249 บาท ซึ่งก็ไม่แพงจนเกินไปนัก

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

24 May 2005

Apple จะเปลี่ยนไปใช้ซีพียูของ Intel

ไม่ได้เขียนซะนานเนื่องจากหยุดสามวัน ก็เลยหนีไปเที่ยวมา (ไว้เอารูปมาแปะ) ซึ่งก็สนุกดี ถ้าไม่มีอุบัติเหตุเล็กน้อยตอนก่อนกลับ

วันนี้เจอลิงก์จาก Freemac.net เป็นข่าวของซีเอ็นเอ็น ว่า Apple กำลังตกลงกับ Intel เพื่อจะเปลี่ยนมาใช้ซีพียูของ Intel ใน Mac รุ่นต่อไป ฟังดูแล้วไม่ค่อยน่าเชื่อเท่าไหร่ และโฆษกของ Apple ก็ออกมาบอกอย่างนั้นเหมือนกัน ดูแล้วก็แปลกดี ในขณะที่คนอื่นๆ เช่น PS3 กับ XBox 360 จะเปลี่ยนไปใช้ PowerPC แต่ Mac กลับจะใช้ Intel จะว่าไปแล้วอะไรมันก็เกิดขึ้นได้ทั้งนั้นในวงการธุรกิจ โดยส่วนตัวแล้วไม่ค่อยเชื่อเท่าไหร่ เพราะ Apple น่าลงทุนลงแรงไปเยอะกับ PowerPC แล้ว ไม่น่าจะเปลี่ยนไปใช้ Intel ง่ายๆ (ถ้าเพิ่มรุ่นที่ใช้ Intel มาด้วยก็ไม่แน่) แถมในแง่เทคโนโลยีแล้ว PowerPC ก็มีประสิทธิภาพไม่ด้อยไปกว่า Pentium อยู่แล้ว คงต้องคอยดูกันต่อไป

เพิ่มเติม:

เมื่อกี้ไปเจอข่าวที่ itmedia.co.jp ก็มีคนคิดคล้ายกับเราแฮะ ว่า Pentium Mac (ไม่รู้ใครตั้งชื่อให้) คงไม่น่าจะเกิด แต่ถ้า Apple จับมือกับ Intel สิ่งที่น่าจะเกิดขึ้น น่าจะเป็น iPod สามารถเล่นวีดีโอได้ โดยใช้ XScale มากกว่า

18 May 2005

ไม่ผูกเนคไท ไม่ใส่เสื้อนอก

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

13 May 2005

XBox 360

วันนี้เจอข่าวจาก ITmedia.co.jp ว่าไมโครซอฟท์เปิดตัว XBox รุ่นใหม่อย่างเป็นทางการแล้ว เห็นสเปคแล้วก็หนาวเลย เนื่องจากใช้ซีพียูของ PowerPC ซึ่งสามารถรัน thread ได้หกตัวพร้อมกัน คำนวณเลขทศนิยมได้เร็วถึง 115.2 GFLOPS เรียกว่าทิ้ง XBox เดิมอย่างไม่เห็นฝุ่นเลย และก็เป็นอันว่าทั้งโซนี่และไมโครซอฟท์ก็หันไปใช้ PowerPC หมดแล้ว อยากรู้จริงๆ ว่าระหว่าง Cell ที่จะใช้ใน PlayStation รุ่นต่อไป กับตัวที่ใช้ใน XBox อย่างไหนจะดีกว่ากัน

ว่าแต่อยากให้รัน Linux ได้เร็วๆ จัง เผื่อว่าจะเอามารันผลการทดลองได้บ้าง เพราะไม่เล่นเกมอยู่แล้ว XBox รุ่นก่อนก็อุตส่าห์เล็งไว้ว่าจะไปซื้อมาลง Linux เพราะเป็นคอมพิวเตอร์ราคาถูก แต่ปรากฏว่ารุ่นภาษาญี่ปุ่นไม่มีบัก ก็เลยลงไม่ได้ เลยอดเลย

12 May 2005

จัดการเมลด้วย Maildir และ IMAP

หลังจากทุกอย่างเริ่มเข้าที่เข้าทาง ตอนนี้เริ่มเกิดความกังวลใหม่ เนื่องจากทุกวันนี้อ่านเมลโดยใช้โปรแกรม Mail ที่มากับ Mac OS ซึ่งก็ใช้งานสะดวกดี สามารถกรองสแปม และคัดแยกเมลได้อัตโนมัติ แต่เนื่องจากไม่รู้ว่า Mail เก็บข้อมูลต่างๆ ไว้ยังไง ทำให้เกิดความกังวลว่าต่อไป ถ้าจะย้ายไปอ่านเมลที่อื่น หรือว่าต้องการสำรองข้อมูลเมลขึ้นมาจะทำอย่างไร เนื่องจากเป็นพวกชอบเก็บเมลไว้หมด แถมยังใช้โอเอสหลายแบบอีกต่างหาก เวลาย้ายเมลไปที่เครื่องอื่นก็กลัวว่าจะมีปัญหาตามมา ทำให้ต้องเปลี่ยนวิธีอ่านเมลใหม่ เลยนำระบบ Maildir และ IMAP ที่เป็นระบบมาตรฐานใช้ได้ทุกแพลตฟอร์มมาใช้ เหมือนที่เคยทำตอนอยู่ญี่ปุ่น

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

อย่างไรก็ดี คนส่วนใหญ่ยังคงอ่านเมลจากเซิร์ฟเวอร์แบบ POP3 ซึ่งทำให้เราสามารถดึงเมลจากเซิร์ฟเวอร์มาอ่านในเครื่องของเราได้ โดยไม่จำเป็นต้อง telnet เข้าไปอ่านที่เซิร์ฟเวอร์เหมือนสมัยก่อน หน่วยงาน หรือองค์กรต่างๆ ยังคงให้บริการเมลเฉพาะแบบนี้เท่านั้น เนื่องจากสะดวก และทุกคนคุ้นเคยกันดี แต่ POP3 ก็มีข้อจำกัดอย่างที่พูดไปแล้ว คือถูกออกแบบมาให้ทำหน้าที่ส่งต่อเมลเท่านั้น ไม่สามารถจัดการอะไรได้มากนัก เราสามารถเลือกได้แค่ว่า จะเรียกเมลมาทั้งหมดและลบเมลเลย หรือว่าจะให้เหลือเมลทิ้งไว้ที่เซิร์ฟเวอร์ ส่วน IMAP นั้่นเป็นโปรโตคอลทำหน้าที่ในลักษณะเดียวกัน เพียงแต่ว่า IMAP มีข้อดีตรงที่สามารถจัดแบ่ง คัดแยก และเก็บเมลไว้บนเซิร์ฟเวอร์ได้โดยใช้ระบบ Maildir ทำให้เราสามารถสร้างไดเรกทอรีบนเซิร์ฟเวอร์แบบ IMAP เพื่อแบ่งเมลที่เราต้องการเก็บไว้ได้ และเมลเหล่านี้ก็ยังคงอยู่บนเซิร์ฟเวอร์ตลอด แม้ว่าเราจะเปลี่ยนเครื่องที่ใช้อ่านเมล หรือติดตั้งโปรแกรมอ่านเมลใหม่ เราก็ยังคงสามารถดึงเมลทั้งหมดจากเซิร์ฟเวอร์มาอ่านได้เหมือนเดิม โปรแกรมอ่านเมลส่วนใหญ่ก็สนับสนุนการทำงานแบบนี้ ทำให้ใช้งานได้สะดวกมากขึ้น แต่ก็เป็นธรรมดาที่ IMAP ย่อมจะมีจุดอ่อน ข้อเสียของ IMAP ก็คือต้องติดต่อกับเซิร์ฟเวอร์มากกว่า มีการส่งข้อมูลปริมาณมากกว่า ทำให้ไม่สะดวกกับคนที่มีระบบเน็ตเวิร์คที่ไม่เร็วมากนัก (แต่ IMAP ก็ไม่เรียกเมลมาทั้งหมดทีเดียวหรอกนะ ตอนแรกจะแค่ดึงโครงสร้างไดเรคทอรีมาก่อน จากนั้นเลือกอันไหน ก็ค่อยเอารายการของเมลในนั้นมา เมื่อเลือกเมลจึงจะเรียกข้อมูลเมลมาอีกครั้ง)

จากข้อดี และความเป็นมาตรฐานของระบบ IMAP ทำให้เมื่อวานตัดสินใจติดตั้งเซิร์ฟเวอร์ IMAP บนโน้ตบุคของตัวเอง ใช้โปรแกรมดึงเมลมาเก็บไว้ที่ Maildir ที่กำหนดไว้ก่อน จากนั้นค่อยอ่านเมลผ่าน IMAP ที่อยู่บนเครื่องตัวเอง แค่นี้ก็สะดวกขึ้นเยอะแล้ว ถ้าจะเปลี่ยนเครื่อง หรือเปลี่ยนระบบที ก็เพียงแค่ย้าย Maildir นั้นไปเก็บที่อื่น ก็แค่นั้นเอง สำหรับการติดตั้งนั้นใช้ระบบ DarwinPorts ซึ่งช่วยอำนวยความสะดวกในการติดตั้งซอฟท์แวร์เสรีต่างๆ หลังจากติดตั้ง DarwinPorts ตามขั้นตอนแล้ว ก็เลือกติดตั้ง courier-imap เซิร์ฟเวอร์แบบ IMAP ที่คุ้นเคย โดยใช้คำสั่ง

$ sudo port install courier-imap

เมื่อติดตั้งเสร็จเรียบร้อยก็ทำการสร้าง Maildir สำหรับเก็บเมลของเรา โดย courier-imap กำหนดไว้ว่าจะมาดึงเมลจาก ~/Maildir ซึ่งอยู่ในโฮมของตัวเอง การสร้างก็ใช้คำสั่ง

$ maildirmake ~/Maildir

เสร็จแล้วก็สั่งให้เซิร์ฟเวอร์เริ่มทำงาน โดยอาจจะรีบูตเครื่องใหม่ หรือใช้คำสั่ง

$ sudo /opt/local/etc/rc.d/imapd.sh start

จากนั้นเราก็สามารถเซ็ตให้โปรแกรมอ่านเมล มาดึงเมลจาก IMAP ได้ เพียงแต่ว่ายังคงไม่มีเมล ขั้นตอนต่อไปก็ต้องติดตั้งโปรแกรมดึงเมล เพื่อดึงเมลจาก POP3 ขององค์กรมาเก็บไว้ที่ Maildir เพื่อให้มีเมลใหม่เข้ามาเสมอ โดยจะใช้โปรแกรม fetchmail ซึ่งเป็นโปรแกรมมาตรฐานบนยูนิกซ์ แต่เนื่องจาก fetchmail ยังไม่สนับสนุน Maildir เลยต้องใช้ procmail ซึ่งเป็นโปรแกรมจัดการคัดแยกเมลเข้ามาช่วย โดยติดตั้งจาก

$ sudo port install fetchmail
$ sudo port install procmail

เมื่อติดตั้งเสร็จก็ต้องตั้งค่าต่างๆ โดยกำหนดไว้ในไฟล์ .fetchmailrc และ .procmailrc โดย

poll thaigate.nii.ac.jp proto POP3 port 110 user "cholwich" 
password "mypass" options fetchall fetchsizelimit 1 
mda "/opt/local/bin/procmail"

เป็นการกำหนดให้ไปดึงเมลจาก thaigate.nii.ac.jp โดยใช้โปรโตคอลแบบ POP3 มีการระบุชื่อผู้ใช้และรหัสผ่าน จากนั้นก็กำหนดให้ส่งเมลต่อไปยังโปรแกรม procmail ส่วนใน .procmailrc ก้กำหนดว่า

MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR
LOGFILE=$HOME/.procmail.log
LOCKFILE=$HOME/.procmail.lock
VERBOSE=on

:0
./

ซึ่งระบุให้นำเมลทั้งหมดไปเก็บไว้ที่ root ของ Maildir ซึ่งอยู่ที่ $HOME/Maildir ถ้าอยากจะให้ procmail คัดแยกเมลให้ด้วย ก็สามารถระบุเงื่อนไขต่างๆ ไว้ในนี้ได้เลย แต่ตอนนี้ขี้เกียจระบุ ให้โปรแกรมสำหรับอ่านเมลจัดการเองล่ะกัน เลยระบุไว้เพียงแค่นี้ จากนั้นก็ต้องสั่งให้ fetchmail ด้วยคำสั่ง

$ fetchmail -d 300

ซึ่งจะไปเช็คเมลให้ทุกห้านาที แต่ก็ติดขัดที่ต้องเรียก fetchmail ทุกครั้งที่บูตเครื่องใหม่ ถ้าขี้เกียจก็สามารถเอาไฟล์ .fetchmailrc ไปเก็บไว้ที่ /opt/local/etc/fetchmailrc ก็ได้ อาจจะต้องไปแก้ค่าเกี่ยวกับ procmail ด้วยนิดหน่อย แต่คิดว่าไม่น่ายาก แค่นี้ก็สามารถจัดการเมลได้เรียบร้อย

หมายเหตุ วิธีการนี้สามารถเอาไปใช้บนลีนุกซ์ได้ทันที แต่อาจจะต้องเปลี่ยนตำแหน่ง หรือวิธีการติดตั้งซอฟท์แวร์นิดหน่อย แต่หลักการยังเหมือนเดิม

ป.ล. เขียนไปเขียนมา ยาวเลยแฮะ

11 May 2005

Picasa และ Hello

วันนี้เพิ่งมีโอกาสลองใช้ Picasa กับ Hello ซึ่งเป็นโปรแกรมจัดการรูปบน Windows ที่ Google แจกให้ใช้ฟรี ใ้ช้งานง่ายดี Picasa เป็นโปรแกรมจัดการรูปภาพหน้าตาคล้าย iPhoto บน Mac สามารถตกแต่งภาพแบบง่ายๆ ได้ ใช้งานสะดวก ส่วน Hello เป็นโปรแกรมแบบ IM แต่มีหน้าที่หลักคือใช้ส่งรูประหว่างโปรแกรม และเนื่องจาก Blogger ที่ใช้อยู่ ก็เป็นของ Google ทำให้สามารถเอารูปมาแปะบนบลอกได้ง่ายๆ ข้อเสียอย่างใหญ่หลวงก็คือ ตอนนี้ทำงานได้บน Windows เท่านั้น สำหรับ Mac และ Linux คงต้องรอกันต่อไป

Posted by Hello

ป.ล. เพิ่งไปเจอว่า Blogger แนะนำให้ใช้ flickr แทนสำหรับคนที่ไม่ได้ใช้ Windows

10 May 2005

ครบรอบหนึ่งปี

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

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

GCC 4.0 และ Autovectorization

อ่านข่าวมาหลายวันแล้ว ว่า GCC ออกเวอร์ชันใหม่คือ 4.0 ซึ่งมีฟีเจอร์ใหม่ที่น่าสนใจคือ Autovectorization ซึ่งทำให้สามารถ optimize โปรแกรมที่คอมไพล์ และเลือกใช้พวก Altivec หรือ MMX/SSE ได้อัตโนมัติ โดยไม่จำเป็นต้องเขียนโปรแกรมเองต่างหาก เขาเรียกว่าเป็น Loop vectorizer คือจัดการกับกรณีที่เป็นลูปซึ่งค่อนข้างมีกฎเกณฑ์แน่นอนอยู่แล้ว น่าใช้เหมือนกันแฮะ ได้ข่าวว่า GCC รุ่นนี้มาพร้อมกับ Mac OS X 10.4 เลย คงได้ใช้กันแล้ว ส่วน Linux คงต้องรออีกพักใหญ่ (หลายเดือน) เพื่อใช้ดิสตริบิวชันต่างๆ ปรับมาใช้รุ่นนี้ อย่าง Gentoo ก็ยังเพิ่งจะปรับจาก 3.3 มาเป็น 3.4 ไม่นานนี้เอง ดูเหมือนยังปรับไม่ครบทุกแพลตฟอร์มด้วย แต่ลองดูในฟอรัมก็เริ่มคุยกันเรื่อง 4.0 แล้ว คงจะเริ่มลองกันแล้วมั้ง แสดงว่าอีกไม่นานคงจะได้ลองใช้ ว่าแต่หลังจากกลับมาอยู่เมืองไทยไม่ได้ใช้ Gentoo เลย เนื่องด้วยเหตุผลหลายๆ ประการ ไว้ได้เครื่องใหม่มาแล้วคงจะได้ฤกษ์ลองซะที

03 May 2005

Gentoo Handbook on PDA

เจอข่าวรายสัปดาห์จาก Gentoo ว่ามีคนเอา Handbook ซึ่งเป็นเอกสารสำหรับการติดตั้งของ Gentoo มาแปลงเป็นรูปแบบ Plucker เพื่อให้อ่านบน PDA ต่างๆ ได้ เพิ่มความสะดวกในเวลาติดตั้ง Gentoo เพราะไม่จำเป็นต้องพิมพ์ handbook ออกมาอ่านก่อน สามารถอ่านบน PDA ได้เลย เป็นการประหยัดกระดาษได้ด้วย

นอกจากนี้ทำให้รู้จักว่ามีโปรแกรมชื่อว่า Plucker ซึ่งช่วยแปลงเอกสารในรูปแบบต่างๆ เพื่อนำไปแสดงบน PDA ได้สะดวก ไว้ต้องลองเอามาใช้บ้างแล้ว

Gentoo Handbook on PDA

เจอข่าวรายสัปดาห์จาก Gentoo ว่ามีคนเอา Handbook ซึ่งเป็นเอกสารสำหรับการติดตั้งของ Gentoo มาแปลงเป็นรูปแบบ Plucker เพื่อให้อ่านบน PDA ต่างๆ ได้ เพิ่มความสะดวกในเวลาติดตั้ง Gentoo เพราะไม่จำเป็นต้องพิมพ์ handbook ออกมาอ่านก่อน สามารถอ่านบน PDA ได้เลย เป็นการประหยัดกระดาษได้ด้วย

นอกจากนี้ทำให้รู้จักว่ามีโปรแกรมชื่อว่า Plucker ซึ่งช่วยแปลงเอกสารในรูปแบบต่างๆ เพื่อนำไปแสดงบน PDA ได้สะดวก ไว้ต้องลองเอามาใช้บ้างแล้ว

Altivec รอบสอง

เคยเขียนถึง Altivec หรือ Velocity Engine ซึ่งเป็นตัวประมวลผลแบบเวคเตอร์ของซีพียูตระกูล Power ซึ่งนำมาใช้ใน Mac ไปแล้วรอบนึง วันนี้กำลังพัฒนาระบบขึ้นมาใช้งานใหม่ เลยอยากรู้ว่า Altivec จะทำงานได้เร็วกว่าตัวประมวลผลแบบปกติแค่ไหน เลยลองเขียนโปรแกรมหาระยะทางแบบยูคลิดดู ซึ่งถ้าเขียนแบบธรรมดาก็จะเขียนได้ง่ายๆ แบบข้างล่างนี้

float eucidean(int len, float *x, float *y) {
 int i;
 float sum=0.0;
 
 for(i=0; i<len; i++) {
   sum += (x[i]-y[i])*(x[i]-y[i]);
 }
 return sqrt(sum);
}

โปรแกรมนี้ก็ทำงานง่ายๆ โดยเอาข้อมูลใส่ไว้ในอะเรย์แบบ float สองตัว (x กับ y) แล้วก็วนรอบคำนวณทีละตัวจนครบทุกตัว ส่วนโปรแกรมที่ทำงานแบบเวคเตอร์นั้น จะแบ่งมาคำนวณทีละ 4 ตัว ตามความสามารถของซีพียู G4 ที่ใช้อยู่ตอนนี้ เลยจะได้โปรแกรมอย่างข้างล่าง

float eucidean_altivec(int len, float *x, float *y) {
 int i=0,l;
 vector float vx,vy,vz,vsum=(vector float)vec_splat_s8(0);
 float sum=0.0;
 
 while(len>0) {
  /* Warning!!! size of float array must be divided by 4 */
  vx = (vector float)vec_ld(0, x+i);
  vy = (vector float)vec_ld(0, y+i);
  vz = vec_sub(vx, vy);
  vsum = vec_madd(vz, vz, vsum);
  len -= 4;
  i += 4;
 }
 vsum = vec_add(vsum, vec_sld(vsum,vsum,4));
 vsum = vec_add(vsum, vec_sld(vsum,vsum,8));
 vec_ste(vsum, 0, &sum);
 return sqrt(sum);
}

โปรแกรมนี้จะเริ่มจากการโหลดข้อมูลจากอะเรย์ไปเก็บไว้ในเวคเตอร์ (vx, vy) โดยใช้คำสั่ง vec_ld จากนั้นเอามาลบกันด้วย vec_sub เก็บไว้ที่ vz เสร็จแล้วก็เอายกกำลังสอง (คูณกันเอง) แล้วบวกเก็บไว้ที่ vsum สุดท้ายจะได้เวคเตอร์ที่เก็บผลรวมไว้ แต่ยังแยกเป็นสี่กลุ่ม ก็เลยเอา vsum มาเลื่อนไปมา ด้วยคำสั่ง vec_sld แล้วก็เอามาบวกกัน สุดท้ายจะได้ผลรวมอยู่ที่ตำแหน่งแรกสุด ซึ่งก็คือค่าที่ต้องการหา

ลองเทียบความเร็วด้วยการคำนวณหาระยะทางโดยให้ x และ y เป็นจุดในพื้นที่ 120 มิติ แล้วให้ทำงานหนึ่งล้านครั้ง โดยไม่มีการ optimize ตอนคอมไพล์ ได้เวลาที่แตกต่างกันเยอะพอสมควร โดยแบบธรรมดาจะใช้เวลา

real    0m4.989s
user    0m4.800s
sys     0m0.020s

ส่วนแบบใช้ Altivec ใช้เวลา

real    0m1.303s
user    0m1.260s
sys     0m0.020s

เร็วกว่าเกือบเป็นสี่เท่าเลยเนอะเนี้ย แต่ถ้ากำหนดให้สุ่มตัวเลขขึ้นมาก่อน (ด้วย rand()) ก็จะเสียเวลาไปกับการสุ่มตัวเลขซะจนไม่เห็นความแตกต่่างเลยล่ะ สรุปยังไงดีเนี้ย ..... สรุปว่าถ้าใช้เวคเตอร์ได้ก็เร็วดี แต่ว่าจะต้องเสียเวลาคิดวิธีการคำนวณใหม่ บางครั้งถ้าการคำนวณไม่ใช่จุดที่ใช้เวลาหลักของโปรแกรม การเปลี่ยนไปใช้การคำนวณเวคเตอร์ก็อาจจะไม่ให้ประโยชน์เท่าไรนัก ลองใช้พวก profiler ตรวจโปรแกรมดูก่อนก็ดี นอกจากนี้การใช้เวคเตอร์จะทำใช้โปรแกรมที่ได้ ไม่เป็นมาตรฐานเอาไปใช้บนระบบอื่นๆ ไม่ได้ ถ้าทำใช้เองก็คงจะไม่มีปัญหา แต่ถ้าคิดจะเอาไปแจกจ่ายก็คงต้องพิจารณาตรงนี้ด้วย

29 April 2005

Tiger

วันนี้แล้วสินะที่ Mac OS X 10.4 หรือที่เรียกกันว่า Tiger จะออกขายซะที ช่วงนี้เลยมีคนรีวิวมาให้อ่านเยอะเลย แต่อ่านแล้วรู้สึกละเอียดสุดๆ ก็ต้องของ ARS รีวิวกันยาวหลายหน้าเลย แต่โดยรวมๆ แล้วทุกคนก็ถูกใจกับฟีเจอร์ใหม่ๆ ของ Tiger เช่น Spotlight ซึ่งช่วยค้นหาข้อมูลทุกอย่างในระบบ ตั้งแต่ไฟล์ ไปจนถึงตารางนัดหมาย หรือ Safari 2 ที่สนับสนุน RSS แล้ว

ส่วนในเมืองไทย วันนี้กับพรุ่งนี้ MacDD มีการจัดงานเปิดตัวและแนะนำ Tiger ที่สยามดิสคัฟเวอรี่ น่าสนใจเหมือนกันนะ แต่คงไม่ได้ไปหรอก ส่วนตัวก็อยากได้ Tiger มาลองเล่นเหมือนกันนะ แต่เอาไว้ก่อนดีกว่า รอให้มันเข้าที่เข้าทางอีกซักหน่อย อีกอย่างคือมันไม่ใช่ของฟรีด้วย ต้องรอเก็บตังค์ก่อน แหะๆๆ ไม่รู้เมืองไทยจะขายซักเท่าไหร่

Browsers Usage Share

วันนี้เจอข่าวจาก ITmedia.co.jp เรื่องส่วนแบ่งของเบราเซอร์ต่างๆ IE ก็ยังคงครองความเป็นผู้นำอยู่ตามคาดด้วยส่วนแบ่ง 86.63% แต่รู้สึกว่าส่วนแบ่งของ IE จะลดลง โดยโดน Firefox จะ Mozilla ยึดไปได้เยอะพอสมควร คือกินส่วนแบ่งอยู่ที่ 8.69% นอกจากนี้ IE ยังเสียส่วนแบ่งให้กับ Safari ของ OS X ด้วย เพราะช่วงหลังๆ นี้คนคงเลิกใช้ IE บน Mac ไปเยอะ ส่วนที่เหลือก็ได้ส่วนแบ่งไปคนละประมาณ 1% ซึ่งรวม Opera ด้วย วันก่อนอ่านข่าวเจอว่ามีคนโหลด Opera 8 ไปเยอะเกินคาด จนกระทั่งประธานบริษัทต้องลงไปว่ายน้ำในมหาสมุทรแอตแลนติกตามสัญญา

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

28 April 2005

Top 10 Linux Console Applications

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

  1. Screen
    อันนี้เป็นโปรแกรมหลักสำหรับทำผลการทดลองต่างๆ เลย screen คือโปรแกรมจำลองเทอร์มินัลบนเทอร์มินัลอีกที หรืออาจจะเรียกว่าเป็นโปรแกรมจัดการวินโดว์บนเทอร์มินัลก็ได้ ทำให้เราสามารถรันโปรแกรมหลายๆ โปรแกรมบนเทอร์มินัลตัวเดียวกันได้ โดยจะดีกว่าการรันแบบแบคกรานด์ตรงที่ screen จะจำลองเทอร์มินัลให้เรา ทำให้สามารถเรียกดูโปรแกรมที่กำลังรันได้ โดยไม่จำเป็นต้องสั่งให้เก็บผลการทำงานลงไฟล์ เช่นแต่เดิมเราอาจจะเรียกโปรแกรมโดย
    myprogram &> output.log &
    tail -f output.log (เรียกดูผลที่เก็บไว้ในไฟล์)
    
    จะสามารถเปลี่ยนไปใช้แค่ว่า
    screen myprogram
    
    จากนั้นก็กด Ctrl-A-D เพื่อให้กลับมายัง command prompt เดิม เวลาจะเรียกดูการทำงาน ก็ใช้
    screen -r
    
    นอกจากนี้ถ้าต้องการให้เก็บผลการทำงานไว้ในไฟล์โดยอัตโนมัติ ก็แค่ไปสร้างไฟล์ .screenrc ไว้ใน home แล้วเขียนในไฟล์นั้นว่า
    deflog on
    
    จะทำให้ screen สร้างไฟล์ screenlog.0 เพื่อเก็บผลการทำงานให้ทุกครั้ง
  2. Pine
    โปรแกรมสำหรับอ่านเมลบนคอนโซล ใช้บ่อยมากสมัยเรียนอยู่จุฬาฯ ซึ่งโปรแกรมอ่านเมลแบบที่ใช้ POP3 ยังไม่เป็นที่นิยมเหมือนทุกวันนี้ ตอนนี้ไม่ได้ใช้แล้ว เปลี่ยนมาใช้ Mail บน OS X กับ Thunderbird อ่านแทน เนื่องจากมีคุณสมบัติต่างๆ ดีกว่า รวมถึงพวกภาษาไทย และจัดการแยกเมลขยะให้อัตโนมัติด้วย
  3. Lynx
    โปรแกรมเบราเซอร์บนคอนโซล โปรแกรมนี้ก็ใช้บ่อยเหมือนกันตอนอยู่จุฬาฯ เดี๋ยวนี้ไม่ค่อยได้ใช้บ่อยนัก แต่จะได้ใช้เสมอ เวลาติดตั้ง Gentoo Linux เนื่องจากช่วงแรกยังต้องรอคอมไพล์ xorg-x11 ให้เสร็จก่อน ระหว่างนั้น ถ้าต้องการค้นหาข้อมูลมาใช้กำหนดค่าต่างๆ ก็ต้องพึ่ง lynx เป็นหลัก
  4. MySQL
    โปรแกรมจัดการฐานข้อมูลยอดนิยม ซึ่งได้ใช้เสมอๆ โดยเวลาต้องการทำเว็บเก็บข้อมูล หรือรับลงทะเบียนต่างๆ แหะๆ เนื่องจากขี้เกียจเขียนฟังก์ชันจัดการข้อมูลเอง ใช้ MySQL ไปเลยก็ง่ายดี แถมเร็วด้วย ที่จริงในแง่ของระบบจัดการฐานข้อมูลแล้ว MySQL ยังมีข้อจำกัดอยู่เยอะ แต่ถ้าทำงานง่ายๆ ก็ไม่ค่อยได้ใช้หรอก ถ้าต้องการความสามารถแปลกๆ ก็อาจจะเปลี่ยนไปใช้ PostgreSQL แทนได้ (แต่เคยได้อ่านที่ไหนว่า ประสิทธิภาพในแง่ความเร็ว จะสู้ MySQL ไม่ได้)

ที่ติดอันดับมีแค่นี้แหละ นอกนั้นขอพูดถึงโปรแกรมยอดนิยมส่วนตัว ที่ไม่ติดอันดับบ้าง

  1. Vim
    โปรแกรมบรรณาธิกรณ์หลักที่ใช้อยู่ทุกวันนี้ จำได้ว่าครั้งแรกอ.ญาใจซึ่งสอนภาษาซีตอนปีหนึ่งแนะนำให้ใช้ ความรู้สึกแรกคือทำไมมันใช้ยากอย่างนี้(วะ) เช่น มีแบ่งเป็นโหมดด้วย ว่าจะสั่งงาน หรือจะพิมพ์ข้อความ แถมคำสั่งต่างๆ ก็ต้องจำหมด ไม่สะดวกเอาซะเลย จำได้ว่าตอนนั้นไม่ได้ใช้หรอกใช้ pico แทน มาเริ่มใช้งาน vi จริงๆ จังๆ ก็ตอนไปอยู่ญี่ปุ่นมั้ง หลังจากเริ่มเบื่อ Mule ซึ่งอืดมากๆ สำหรับเครื่องในยุคนั้น พอเริ่มใช้งาน เริ่มคุ้นและจำคำสั่งต่างๆ ได้ ก็จะรู้สึกว่า vi สะดวกมาก ยิ่งเป็น vim ด้วย จะมีคำสั่งเพิ่มเติมหลายๆ อย่าง ทำให้สามารถเขียนโปรแกรมหรือพิมพ์งานต่างๆ ได้เร็วกว่าโปรแกรมบรรณาธิกรณ์อื่นๆ เยอะ ไม่จำเป็นต้องยกมือไปจับเมาส์ด้วย ตัวอย่างเช่น ถ้าจะค้นหาข้อความ ก็แค่กด escape แล้วก็กด / ตามด้วยข้อความแค่นั้นเอง จะแทรกบรรทัดใหม่ไปอยู่ที่บรรทัดก่อนตำแหน่งที่จะแทรก กด o แล้วเริ่มพิมพ์ได้เลย ไม่จำเป็นต้องกด end ไปท้ายบรรทัดก่อน แล้วตามด้วย enter แถมเวลาเขียนโปรแกรมก็มีระบบจัดย่อหน้าให้พร้อม
  2. Awk
    โปรแกรมสำหรับจัดการและแก้ไขข้อมูลในไฟล์ข้อความ เวลามีไฟล์ซึ่งเก็บข้อมูลในลักษณะที่หนึ่งบรรทัดเท่ากับหนึ่งเรคคอร์ด และแต่ละเรคคอร์ดมีข้อมูลหลายๆ อย่าง คั่นด้วยตัวอักษรอะไรสักอย่าง เช่น , หรือ : แล้วเกิดอยากได้ข้อมูลบางตัว อยากตัดบางตัวออก หรืออยากหาผลการคำนวณบางอย่าง จะทำงานได้เร็วมาก ถ้าใช้ awk เพราะเขาออกแบบมาเพื่องานแบบนี้โดยเฉพาะ ไม่จำเป็นต้องไปเสียเวลาเขียน perl ซึ่งอาจจะไม่ช้ามาก แต่ก็ไม่น่าจะเร็วกว่า awk ยิ่งถ้าใช้ C ด้วย ไม่มีทางสู้ awk ได้เลย เพราะกว่าจะเขียนโปรแกรมเสร็จก็แย่แล้ว เช่น ถ้ามีข้อมูลว่า
    0001:12:23
    0002:13:45
    0003:15:78
    0004:22:90
    
    แล้วต้องการหาผลรวมของแต่ละเรคคอร์ด ก็จะใช้ awk ว่า
    awk 'BEGIN {FS=":"}; { sum = $2 + $3; print $1":"sum }'
    
    โดย BEGIN {}; เป็นส่วนสำหรับกำหนดค่า หรือสั่งงานก่อนเริ่มอ่านไฟล์ โดยมีการกำหนดให้แบ่งฟิลด์ด้วยเครื่องหมาย : ส่วน {} ถ้ดมาจะถูกเรียกทำงานเรคคอร์ดละครั้ง ซึ่งจะกำหนดให้หาผลรวมระหว่างฟิลด์ที่สองกับฟิลด์ที่สาม แล้วก็พิมพ์ค่าฟิลด์ที่หนึ่งกับผลรวม
  3. Find
    โปรแกรมนี้ก็ใช้บ่อยเหมือนกัน เวลาหาไฟล์ไม่เจอ ที่จริงคำสั่งนี้ยืดหยุ่นมาก สามารถค้นหาไฟล์โดยกำหนดเงื่อนไขได้หลายรูปแบบมากๆ ไม่ได้จำกัดเฉพาะชื่อไฟล์เท่านั้น สามารถหาไฟล์โดยกำหนดขนาด กำหนดวันที่เปลี่ยนแปลงหลังสุดก็ได้ แถมสร้างเป็นลิสต์ของไฟล์ที่ต้องการส่งต่อไปให้คำสั่งอื่นๆ ได้อีก เคยใช้ find สำหรับแบคอัพข้อมูลเหมือนกัน โดยใช้สร้างลิสต์ของไฟล์ที่มีการเปลี่ยนแปลงใหม่กว่าไฟล์ที่กำหนด เพื่อจะได้เลือกเฉพาะไฟล์นั้นไปเก็บไว้ เป็นการแบคอัพเฉพาะส่วนที่เปลี่ยนแปลง ใช้ง่ายดีเหมือนกันนะ
  4. Tail
    โปรแกรมนี้ใช้บ่อยเหมือนกัน เวลาต้องการแก้ปัญหาต่างๆ ให้เครื่อง เพราะเวลาดู log ถ้าใช้ less ก็จะเสียเวลาเลื่อนไปบรรทัดท้ายๆ เนื่องจากไฟล์จะยาวมากๆ การใช้ tail จะช่วยแสดงส่วนท้ายๆ ของไฟล์ได้ง่ายกว่า

ที่ใช้บ่อยๆ ก็มีแค่นี้ล่ะมั้ง ไว้นึกออกแล้วจะมาเขียนต่อ

25 April 2005

Bioinformatics

ช่วงนี้เริ่มหันมาทำวิจัยที่เกี่ยวข้องกับ Bioinformatics เลยขอจดชื่องานประชุมวิชาการไว้หน่อย เผื่อมีโอกาสส่งงานไปตีพิมพ์กับเขาบ้าง

20 April 2005

TOTOnline

วันนี้เพิ่งย้ายมาอยู่หอพักใหม่เป็นวันแรก ข้าวของ เครื่องใช้ อะไรก็ยังไม่มี มีแค่พอแก่การดำรงชีวิต กับ Powerbook อีกหนึ่งเครื่อง แต่ยังดีที่เขามีโทรศัพท์ให้ใช้ ก่อนกลับบ้านเลยลองหาเกี่ยวกับ TOTOnline ไว้หน่อย เพราะไม่รู้จะไปซื้อชั่วโมงอินเตอร์เน็ตของไอเอสพีที่ไหน ตอนแรกอ่านดูเหมือนจะต้อง signup ก่อน แต่เอาเข้าจริงไม่ต้องทำอะไรเลย แค่โทร 1222 แล้วก็ใช้ totonline@totonline.net กับ totonline แค่นั้นเอง ก็ใช้ดีนะ ไม่เร็วมาก แต่ก็ไม่ช้าจนเกินไป ต่อไปค่อยหาเรื่องใช้ ADSL แต่ไม่รู้ว่าเขาจะยอมให้ติดตั้งหรือเปล่า แถมผ่าน PABX ด้วย

Dragonfly BSD

เจอข่าว Dragonfly BSD ออกรุ่น 1.2 เลยเข้าไปอ่านซะหน่อย ว่ามีอะไรเปลี่ยนแปลงบ้าง Dragonfly BSD พัฒนามาจาก FreeBSD รุ่น 4.x โดยเน้นที่ประสิทธิภาพการทำงาน เช่น มีระบบ Thread แบบ Light weight ใช้ระบบ I/O แบบใหม่ อ่านแล้วอยากรู้เหมือนกันว่าเมื่อเทียบกับ FreeBSD 5.x และ Linux แล้วต่างกันแค่ไหน ลองหาดู ก็เจอการทดสอบที่มีคนลองทำไว้ ยังไม่ได้อ่านรายละเอียด ขอเอามาเก็บไว้ก่อน แต่ดูท่าทางจะเร็วกว่า FreeBSD 5.x พอสมควร

13 April 2005

ปลดล็อค

หลังจากไปซื้อโทรศัพท์มือถือมาใหม่ ด้วยความที่ค่าโทรค่อนข้างถูกกว่าเดิมมาก ทำให้น้องอยากซื้อเบอร์ใหม่ไว้ใช้เวลาที่ต้องการโทรเยอะๆ เป็นการประหยัดค่าโทรศัพท์ เลยจะให้ไปซื้อเฉพาะซิมมาใช้กับเครื่องเก่า (เดี๋ยวเขาขายราคา 199 บาทเองแฮะ) พอไปถามคนขายเลยทำให้ได้ความรู้ใหม่ว่า ต้องไปปลดล็อคอีมี่ (IMEI) ก่อน ถึงจะใช้กับเครื่องเก่าได้ เพราะเครื่องเก่าซื้อมานานหลายปีก่อนเขาจะเปิดเสรีอย่างทุกวันนี้ ทำให้บริษัทผู้ให้บริการล็อคเครื่องไว้ ให้ใช้ได้เฉพาะกับบริการของตนเท่านั้น พอลองไปถามตามร้านดู เขาก็บอกว่าทำได้ คิดค่าทำหนึ่งร้อยบาท พอดีไม่ได้เอาเครื่องไป ก็เลยกะว่าไว้ค่อยไปใหม่ พอกลับมาบ้าน ลองนั่งอ่านเว็บเล่นๆ ดู ทำให้รู้ว่าวิธีปลดล็อคของโทรศัพท์ของโนเกีย เพียงแค่ใส่รหัสที่ถูกต้องลงไป ก็จะปลดล็อคได้เลย โดยไม่จำเป็นต้องใช้อุปกรณ์พิเศษ แต่ว่ารหัสที่จะใส่ลงไปนั้น ต้องคำนวณมาจากค่าอีมี่ มีคนทำโปรแกรมสำหรับคำนวณแจกไว้เสร็จสรรพ พอไปดาวน์โหลดมา หาอีมี่ใส่ลงไป (ดูได้ด้วย *#06#) ได้ค่าออกมา ก็เอาซิมออกแล้วก็ใส่ค่านั้นลงไป ก็จะมีข้อความขึ้นมาว่า ได้ปลดข้อจำกัดไปแล้วเป็นอันเสร็จสิ้น สรุปว่าร้านนั้นเสียรายได้ไปหนึ่งร้อยบาท ส่วนยี่ห้ออื่นดูเหมือนว่าจะต้องใช้อุปกรณ์เพิ่ม คงต้องไปให้ที่ร้านเขาทำให้

12 April 2005

กลับบ้าน

กลับมาอยู่บ้านได้ประมาณ 2 สัปดาห์แล้ว ช่วงนี้เลยไม่ค่อยได้เขียนอะไร เพราะมัวแต่เที่ยว(หาของ)กินอยู่ วันนี้ทุกอย่างเริ่มเข้าที่เข้าทาง เลยได้ฤกษ์กลับมาเขียนอีกครั้ง ตอนแรกคิดว่าจะว่างไปอีกสัก 1 เดือน แต่เมื่อวานได้รับโทรศัพท์ ตกลงว่าวันจันทร์หน้าจะต้องเริ่มทำงานแล้ว แต่ว่ายังเป็นตำแหน่งชั่วคราวก่อน จะเริ่มงานในตำแหน่งประจำจริงๆ อีกครั้งเดือนหน้า สรุปว่าไม่ค่อยได้พักเท่าไหร่ วันนี้เลยเพิ่งไปซื้อโทรศัพท์มือถือมา พอไปกรอกในเอกสารว่าว่างงาน ไม่มีรายได้ พนักงานก็ถามว่าพี่ไม่มีรายได้เลยเหรอ อ้าว...ก็ไม่มีงานทำ จะมีรายได้ได้ยังไง เขาก็ยังถามอีกว่าไม่ใส่ไปหน่อยเหรอ เราก็บอกว่าไม่ต้องหรอก ก็ไม่มีนี่นา ฟังแล้วตลกดี ทำไมต้องพยายามให้เรามีรายได้ด้วย

ไหนๆ ก็เขียนแล้ว ขอพูดถึงข่าว Ubuntu เพราะเมื่อสองวันก่อนออกรุ่น 5.04 เรียบร้อยแล้ว ใช้ Bittorrent โหลดซีดีอิมเมจมาเรียบร้อย ติดตั้งใช้งานได้ดีเหมือนเดิม ถึงแม้ว่าตอนนี้จะใช้ ADSL ของบริษัททศท. แต่ก็เสียเวลาโหลดเยอะเหมือนกัน แหะๆๆ สมัยอยู่ญี่ปุ่นโหลดซีดีหนึ่งแผ่น ใช้เวลาประมาณ 10 นาทีเอง มาอยู่เมืองไทยแล้ว ใช้เวลาเกือบหนึ่งวันได้มั้ง แต่ก็ยังดีกว่าใช้โมเด็มเยอะ เพราะไม่จำกัดเวลาใช้งาน

29 March 2005

Mozilla Firefox บน Ubuntu

เมื่อวานกลับมาใช้ Ubuntu อีกครั้ง แล้วเพิ่งจะสังเกตเห็นว่า Mozilla Firefox ที่มากับ Ubuntu แสดงภาษาไทยแล้ววรรณยุกต์ไม่ลอย สามารถจัดระดับวรรณยุกต์ได้ถูกต้อง เลยลองไปเอาซอร์สของ Mozilla Firefox ที่ Ubuntu ใช้มาดู เลยรู้ว่าไม่ได้ใช้ซอร์สแบบปกติ แต่มีการเพิ่มเติมเพื่อให้ใช้ pango ในการแสดงตัวอักษร ซึ่งทำให้แสดงผลภาษาพิเศษต่างๆ ได้ถูกต้องมากยิ่งขึ้น (ลองอ่านในเว็บต่างๆ คร่าวๆ ดูเหมือนว่าจะเอามาจาก Fedora Core อีกที) พอรู้ว่าใช้ pango ก็เกิดความคิดว่าถ้าเราเอา pango-libthai ที่พี่เทพทำไว้มาใช้ ก็อาจจะทำให้ตัดคำได้ โดยไม่จำเป็นต้องไปคอมไพล์ใหม่ เพราะ pango จะเรียกใช้โมดูลการแสดงผลที่กำหนดไว้ใน /etc/pango/pango.modules ให้ทันที แต่สิ่งต่างๆ ในโลกนี้มักจะไม่ง่ายอย่างที่คิด เอา pango-libthai มาลงแล้ว มันก็ยังไม่ตัดคำให้เหมือนเดิม ทั้งที่ลอง gedit ก็ทำงานอย่างดี แถมลอง strace ดูการทำงานของ Firefox ก็เห็นว่ามีการเรียกใช้โมดูลตามที่ต้องการ สุดท้ายเลยลองไปดูซอร์สส่วนที่ใช้ pango ดูเหมือนว่าเขาจะตัดข้อความมาเป็นชิ้นๆ ก่อน แล้วค่อยส่งให้ pango จัดการวาดตัวอักษร เลยทำให้ไม่ได้ใช้ความสามารถของ pango ในการตัดบรรทัด พอรู้อย่างนี้ก็เริ่มหมดความสามารถแก้ต่อ ไว้กลับเมืองไทยว่างๆ แล้วค่อยลองดูอีกทีล่ะกัน (แต่เอามาบันทึกไว้ก่อน)

28 March 2005

Gentoo 2005.0

หลังจากรอมาหลายอาทิตย์ ในที่สุด Gentoo ก็เปิดตัวเวอร์ชันแรกของปีนี้ซึ่งก็คือ 2005.0 ยังไม่เห็น release note เหมือนกัน แต่คิดว่าคงไม่มีอะไรเปลี่ยนแปลงมาก เป็นการออกรุ่นใหม่ตามปกติ โดยปกติแล้วจะไม่ค่อยตื่นเต้นกับการออกรุ่นใหม่ของ Gentoo มากนัก เพราะคนที่ใช้อยู่ถ้าอัพเดตแพคเกจต่างๆ ก็จะเปลี่ยนไปใช้รุ่นปัจจุบันโดยอัตโนมัติ คือไม่ว่าจะติดตั้งจากรุ่นไหน ถ้าขยันอัพเดตก็จะได้ใช้รุ่นใหม่ล่าสุดเสมอ คนที่จะได้ผลประโยชน์ที่สุด ก็คือคนที่คิดจะติดตั้ง Gentoo ใหม่ เพราะจะสามารถใช้แพคเกจแบบไบนารีรุ่นใหม่ ทำให้ไม่ต้องเสียเวลาคอมไพล์ใหม่ทั้งหมด คราวนี้ที่รอรุ่นใหม่ก็เพราะจะกลับเมืองไทยแล้ว เลยอยากโหลดแพคเกจซีดีของรุ่นใหม่เก็บไว้ก่อน เวลาไปจัดการเครื่องใหม่ จะได้ไม่ต้องเสียเวลาคอมไพล์กันเป็นวันๆ เหมือนที่ทำทุกที

24 March 2005

รำลึกความหลัง (3)

หลังจากนั้นไม่นานก็ได้ไปเจออาจารย์ เจอครั้งแรกก็ดูท่าทางแกเป็นคนใจดี เห็นยิ้มตลอดเวลา ที่จริงแกก็เป็นคนใจดีแหละ คือไม่จู้จี้จุกจิกในเรื่องเล็กๆ น้อยๆ อย่างที่อาจารย์บางคนเป็น เช่นกำหนดเวลาว่าต้องมีแล็บกี่โมง กลับกี่โมงอะไรทำนองนั้น อาจารย์แกไม่สนใจเรื่องพวกนี้เลย ขอแค่มาแล็บ แล้วก็ทำงานในส่วนของตัวเองให้ดีพอก็ใช้ได้แล้ว แต่จะว่าแกใจดีเกินไปก็ไม่ถูก เพราะมีเวลาโหดเหมือนกัน หุๆๆ วันนั้นอาจารย์แกก็พาไปดูห้องแล็บ ซึ่งมีห้องเล็กๆ อยู่สามห้อง ห้องแรกเป็นห้องของนักเรียนปริญญาเอก ซึ่งมีกันอยู่สองคน ห้องที่สองเป็นห้องของนักเรียนปริญญาโท ซึ่งมีอยู่สี่คน (ปีหนึ่ง สองคน, ปีสอง ที่กำลังจะจบอีกสองคน) ห้องที่สามเป็นห้องรวมมีนักเรียนปีสี่อยู่สี่คน แล้วก็มีเครื่องตั้งเรียงรายไว้ สมัยนั้นแล็บยังนิยมใช้ยูนิกซ์ คอมพิวเตอร์ส่วนใหญ่จึงมักจะเป็นเครื่องของซัน เครื่องที่เป็นพีซีก็จะลง FreeBSD ไว้ ทั้งแล็บมี Windows ให้ใช้เครื่องเดียวสำหรับเวลาจำเป็นเท่านั้น ตอนนั้นตัวเองยังนิยม Windows อยู่ แต่ก็ไม่ได้รู้สึกอะไรมาก เพราะตั้งแต่เรียนปีสองมา ก็ใช้ SunOS มาเป็นส่วนใหญ่ ทำให้พอใช้เป็นบ้าง แต่ว่าก็ต้องมันศึกษาเพิ่มเติมเยอะเหมือนกัน เพราะตอนอยู่จุฬาฯ ใช้ยูนิกซ์สำหรับเขียนโปรแกรม ส่งเมล์ แล้วก็เล่นเว็บเท่านั้น แต่ที่นี่ต้องใช้ยูนิกซ์ทำทุกอย่าง ทำให้ต้องศึกษาเองพอสมควร ทำไปทำมาเลยกลายเป็นหลงรักยูนิกซ์ไปซะแล้ว แต่อย่างไรก็ดี หน้าที่ที่สำคัญที่สุดในตอนนั้น ก็คือการเรียนภาษาญี่ปุ่น อาจารย์บอกไว้ก่อนเลยว่า หกเดือนแรกนี้ยังไม่ต้องทำอะไรหรอก ให้ตั้งใจเรียนภาษาญี่ปุ่นให้เต็มที่ก็พอแล้ว แต่ก็ไม่วายทิ้งท้ายว่า ถ้ามีเวลาว่างก็อ่านหนังสือเกี่ยวกับ AI ไว้หน่อยล่ะกันนะ

พูดถึงการเรียนภาษาญี่ปุ่น เนื่องจากเราได้ทุนผ่านทางสถานทูต จึงมีคอร์สเรียนภาษาญี่ปุ่น 6 เดือนโดยอัตโนมัติ เรียกว่าคอร์ส intensive คือเรียนทุกวันตั้งแต่เก้าโมงเช้า ถึงบ่ายสามโมง เหมือนเด็กนักเรียนประถม คอร์ส intensive ที่ว่านี้ถือเป็นสิทธิพิเศษของนักเรียนที่ได้ทุนผ่านสถานทูต เพราะคนที่ได้ทุนจากมหาวิทยาลัยโดยตรงจะไม่ได้เรียนคอร์สนี้ แต่จะสามารถเรียนคอร์สภาษาญี่ปุ่นต่างๆ ที่เปิดสอนได้ โดยจะเรียนน้อยกว่ามาก แค่สัปดาห์ละสองครั้ง ครั้งละชั่วโมงครึ่งเท่านั้น และในบรรดาคนไทยที่มารอบนี้ทั้งหมด 5 คน ปรากฏว่ามีเราคนเดียวที่จะได้เรียน ตอนแรกก็คิดว่าน่าจะเหงาเหมือนกันนะ แต่ทำไปทำมาพี่ต่อกับพี่ลัดดาก็สามารถขออาจารย์มาเรียนคอร์สเดียวกับเราได้ (โดยแล็บจ่ายเงินค่าเรียนให้) ส่วนอีกสองคนคือ พี่กระแต อาจารย์ไม่สนับสนุนให้เรียนภาษาญี่ปุ่นเท่าไหร่นัก โดยให้เหตุผลว่าใช้ภาษาอังกฤษก็พอแล้ว ส่วนพี่ชัยต้องเข้าเรียนปริญญาโทคอร์สภาษาอังกฤษเลย ทำให้ไม่สามารถมาเรียนภาษาญี่ปุ่นเต็มเวลาได้

คอร์สภาษาญี่ปุ่นเหล่านี้จัดสอนโดยศูนย์นักเรียนต่างชาติ โดยอาจารย์ส่วนใหญ่จะเป็นอาจารย์พิเศษซึ่งทำงานพาร์ทไทม์ มีอาจารย์ประจำอยู่ไม่กี่คน หรือถ้าจะพูดให้เจาะจงอาจารย์พิเศษที่มาสอนภาษาญี่ปุ่นนั้น ก็คือแม่บ้านชาวญี่ปุ่นซึ่งจะมาสอนภาษาสัปดาห์ละประมาณสองหรือสามวัน แต่ก็ไม่ใช่ว่าแม่บ้านทั่วๆ ไป จะมาสอนได้ทุกคน เพราะคนที่จะมาสอนภาษาญี่ปุ่นได้ จะต้องมีใบประกาศนียบัตรซึ่งต้องไปเรียน แล้วสอบผ่านมาก่อน คอร์ส intensive คราวที่เราเรียนนั้น เขาแบ่งออกเป็นสองห้อง คือห้อง A สำหรับคนที่ยังไม่เคยเรียนมาก่อน กับห้อง B สำหรับคนที่เรียนมาบ้างแล้ว เราก็ได้อยู่ห้อง A ตามคาด ในห้องมีนักเรียน 12 คน มาจากประเทศต่างๆ กัน ทั้งเม็กซิโก ชิลี จีน อียิปต์ ฝรั่งเศส โครเอเชีย ฟิลิปปินส์ บราซิล พม่า และเป็นไทยสามคน ชาวไทยเลยกลายเป็นมหาอำนาจในห้องเรียน หุๆๆ

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

ป.ล. ช่วงนี้คงเขียนข้ามๆ ตามที่นึกออก เพราะรู้สึกว่าความจำไม่ค่อยอยู่กับร่องกับรอยเท่าไรนัก

wgetpro

ช่วงนี้ดูทีวีญี่ปุ่นลำบากเพราะว่ายกโทรทัศน์ พร้อมกับเครื่องใช้ไฟฟ้าให้คนอื่นไปหมดแล้ว เลยต้องหันมาดูทีวีไทยจากอินเตอร์เน็ตแทน แต่จะกดดูตรงๆ บางครั้งก็ค่อนข้างช้า ติดๆ ขัดๆ เลยพยายามหาทางโหลดมาเก็บไว้ในเครื่องตัวเองก่อน แล้วค่อยดูอีกที แต่เนื่องจากเว็บส่วนใหญ่นิยมใช้ mms ทำให้ไม่สามารถใช้โปรแกรมดาวน์โหลดที่ชอบใช้ เช่น wget หรือ curl ได้ (ถ้าเป็นบน Windows เห็นนิยมใช้ flashget กันนะ) ตอนแรกก็ใช้ mencoder ซึ่งมากับ mplayer โหลด แต่มีปัญหาว่าไฟล์ที่ได้มันจะถูกแปลงไปเป็น .avi ที่ใช้ codec พิเศษ ทำให้ต้องใช้ mplayer เท่านั้นจึงจะดูได้ วันก่อนเลยลองหาใหม่ เจอ wgetpro ซึ่งเอาซอร์สของ wget มาเพิ่มส่วนจัดการโปรโตคอล mms ทำให้สามารถโหลดคลิปต่างๆ ได้เรียบร้อย ดูเหมือนว่าที่แยกออกมาจาก wget เพราะมีปัญหาเรื่องสิทธิบัตรซอฟท์แวร์ ทำให้ใช้ในประเทศบางประเทศไม่ได้ ส่วนวิธีใช้ก็ง่ายมาก หลังจากคอมไพล์และติดตั้งตามปรกติแล้ว ก็แค่

$ wpro mms://......

22 March 2005

รำลึกความหลัง (2)

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

หลังจากพี่ตี๋พาขึ้นรถไฟมามหาวิทยาลัย ก็ทำให้รู้ว่าหอที่พักอยู่ห่างจากมหาวิทยาลัยมาก (มิน่านั่งแท็กซี่ตั้งนานกว่าจะถึง) โดยแคมปัสตั้งอยู่ในเขตจังหวัดโตเกียว ในขณะที่หอพักตั้งอยู่ในเมืองโยโกฮะมะ จังหวัดคะนะกะวะ เลยต้องเดินทางด้วยรถไฟประมาณ 40 นาที สมัยนั้นเมืองไทยยังไม่มีรถไฟฟ้าบีทีเอส ทำให้รู้สึกว่าการเดินทางด้วยรถไฟนี่ก็สะดวกสบายดี และบริษัทรถไฟของญี่ปุ่นจะประกาศตารางเวลาที่แน่นอนไว้ และรถไฟจะมาตรงเวลาเสมอ จำได้ว่าพี่ตี๋แกสอนอ่านตารางรถไฟด้วย พอไปถึงแคมปัสซึ่งอยู่ติดสถานีโอโอะกะยะมะ เรียกว่าเดินออกจากสถานีปุ๊บก็เห็นประตูทางเข้าเลย ตัวแคมปัสเล็กกว่าที่คิดไว้เยอะเลย แต่ก็ไม่ได้แคบจนเกินไปนัก พี่ตี๋พาเราเดินไปดูตึกต่างๆ แล้วก็ไปเจอกลุ่มคนไทยที่ตึก S3 ซึ่งเป็นตึกของภาคไฟฟ้าและคอมพิวเตอร์ในสมัยนั้น ได้เจอคนไทยเยอะๆ ก็รู้สึกอบอุ่นดี ทำให้รู้ว่าที่นี่มีคนไทยอยู่เยอะมาก ประมาณ 40-50 คน แถมคนไทยยังมีนิสัยชอบเดินไปเดินมา (อันนี้คิดเอาเอง) เพราะเวลาออกจากแล็บมา มักจะเจอนักเรียนไทยอย่างน้อย 2-3 คนเสมอ หลังจากทักทายกันเป็นที่เรียบร้อยจนเริ่มเย็น พี่ตี๋ก็พาไปฝั่งมิโดริกะโอกะ เพื่อไปสบทบกับคนที่เพิ่งมาใหม่วันนี้เหมือนกัน ทำให้เจอพี่ชัยซึ่งหายตัวไปตั้งแต่เช้า แล้วก็เจอพี่ต่อซึ่งเป็นเพื่อนพี่ตี๋มาเรียนปริญญาเอกทางโยธาเหมือนกัน แล้วพี่ๆ แกก็พาไปกินข้าวที่จิยูกะโอกะ (วันนั้นจำชื่อไม่ได้หรอก รู้สึกแค่ว่าทำไมมันซ้ำๆ กันอย่างนี้ มีแต่กะโอกะ แล้วจะจำได้ไหมเนี้ย) วันนั้นไปกินสปาเก็ตตี้ที่ร้านคะปิโจซะ จำได้แค่ว่าบรรยากาศก็ดี แถมรสชาติก็ดีกว่าอาหารญี่ปุ่นเยอะเลย ร้านนี้เป็นที่พึ่งให้เราอีกนาน จนก่อนย้ายมาโอซาก้าถึงจะปิดตัวเองไปเนื่องด้วยสภาพเศรษฐกิจ นอกจากนี้ในวันนั้นยังได้รู้ว่าเราเป็นคนไทยที่มาใหม่คนเดียวที่ต้องอยู่หอโชฟู ส่วนคนอื่นๆ เขาอยู่ที่หออุเมะกะโอะกะ ซึ่งอยู่สถานีถัดไป 1 สถานีจากสถานีของหอเรา สถานีนั้นชื่อฟุจิกะโอะกะ ฟังแล้วเริ่มคิดว่ากะโอะกะเนี้ยมันต้องเกี่ยวข้องกับสถานที่อะไรแน่เลย ทำไมต้องเอามาต่อท้ายตลอดเลยเนี้ย

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

วันรุ่งขึ้นเราก็ไปพบอาจารย์ที่แล็บ ซึ่งถามพี่หลายๆ คนจนรู้ว่าแล็บอยู่ชั้น 10 ตึก S3 สภาพตึกนั้นเก่าใช้ได้ทีเดียวไม่ต่างจากตึกของภาคที่จุฬาฯ เท่าไรนัก ด้วยความที่ไปเช้าจัด ทำให้วันนั้นแล็บเงียบสนิท ไม่มีใครอยู่ซักคน อาจารย์ก็ไม่อยู่ หลังจากด่อมๆ มองๆ หน้าห้องอาจารย์อยู่นาน คนที่เดินผ่านมาก็เลยถามว่ามาทำอะไร พอบอกว่ามาหาอาจารย์ แกก็ดูป้ายหน้าห้องแล้วบอกว่าเหมือนว่าอาจารย์จะไม่อยู่นะ เอาอย่างนี้ล่ะกันเดี๋ยวพาไปถามที่ห้องธุรการของภาคฯ สุดท้ายแกก็พาไปที่ชั้นสอง ซึ่งเป็นสำนักงานต่างๆ พอไปถามก็ได้ความว่าอาจารย์ไม่อยู่หลายวันเลย เราเลยกะว่างั้นกลับก่อน แล้วค่อยมาหาแกทีหลังดีกว่า (ที่จริงถ้าเรามาสาย(บ่าย)กว่านั้นก็คงจะเจอนักเรียนในแล็บแหละ) แต่ยังไงก็ต้องขอบคุณพี่คนนั้นแกไว้ด้วย ที่ช่วยพาไปถามให้

15 March 2005

Ubuntu and Sun J2SDK

ขอคั่นเรื่องยาวไว้ก่อน เนื่องจากวันนี้ต้องการใช้ Java บน Ubuntu ที่ลงเมื่อวานนี้ ตอนแรกก็ลองลงเองไปแล้วล่ะ แต่มีปัญหาเรื่องกำหนด PATH นิดหน่อย เลยลองค้นๆ เว็บดู ไปเจอคนโพสต์วิธีติดตั้ง Java ของ Sun โดยใช้ระบบแพคเกจไว้ด้วย เนื่องจากมีปัญหาเรื่องสัญญาการใช้งาน ทำให้ลินุกซ์ส่วนใหญ่จะไม่ทำแพคเกจของ J2SDK มาให้ทันที ต้องหาทางลงด้วยวิธีต่างๆ วิธีที่เจอนี้ทำได้ง่ายโดยการลงแพคเกจที่ชื่อ java-package เพื่อให้สามารถสร้างแพคเกจของตัวเองจากไฟล์ที่โหลดมาจาก Sun จากนั้นจึงเอาแพคเกจที่ได้มาติดตั้ง ก็เป็นอันเสร็จสิ้น ขอจดวิธีการทั้งหมดไว้ก่อนกันลืม

$ sudo apt-get install java-package
$ fakeroot make-jpkg j2sdk-1_4_2_07-linux-i586.bin (ต้องไปโหลด J2SDK รุ่นที่ต้องการมาไว้ก่อน)
$ sudo dpkg -i sun-j2sdk1.4_1.4.2+07_i386.deb (ตามแพคเกจที่ได้)

14 March 2005

รำลึกความหลัง (1)

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

หลักจากนั้นก็ตั้งหน้าตั้งตาทำโปรเจคท์กับมอส ไปๆ มาๆ ระหว่างเนคเทคกับจุฬาฯ มาก จนกระทั่งเดือนมกราคม ก็มีจดหมายฉบับหนึ่งส่งไปที่บ้าน แสดงความเสียใจว่าเราไม่ได้ทุน จำอารมณ์ตอนอ่านจดหมายไม่ได้แล้วล่ะ แต่จำได้ว่าไม่ได้รู้สึกเสียใจมากนัก เพราะตัวเองก็ได้แค่ตัวสำรอง จากนั้นเรียนจบก็เลยไปทำงานที่ NCR ตามคำชวนของพี่ต๋อง เนื่องจากตอนปีสามไปฝึกงานที่นั่น เริ่มทำงานตั้งแต่วันแรกที่เรียนจบ คือ 16 มีนาคม 2541 ที่จริงที่บ้านก็อยากให้เรียนต่อนะ แต่ตัวเองรู้สึกเสียดายเงิน (ช่วงนั้น 1 ดอลลาร์ ประมาณเกือบ 50 บาท) เลยคิดว่าขอทำงานหาประสบการณ์ก่อนดีกว่า แล้วค่อยเรียนต่อทีหลัง พอเริ่มทำงาน ก็เริ่มสนุกกับงานไปอีกแบบหนึ่ง เพราะได้ทำในสิ่งที่ตัวเองอยากทำ คือ ออกแบบระบบและเขียนโปรแกรม ที่ NCR ใช้ Delphi เป็นหลัก พอเริ่มสนุกกับงาน คือ ทุกอย่างเริ่มลงตัว มีที่นั่งประจำเป็นของตัวเอง การเดินทางก็ไม่ลำบากนัก เพราะใช้เรือด่วนเจ้าพระยา แป๊บเดียวก็ถึง ไม่มีรถติดมาให้กังวลใจ จนเดือนสิงหาคม ต้องไปติดตั้งโปรแกรมที่สิงคโปร์ ซึ่งเป็นการเดินทางไปต่างประเทศครั้งที่สอง ระหว่างที่อยู่สิงคโปร์แล้วโทรกลับมาบ้าน ปรากฏว่าแม่บอกว่าสถานทูตญี่ปุ่นส่งจดหมายมาว่าจะให้ทุน เล่นเอาคืนนั้นนอนไม่หลับเลย เพราะตัวเองเป็นคนไม่ชอบการเปลี่ยนแปลง ยิ่งการไปเรียนต่อที่ญี่ปุ่นเป็นการเปลี่ยนแปลงที่ใหญ่มากๆ เพราะต้องไปอยู่ในประเทศที่ไม่รู้จัก แถมเป็นประเทศที่ไม่พูดภาษาอังกฤษอีก ที่บ้านทุกคนอยากให้ไปมากๆ เพราะอยากให้เรียนต่อเป็นทุนเดิมอยู่แล้ว แถมงานบริษัทที่ทำมันก็ไม่ได้มั่นคงอะไรนัก คือถ้าวันดีคืนดีระบบที่เราทำอยู่ขายไม่ออก เราก็โดนปลดออกเท่านั้นเอง เพราะบริษัทเขาจะดูกำไรต่อจำนวนพนักงาน ถ้ากำไรน้อยลง ก็ต้องลดพนักงานลง โดยไม่สนใจว่าพนักงานเรานั้นได้เรียนรู้ หรือว่าเตรียมระบบอะไรไว้ขายบ้าง เขากะว่ามีโอกาสเมื่อไหร่ก็จ้างเพิ่มได้เมื่อนั้น ท้ายที่สุดก็ไปคุยกับอาจารย์บุญเสริม แล้วก็ตัดสินใจว่าจะไปเรียนต่อที่ญี่ปุ่น ตอนนั้นมีเวลาเตรียมตัวไม่มาก ภาษาญี่ปุ่นก็ไม่เคยเรียนสักตัว ถามดังเจตน์ว่าจำเป็นไหม ก็ได้คำตอบว่าจำเป็น อย่างน้อยควรจะจำตัวอักษรฮิระงะนะ กับคะตะคะนะได้ แล้วก็ได้แบบฝึกอ่านตัวอักษรเหล่านี้จากฉิม เพราะบ้านฉิมอยู่ข้างๆ บริษัททำให้นัดเจอกันง่ายมาก

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

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

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

คีย์บอร์ดญี่ปุ่นกับไทย

ไหนๆ ก็เขียนเรื่องเกี่ยวกับคีย์บอร์ดแล้ว ขอจดเรื่องคีย์บอร์ดญี่ปุ่นกับไทยบน xorg ไว้หน่อยล่ะกัน คีย์บอร์ดญี่ปุ่นที่ว่านี้พูดถึงคีย์บอร์ดส่วนภาษาอังกฤษที่นิยมใช้กันในญี่ปุ่น แม้ว่าญี่ปุ่นจะใช้ระบบ Qwerty แต่การวางปุ่มเครื่องหมายพิเศษต่างๆ ไม่เหมือนคีย์บอร์ดภาษาอังกฤษที่ใช้ในเมืองไทย เป็นต้นว่า ตรงตำแหน่ง single quote จะเป็น colon ส่วน double quote จะเป็น asterisk สร้างปัญหาให้กับชาวต่างชาติที่เพิ่งมาญี่ปุ่นพอสมควร แต่ส่วนตัวเนื่องจากหลายๆ สาเหตุ ทำให้ตอนนี้ติดคีย์บอร์ดแบบญี่ปุ่นไปแล้ว คือว่ายังจำคีย์แบบเมืองไทยได้ แต่ว่าจะพิมพ์ได้ไม่เร็วเท่าแบบญี่ปุ่น ถ้าใช้วินโดวส์ก็ไม่เกิดปัญหาเท่าไหร่ เพราะสามารถเลือกได้ถูกต้อง แต่พอเวลาใช้ xorg จะเกิดปัญหา

ปัจจุบันเวลาเลือกคีย์บอร์ดภาษาไทย จะทำได้โดยใช้คำสั่ง setxkbmap us+th แต่ว่าถ้าทำอย่างนี้แล้วคีย์ส่วนภาษาอังกฤษจะเป็นแบบอเมริกัน คือแบบที่ใช้กันในเมืองไทย ถ้าอย่างได้ญี่ปุ่นก็เดาว่าต้องใช้ setxkbmap jp+th ปรากฏว่าเกิดปัญหา เพราะจะเลือกไม่ได้เนื่องจากลองเลือก setxkbmap -v jp+th แล้ว พบว่ามันถูกแปลเป็น pc/jp+th แล้วเจ้า pc/jp นี้หมายถึงไฟล์สัญลักษณ์ที่เก็บไว้ที่ /etc/X11/xkb/symbols/pc/jp ซึ่งมันไม่มีอยู่จริง ไฟล์ของคีย์ภาษาญี่ปุ่นเก็บที่ /etc/X11/xkb/symbols/jp ทางแก้ทางแรกสุดคือมั่วครับ ลองก๊อปปี้มันดื้อๆ เลย แล้วลองใหม่ ปรากฏว่าผ่านแฮะ แถมยังเลือกกลุ่มให้ถูกต้องด้วย เป็นอันว่าหมดปัญหา เลยขี้เกียจหาทางแก้ที่ดูดีกว่านี้ เพราะจะว่าไปแล้วคงไม่ค่อยมีใครใช้อยู่แล้ว และอีกไม่กี่วันจะกลับเมืองไทยแล้ว ก็อาจจะไม่ได้ใช้แล้วล่ะ (แต่ไม่แน่ อ.บอกว่าจะยกคีย์บอร์ดอย่างดีให้อันนึง ถ้าได้กลับไป อาจจะต้องติดคีย์บอร์ดญี่ปุ่นต่อไปก็ได้ แหะๆๆ)

Ubuntu 5.04 "Hoary HedgeHog" Preview Release

Ubuntu ออก Preview release สำหรับรุ่น 5.04 มาซักพักใหญ่แล้ว แต่ช่วงนี้ยุ่งๆ เลยไม่ได้ลองซักที วันนี้เพิ่งได้ลอง เนื่องจากเห็นว่ารุ่นนี้เขาใส่ Gnome 2.10 ตัวใหม่ที่เพิ่งออกเมื่อวานที่ 9 มีนา เลยทำให้อยากลอง แหะๆ ขี้เกียจรอ Gentoo คอมไพล์ Gnome ใหม่ทั้งหมด แถม portage ของ 2.10 ยังไม่เสถียรอีกด้วย (คงต้องรอซักพักใหญ่)

เนื่องจากเครื่องที่ใช้งานอยู่เป็น Nocona เลยเลือก iso แบบ AMD64 มาลองก่อน ปรากฏว่าเจอบักตั้งแต่เริ่มติดตั้งเลย ประมาณว่าอยู่ๆ คีย์บอร์ดก็แฮงค์ไปเฉยๆ สุดท้ายเลยไปเอารุ่น i386 มาลองเหมือนเดิม ก็ใช้งานได้ดี แม้ว่าระบบการติดตั้งของ Ubuntu ยังเป็นแบบเทกซ์ แต่ว่าสะดวก เข้าใจง่าย เหมาะกับผู้ใช้มือใหม่มากๆ พอติดตั้งเสร็จ ก็จัดการทุกอย่างให้เรียบร้อย สามารถใช้งาน Gnome ได้ทันที การติดตั้งแพคเกจก็ใช้ apt-get เหมือน debian ทำให้ตัวเองซึ่งเป็นสาวกเก่า debian เข้าใจได้ทันที มีแพคเกจต่างๆ ครบครัน จะใช้ไดร์เวอร์ของ nvidia ก็ง่ายนิดเดียว ทำตาม Wiki ของ Ubuntu ก็ได้แล้ว แค่ sudo apt-get install nvidia-glx แล้วก็ sudo nvidia-glx-config enable ส่วนคอนฟิกของ xorg ใช้วิธีก๊อปปี้มาจาก Gentoo อยู่แล้ว เลยไม่ต้องทำอะไรเพิ่ม สบายไปอย่างหนึ่ง

มาเจอปัญหานิดหน่อยตรง การพิมพ์ภาษาญี่ปุ่น เนื่องจากตัวเองใช้ uim กับ anthy อยู่ เลยลองด้วย sudo apt-get install uim anthy ซึ่งก็จะได้ immodules ของ gtk+ ซึ่งทำให้สามารถพิมพ์ภาษาญี่ปุ่นได้ทันที แต่ไม่รู้ว่าเกิดอะไรขึ้น เหมือนกับว่า uim-immodules ของ Ubuntu ไม่ได้คอมไพล์ uim-anthy มาให้ (ทั้งๆ ที่รายละเอียดของแพคเกจก็บอกว่ามี) เพราะว่าเวลาลองเลือกใช้ uim-anthy แล้วฟ้องว่าหาไม่เจอ ครั้นจะคอมไพล์เองก็ขี้เกียจ เลยลองใช้ผ่าน uim-xim ซึ่งเป็นสะพานระหว่าง uim กับ xim ดู ปรากฏว่าใช้ได้ สรุปว่าใช้ผ่าน xim ไปก่อนล่ะกัน โดยใส่การกำหนดค่าทั้งหมดไว้ใน ~/.gnomerc ซึ่งเป็นความรู้ใหม่ว่าจะถูกเรียกทุกครั้งที่เข้า Gnome

export XMODIFIERS=@im=uim-anthy
export GTK_IM_MODULE=xim
uim-xim &

ส่วนภาษาไทย กำหนดผ่าน Keyboard layout indicator applet ของ Gnome แล้ว ท้ายที่สุดก็สามารถพิมพ์ไทย และญี่ปุ่นได้อย่างราบรื่น

26 February 2005

ที่สุดในโลก

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

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

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

17 February 2005

ใช้ Mac ดีอย่างไร (Why am I using Mac ?)

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

ต่อไปจะเป็นข้อดีของ Mac ที่ทำให้ตัวเองเลือกใช้ โดยเรียงลำดับจากข้อที่สำคัญก่อน

  1. ความเข้ากันได้กับยูนิกซ์ เนื่องจาก MacOS X ก็คือยูนิกซ์ ที่ถูกเอามาแต่งหน้าให้สวยงาม เหมาะกับผู้ใช้ทั่วๆ ไป จนทำให้คนทั่วไปลืมไปว่าข้างในนั้น ก็เป็นยูนิกซ์ดีๆ นี่เอง OS X ใช้เคอร์เนล (หรือแก่นของระบบ) ที่พัฒนาจากเคอร์เนลของยูนิกซ์ BSD ซึ่งชื่อว่า Mach นอกจากนี้ยังให้โปรแกรมพื้นฐานของยูนิกซ์มาทั้งหมด รวมทั้งตัวแปลภาษาและไลบรารีต่างๆ ทำให้สามารถนำโปรแกรมอื่นๆ ที่ใช้กันในระบบยูนิกซ์มาใช้งานได้ทันที โดยแทบจะไม่ต้องเปลี่ยนแปลงหรือแก้ไขอะไรเลย จึงเหมาะกับตัวเองที่ชอบใช้ยูนิกซ์ และการสั่งงานแบบคอมมานไลน์เป็นหลัก (จะมีความสุขมาก ถ้าไม่ต้องยกมือออกจากคีย์บอร์ดไปจับเมาส์) อาจจะมีคนเห็นว่าบนวินโดว์ก็สามารถใช้ Cygwin ได้เหมือนกัน ไม่น่าจะต่างกันมาก แต่ Cygwin นั้น แม้ว่าจะถูกพัฒนาไปเยอะ แต่ยังติดข้อจำกัดอีกหลายๆ อย่าง ประเด็นที่ใหญ่ที่สุด ก็คือ ไม่สามารถนำซอฟท์แวร์สำหรับยูนิกซ์มาใช้งานได้ทันที มักจะต้องมีการปรับแก้บางส่วนก่อน โดยในกรณีที่เป็นซอฟท์แวร์ชื่อดัง ก็จะมีคนทำให้ใช้แล้ว แต่ถ้าเป็นซอฟท์แวร์ตัวเล็กๆ ก็ไม่สามารถใช้ได้ทันที ต้องปรับแก้เองก่อน ทำให้รู้สึกว่าเหมือนมีช่องว่างระหว่างยูนิกซ์กับ Cygwin
  2. ฮาร์ดแวร์ต่างๆ จากข้อที่แล้วอาจจะมีคนเห็นแย้งว่าทำไมไม่เอาโน้ตบุคทั่วๆ ไป มาติดตั้งลินุกซ์ ซึ่งก็ทำให้ใช้ยูนิกซ์ได้อย่างสมบูรณ์ ทำไมต้องใช้แมคด้วย ข้อนี้เป็นความจริงทีเดียว โดยปกติแล้วเครื่องเดสก์ทอปทั้งหมดของตัวเองก็ใช้ลินุกซ์อยู่แล้ว และเดิมก็เอาเคยเอาโน้ตบุคของแล็บมาลงลินุกซ์ใช้อยู่แล้ว แต่ที่คิดเปลี่ยนมาใช้ ก็เป็นเพราะความไม่สมบูรณ์ของไดร์เวอร์สำหรับฮาร์ดแวร์ต่างๆ บนลินุกซ์ ทำให้ไม่สามารถใช้อุปกรณ์ต่างๆ ได้ครบ แต่เดิมก็คิดว่ามันเป็นน่าสนใจ ที่เราสามารถไปค้นหาแล้วทำให้ใช้ฮาร์ดแวร์ต่างๆ บนลินุกซ์ได้ แต่พอนานๆ เข้า ความจำเป็นในการทำงาน เพราะต้องทำงานนอกสถานที่มากขึ้น ต้องการเครื่องที่มีเสถียรภาพในการทำงาน ไม่ต้องกังวลปัญหาต่างๆ ที่อาจเกินขึ้น ทำให้ตัดสินใจเปลี่ยนมาใช้แมคในที่สุด ที่จริงแล้วยังมีอีกทางเลือกหนึ่งในการใช้งานลินุกซ์โดยไม่ต้องกังวลกับปัญหาไดร์เวอร์ ก็คือติดตั้งวินโดว์ลงไปก่อน แล้วใช้โปรแกรมประเภท Virtual Machine แบบต่างๆ เช่น VMWare แล้วติดตั้งลินุกซ์ลงไป ทำให้ไม่ต้องกังวลปัญหาเกี่ยวกับไดร์เวอร์ เพราะจะสามารถใช้ผ่านไดร์เวอร์ของวินโดว์ได้ทันที แต่ก็ดูเหมือนเป็นการสิ้นเปลืองทรัพยากรทั้งตัวประมวลผล และหน่วยความจำ โดยไม่จำเป็น แมคจึงเป็นทางเลือกที่ดีกว่า
  3. ความหลากหลายของซอฟท์แวร์ จากที่พูดถึงไปในข้อแรกว่า OS X ก็คือยูนิกซ์ ทำให้สามารถใช้ซอฟท์แวร์ต่างๆ ของยูนิกซ์ได้ทันที โดยเพียงนำมาคอมไพล์เอง นอกจากนี้ในกรณีของซอฟท์แวร์เสรีต่างๆ ก็มีคนทำระบบติดตั้งซอฟท์แวร์ไว้ให้แล้ว เช่น Fink ซึ่งใช้ระบบแพคเกจของ Debian Linux สามารถใช้คำสั่ง apt-get ติดตั้งซอฟท์แวร์เสรีต่างๆ ได้ทันที ส่วนคนที่ชอบระบบ Ports ของ BSD ก็สามารถใช้ Darwinports ซึ่งเราจะสามารถเลือกได้ว่าจะติดตั้งแพคเกจเลย หรือว่าจะติดตั้งจากรหัสต้นฉบับได้ ส่วนคนที่คุ้นเคยกับ emerge ของ Gentoo Linux ก็สามารถเลือกใช้ Gentoo MacOS เพื่อติดตั้งซอฟท์แวร์จากรหัสต้นฉบับได้เช่นเดียวกับ Gentoo นอกจากซอฟท์แวร์เสรีต่างๆ แล้ว OS X ยังมีทางเลือกให้เราใช้ซอฟท์แวร์ที่ไม่เสรีอื่นๆ ได้ เช่น ไมโครซอฟท์ก็ออกชุดออฟฟิสสำหรับ OS X หรือ Apple เองก็มีซอฟท์แวร์ต่างๆ ให้เลือกใช้มากมายตามแต่กำลังทรัพย์ ไม่ว่าจะเป็น iWork, iLife รวมถึงซอฟท์แวร์ของบริษัทอื่นๆ เช่น Adobe ด้วยเหตุนี้ แมคจึงเป็นเหมือนจุดกึ่งกลางระหว่างสังคมซอฟท์แวร์เสรี กับซอฟท์แวร์เชิงธุรกิจ
  4. ความปลอดภัย เนื่องจากมีคนใช้แมคน้อยกว่าวินโดว์ จึงทำให้แมคยังไม่ตกเป็นเป้าหมายของคนพัฒนาไวรัสมากนัก แต่ต่อไปก็ไม่แน่เพราะคนกำลังหันมาใช้มากขึ้นทุกวัน ยิ่งแอปเปิลหันมาตัดราคาเพื่อขยายส่วนแบ่งในตลาด ยิ่งน่าจะทำให้คนเคยคิดว่าแมคเป็นของราคาแพง หันมาสนใจแมคมากขึ้น แต่อย่างไรก็ดี เมื่อลองดูระบบความปลอดภัยของ OS X โดยส่วนตัวเห็นว่าปลอดภัยกว่าวินโดว์มาก เพราะไม่ได้เน้นที่ความสะดวกของผู้ใช้จนเกินไป จนลืมคิดถึงความปลอดภัย เห็นไปอ่านที่ไหนจำไม่ได้แล้ว แต่มีคนยกข้อนี้มาเป็นข้ออ้างว่าเนื่องจากวินโดว์อำนวยความสะดวกแก่ผู้ใช้มากกว่า ก็ต้องยอมเสียความปลอดภัยไปบ้าง ฟังแล้วไม่อยากจะคิดเลยว่าไมโครซอฟท์จะคิดอย่างนี้เหมือนกัน โดยส่วนตัวแล้ว ความสะดวกที่ไม่จำเป็นนั้น ไม่มีประโยชน์เลย ประเภทตัดสินใจแทนไปก่อนนั้น จะไม่ชอบมาก ถ้าจะทำอะไรของคิดเอง แล้วค่อยเลือกทำดีกว่า มันไม่ลำบากอะไรนักหรอก เมื่อแลกกับความอุ่นใจที่ได้

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

  1. ความหลากหลายของฮาร์ดแวร์ ถ้าคิดจะใช้แมค โดยเฉพาะเมื่อต้องการใช้เป็นคอมพิวเตอร์พกพา ก็จะไม่มีทางเลือกมากนัก เพราะเราซื้อได้แต่ของแอปเปิลเท่านั้น ในขณะที่คนใช้วินโดว์มีทางเลือกมากมายหลายยี่ห้อ นี่เป็นข้อเสียหนึ่งที่ทำให้หลายคนยังไม่เปลี่ยนมาใช้แมค แม้ว่าจะสนใจในตัว OS X เพราะถ้าเทียบแล้วโน้ตบุคสำหรับวินโดว์ที่คุณสมบัติที่เหนือกว่าค่อนข้างมาก เช่น Let's Note ของ Panasonic เบากว่ามาก ในขณะที่จอใหญ่กว่า แถมแบตเตอรี่ยังใช้งานได้นานกว่ามาก แล้วยังสนับสนุนอุปกรณ์ใหม่ๆ เต็มที่ อย่างไรก็ดีเห็นข่าวเมื่อสองสามวันก่อน เห็นจอบส์แย้มว่ามีคนสนใจจะทำเครื่องสำหรับ OS X ซึ่งถ้าเป็นไปได้ก็น่าจะลดข้อเสียนี้ได้เยอะเลย
  2. ใครว่าแอปเปิลไม่ผูกขาด ถ้าลองอ่านตามเว็บต่างๆ ไปเรื่อยๆ ก็เห็นคนบ่นเรื่องแอปเปิลพยายามรวบทุกอย่างไว้ที่ตัวเองเหมือนกัน เช่น แอปเปิลเพิ่มให้สามารถกด Alt+Tab เพื่อสลับโปรแกรม ใน OS X รุ่นหลังๆ ทำให้คนที่ทำโปรแกรมเล็กๆ เพื่อเพิ่มความสามารถนี้ ไม่สามารถขายโปรแกรมของเขาได้ แต่เรื่องนี้ไม่ได้เป็นข่าวใหญ่ เพราะคนส่วนใหญ่คงเห็นว่าฟีเจอร์นี้เป็นสิ่งสำคัญที่ตัวเองอย่างให้มีมากับระบบเลย โดยไม่จำเป็นต้องไปซื้อที่ไหนอีก แต่ต่อไปใครจะรู้ว่าจะแอปเปิลจะทำอะไรออกมาดึงลูกค้าไว้กับตัว ทำให้ต้องใช้แต่สินค้าของแอปเปิลเท่านั้น
  3. แมคเป็นศาสนา ข้อนี้เป็นสิ่งที่เห็นหลังจากซื้อแมคมาใช้แล้ว ยิ่งพอไปดูวีดีโอที่จอบส์เปิดตัว Mac Mini และ iWork ในงานที่ผ่านมา รู้สึกว่าจอบส์เป็นศาสดา ที่มาพูดให้สาวกทั้งหลายฟัง ตัวเองฟังแล้วก็รู้สึกคล้อยตามไปเยอะเหมือนกัน (แหะๆ ซื้อ iWork มาใช้แล้วล่ะ) ข้อเสียของการเป็นสาวกของศาสนานี้ คือเสียทรัพย์ และใช้ทรัพยากรต่างๆ อย่างไม่คุ้มค่า เพราะหลงไปกับฟีเจอร์ใหม่ๆ ซึ่งอาจจะไม่จำเป็นสำหรับตัวเองเลย

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