Android Studio
Android Studio ซึ่งเป็น IDE สำหรับพัฒนาแอพบนแอนดรอยด์ เพิ่งออกมาใหม่ได้ไม่กี่วันเอง ดาวน์โหลดมาลงแล้ว แต่ยังเล่นไม่เป็น (แถมยังเขียนโปรแกรมไม่ได้ ไปไม่ถูก)
มีวีดิโอแนะนำเกี่ยวกับ Android Studio ดูจบแล้ว ขอเก็บมาไว้เผื่อดูอีกรอบ
Column value swap
UPDATE swap_test SET x=(@temp:=x), x = y, y = @temp;
FTP chmod
เหตุเกิดจากว่า server ที่วางอยู่ใน ม.อ. ไม่อนุญาตให้ FTP จากภายนอกมหาวิทยาลัยได้ ต้องเข้าไปนั่งในมหาวิทยาลัยเท่านั้นจึงจะใช้งาน FTP ได้
แต่เว็บที่ดูแลอยู่มีปัญหาแค่ว่า folder สำหรับ upload ไฟล์นั้นได้ถูกกำหนด permission ไว้ที่ 755 ทำให้ไม่สามารถบันทึกภาพไว้ได้
นั่งคิดอยู่หลายตลบว่าจะทำยังไงดี ไม่อยากบึ่งรถไป ม.อ. ก็มาคิดได้ว่า CMS ที่เขียนไว้นั้น สามารถ run PHP ได้ และ PHP ก็มี function ftp และ ftp_chmod
ทางแก้จึงออกมาประมาณนี้
<?php
$ftp_server = "my.ftp.com";
$ftp_user_name = "myftpusername";
$ftp_user_pass = "myfppassword";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$folder="folder/to/chmod";
if (ftp_chmod($conn_id, 0777, $folder) !== false) {
echo "$folder chmoded successfully to 777\n";
} else {
echo "could not chmod $folder\n";
}
ftp_close($conn_id);
?>
DirectAdmin system backup
เคยสำรองข้อมูลบน DirectAdmin ด้วยคำสั่ง CMDSYSTEMBACKUP โดยตั้งเวลาไว้ให้ทำงานตอนตี 5 กว่า (กว่าจะสำรองเสร็จปาเข้าไปเกือบ 10 โมงเช้า) DA ทำสำรองข้อมูลของ MySql ด้วยคำสั่ง mysqldump ทำให้ load เยอะมากจนเว็บล่ม ยังหาทางแก้ปัญหาไม่ได้ ตั้งใจว่าจะแก้ปัญหาชั่วคราวโดยการเปลี่ยนเวลาในการ backup ไปเป็นตอนดึก ๆ แทน
แต่ปัญหาคือจำไม่ได้แล้วว่าเข้าไปกำหนดผ่านทางเมนูไหน (นานมาแล้ว)
และเพิ่งหาเจอว่าอยู่ที่
http://YOUR-IP:2222/CMD_SYSTEM_BACKUP http://YOUR-IP:2222/CMD_ADMIN_BACKUP
เปลี่ยนเวลาเรียบร้อยแล้ว แต่ค่อยหาทางลด load อีกที
I got hacked. - โดนเข้าแล้ว
Host ถูก hacked
อาการที่เจอ เริ่มจากได้รับแจ้งมาว่าเมล์ส่งออกไม่ได้ ลองเช็คดูปรากฏว่าถูก block เนื่องจากเป็น spam หลังจากนั้นก็ได้รับรายงานจาก DA ว่ามีการส่งอีเมล์เกิน 2000 ในแต่ละวัน ก็เริ่มเอะใจว่า สงสัยจะโดนเข้าแล้ว
เลยเข้าไปเช็คดู มีเว็บหนึ่งใช้า Jumla ก็เลยลองเปลี่ยน folder เป็นอย่างอื่นไปก่อน แล้วคอยดูผล
วันนี้ยังมีรายงานส่งเมล์เกินอีก เลยเข้าไปเปลี่ยนรหัสผ่าน ftp ก่อน แล้วตามเช็คไฟล์ มีไฟล์แปลก ๆ เข้ามา เลยตามลบทิ้งทั้งหมด
แล้วไปเช็คดูใน user อื่น ๆ ดู ก็ยังไม่พบเจอไฟล์แปลก ๆ
แล้วก็คอยดูผลต่อไป
Update 14/5/2013 - ยังไม่มีอะไรผิดปกติ
VirtualBox เข้าไม่ได้ หลังอัพเดท kernel
หลังจากอัพเดท Ubuntu kernel เป็น 3.5.0.28 แล้วทำให้เข้าใช้งาน VirtualBox ไม่ได้ ให้ run /etc/init.d/vboxdrv setup ก็ไม่ผ่าน (ไม่มี)
เลยทำตาม VirtualBox '/etc/init.d/vboxdrv setup' issue
sudo apt-get install linux-headers-`uname -r`
Reconfigure dkms and load module:
dpkg-reconfigure virtualbox-dkms modprobe vboxdrv
ผ่านฉลุย....
Date time & date range picker

