หน้าเว็บ

วันศุกร์ที่ 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

วันเสาร์ที่ 24 เมษายน พ.ศ. 2553

วิธีการชาร์จแบตเตอรี่ Notebook

แต่ไหนแต่ไรไม่เคยสนใจเรื่องแบตเตอรี่เลย แต่มาวันนี้พอแบตเตอรี่มันเสื่อมสภาพ ซึ่งเป็นแบต 6-cell ใช้ไปประมาณ 1 ปีครึ่ง แล้วได้ทำการซื้อใหม่ โดยทำการซื้อแบต 9-cell สำหรับเครื่อง Lenovo Thinkpad x200 มา แต่ด้วยความที่ไม่รู้ข้อมูลเรื่องแบตเลยก็เลยถามคนขายว่าควรชาร์จครั้งแรกทิ้งไว้นานเท่าไหร่ ซึ่งเค้าตอบกลับมาว่าประมาณ 16 ชั่วโมง ด้วยเหตุเหล่านี้เลยเกิดคำถามขึ้นมาในใจหลายคำถาม เช่น
1. ทำไมแบตฯตัวเก่ามันหมดอายุเร็วจัง (ปัจจุบันชาร์จเต็มที่ได้แค่ 15 นาทีบน Ubuntu Linux ถ้าบน Windows อาจได้ประมาณ 40 นาที (ไม่ได้ทดลอง แต่ตอนซื้อมาใหม่ๆ Windows ใช้ได้ 4-5 ชม. ขณะที่ Ubuntu ใช้ได 2-3 ชม.))
2. แบตเมื่อซ์อมาครั้งแรกควรชาร์จยังไงดีเพื่อให้ใช้เต็มประสิทธิภาพ
3. เวลาชาร์จใหม่ ควรใช้แบตไปเยอะๆก่อน หรือว่าอยากชาร์จตอนไหนก็ได้

ก็เลยลองไปค้นๆข้อมูลดูและเอามาเล่า/แปลให้ฟัง

แต่ก่อนที่ควรรู้คือ ประเภทของแบตเตอรี่
แบตเตอรี่ปัจจุบันที่ใช้ใน Notebook มีหลักๆ 3 ประเภท
1. NickelCadmium (NiCd) เป็นแบตที่มีใช้กันเยอะ โดยมีข้อดีคือทำงานในที่อุณหภูมิสูงมากหรือต่ำมากได้ และมีจำนวนรอบของการชาร์จเต็มและใช้จนหมดได้ถึงประมาณ 750 รอบการชาร์จ แต่ข้อเสียคือมี Memory Effect (เดี๋ยวบอกว่าคืออะไร)

2. NickelMetalHydride (NiMH) เป็นตัวที่พัฒนาขึ้นจาก NiCd มีความจุเพิ่มขึ้นประมาณ 40% (โดยใช้ขนาดเท่าๆกัน) ไม่โดนผลกระทบจาก Memory Effect แต่มีรอบการชาร์จอยู่ที่ประมาณ 400 รอบ

3. LithiumIon (LiIon) เป็นตัวใหม่ (ปัจจุบันก็เห็นใช้กันเยอะแล้ว) สามารถทำงานได้นานขึ้นกว่า NiMH และน้ำหนักเบา แต่ราคาแพง และต้องใช้ที่ชาร์จที่ออกแบบเฉพาะสำหรับแบตเตอรี่แต่ละรุ่น มีรอบการชาร์จอยู่ที่ประมาณ 400 รอบเช่นกัน และไม่โดนผลกระทบจาก Memory Effect

มาอธิบาย Memory Effect เล็กน้อย
Memory Effect คืออาการที่แบตเตอรี่ลืมไปว่าตัวมันเองยังมีประจุที่ยังไม่ได้ใช้งานอยู่อีกเท่าไหร่ ซึ่งอาการนี้จะเกิดกับการใช้งานแบตประเภท NiCd ที่ใช้พลังงานไปยังไม่หมดแล้วทำการชาร์จใหม่ทันที เช่น ใช้ไป 50% แล้วทำการชาร์จใหม่จนเต็ม แล้วพอใช้ไปใหม่ได้แค่ 50% แบตก็จะบอกว่ามันหมดแล้ว โดยมันลืมไปว่าจริงๆแล้วยังสามารถคลายประจุได้อีก 50%
วิธีการหลีกเลี่ยงก็คือพยายามใช้ไฟจากแบตประเภท NiCd ให้หมดหรือเกือบหมดแล้วค่อยชาร์จใหม่ หรือทำแบบนี้ทุกๆ 1-3 สัปดาห์ ซึ่งเรียกว่าเป็นการปรับสภาพ (Conditioning)

