Load Cycle Count !

ไม่นานมานี้ที่ http://slashdot.org มี article เรื่อง Ubuntu May Be Killing Your Laptop’s Hard Drive .. เรื่องของเรื่องก็คือ ฮาร์ดดิสก์โน้ตบุ๊คสมัยใหม่จะมีฟีเจอร์ load/unload ซึ่งทำงานคล้ายๆ กับการ park หัวอ่านของดิสก์ วิธีการ load จะเคลื่อนหัวอ่านเข้าหลังจาก spin จานจนได้รอบที่ทำให้หัวอ่านลอย และการ unload ก็จะเคลื่อนหัวเก็บก่อนแล้วค่อย spin down ฟีเจอร์ load/unload มีจำนวนรอบในการทำงานจำกัด ทำบ่อยๆ กลไกมันจะมีความแม่นยำลดลงจนอาจจะเกิดผลเสียกับแผ่นจาน ตัวเลขโดยประมาณคือที่ 600,000 รอบก็จะเริ่มมีอาการไม่ค่อยน่าเชื่อถือ .. พูดง่ายๆ คือ load/unload บ่อยๆ อาจทำให้อายุดิสก์จะสั้นลงได้ .. ทีนี้พวกฮาร์ดดิสก์ของโน้ตบุ๊คที่มี power management ก็มักจะลดการใช้พลังงานอยู่ใน stand-by mode โดยการ spin down หรือไม่ก็ sleep ไปเลย ทำให้ดิสก์ต้อง load/unload อยู่เรื่อยๆ หลังจากอ่าน article แล้วเลยดู load cycle ของเครื่องตัวเองสักหน่อย …

# smartctl -a /dev/sda
...
9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 2484
...
193 Load_Cycle_Count 0x0032 076 076 000 Old_age Always - 248068
..

เฮือก! ดิสก์ข้าน้อย load/unload ชั่วโมงละ 100 ครั้ง! เป็นไปได้ไงเนี่ยะ! .. คำนวณหยาบๆ ก็ได้คำตอบว่าถ้ายังคงอัตรานี้ ดิสก์อาจหมดอายุขัยในอีก 11 – 12 เดือนข้างหน้า (- -‘)

วิธีแก้ไข ? ตรงไปตรงมาก็ปิด power management ซะ

# hdparm -B 255 -S 0 /dev/sda

ดิสก์บางตัวอาจต้องใช้ -B 254 แทน ส่วนค่า -S 0 จะเป็นการ disable stand-by timeout ถ้าไม่ชอบ ลอง man hdparm เพิ่มเติมเอาละกัน .. เอาคำสั่งนี้ไปใส่ใน /etc/rc.local และ /etc/acpi/resume.d/99-disable-disk-pm.sh เลยก็น่าจะดี … แต่ทำอย่างนี้ไม่ใช่ว่าไม่มีผลเสีย อย่างน้อยเวลาใช้ on-battery ลดลงแน่ๆ

เรื่องนี้มีข้อสังเกตหลายประการที่ทำให้มีการถกต่อไปอีก อย่างแรกคือหัว article ออกจะ FUDs พอสมควร ที่มาของเรื่องนี้เกิดจากการถกกันใน launchpad เลยจั่วหัวเป็น Ubuntu ซะงั้น ที่จริงแล้ว OS ไหนๆ ก็มีปัญหากับกรณีนี้ได้หมดแหละ ในส่วน Ubuntu เองมี script ปรับการทำงานของ power management ที่ส่งผลกับ load cycle จริง แต่มันจะทำงานเฉพาะใน Laptop Mode ซึ่ง disabled by default .. ทีนี้ทำไม load cycle มันวิ่งกระฉูดขนาด 100 cycle ต่อชั่วโมงก็ยังหาคำตอบกันไม่ได้ … อย่างที่สองคือกรณีของข้าน้อย 100 cycle ต่อนาที นี่มันผิดปกติมาก! จะเป็นตัวเลขที่ถูกต้องหรือเปล่าก็ไม่แน่ใจเหมือนกัน .. อย่างที่สามคือถกกันขำๆ ว่างานนี้สงสัย OS vendor สมคบคิดกับบริษัทผลิตดิสก์ทำให้เจ๊งไวจะได้ซื้อดิสก์ใหม่บ่อยๆ .. (- -)a … เอาเข้าไป .. ถ้าดิสก์ยี่ห้อไหนมันเจ๊งง่ายตูก็ไม่ซื้อมาใช้อยู่ดีแหละน่า .. สุดท้าย ค่า -B 255 -S 0 มีผลดีหรือเสียต่อตัวดิสก์เองหรือเปล่าก็ไม่รู้ .. เครื่องใครเครื่องมัน .. ดิสก์ใครดิสก์มัน .. ตัวใครตัวมันล่ะครับ :P