เพิ่งหาเจอ script สำหรับป้อนช่วงวันที่คล้าย ๆ กับของ Google Analytic หรือ Google Adsense อยู่ที่ www.filamentgroup.com
ระบบสารสนเทศการจัดการฐานข้อมูลเบี้ยยังชีพขององค์กรปกครองส่วนท้องถิ่น
อยู่ที่ http://welfare.dla.go.th/
แปลงหน่วยในระบบพิกัดแบบ DMS และ DD
บทความนี้ไม่ได้เขียนเองนะครับ แต่เห็นว่ามีประโยชน์ ก็เลยเอามาเผยแพร่ต่อ
เทคนิคการแปลงหน่วยในระบบพิกัดแบบ DMS และ DD จากเครื่อง GPS
การแสดงพิกัดบนเครื่อง GPS (Global Positioning System) ที่เราใช้อยู่โดยทั่วไปในบ้านเรา (ไทยแลนด์) จะนิยมใช้แค่สองระบบเท่านั้น คือ พิกัดภูมิศาสตร์ และพิกัดกริด UTM (Universal Transverse Mercator) การอ่านค่าในระบบพิกัด UTM นั้นไม่ยุ่งยากเท่าไหร่ เพราะอ่านตัวเลขตามค่า East (ค่า X) และ ค่า North (ค่า Y) และ หน่วยของ UTM เป็นเมตรอยู่แล้ว แต่การอ่านค่าระบบพิกัดภูมิศาสตร์นั้นค่อนข้างยุ่งยากเล็กน้อย เพราะเครื่อง GPS บางรุ่น บางยี่ห้อแสดงค่าพิกัดภูมิศาสตร์ในหน่วยแบบที่เรียกว่า องศา ลิปดา ฟิลิปดา (DMS : Degree Minute Second) หรือแสดงเป็นหน่วยในระบบพิกัดแบบค่าตัวเลขทศนิยม (DD : Decimal Degree) เพื่อนำไปใช้ในคอมพิวเตอร์ ฉะนั้นเมื่อเราต้องการใช้งานแบบใดแบบหนึ่ง จึงต้องมีการแปลง (Convert) ค่าหน่วย DMS เป็น DD หรือ DD เป็น DMS วันนี้จะบอกเทคนิควิธีการแปลงค่าหน่วยเหล่านั้น
ก่อนอื่นมารู้จักค่าพิกัดภูมิศาสตร์แบบที่เรียกว่า องศา ลิปดา ฟิลิปดา เป็นหน่วยแบบ DMS (Degree Minute Second) เหมือนกับหน่วยของเวลา บอกเวลาเป็น ชั่วโมง นาที และวินาที
ค่าองศา (Degree) 1 องศา มี 60 ลิปดา
ค่าลิปดา (Minute) 1 ลิปดา มี 60 ฟิลิปดา
ฟิลิปดา (Second) 1 ฟิลิปดา มีค่าระยะทางประมาณ 30.48 ม. หรือ 100 ฟุต บริเวณศูนย์สูตร
ตัวอย่างเช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ค่าพิกัดภูมิศาสตร์ ละติจูด 100 องศา 27 ลิปดา 15 ฟิลิปดา เหนือ, ลองกิจูด 7 องศา 2 ลิปดา 25 ฟิลิปดา ตะวันออก
ส่วนหน่วยแบบ DD (Decimal Degree) หมายถึง ค่าตัวเลขทศนิยม ที่เป็นเลขฐานสิบในหน่วยแบบ DD
ตัวอย่างเช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ค่าพิกัดภูมิศาสตร์ ละติจูด 100.45416 เหนือ, ลองกิจูด 7. 040277 ตะวันออก
เทคนิควิธีการแปลงค่าหน่วยเหล่านั้นมี 2 วิธี ดังนี้
วิธีแรก ใช้บริการของเวบไซต์ เป็นวิธีง่ายที่สุด เพียงนำค่าพิกัด DD หรือ DMS มาแปลงในเวบไซต์ดังข้างล่างนี้ ก็จะสามารถแปลงค่าพิกัดได้ง่าย รวดเร็วทันใจ www.gpsvisualizer.com
วิธีที่สอง เป็นการแปลงด้วยวิธีคำนวณเองด้วยมือ จะจิ้มเครื่องคิดเลข หรือจะใช้โปรแกรม Excel คำนวณก็ได้ ไม่ผิดกติกา มาดูวิธีการแปลงพิกัดเหล่านั้นกันเถอะ
วิธีการแปลงหน่วยในระบบพิกัดแบบ DMS เป็นแบบ DD เราจะนำค่า DMS มาแปลงเป็นหน่วยในระบบพิกัดแบบค่าตัวเลขทศนิยม DD (Decimal Degree) เพื่อนำไปใช้ในคอมพิวเตอร์ได้โดยผ่านสมการนี้
DD = Degree+(Minute*60+Second)/3600
หรือ
DD = (Seconds/3600) + (Minutes/60)+ Degrees
ตัวอย่าง แปลงค่าพิกัดในหน่วย DMS ให้เป็น DD เช่น อำเภอหาดใหญ่ ตั้งอยู่ที่ ละติจูด 100 องศา 27 ลิปดา 15 ฟิลิปดา เหนือ ลองกิจูด 7 องศา 2 ลิปดา 25 ฟิลิปดา ตะวันออก
จาก สมการ DD = Degree+(Minute*60+Second)/3600
จะได้ ละติจูด = 100+(27*60+15)/3600 = 100.45416
ลองกิจูด = 7+(2*60+25)/3600 = 7.040277
หรือจาก สมการ DD = (Seconds/3600) + (Minutes/60)+ Degrees
จะได้ ละติจูด = (15/3600)+(27/60)+100 = 100.45416
ลองกิจูด = (25/3600)+(2/60)+7 = 7.040277
ดังนั้น ค่า DD ที่ตั้งอำเภอหาดใหญ่อยู่ที่ ละติจูด 100.45416 เหนือ, ลองกิจูด 7. 040277 ตะวันออก วิธีการแปลงหน่วยในระบบพิกัดแบบ DD เป็นแบบ DMS ทำได้ 2 วิธี
วิธีที่ 1 ใช้โปรแกรม Calculator ใน เครื่องคอมพิวเตอร์ที่ลงซอฟแวร์ปฎิบัติการ Windows 95/98/NT 4/2000/XP/Vista โดยทำตามขั้นตอนดังนี้
- เลือก START แล้วเลือก Programs->Accessories->Calculator
- จากโปรแกรม Calculator เลือก View menu และเลือก Scientific
- พิมพ์ค่าพิกัดในรูปแบบ DD เช่น 100.45416
- แล้วกดปุ่ม dms
- จะแสดงค่าพิกัด DMS ขึ้นมา คือ 100.2714976 หมายถึง 100 องศา 27 ลิปดา 15 ฟิลิปดา
วิธีที่ 2 เป็นการคำนวณด้วยมือง่าย ๆ โดยทำตามขั้นตอนดังนี้
- จากค่าตัวเลขพิกัดในรูปแบบ DD ตัวอย่างเช่น 100.45416 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยองศา ในที่นี่คือ 100 องศา
- ให้นำตัวเลขหลังทศนิยมคูณด้วย 60 เช่น .45416 x 60 = 27.2496
- จากค่าที่คำนวณได้ 27.2496 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยลิปดา ในที่นี่คือ 27 ลิปดา
- ให้นำตัวเลขหลังทศนิยมจากผลคูณในข้อ 2 คูณด้วย 60 เช่น .2496 x 60 = 14.976
- จากค่าที่คำนวณได้ 14.976 ตัวเลขก่อนหน้าจุดทศนิยม จะเป็นค่าของหน่วยฟิลิปดา ในที่นี่ปัดทศนิยมเป็น 15 ฟิลิปดา
- เมื่อนำตัวเลขมาอ่านรวมกันจะได้ 100 องศา 27 ลิปดา 15 ฟิลิปดา เหมือนกับคำนวณด้วยเครื่องคิดเลขเลย
ใครถนัดแบบไหนลองเลือกใช้ดูนะครับ
ขอบคุณแหล่งข้อมูล www.gpsvisualizer.com , www.mass.gov
อานันต์ คำภีระ
ศูนย์ภูมิภาคเทคโนโลยีอวกาศและภูมิสารสนเทศ ภาคใต้ คณะการจัดการสิ่งแวดล้อม มหาวิทยาลัยสงขลานครินทร์ anan.k@psu.ac.th www.rsgis.psu.ac.th
Crowdsourcing Weather Data

NOAA ได้ปล่อย app บน smart phone ชื่อ mPing ที่เชิญชวนให้มวลชนช่วยกันส่งข้อมูลการสังเกตสภาพอากาศเพื่อให้เป็นการรวบรวมภาพที่สมบูรณ์มากขึ้นของสภาพอากาศ
วิธีการนี้ก็เป็นการทำ crowdsourcing โดยการใช้มวลชนช่วยกันส่งข้อมูลไปรวมกันเพื่อทำการประมวลผลของสภาพอากาศที่สมบูรณ์ขึ้นจากข้อมูลที่เกิดขึ้นจริง ๆ
สามารถดาวน์โหลด app ได้ที่ App Store หรือ Google Play