หน้าเว็บ

วันศุกร์ที่ 9 กรกฎาคม พ.ศ. 2553

Root Samsung Galaxy S ด้วย Ubuntu

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

เครื่องมือที่ต้องใช้ในการ root
1. Android SDK Linux http://developer.android.com/sdk/index.html
2. Update Script http://forum.samdroid.net/attachments/f49/1224d1277452759-superuser-su-busybox-i9000-26-06-2010-update.zip หรือ http://www.deedns.net/update.zip

เตรียมเครื่องมือก่อน
บนเครื่องคอม

1. แตกไฟล์ android sdk สมมติว่าเอาไว้ที่ /path/to/android-sdk-linux_86 ให้เข้าไปที่โฟลเดอร์ tools ตัวที่เราจะใช้คือ adb
2. สั่งคำสั่ง sudo adb start-server

บนมือถือ ssgs
1. ไปที่ Settings->Applications->Development ติ๊กเลือก USB debugging
2. เสียบสาย usb ต่อเข้ากับคอม
3. เลื่อนแถบ notification bar ด้านบนลงมา เลือก USB connected แล้วเลือก Mount

โอเคเตรียมการเรียบร้อย ตอนนี้เครื่องคอมเราจะสามารถเข้าไปยังโฟลเดอร์ของ ssgs ได้ (จะมีของ haddisk 2GB และ SD Card 14GB) และลองทดสอบด้วยคำสั่ง adb devices จะมีรายการอุปกรณ์ขึ้นมาหนึ่งอัน (ในกรณีชื่อเป็น ?????? แสดงว่าตอนสั่ง adb start-server ลืมใส่ sudo ให้แก้ด้วยการสั่ง adb kill-server ก่อน แล้วลอง sudo adb start-server ใหม่อีกครั้ง)

เริ่มทำการ root
1. copy ไฟล์ update.zip ที่ดาวน์โหลดมาข้างต้นไปไว้ด้านนอกสุดของ SD Card
2. สั่งคำสั่ง adb reboot recovery แล้วเครื่อง ssgs จะเข้าสู่ recovery mode
3. พอเครื่อง ssgs เข้าสู่ recovery mode แล้ว ให้เลือก apply sdcard:update.zip (ใช้ปุ่ม volumn ด้านข้างในการเลื่อนขึ้นลง และกดปุ่ม Home ด้านล่างในการเลือก) แล้วเครื่องจะ reboot เป็นอันเสร็จพิธี

ตรวจสอบว่า root สำเร็จ
1. ใน Applications จะมีโปรแกรมชื่อ Superuser Permission โผล่มา
2. ลองโหลดโปรแกรม CacheMate มาติดตั้ง โปรแกรมจะขอสิทธิ root ในการทำงาน ถ้าทำงานได้โปรแกรมจะล้าง cache ของเครื่องทิ้งให้ ทำให้ได้พื้นที่คืนมา (ของผมลองแล้วได้ 14MB)

ระบบที่่ทดสอบ
Device: Samsung Galaxy S (GT-I9000)
Firmware: Android ECLAIR 2.1-update1
Baseband: I9000DXJF4
Kernel: 2.6.29
Ububunt: 10.04

เบื้องหลังการ root
0. ทดสอบว่าเป็น Galaxy 3 (GT-I5800) หรือ Galaxy S (GT-I9000) ก่อน แล้วทำการแตก package ออกมาเพื่อเตรียมใช้
1. ลบ su เดิมทิ้งออกจาก bin และ xbin
2. copy app Superuser, busybox และ su ตัวใหม่เข้าไป
3. สร้าง symlink ของ su และกำหนด permission ให้ su กับ busybox

อ้างอิง
http://pdamobiz.com/forum/forum_posts.asp?TID=321558&PN=1

วันศุกร์ที่ 11 มิถุนายน พ.ศ. 2553

วิธีใช้ vi copy text จาก file หนึ่งไปอีก file หนึ่ง

สมมติว่าต้องการ copy 10 บรรทัดจากไฟล์ที่ชื่อ a.txt ไปยังไฟล์ b.txt ที่อยู่ที่ /path/to/b.txt

