@ Sat, 31 Jan 2009 22:04:10 +0700
Actually, all results are harmful. .. (- -)a
ตั้งแต่วันที่ 12 ม.ค. 52 Pidgin เริ่มล็อกอินเข้าใช้งาน MSN ไม่ได้ .. ดูจาก debug windows จะเห็นอะไรประมาณนี้ ..
... msn: Got the Address Book! msn: AB Faultstring: Passport Authorization Failed msn: AB Error Code: PassportAuthFail ...
ถาม อ.กู้ ก็พบว่ามีคน report bugs ไว้แล้วจำนวนหนึ่ง และเพิ่งจะพบอาการนี้ในวันเดียวกัน (อ.กู้ index ไวโคตร !) .. เฉพาะวันที่ผ่านมา ในห้อง(ผีสิง) #tlwg บ่นเรื่องเดียวกันนี้ 4-5 ราย … จะว่าไปบนลินุกซ์มีอีกหลายโปรแกรมที่ใช้ MSN ได้ เท่าที่ลองใช้งานกันวันนี้ aMSN, emesene ยังล็อกอิน MSN ได้ ไม่มีปัญหาเหมือน Pidgin .. ส่วน SIM, Kopete บน KDE ไม่ได้ลองเพราะทำใจกับขนาดของ kdelibs ไม่ได้ … หรือจะเอาอย่างข้าน้อยเนื่องจากมีของกะมือเลยใช้ Miranda-IM ใน MS Windows XP ใน VirtualBox … หรือจะใช้ Miranda-IM กับ Wine ก็ได้ (ลองแล้ว) … ดูเหมือน ใครๆ เข้าก็ใช้งาน MSN ได้ตามปกติ ยกเว้น Pidgin นี่แหละ เฮ่อ !
ระหว่างคุยๆ กัน ณ ห้อง #tlwg ป๋าเด่นก็แจ้งมาว่าบางคนลง msn-pecan แล้วใช้ได้.. ไม่รอช้า aptitude install msn-pecan แล้วก็ add WLM account … โอ้!… ใช้ได้จริงๆ ด้วย :D
msn-pecan เป็น implementation ของ MSN/Windows Live Messenger protocol สำหรับ Pidgin ลองใช้ดูแล้วก็ไม่เลว เร็วดี … ระหว่างรอแก้ bug ก็ใช้ไปก่อนละกัน :P
ในที่สุด ก็มาซะที …
$ dig AAAA ipv6.google.com ... ;; QUESTION SECTION: ;ipv6.google.com. IN AAAA ;; ANSWER SECTION: ipv6.google.com. 1588 IN CNAME ipv6.l.google.com. ipv6.l.google.com. 87 IN AAAA 2001:4860:c003::68 ...
และ
ถ้าเข้าใช้งาน IPv6 ได้ สังเกต logo ของ google ดีๆ :)
/me – on openvpn tunneled to IPv6 network @ my office
จากที่มี การประกาศเพิ่ม leap second ปลายปีนี้ +1 วินาที เลยลองเช็คเวลาจาก GPS ดูสักหน่อย ผลก็คือ
$GPZDA,235958.00,31,12,2008,00,00*6D $GPZDA,235959.00,31,12,2008,00,00*6C $GPZDA,235960.00,31,12,2008,00,00*66 $GPZDA,000000.00,01,01,2009,00,00*6D $GPZDA,000001.00,01,01,2009,00,00*6C $GPZDA,000002.00,01,01,2009,00,00*6F
จะเห็น เวลา 23:59:60 ของวันที่ 31/12/2008 ซึ่งก็คือ leap second ที่เพิ่มขึ้นมา
leap second เป็นการปรับเวลาเพราะโลกไม่ได้หมุนในอัตราคงที่ e.g. 24 ชั่วโมง/วัน พอดีเสมอไป เนื่องจากกระแสน้ำ ลม แรงเสียดทาน ฯลฯ .. IERS จะประกาศให้มีการชดเชยเวลาครั้งละ 1 วินาที บางปีไม่ปรับ บางปีปรับสองครั้งก็มี
Happy New Year 2009 !
พรบ.คอมฯ 50 กำหนดไว้ว่าผู้ให้บริการต้องเก็บข้อมูลจราจรคอมพิวเตอร์ โดยมีความคลาดเคลื่อนของเวลาไม่เกิน 10 msec. จากเวลาอ้างอิง (stratum-0) ซึ่งเป็นเวลาที่ได้จากนาฬิกาอะตอม .. time source ที่เป็นนาฬิกาอะตอมไม่ได้หายากอย่างที่คิด สัญญาณจากดาวเทียม GPS ก็เป็นเวลาที่ได้จากนาฬิกาอะตอมเหมือนกัน ดังนั้นเซ็ต stratum-1 time server ก็แค่ใช้ time source จาก GPS เท่านั้นเอง
เพิ่งได้ USB GPS receiver แบบไม่มียี่ห้อ มาเมื่อหลายวันก่อน ใช้ชิปของ U-Blox ANTARIS LEA-4S ซึ่ง output เป็น NMEA messages ออกมาทาง USB ได้เลย และส่ง 1-Pulse-Per-Second (1PPS) ได้ด้วย เสียบ USB GPS Receiver เข้าคอมพิวเตอร์ (ติดตั้ง เดเบียน ลินุกซ์) ลอง cat /var/log/syslog หรือ dmesg ก็เห็นข้อความประมาณนี้
... cdc_acm 1-1:1.0: ttyACM0: USB ACM device usbcore: registered new driver cdc_acm drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters ...
แปลได้ว่าลินุกซ์เห็น USB GPS receiver เชื่อมกับ USB แล้ว และกำหนด device เป็น /dev/ttyACM0 ลอง
$ lsusb ... Bus 001 Device 002: ID 1546:01a4 U-Blox AG ...
จะเห็นว่าลินุกซ์รู้จัก U-Blox AG. ด้วย ..ว่าแล้วก็ cat /dev/ttyACM0 ดูเลย
$ cat /dev/ttyACM0 ... $GPRMC,180032.00,A,1628.32246,N,10249.53339,E,0.362,287.84,261208,,,A*62 $GPVTG,287.84,T,,M,0.362,N,0.671,K,A*3B $GPGGA,180032.00,1628.32246,N,10249.53339,E,1,04,3.23,226.6,M,-27.1,M,,*76 $GPGSA,A,3,22,32,16,06,,,,,,,,,3.98,3.23,2.31*02 $GPGSV,3,1,11,18,04,149,,14,46,058,,22,37,158,42,30,16,038,*71 $GPGSV,3,2,11,32,31,319,20,31,45,353,,29,11,081,,20,08,321,*7C $GPGSV,3,3,11,16,55,199,44,03,03,197,33,06,10,185,27*4E $GPGLL,1628.32246,N,10249.53339,E,180032.00,A,A*6C $GPZDA,180032.00,26,12,2008,00,00*63 $GPRMC,180033.00,A,1628.32249,N,10249.53329,E,0.191,285.38,261208,,,A*66 $GPVTG,285.38,T,,M,0.191,N,0.354,K,A*32 $GPGGA,180033.00,1628.32249,N,10249.53329,E,1,04,3.24,226.6,M,-27.1,M,,*7E ...
จะเห็นเป็น NMEA messages ขึ้นมา .. ข่าวดีคือ NTP อ่าน NMEA message มาเป็น time source ได้เลย .. ก่อนอื่นลง package ntp ก่อน
$ sudo aptitude install ntp
แก้ไฟล์ /etc/ntp.conf เพิ่ม server ที่ใช้ Generic NMEA driver
server 127.127.20.0 fudge 127.127.20.0 time1 0.0 refid GPS
Restart ntp รอสัก 1-2 นาที แล้ว query ดู
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *GPS_NMEA(0) .GPS. 0 l 13 64 377 0.000 -2.154 3.517
แปลว่า ntp มัน sync กับ stratum-0 time source ได้ และขึ้นมาเป็น stratum-1 NTP server เรียบร้อย :D
อย่างไรก็ตาม หลังรันเซิร์ฟเวอร์และเก็บสถิติไปสักพักก็พบว่า นาฬิกามันไม่ได้แม่นยำอย่างที่คิด เวลาที่ได้มีความคลาดเคลื่อนแกว่งไปมาในช่วง +/- 4 msec บางจังหวะ peak ไปถึง +/- 20 msec ซึ่งถือว่าเป็น stratum-1 server ที่ performance ไม่ได้เรื่องเท่าไหร่ และยังไม่ได้ตามข้อกำหนดตามกฎหมายด้วย .. สาเหตุความคลาดเคลื่อนคงเพราะ NMEA message ไม่ใช่ time source ที่แม่นยำ .. ถ้าจะให้แม่นยำกว่านี้ ต้องใช้ 1PPS
USB GPS receiver ที่ได้มามันไม่ได้ต่อ 1PPS ออกมาให้ใช้งาน จะใช้ก็ต้องต่อเอง .. สิ่งที่ต้องใช้ก็มี DB-9 connector ตัวเมีย สายไฟ หัวแร้งบัดกรี ตะกั่วบัดกรีนิดหน่อย คู่มือของ U-Blox ANTARIS LEA-4S บอกว่าขา 1-PPS (i.e., TIMEPULSE) อยู่ที่ขา 28 จอเข้ากับขา 1 ของ DB-9 (ขา Data Carrier Detect ของ RS-232) และต่อ ground ของ receiver ไปยังขา 5 (GND) ของ DB-9 connector ก่อนเอาไปต่อก็เอา scope วัดสัญญาณดู สัญญาณ 1PPS จะเป็น pulse low-to-high amplitude 3.3 V ใช้ rising edge บอกวินาที
เมื่อต่อเข้ากับ RS-232 ของเครื่อง แล้วทีนี้จะอ่านสัญญาณ 1PPS ยังไงดี ? .. มีอยู่สามทางเลือก LinuxPPS, GPSD, และ SHMPPS
ก่อนอื่น แก้/เพิ่ม config ใน /etc/ntp.conf ให้ใช้ SHM driver
server 127.127.28.0 minpoll 4 maxpoll 4 prefer fudge 127.127.28.0 refid PPS
ดาวน์โหลด shmpps extract / make จะได้ shm_splc2 เป็น binary และมี wrapper scripts อีก 2 ตัว ไม่ต้องสนใจ wrapper script ก็ได้ .. ลองสั่งให้ shm_splc2 อ่านสัญญาณ Data Carrier Detect จาก /dev/ttyS0 กันเลย
$ /usr/local/sbin/shm_splc2 -d /dev/ttyS0 -s -l DCD -u 0 -D &
รอสักพัก
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *SHM(0) .PPS. 0 l 3 16 377 0.000 0.047 0.003 +GPS_NMEA(0) .GPS. 0 l 13 64 377 0.000 -2.154 3.517
ทิ้งไว้สักพักใหญ่ๆ .. offset และ jitter จะค่อยๆ ลู่เข้าสู่ 0.000
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *SHM(0) .PPS. 0 l 3 16 377 0.000 0.000 0.001 GPS_NMEA(0) .GPS. 0 l 33 64 377 0.000 -5.702 5.288
ปิดท้าย ดูจากกราฟก็จะเห็นว่ามันไม่ได้ 0.000000 s เสียทีเดียว แต่มีจังหวะแกว่งมากบ้างน้อยบ้าง จะเห็นว่านาฬิกามันไม่เที่ยงก็ต้องดู scale usec ซึ่งเทียบกับ stratum-1 servers ของหลายๆ แห่งก็จะได้ precision ประมาณเดียวกัน และน่าจะเกินพอสำหรับ พรบ. ..
เทียบ Offset ของ NMEA กับ 1PPS (scale: msec)
ได้ USB GPS receiver มา (ของ ยี่ห้อนี้) ไม่ต้องคิดมาก เสียบ แล้ว dmesg ดู
$ dmesg [157930.448089] usb 2-1: new full speed USB device using uhci_hcd and address 3 [157930.612998] usb 2-1: configuration #1 chosen from 1 choice [157930.718842] cdc_acm 2-1:1.0: ttyACM0: USB ACM device [157930.726652] usbcore: registered new interface driver cdc_acm [157930.727462] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
อ่อ มี ttyACM0 … cat ดูโลด
$ cat /dev/ttyACM0 $GPRMC,115258.00,A,1628.33537,N,10249.54838,E,0.155,223.32,081208... $GPVTG,223.32,T,,M,0.155,N,0.288,K,A*3C $GPGGA,115258.00,1628.33537,N,10249.54838,E,1,08,1.68,185.0,M,-27.1.... $GPGSA,A,3,26,24,15,12,05,29,10,30,,,,,2.29,1.68,1.56*0F $GPGSV,3,1,12,26,60,037,19,24,49,356,18,15,80,028,22,02,29,105,*7F $GPGSV,3,2,12,12,08,193,22,05,08,205,33,18,20,278,17,29,59,280,22*7C $GPGSV,3,3,12,10,22,041,13,21,15,320,19,30,09,228,21,09,21,169,20*75 $GPGLL,1628.33537,N,10249.54838,E,115258.00,A,A*63 ...
อืมมม NMEA message มาเลย :) .. งั้น GPSd เลยดีกว่า
$ sudo aptitude install gpsd gpsd-clients
ลอง man แล้ว run แล้วไม่ work แฮะ .. ถาม อ.กู้เห็นบางคนเขาจะ set speed ก่อน
$ stty -F /dev/ttyACM0 ispeed 9600 $ gpsd /dev/ttyACM0
ทีนี้ก็
$ cgps
ได้ผลเป็นแบบนี้
หรือจะ
$ xgps
หรือจะลอง tangoGPS
More tangoGPS screenshot: Street Map | Arial | Topo
Opera 10.0 Alpha ออกให้ทดสอบแล้ว เลยสอยมาลองดู ผลน่าสนใจนะ
และ เปรียบผล JavaScript Speed Test กับ ผลครั้งก่อน
เพิ่งจะมาเห็นว่า ดองไว้ปีกว่าแล้ว ฮาๆ .
[nggallery id=79]
Luko’s Sharpening เป็นหนึ่งในวิธี sharpen ยอดฮิตในช่วง 1-2 ปีที่ผ่านมา
เอาเมาส์ไปวางบนรูป จะเห็นว่า Luko’s sharpening ทำอะไรได้ขนาดไหน … :)
ดาวน์โหลด script ไปใส่ไว้ใน ~/.gimp-2.x/scripts แล้ว GIMP จะมีเมนู Script-Fu -> kitty.in.th -> Luko’s Sharpen ขึ้นมา (restart GIMP/refresh scripts ถ้าจำเป็น) ส่วนสูตร sharpening ของ Luko ลองถาม อ. กู้ หาไม่ยาก :P
v0.0.4 – ย้าย Berkeley DB 3.2 มาเป็น 4.7 แทน จะได้ใช้กับ distro ใหม่ๆ ได้ แล้วก็แก้ bug “About Dialog” กดปุ่ม Close ไม่ได้ อันนี้เพิ่งตั้งใจหาว่าเป็นตรงไหน จนเจอว่ามันเกิดหลังจาก GTK+ รุ่นไหนสักรุ่นนี่แหละ .. สรุปว่าต้อง handle เอง .. :P
Download: source | deb for Intrepid Ibex
P.S. .. v.0.0.3 ไม่ release เน้อะ :P