Wednesday, February 10, 2010

25 ปีแห่งการงาน เบิกบานแจ่มใส (1)

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


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


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


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


ในมหาวิทยาลัย ผมได้รู้จักกับอาจารย์ที่ปรึกษาที่พึ่งกลับมาจากต่างประเทศใหม่ จนตอนนี้เรียกได้ว่าเราปรึกษากันตลอดเลย ทั้งเรื่องงาน เรื่องเงิน เรื่องความรู้ต่าง ๆ ... ขอบคุณครับ คุณครู


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


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


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




จุดต่อมากำลังเปลี่ยนผมอยู่ และผมก็กำลังควบคุมการเปลี่ยนแปลงนี้อย่างตื่นเต้นทีเดียว เอาไว้มันเปลี่ยนไปทางไหนค่อยมาเล่าต่อ 


แต่ว่าเรื่องต่อไปที่จะเขียน จะเป็นเรื่องแง่คิดในชีวิตการทำงาน นะครับ!




Monday, February 8, 2010

ทำไมต้องมีพนักงานเก็บค่าโดยสารบนรถเมล์ ?

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

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

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

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


อะไรทำให้มีหรือไม่มีคนเก็บค่าโดยสาร ขนาดของรถ? เส้นทางเดินรถ? บริษัทเดินรถ?

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

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

กรณีของอ่อนนุชทำให้เห็นว่า เล็ก ๆ คล่อง เร็ว ดี

สรุปว่าไม่มีก็ได้นี่หว่า ... ถ้าจัดการได้


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

ในฝันที่ผมฝันไว้กับรถเมล์โดยสารคือ

  1. เป็นคันเล็กเท่า ๆ กับ ปอ.พ 20 ทุกคันติดระบบปรับอากาศ ทุกคันเป็นระบบ ไบโอดีเซล เพราะว่าผมเชื่อว่า ไบโอดีเซล ประเทศเราผลิตเองได้ หรือระบบกึ่งระบบไฟฟ้าก็ได้
  2. ไม่ต้องมีคนเก็บค่าโดยสาร ใช้ระบบหย่อนเงินค่าโดยสาร หรือตัดจากบัตรโดยสารรายเดือนก็ได้ 
  3. ไม่มีการยืนบนรถ แต่ให้มีหลาย ๆ คัน โดยเฉพาะชั่วโมงเร่งด่วน ส่วนชั่วโมงปกติก็ทำตารางเวลาการเดินรถ
  4. รถเมล์ทุกคันมีการตรวจสอบจำนวนผู้โดยสารและให้พนักงานขับรถทำการส่ง SMS แจ้งให้ทางศูนย์การเดินรถทราบว่ามีผู้โดยสารคนอื่น ๆ ต้องการรถโดยสาร เพื่อนำมาวิเคราะห์จำนวนรถที่ต้องบริการในแต่ละช่วงเวลา
  5. ผู้โดยสารทำการต่อแถวเพื่อรอขึ้นรถเมล์ตามก่อนหลัง เพราะว่าเดี๋ยวมีรถมารับแน่นอน
  6. มีระบบวิเคราะห์การเดินรถและแจ้งตารางเดินรถให้ผู้โดยสารทราบจาก SMS หรือ WEB ก็ได้
ด้วยจำนวนของผู้โดยสารแต่ละวันและช่วงเวลาที่แน่นอนในการเดินทาง ผมเชื่อว่าถ้าหากมีการจัดการที่ดี ย่อมทำให้ ขสมก. มีรายได้แน่นอน 

100,000 คน คิดคนละ 20 บาทต่อเที่ยว 1 วันต้องเดินทางอย่างน้อย 2 เที่ยว ดังนั้นก็จะมีรายได้วันละ 4 ล้านบาท มันเหมือนกระปุกออมสินเคลื่อนทีเลยทีเดียว แค่ผู้ลงทุนต้องไม่หวังผลในระยะสั้น


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

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

ผมคิดว่ารถไฟฟ้าใต้ดินหรือลอยฟ้า ไม่ได้เป็นคำตอบของการแก้ปัญหารถเมล์ แต่เป็นการเพิ่มช่องทางมากกว่าการแก้ปัญหา 


Thursday, January 21, 2010

Sphinx! then with Thai Latex on Mac snow leopard

อ้างอิง: http://vuthi.blogspot.com/2005/03/thai-latex-mac-os-x.html

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

มาคราวนี้เห็นเค้าพูดกันหนักหนาว่า Sphix นั้นมันดีทีเดียวสำหรับการเขียนคู่มือ โดยเฉพาะอย่างยิ่ง สำหรับการเขียนเอกสารโดยโปรแกรมเมอร์

แต่พอทำเสร็จแล้วลูกค้าอยากได้เป็น PDF ซะงั้น เอา! ตามเค้าไป

