วันอาทิตย์ที่ 23 สิงหาคม พ.ศ. 2552

www.14degree.com

เนื่องจากว่าได้เช่าใช้ web hosting เป็นหลักแหล่งแล้ว ลง WordPress ไว้เขียนบล็อก ก็ดูโอเคดีไม่มีปัญหา ดังนั้นต่อไปนี้คงหยุดอัพเดตที่นี่แล้วครับ ย้ายบ้านไปอยู่ที่นู่นเลย เพราะมีทั้ง อีเมล์ ร้านค้า เรียกว่า ครบ ไม่ต้องเช็คกันหลายที่ให้วุ่นวาย ไวกว่าด้วย เนื่องจาก server อยู่ในไทย จะอัพโหลดอะไรก็ไวกว่าเนอะ ยังคงมีเรื่องราวเกี่ยวกับ software development มาเล่าสู่กันฟังเหมือนเดิม

ก็เอาเป็นว่าไปเจอกันได้ที่เว็บสิบสี่องศานะคร้าบ

วันศุกร์ที่ 7 สิงหาคม พ.ศ. 2552

ผมขาย GPS จีนคร้าบบบ

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

จริงๆเริ่มสนใจก็เพราะว่า เท่าที่ดูแล้ว spec hardware ช่างเหมือนกับบอร์ดพัฒนาที่ตอนนี้ฮิตๆกัน แต่ได้อะไรๆมากกว่า ถ้าเอามา hack ได้เนี่ยคุ้มมาก ส่วนใช้งานปกติก็ถือว่าไม่แพงเลย ตามสไตล์จีนอยู่แล้ว

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

เวลาบ่นนี่ยาวทุกที ใครหลงมาก็ช่วยคลิกไปหน้าร้านหน่อยนะคร้าบ ไม่ซื้อหาไม่ว่ากัน อยู่ในดุลพินิจของท่านเอง www.14degree.com/store ตอนนี้กำลังหาข้อมูล windows ce กับตัว 7" อยู่ ถ้ามีแววจะเล่นหรือเขียนโปรแกรมกับมันได้ จะเอามาชำแหละให้ดูสักตัวครับ

***ล่าสุดครับ ลองลง version รองล่าสุด Jun09 จากเว็บนอกและใช้ map, voice, poi จาก navthai ใช้งานได้ดีกับทั้งสองตัวครับ ตัว 7" ต้องปล้ำกับมันนิดหน่อย(แก้ไข sys.txt) กว่าจะทำได้สำเร็จ (เนื่องด้วย data.zip และ branding.zip เป็นสาเหตุว่าทำไมต้องใช้ตัวโปรแกรมจากเว็บนอก)

วันพฤหัสบดีที่ 23 กรกฎาคม พ.ศ. 2552

zotac mini-itx + Q9550 ประทับใจ booting is faster !

อาทิตย์นี้ผมได้รับเมนบอร์ดที่สั่งซื้อมาจากนอก เป็น mini-itx (เฉพาะขนาดของมันอะนะ) และ CPU intel Q9550 ที่สั่งจองไว้ก็ได้รับมาในเวลาไล่เลี่ยกัน ไม่รอช้า จัดการเอาองค์ประกอบที่พอเหลือมีอยู่ จับใส่เข้าไปในเคสเก่าอันนึง

เสร็จแล้วก็ลง Kubuntu 9.04, driver nvidia, อัพเดตแพทช์ทั้งหลาย บร๊ะเจ้า!!! มันบูทไวมากเลยใช้เวลาในการที่จะขึ้นหน้าล็อกอินสั้นกว่า PC ที่มีอยู่สองเท่าได้เลยมั้งนั่น

ตัวนี้ให้การ์ดจอออนบอร์ดเป็น nvidia 9300 สนับสนุน SLI เพราะมี PCI-EX 16x มาให้สล็อตหนึ่งด้วย กะจะเอามาลอง VDPAU (video api) ซะหน่อย เนื่องจาก ATI ยังไม่ยอมปล่อยออกมาเลย

(หลังจากนี้หนึ่งวัน มาลองเปิดอีกที ดูมันก็เร็วกว่าธรรมดาก็จริง แต่ไม่ได้มากเท่าที่รู้สึกครั้งแรกแล้วอะ แป่ว)

วันเสาร์ที่ 30 พฤษภาคม พ.ศ. 2552

ati driver (fglrx) support pbo แล้วนะ

ข่าวดีส่งท้ายเดือนนี้ เพื่งสังเกตว่า fgl_glxgears นั้นลง caption ใหม่เอาไว้ว่าใช้ pbuffer ก็เลยสงสัยว่า pbo ที่ผิดหวังไปคราวก่อนนั้น มันมาแล้ว หลังจากให้รอมานาน ปรากฏว่าจริงซะด้วย