ภารกิจ Book Expo Thailand 2007

โผล่ไปวันสุดท้าย ช่วงเย็นๆ

17:46 ค่าย บลิส สอยมา 5 เล่ม

  1. คินดะอิจิ 9 ในห้องที่ปิดตาย – 220 บาท
  2. คินดะอิจิ 10 คฤหาสน์เขาวงกต – 265 บาท
  3. มิเกะเนะโกะ 10 เมอร์รี่คริสต์มาส – 145 บาท
  4. ซายากะ 6 ล็อกเก็ตสีเลือด – 165 บาท
  5. อุโมงค์ – 215 บาท

รวมแล้ว 1010 แต่ยังคงติดโทษฐานเป็นสมาชิก ลดไป 30% เหลือ 707 บาท

18:14 ค่ายมติชน เบาๆ

  1. เดอะ เสิร์ช – 300 บาท
  2. แจ๊สวิถี – 270 บาท

รวมแล้ว 570 ลดเหลือ 471 บาท

พอละ กลับๆๆ .. :P

Gutsy Gibbon, then Hardy Heron

หลายคนคงได้อัปเกรดเป็น Ubuntu 7.10 Gutsy Gibbon กันไปแล้ว

  • เปลี่ยนแปลงใหญ่สุดคงจะหนีไม่พ้น Compiz Fusion by default เครื่องใหม่ๆ หน่อยก็เล่น desktop effect กันเป็นที่ลื่นหัวแตก
  • ฮาร์ดแวร์ MacBook ไปกันได้สบายๆ .. sensor ก็ทำงานได้แล้ว (MacBook C2D มี sensor อุณหภูมิ 14 ตัว! บ้าไปแล้ว !) .. Airport Extreme ยังคงต้องพึ่ง ndiswrapper ไปก่อน .. ปัญหา grub กับ keyboard ดูเหมือนจะหายไปแล้ว :D
  • OO.o 2.3 ตัวที่มากับ Gutsy ใช้ภาษาไทยเมื่อไหร่บรรลัยเกิด ปัญหานี้รู้กันตั้งแต่ออก OO.o 2.3 มาแล้ว แต่ แก้ได้ไม่ยาก ต้องขอบคุณคุณ sugree และอีกหลายคนที่ปั่นจนทัน Gutsy รีลีส
  • Firefox ภาษาไทยเพี้ยนนิดหน่อย เลย MOZ_DISABLE_PANGO=1 ใน /usr/bin/firefox ทีเดียวหาย
  • ซอฟต์แวร์นอก official repo ยังใช้งานได้ดี (e.g. cxoffice, cedega, opera, virtualbox, …)
  • wine, getdeb.net ก็ทยอยออก package สำหรับ Gutsy แล้ว

etc. etc.

สรุปว่าน่าใช้ยิ่งกว่าเดิมละกัน :)

รุ่นหน้า Ubuntu 8.04 LTS กลับมาใช้ codename ตัว "H" อีกครั้ง โดยใช้ codename ว่า "Hardy Heron" .. นกกระสาผู้แข็งแกร่ง มาพร้อมกับ support ยาวๆ 3 ปี / 5 ปี .. เซิร์ฟเวอร์ที่ใช้ 6.06 กันอยู่ก็คงได้อัปเกรดซอฟต์แวร์เป็นเวอร์ชันใหม่ๆ กันซะที :)

Dmix, I hate you !

สังเกตว่าตั้งแต่ Feisty เป็นต้นมา ALSA จะ enable dmix dsnoop softvol by default ทำให้สามารถ playback, record audio ได้หลาย stream ในเวลาเดียวกัน ไม่ต้องใช้ ESD หรือ Sound Daemon อื่นๆ กันแล้ว …. แต่นั่นต้องแลกมาด้วยคุณภาพเสียงที่ลดลง เพราะ dmix dsnoop มันก็คือ mixer software ที่ต้องทำงานโคตรเร็วเพื่อไม่ให้เกิด delay จนรู้สึกได้ แปลว่ามันจะ buffer stream ไว้น้อยมาก mix แล้ว playback ออก คุณภาพมันก็จะไม่ค่อยดี เปิด volume สูงๆ ก็จะมี noise บ้าง เสียงแตกบ้าง .. ถ้าจะเอาคุณภาพดีก็ต้องเพิ่ม buffer ทำให้ delay สูงขึ้นเวลาเล่นเกมภาพไปทางเสียงไปทาง ..