สมมติว่าตอนนีี้เปิดไฟล์ a.txt และอยู่บรรทัดเริ่มต้นที่ต้องการ copy แล้วให้ใช้ command ดังนี้
"a10yy
ความหมายคือทำการ copy line (yy) 10 ครั้ง (10 บรรทัด) ไปเก็บไว้ใน buffer ชื่อ a ("a)

หลังจากนั้นให้เปิดอีกไฟล์หนึ่งขึ้นมาในด้วยคำสั่ง
:e /path/to/b.txt
จะเข้ามาสู่ไฟล์ b.txt แล้วให้ไปบรรทัดที่ต้องการจะ paste และทำการสั่ง paste โดย
"ap
ความหมายคือ paste (p) โดยนำค่าจาก buffer a ที่เก็บไว้ ("a)

เสร็จแล้วก็สามารถ save ไฟล์ (:w) แล้วกลับไปยังไฟล์เก่าได้โดยคำสั่ง
:e#

วันอาทิตย์ที่ 6 มิถุนายน พ.ศ. 2553

รับไฟล์ผ่าน Bluetooth บน Mac OSX Snow Leopard

ถ้าต้องการให้เครื่อง Mac OS X Snow Leopard ทำการรับไฟล์ได้นั้น ให้ไปที่ perference ของ bluetooth บนเครื่อง mac โดยคลิกที่ icon รูป Bluetooth ด้านบนขวา แล้วเลือก Open Bluetooth Perference -> Sharing Setup แล้วให้ติ๊กถูกที่ Bluetooth Sharing ซึ่งจะมีเมนูให้ปรับแต่งเพิ่มขึ้นมา เช่น เวลารับไฟล์ให้ถามก่อน หรือว่ารับแล้วเปิดไฟล์ หรือว่ารับแล้วเซฟไฟล์เป็นต้น

เมื่อตั้งค่าเสร็จแล้วก็ทำการ pairing กับเครื่องที่ต้องการ แล้วก็จะสามารถรับไฟล์ได้

ระบบที่ทดสอบ
Mac: Macbook Air
OS: Mac OS X Snow Leopard
เครื่องที่ส่งไฟล์: Nokia E75

รับไฟล์ผ่านทาง Bluetooth บน BlackBerry (Bold)

ผมจะลองส่งไฟล์ภาพจาก Nokia E75 มายังเครื่อง BlackBerry Bold แล้วเกิดปัญหาคือ เมื่อทำการ pairing สำเร็จแล้ว เครื่อง Nokia เลือกส่งไฟล์มา แต่ส่งไม่ได้ โดยขึ้นว่า Unable to connect ก็เลยค้นหาวิธีส่งไฟล์เข้าเครื่อง BlackBerry ได้ดังนี้
(หลังจาก pairing เสร็จ)
1. ที่หน้า Home Screen ไปที่ Media
2. เลือกประเภทที่อยากจะรับ (Picture, Video, Music, ฯลฯ)
3. กดปุ่มเมนู แล้วเลือก Receive using Bluetooth
4. หลังจากนั้นจะขึ้นว่ารอให้ผู้ส่งติดต่อเข้ามา ตอนนี้ก็ให้ใช้เครื่องที่ต้องการจะส่งไฟล์เข้ามาเลือกส่งไฟล์เข้ามาได้ (แต่เครื่องนั้นต้องทำการ paring ก่อน)

เครื่องที่ทดสอบ
เครื่องที่รับ : BlackBerry Bold 9700
เครื่องทีส่ง : Nokia E75

วันศุกร์ที่ 14 พฤษภาคม พ.ศ. 2553

วิธีเรียกดู diff ของ file ใน git

ถ้าต้องการดูว่าไฟล์ที่ถูกแก้ไขไปนั้นแตกต่างกับ revision ก่อนหน้ายังไงบ้าง ให้ใช้ 2 คำสั่ง
1. หาเลข commitid revision ที่ต้องการเปรียบเทียบด้วยคำัส่ง
git log -- filename
2. แสดงผลการเปรียบเทียบ
git diff commitid -- filename
โดย commitid คือเลข commit id ของ revisoin ที่ต้องการที่หาได้จากขั้สตอนที่ 1
filename แทนชื่อไฟล์ที่ต้องการเปรียบเทียบ

ระบบที่ทดสอบ
git: 1.7.0.4
OS: Ubuntu 10.04

วันพฤหัสบดีที่ 13 พฤษภาคม พ.ศ. 2553

แก้ปัญหา Firefox ปิดตัวเองบน Ubuntu 10.04 Lucid Lynx

ขอแชร์ประสบการณ์ครับเผื่อเป็นประโยชน์ เครื่องผม Lenovo Thinkpad X200 ลง Lucid ตัวเต็ม clean install พบปัญหาว่า Firefox มักจะปิดตัวเองลงเมื่อมีการ login เข้าหน้าเว็บพวก Facebook, Google Wave หรือทำการเปิดไฟล์/เมลใน Google Docs, Hotmail

ผมทดลอง run ด้วย safe mode แล้วกลับไม่พบอาการดังกล่าว จึงได้ลอง 2 วิธี 1. สร้าง profile ใหม่ 2. ถอด extension/add-on ทิ้งหมด แต่ปรากฏว่าอาการยังเป็นอยู่ครับ และไม่ได้ลองวิธีอื่นต่อ

ผมตัดสินใจลบ Firefox ทิ้งแล้วลงใหม่ครับ โดยเริ่มจากถอด firefox ออกด้วย
sudo apt-get remove firefox
หลังจากนั้นลบโฟลเดอร์ที่เกี่ยวข้องออกครับ
sudo rm -r /usr/lib/firefox-3.6.3 /usr/lib/firefox-addons ~/.mozilla
หลังจากนั้นลงใหม่ด้วย
sudo apt-get install firefox
ซึ่งทำให้กลับมาใช้ได้ครับ ผมยังไม่ได้ลงไล่ไปลึกกว่านี้ว่าสาเหตุจริงๆคืออะไรกันแน่ครับ

ระบบที่ทดสอบ

OS: Ubuntu 10.04 Lucid Lynx

Firefox: 3.6.3

วันจันทร์ที่ 10 พฤษภาคม พ.ศ. 2553

My Top-10 Favorite Firefox Add-ons

รายการ Add-on ของ Firefox ที่ผมใช้บ่อยๆจนต้องลงแทบทุกครั้งที่ลง firefox ใหม่ครับ
1. Adblock Plus
2. DownThemAll! + DownThemAll AntiContainer
3. WebMail Notifier
4. Delicious Bookmarks
5. Firebug
6. Greasemonkey
7. rikaichan + Word Dict & Names Dict
8. FireFTP
9. FasterFox
10. ScreenGrab