แต่ก็งานเข้านิดๆ เพราะต้องกลับไปแก้โค้ดแล้วลองรันเปรียบเทียบ performance อีกรอบ

วันอาทิตย์ที่ 17 พฤษภาคม พ.ศ. 2552

Video Wall

เคยบอกไว้ในบล็อกแล้วว่าสิ่งที่อยากทำอย่างหนึ่งก็คือ video wall ตอนนี้ลองทำขึ้นมาได้ขั้นหนึ่งแล้วก็เอามาโชว์ซะหน่อย client คือ laptop สามารถส่ง data และ event ไปให้ server ได้ ส่วน server ที่ render ภาพสองตัวนั้นคือ Windows ตัวหนึ่ง อีกตัวหนึ่งคือลินุกส์จ้า ส่วนไอ้ภาพเส้นๆ นั้นก็แทนอินพุตภาพวิดิโอจริงๆ แต่ทำไม่ทันเอาแบบว่า random วาดเส้นทุกๆเฟรมไปก่อน เอิ๊กๆ

วันอาทิตย์ที่ 10 พฤษภาคม พ.ศ. 2552

ปัญหา Kdevelop กับ libtool

รู้สึกว่าจะมีปัญหาหาตั้งแต่ kubuntu 8.10 มาแล้ว ถ้าเราเลือกใช้ kdevelop 3.5.x แทนที่จะเป็น 4 beta ซึ่งก็คงต้องเป็นอย่างนั้นเพราะตัว 4beta มันไม่มี project template มาให้เลยยกเว้น qt

พอมาลอง build โปรแกรมที่สร้างด้วย template C++ sample hello world จะพบว่า build ไม่ผ่าน ติดที่ libtool จากการค้นในเน็ตปรากฏว่า เพราะ template ของ kdevelop ใช้เวอร์ชั่นเก่ากว่าและไม่ได้เรียกใช้จากตัวที่เราลง package

ดังนั้นวิธีแก้ก็คือ copy ltmain.sh จาก /usr/share/libtool/config ไปทับในโปรเจ็กของเรา แล้ว distclean หลังจากนั้น ลอง build อีกที ฉลุย

ยังงี้คงต้องเรียกว่าเป็น bug แต่เค้าก็เจอกันนานแล้วนะ ไม่ยักแก้แฮะ

ลง kubuntu 9.04 กับเครื่องที่มีการ์ดจอ ati

เอาอีกแล้วครับท่าน ปัญหาใหญ่ที่สุดอันหนึ่งของ linux ก็คงเป็นการ install นี่แหละ เห็นมีปัญหาทุกเวอร์ชั่น ผมได้ทำการลง kubuntu 9.04 ลงบน lenovo ideapad u330 ซึ่งมีความสามารถในการสลับการ์ดจอได้ว่าจะใช้ discrete ซึ่งเป็น ati hd3450 หรือจะเป็น onboard ซึ่งเป็น intel หลังจากลองผิดลองถูกอยู่สองวันหนึ่งคืน และทำการพิสูจน์กับเครื่อง desktop ซึ่งตัดใจลงใหม่เพราะไม่มีปัญญาเซ็ตคอนฟิกให้จอใหม่ที่เพิ่งซื้อมาคืิอ benq t2200hd สิ่งที่ผมได้รู้คือ

หากท่านต้องการลง kubuntu ในเครื่องของท่าน ขอแนะนำว่าให้ลง 8.10 ก่อน เพราะมันสามารถ detect จอและสร้างคอนฟิกของ x ได้ถูกต้องที่สุด แต่หลังจากลงสำเร็จแล้วควรจะอัพเกรดไปเป็น 9.04 เพราะผมว่ามันใช้งานดีกว่านะ
แต่ก่อนที่จะอัพเกรด สำหรับเครื่องที่เป็นการ์ดจอ ati ควรจะติดตั้ง driver fglrx ให้เสร็จเรียบร้อยเสียก่อน แนะนำให้ใช้ตัวล่าสุด ตอนนี้ก็คือ 9.4 ถ้าทำได้เรียบร้อยดีไม่มีปัญหาก็ค่อยทำการอัพเกรดต่อไป
ส่วนการอัพเกรด ถ้ารอการอัพเกรดแบบผ่านอินเตอร์เน็ตคงรอกันนานมากๆ ให้ใช้วิธีนี้แทนคือ ดาว์นโหลดตัว install แบบ alternate มา จะ mount หรือเขียนลงแผ่นก็ได้ แล้วเรียกโปรแกรมสำหรับอัพเกรดขึ้นมา วิธีนี้จะไวกว่าเพราะเราสามารถหา mirror ในไทยเพื่อดาว์นโหลด iso มาได้อย่างรวดเร็ว ซึ่งไม่เหมือนกับการ download มาทีละ package ซึ่งมันช้าโคตรๆ

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