วันนี้นั่งฟังเพลง noise มา left channel มั่ง right channel มั่ง .. ฮึ่ยยย .. อุตส่าห์มี HD Audio ดันมา bottleneck กะ dmix ซะนี่ .. ไม่ทนมันแล้ว เอาออกซะเลยดีกว่า ! .. กะจะพึ่งพา Google หาไปหามา สุดท้ายก็มานั่งเขียน ~/.asoundrc เองเหมือนเดิม (- -‘) ..

เอา Hardware PCM ตูคืนมาเลย !

pcm.!default {
    type plug
    slave.pcm "plughw:0,0";
}

Reboot เพื่อความชัวร์ .. noise หายเป็นปลิดท้ิง play/record audio ได้ stream เดียวก็ช่าง สบายใจแล้ว :D

WMA to WAV

มีโอกาสเปลี่ยนมือถือ + palm เป็น HTC Touch เมื่อประมาณ 2-3 สัปดาห์ก่อน .. พยายามหาโปรแกรมนาฬิกาปลุกมาใช้เพราะที่มากับเครื่องมันเสียงเป็นแมลงหวี่ คงไม่ตื่นโดยง่าย แถมใช้ได้เฉพาะ WAV อีกต่ะหาก .. แต่ก็ไม่เจอโปรแกรมฟรีตัวไหนที่มันโดนๆ .. สุดท้ายใช้นาฬิกาปลุกที่มากะเครื่องแต่แปลง ringtone ชื่อ old phone เสียงกรี๊งงงง โคตรดัง จาก WMA เป็น WAV เอาไว้ปลุก

วิธีแปลงอย่างง่ายโดยใช้ mplayer ก็

$ mplayer Ring-OldPhone.wma -ao pcm:file=output.wav

ringtone ที่เอามาแปลงนี้ คุณภาพระดับ 44.1 kHz 16 bit mono ขนาดไฟล์ประมาณ 22 kB .. แปลงเป็นไฟล์ WAV ได้คุณภาพเท่าๆ ต้นฉบับ แต่ไฟล์มันก็จะขนาดบ่ะละเฮิ่มตั้ง 229 kB … เปลืองเด้ .. ลดคุณภาพสักหน่อยละกัน

$ mplayer Ring-OldPhone.wma -af volume=0,resample=22050:0:2 -format u8 -ao pcm:file=output.wav

re-sample ลงเป็น 22.05 kHz 8-bit mono เหลือ 57 kB .. ฟังดูไม่ต่างกันมาก ขนาดไฟล์ก็พอรับได้ .. ตอนนี้เลยได้เสียงปลุกโคตรดังสมใจ แต่จะตื่นหรือไม่นั่นเป็นอีกเรื่องนึง :P

Be with you

เพิ่งมีโอกาสได้ดูเรื่อง Be with you จนจบ .. เฮือกๆๆ .. รีบเผ่นมาบันทึก blog อย่างด่วน .. Be with you เป็นภาพยนตร์แนวโรแมนติกของญี่ปุ่น ชื่อญี่ปุ่นคือ Ima, Ai ni Yukimasu (いま、会いにゆきます) ออกฉายประมาณปี 2004 เนื้อเรื่องมาจากนิยายขายดี ภาพสวย เนื้อหาดี วิธีเล่าก็ดี .. แต่ไม่เล่าดีกว่า เดี๋ยวดูแล้วจะไม่อิน .. เอาเป็นว่าได้คะแนน 8.4/100 ที่ IMDB .. เฉพาะในญี่ปุ่นว่ากันว่าคนตีตั๋วไปดูแถวๆ 3.8 ล้านคน ทำรายได้มากกว่า 5,000 ล้านเยน .. น่าจะเป็นภาพยนตร์แนวโรแมนติกของญี่ปุ่นที่ดีที่สุดเรื่องนึงในรอบหลายปีเลยแหละ ..

บ้านเราไม่รู้ว่าเคยเข้าโรงฉายหรือเปล่า แต่มีดีวีดีขาย (ของ EVS) ภาษาไทยใช้ชื่อ "ปาฏิหาริย์ 6 สัปดาห์ เปลี่ยนฉันให้รักเธอ" … ถ้าที่บ้านติดดาวเทียมก็อาจจะรอดูจากช่อง MIC ของ MVTV ได้