แน่นอนคงไม่พ้น Latex แต่ปัญหามันอยู่ว่า ต้องทำให้เครื่อง Mac Book ผมใช้งาน Latex ภาษาไทยได้ด้วยสิ

มาเร่ิมกันครับ


  1. ติดตั้ง Fink ก่อน 
  2. จากนั้นก็ติดตั้ง sphinx
  3. แล้วก็มาถึงคราว Latex
    ปกติแล้วการติดตั้ง sphinx จะมี latex มาให้ด้วยแต่ก็ติดตรงที่ว่า ไม่สามารถใช้งานภาษาไทยได้ดี สุดท้ายต้องติดตั้ง thailatex
    1. ติดตั้ง Thai latex จาก ftp://linux.thai.net/pub/thailinux/software/thailatex/thailatex-0.4.3.tar.gz
      $ tar xzvpf thailatex-0.4.3.tar.gz
      $ cd thailatex-0.4.3
      $ ./configure --prefix=/sw #ติดตั้งไว้ที่ fink
      $ sudo make
      $ sudo make install
    2. แล้วตามด้วยการตัดคำภาษาไทย ผมใช้ swath เพราะว่าหา cttext ไม่เจอ ติดตั้งจาก ftp://linux.thai.net/pub/thailinux/software/swath/swath-0.4.0.tar.gz
      $ tar xzvpf swath-0.4.0.tar.gz
      $ cd swath-0.4.0
      $ ./configure --prefix=/sw
      $ sudo make
      $ sudo make install
    3. อย่าพึ่งดีใจไป ปัญหาที่บอกจากเว็บข้างบนต้องแก้ไขก่อน
      $ updmap --disable thai.map --nohash --nomkmap
      $ updmap --enable Map thai.map
พอเราติดตั้งเสร็จก็เป็นอันเสร็จสำหรับ Latex แต่พอมาใช้กับ sphinx ดันมีบางสิ่งที่ต้องทำแฮะ

ไปแก้ไข conf.py ที่ source directory โดยเพิ่มอันนี้เข้าไปต่อจาก Latex Output

# Latex Elements
latex_elements = {
  'babel': '\\usepackage[thai,thainumber]{babel}',
  'inputenc': '\\usepackage[utf8x]{inputenc}',
}

เมื่อเราทำการ make latex ที่ source directory แล้ว ก็ทำดังนี้
_build/latex $ swath -u u,u -f latex < file.tex > file2.tex # ตัดคำให้สวยงาน
_build/latex $ mv file2.tex file.tex # เปลี่ยนชื่อซักหน่อย
_build/latex $ make all-pdf
เท่านี้เราก็จะได้ file.pdf แล้ว

XMPP มันทำให้ผมคิดว่า...

"เมื่อความเร็วในการเข้าถึง Internet ถึงระดับหนึ่ง และทำให้สามารถ Online ได้ตลอดเวลา และขนาดการเก็บข้อมูลบนเครื่อง client มีขนาดเพียงพอ"


ก็จะมี Application อีกเพียบเลย ดูอันนี้สิ

MPP-based wireless sensor network and its integration into the extended home environment
Hornsby, A.; Belimpasakis, P.; Defee, I.
Consumer Electronics, 2009. ISCE apos;09. IEEE 13th International Symposium on
Volume , Issue , 25-28 May 2009 Page(s):794 - 797
Digital Object Identifier   10.1109/ISCE.2009.5156807
Summary:Wireless sensor networks have significant potential in the home environment. Home application scenarios include monitoring and interaction from several remote or local devices such as mobile phones, televisions or computers. In this paper we propose an architecture for a network based on IP-enabled wireless sensors. The communication system is based on the XMPP-protocol which is shown to be highly suitable for the sensor networks. XMPP provides a push based notification functionality that is especially appropriate for the event-driven paradigm of sensors and also provides the authentication and encryption required for data protection. We also use Atom feeds together with XMPP to enable remote web service-like access to the wireless sensor network. Integration of this XMPP-based wireless sensor network with the standard UPnP media-oriented network is done using a XMPP to UPnP gateway. In this paper, home applications and services are first introduced and different technologies supporting them are described. Next, the benefits of XMPP/IP architecture compared to non-IP sensor networks and to the UPnP based sensor network are discussed. We then present our XMPP-based wireless sensor network, with web-service like access, using XMPP and Atom feeds, also interfacing with UPnP. These solutions have been implemented on internet tablet devices allowing a flexible, highly functional and open system for integrating sensor network with the media environment.

ref:  http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5109426%2F5156791%2F05156807.pdf%3Farnumber%3D5156807&authDecision=-203

Web Application

อยู่ ๆ ก็มีคำถาม ถามมาว่า "มันเป็น web application" แล้วใช้บน Internet ไม่ได้หรือ?