วันพุธที่ 4 มีนาคม พ.ศ. 2552

Smooth Streaming with IIS 7

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

กะว่าจะลอง feature อื่นๆ เช่น web playlist ด้วย อ้อแล้วก็ live streaming (อันนี้พ้อยต์เลย) แต่มันต้องการ windows 2008 ยังไม่มีอะ

สุดท้ายก็คงต้องเอาไปเปรียบเทียบกับ streaming server ตัวอื่นๆดูด้วย เช่น darwin, vlc แล้วมาดูกันอีกที แต่ว่าตอนนี้เกิดสนใจ silverlight ขึ้นมาบ้างแล้วสิ

วันพุธที่ 28 มกราคม พ.ศ. 2552

เจ็บใจ Gimbal lock

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

วันจันทร์ที่ 12 มกราคม พ.ศ. 2552

พายเรือวนอยู่ในอ่าง kalman

หายไปนาน เอาเวลาไปทุ่มกับ imu ทั้งวันทั้งคืนมาร่วมสองเดือน ยังไปไม่ถึงไหนเท่าไรเลย เนื่องด้วยความยากและการต้องเคาะสนิมเลขออกมาใช้

ความยาก มันมาจากไหนเหรอ อย่างแรก จากความผิดพลาดของค่าที่อ่านได้จาก sensor แต่ละตัว อันนี้ก็ขึ้นอยู่กับความถูกแพงของ sensor ที่เราใช้ด้วย

1. accelerator ชื่อมันบอกว่าเป็นการวัดความเร่ง (dynamics) ก็ดีพอใช้ได้สำหรับค่าความเร่ง ในแนว xy ซึ่งสมมติว่าไม่มีแรง g เข้ามาเกี่ยวนะ แต่ที่เราอยากได้มันคือค่า position (ทำไมต้องเขียนเป็นภาษาอังกฤษด้วยนะ) ลองดุว่า ค่า a ที่เราได้จาก sensor จริงๆมันคือ

a_sensor = a_real + a_bias + a_noise

พอ integrate สองครั้งเพื่อให้ได้ค่า position ค่า bias และ noise จึงเข้ามามีผลอย่างมากมาย ถ้าเราไม่มีการวัดค่า position จริงๆ เข้ามาเป็น input ป้อนกลับ เพื่อไว้แก้ค่า error เพื่อใช้ในการทำนายค่าล่วงหน้าใน kalman filter มันก็ช่วยอะไรไม่ได้มาก ใช้วิธีการเขียนโปรแกรมธรรมดา ทำ low pass filter เอาก็พอแล้ว ที่ว่า พอแล้ว หมายถึงมันได้ดีที่สุดเท่านี้แหละ

ผลจากการที่มันสามารถวัดความเร่งได้ แน่นอนว่ามันต้อง sense แรง g (ที่เป็น bias ในสภาวะ dynamics) ได้ กลายเป็นประโยชน์เมื่อทำให้เราสามารถวัดมุมเอียงได้จากการแตกแรง g ในสภาวะ static เรียกว่ามันกลายเป็น tilt sensor ไป แป่ว

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

3. magnetometer เค้าเปรียบเทียบว่า ถ้าไม่มี ทิศทางก็เหมือนเราอยู่ในห้องมืด ค่าที่ได้จาก sensor ทั้งสองตัวข้างบน ไม่สามารถบอกได้ว่าเราอยู่ตรงไหน(อ้างอิงกับสิ่งหนึ่งสิ่งใดภายนอก) เจ้า sensor ตัวนี้มีดีตรงมัน sense สนามแม่เหล็กโลกได้ เหมือนเข็มทิศนั่นเอง ข้อเสียของมันก็คืออะไรที่มีคุณสมบัติแม่เหล็กมันก็ sense ได้ทั้งนั้น แปลว่ามันไม่ทนต่อสัญญาณรบกวนนั่นเอง แป่ว(อีกที)

เมื่อเอาเจ้าพวกนี้มายำรวมๆกันเรียกให่เท่ห์ว่า fusion ก็จะได้ sensor ที่บอกได้ทั้ง orientation และ positioning ถ้าใช้ร่วมกับ GPS ก็จะได้ localization ด้วย แต่มันก็ต้องมีศิลปะในการยำไม่ใช้น้อย

ประโยชน์ของมันนั้นมีมากหลาย ถ้ามันเวิร์คอะนะ ทั้งเรื่อง motion capture ที่ตัวผมเองสนใจ และนั่งหน้าดำคร่ำเครียดพัฒนาอยู่, uav (อากาศยานไร้คนขับ), camera match moving สำหรับทำ realtime video composite นี่เอาแค่หย่ายๆนะ