พอรู้จักประเภทของแบตแล้ว คราวนี้พอซื้อแบตมาครั้งแรกเนี่ยควรชาร์จยังไงดี กี่ชั่วโมง?
จากที่อ่านมาคือถ้าเป็นแบตประเภท NiCd หรือ NiHM เนี่ย ควรชาร์จครั้งแรกประมาณ 16 ชั่วโมง แต่ถ้าเป็น LiIon เนี่ยชาร์จครั้งแรกประมาณ 5-6 ชั่วโมง (นั่นคนขายมั่วใส่เราจริงด้วย เพราะที่เราซื้อเป็น LiIon)
สำหรับ NiCd หรือ NiHM ในการชาร์จครั้งแรกๆควรชาร์จให้เต็ม และใช้ให้หมด แล้วชาร์จให้เต็มใหม่ ประมาณ 2-4 รอบก่อนนำไปใช้งานจริง เพื่อให้ได้ประสิทธิภาพเต็มที่ แต่ขณะที่ LiIon นั้นไม่จำเป็น
เค้าบอกว่าเวลาชาร์จครั้งแรกๆเนี่ยเป็นปกติเลยที่เครื่องมักบอกว่าชาร์จเต็มแล้วทั้งๆที่เพิ่งชาร์จไปได้แค่ 10-15 นาที ก็ไม่ต้องตกใจชาร์จต่อไป แต่บางเครื่องเนี่ยมันจะไม่ยอมชาร์จต่อ ก็ให้ถอดแบตแล้วชาร์จใหม่อีกรอบ เค้าบอกด้วยว่าอาจเกิดขึ้นได้หลายครั้งในการชาร์จครั้งแรก
ถ้าแบตไม่ได้ใช้เป็นเวลานานแล้วก็ควรจะต้องทำกระบวนแบบนี้ใหม่เช่นกัน เรียกว่า re-initialization

คราวนี้พอใช้ปกติควรชาร์จใหม่เมื่อไหร่ดี?
อันนี้จะเกี่ยวกันกับเรื่องรอบการชาร์จ (cycle count) ว่าชาร์จยังไงถึงจะนับเป็น 1 รอบการชาร์จ เพราะว่ารอบการชาร์จก็ส่งผลโดยตรงกับอายุการใช้งานแบตซะด้วย
จากที่อ่านมาคือถ้าเป็นแบตประเภท NiCd เนี่ยไม่ว่ารอบจะใช้ไปเท่าไหร่ ถ้าเริ่มชาร์จปุ๊ปจะนับเป็น 1 cycle ทันที เช่นใช้ไปแค่ 30% แล้วเอาไปชาร์จก็นับเป็น 1 cycle เลย ในขณะที่ถ้าเป็นแบบ LiIon เนี่ยมันจะฉลาดกว่าคือมันจะนับ 1 cycle ถ้ามีการชาร์จรวมกัน(1 หรือหลายครั้ง) คิดเป็นประมาณ 80% ขึ้นไป เช่น ใช้ไป 20% แล้วชาร์จเต็ม แล้วใช้ไปอีก 20% แล้วชาร์จเต็มใหม่ แล้วใช้ไปอีก 50% แล้วชาร์จเต็มใหม่ แบบนี้ถึงจะนับเป็น 1 cycle (แต่ตัวเลข 80% นั้นไม่แน่นอน แต่ราวๆนั้น) ส่วน NiMH ไม่มีข้อมูล (แต่คิดว่าคล้าย NiCd)
ดังนั้นแบตพวก NiCd ควรใช้ไปเยอะๆก่อนแล้วค่อยชาร์จทีเดียว ส่วน LiIon ก็ชาต์จเมื่อไหร่ก็ได้

ต่อมาเรื่องอายุการใช้งาน
อันดับแรกเลยก็คือจำนวนรอบการชาร์จ (cycle count) ที่ได้กล่าวไปแล้ว แต่ตัวเลขที่แสดงให้ดูเป็นแค่การประมาณ อาจมากหรือน้อยกว่านั้นก็ได้ ถ้าใช้จนหมดแล้ว แบตจะเสื่อมและเก็บประจุไม่ค่อยได้แล้ว
นอกจากนั้นก็มีเรื่องการเก็บรักษาคือไม่ควรเก็บแบตไว้ในที่ร้อน เช่น ทิ้งไว้ในรถเวลารถตากแดด (อันนี้ผมทำบ่อยเลย สงสัยเป็นสาเหตุหนึ่งให้แบตเก่าผมเสื่อมเร็ว) และแบตประเภท LiIon เนี่ยไม่ควรปล่อยให้แบตหมดเกลี้ยง เพราะทำให้เสื่อมสภาพเร็วขึ้น และอีกอย่างคือไม่ควรชาร์จจนเต็ม(ล้น)! (อันนี้แปลกดี ไม่รู้จริงรึเปล่า)
ถ้าเกิดว่าต้องไปต่างจังหวัด ต่างประเทศ ทำให้ไม่ได้ใช้งานโน๊ตบุ้คเป็นเวลานานๆ ก็ไม่ควรเสียบแบตฯค้างไว้ในเครื่อง ให้ถอดเก็บรักษาไว้ในที่แห้งและเย็นจะช่วยถนอมอายุการใช้งานได้ดียิ่งขึ้น

ถ้าใครทราบหรือรู้วิธีอะไรเพิ่มเติมสามารถบอกข้อมูลเพิ่มเติมได้ครับ

อ้างอิง