เนื่องจากระบบที่พัฒนานั้นปกติใช้งานอยู่ บน LAN มาตั้งแต่ ปี 2004 อยู่ดี ๆ ก็มีความคิดว่าจะนำไปไว้ที่ Data Center แล้วให้ผู้ใช้งาน ใช้งานผ่าน internet

ปัญหาไม่ได้อยู่ที่ Web Application  แต่ปัญหามันอยู่ที่ไม่เคยใช้ผ่าน Internet ด้วยสิ่งแวดล้อมและจำนวนผู้ใช้งานที่เท่า ๆ กันมากกว่า

ผมเลยนึกได้ว่าแต่ก่อน กว่าจะอธิบายคำว่า web service ให้หลายคนเข้าใจได้แทบแย่ เพราะเค้าไปยึดติดว่า web คือ Internet ดังนั้น web service จึงต้องมี internet ซะงั้น

หลายคนเข้าใจว่า web = internet !

พอ ๆ กับ แฟ๊บ = ผงซักฟอก!

ผมคิดว่าเข้าใจผิด!  web ในที่นี้น่าจะหมายถึง เครือข่าย มากกว่า

ดังนั้นคำถามข้างบน ที่ถามว่า "แล้วใช้บน internet ไม่ได้หรือ?" จึงขอตอบแบบกวน ๆ ว่า

"ใช้ได้ แต่ใครจะรับผิดชอบถ้าหากมันใช้ไม่ได้? เพราะมันเคยใช้งานบน LAN ได้"

SVN proxy repository server!




แล้วงานก็เข้าอีกทีเมื่อเกิดปัญหาดังนี้

มีการติดตั้งการใช้งาน Application Server ที่ Data Center โดยที่ผู้ใช้งานสามารถเข้าใช้งานผ่านทาง Internet

แต่แล้วเมื่อทางเราทำการแก้ไข Application ที่บริษัท และต้องการ Update Application ผ่านทาง SVN ก็เกิดปัญหาขึ้นดังนี้


  1. ทาง Data Center ไม่สามารถทำการกำหนด Firewall โดยให้สิทธิ์การ SVN ผ่าน Dynamic DNS ได้ ต้องใช้ IP อย่างเดียว ซึ่งงานนี้ไม่สะดวกแน่ 
  2. ถึงแม้จะทำการต่อ VPN จาก Local Network ไปยัง Application Server ได้ ก็ต้องขอเปิด Port เพื่อทำการ SVN มายัง Local Network ผ่านทาง VPN อยู่ดี  ก็ไม่สะดวกอีก ตามข้อ 1
  3. ถ้าหากใช้การ Upload code ที่ทำการ Release version ไว้แล้ว ก็จะทำให้ใช้ Bandwidth มาก เพราะว่าไฟล์มีขนาดใหญ่ อีกทั้ง เราก็มี SVN Repository นี่นา
โชคดีที่เมื่อก่อนทำงานเป็น System Engineer มาบ้าง วิธีแก้ของผมก็มีดังนี้นะครับ

เนื่องจากเรามี Server ที่ใช้งานเป็น Application อยู่ ก็เลยขอนำมาทำเป็น SVN proxy repository โดยจะต้องให้ทาง Data Center ทำการกำหนดให้สามารถทำการเชื่อมต่อ มายังเครื่องนี้ผ่านทาง protocal ที่กำหนด

จากนั้นเครื่องที่ SVN proxy repository ก็ทำการสร้าง Tunnel ที่เชื่อมต่อมายังเครื่อง Repository Server ตามนี้ Tunnel


แล้วเครื่อง Application ก็ทำการ SVN update ผ่านทาง SVN proxy ได้แล้ว

สร้าง Tunnel ระหว่าง SVN proxy repository (2.2.2.2) มายังเครื่อง Local Network (1111.dyndns.org)
svn-proxy:$ ssh -L 2.2.2.2:8443:localhost:443 username@1111.dyndns.org

Update SVN ผ่านทาง SVN proxy repository
application-server:$ svn up https://2.2.2.2:8443/ssvn/project/trunk 

ซึ่งเราก็จะใช้งานได้แล้ว

สรุป:  ผู้พัฒนาระบบนอกจากจะต้องเข้าใจในเรื่องของ Application Software แล้ว ควรจะเข้าใจในส่วนของ โครงสร้างเครือข่ายด้วย

ปล. (น้อยใจนิด ๆ ) เนื่องจากเราเป็น local company จึงไม่รู้ว่า เวลาที่เป็น international company ถ้าต้องการเปิดสิทธิ์นี้ ทาง Data Center เค้าจะรีบทำกันขนาดไหน อิ อิ

Thursday, January 7, 2010

I'll ... later.

My UK's friend says about Thai people.

After he walked through JJ market. He learn about traditional Thai people and hard to adopt for this.


After a long conversation...

my friend: Would you like to join my business?
        Thai: It's look very interesting. But i'll do it later.

? But .... my friend want to said "later never comes".


That is Thai.