/me ไม่ชอบหนังโรแมนติกซักกะนิด แต่ชอบเรื่องนี้อะ .. แนะนำๆๆ

Google Earth Flight Simulator !

ติดตั้ง Google Earth ล่าสุด (v.4.2) กด Ctrl-A หรือ Ctrl-Alt-A หรือ Ctrl…+A

 

/me: ขณะบินเหนือเมืองกาฐมาณฑุ ประเทศเนปาล

ให้ตายเถอะ Google !

Pattaya !

ห่างจาก blog สุดท้ายเดือนนึงพอดี … แถมเป็นของดองอีกต่ะหาก !

[nggallery id=72]

… อยาก update บ่อยๆ อยู่นะ … T_T

No more -ck

ในที่สุด สิ่งที่ไม่ควรจะเกิดขึ้นก็เกิดขึ้นจนได้ วันที่ 11 ก.ค. 2550 Con Kolivas หนึ่งในเคอร์เนลแฮ็กเกอร์ที่พัฒนาและรวบรวม patch ปรับปรุงการทำงานของลินุกซ์สำหรับระบบเดสก์ท็อปก็ประกาศว่า 2.6.22-ck1 จะเป็น -ck patchset สุดท้าย ต่อจากนี้ไปเขาจะเลิกแฮ็กเคอร์เนลของลินุกซ์แล้ว

เหตุผลสั้นๆ ที่พอจะประเมินได้คือ .. เซ็ง

เหตุผลยาวๆ เริ่มจาก staircase CPU scheduler ที่ CK พัฒนามาก่อนหน้านี้ เริ่มแรก staircase มี bug อื้อเสถียรภาพไม่ดี นักพัฒนาส่วนนึงก็อัด staircase แหลก .. CK ได้ปรับปรุงและเปลี่ยนเป็น staircase deadline (SD) CPU scheduler ในภายหลัง เสถียรภาพของ SD ดีขึ้นมากและผ่านการทดสอบจากผู้ใช้กลุ่มใหญ่พอสมควร มีผู้ใช้สนับสนุนและเรียกร้องให้รับ SD เข้าเคอร์เนลหลัก ..แต่ก็มีแรงต้านทุกครั้งไป .. ในขณะที่ Completely Fair Scheduler (CFS) ซึ่งมีแนวคิดในการทำงานใกล้เคียงกันกับ SD แซงทางโค้งเข้าป้ายไปรวมเข้าในเคอร์เนล 2.6.23 .. คำถามก็เกิดขึ้นในกลุ่มผู้ใช้ -ck ว่า ถ้าไอเดียของ SD มันดี ทำไมไม่ตัดสินใจเลือก SD แล้วมาช่วยกันแก้ปัญหาเสถียรภาพตั้งแต่ตอนโน้น ? ทำไมถึงเกิด CFS ซึ่งมีแนวคิดทับซ้อนกันอีก ?

นอกจากเรื่องของ SD แล้ว Swap Prefetch ก็เป็นอีกหนึ่งงานของ CK ที่โดนวิพากษ์ใน LKML .. patch นี้ค้างอยู่นานแล้ว มีคนทดสอบอยู่พอสมควร ได้รับการตอบสนองในเชิงบวกมาเกือบตลอด และยัง maintain อยู่ใน -mm อีก แต่ก็ไม่ได้รวมเข้าเคอร์เนลหลักเสียที ..

ถ้าทำแล้วไม่ได้รับความสนใจอย่างที่ควรจะเป็น ทำอยู่นานแล้ว ปัญหาที่ต้องแก้ก็แก้ให้หมดแล้ว ยังเข้าเคอร์เนลหลักไม่ได้ จะทำไปอีกทำไม ? แล้วใน LKML น่ะ บทจะมีแรงต้านหรือขัดแย้งกันมันใช่ย่อยเสียที่ไหน แฮ็กเกอร์อัตตาแรงๆ ปากคอร้ายๆ ก็มีให้เห็นอยู่

ผลที่ออกมาก็กลายเป็น .. "พอกันที .. ku ไม่ทำ mang’ ละ .. "

เป็นเรื่องน่าเสียดาย .. แต่อย่างน้อย CK ก็ได้ทิ้งผลงานให้ทำกันต่อ และอันที่จริง CK ก็มีส่วนใน CFS ไม่น้อยเหมือนกันนะ ..

/me thanks CK for his great works,