Category Archives: Blog

Logitech Quickcam® Orbit

ได้ webcam ของ Logitech รุ่น Quickcam® Orbit มาลอง ..

Quickcam® Orbit และ webcam ของ Logitech อีกหลายรุ่น ใช้ไดรเวอร์ PWC ที่สร้างปัญหากับเคอร์เนลเมื่อปีก่อนโน้น .. ตอนนี้ปัญหาก็ผ่านไปแล้ว อย่างน้อยที่สุด PWC ก็โผล่มาให้เห็นตั้งแต่ เคอร์เนล 2.6.12(.2) .. มีไดรเวอร์ในเคอร์เนลแล้วก็จริงแต่ที่ลองดูปรากฏว่ามันทำงานเพี้ยนๆ เลยลองเอา ไดรเวอร์ใหม่ มาคอมไพล์แยกดู ผลคือใช้งานได้ดีเกินคาด .. ขนาด grabdisplay ก็ยังได้ 320×240 ที่ 30 fps หรือ 640×480 ที่ 15 fps :D … เรื่องรับภาพมาแสดงผลก็ผ่านไปได้

ทีนี้เจ้า Quickcam® Orbit มันสั่งให้กล้องหมุน ซ้าย-ขวา-ก้ม-เงย ได้ บนวินโดว์สก็คงสบายไปเพราะมีโปรแกรมแถม … สำหรับบนลินุกซ์ลองกูเกิ้ลก็เจอว่ามีคนทำโปรแกรมควบคุมกล้องบนลินุกซ์ให้แล้วเหมือนกัน .. โปรแกรมที่ว่าคือ OrbitView คอมไพล์ แล้วรัน ก็ควบคุมกล้องได้โดยใช้เมาส์คลิ้ก :D

สงสัยจะได้ถอยมาใช้สักตัว … :P

Updated: Quickcam® Orbit ใช้กับเคอร์เนลของ ubuntu ได้เลยแฮะ แต่ทำงานช้ากว่าไดรเวอร์ตัวใหม่ของ PWC … hmm (- -‘)

อาร์ทิมิส ฟาวล์ ตอน โอปอลตลบหลัง

หนังสือมาอีกแล้ว …

งานหนังสือคราวก่อนโน้น ร้านหนังสือเอาอาร์ทิมิส ฟาล์ว ตอน รหัสลับนิรันดร์มาขายบอกว่าเป็นเล่มจบของชุด

อาร์ทิมิส ฟาวล์ เป็นเด็กชายอายุแค่ 13 – 14 ปี แต่เป็นอัจฉริยะและมีนิสัยเจ้าเล่ห์ แถมยังเป็นลูกของมหาเศรษฐี อาร์ทิมิส ตามรอยและในที่สุดก็รู้แน่ชัดว่าโลกนี้ไม่ได้มีเพียงมนุษย์ แต่มีสิ่งมีชีวิตอื่นๆ ที่เรียกว่าแฟรี่อาศัยอยู่ แต่ด้วยเทคโนโลยีล้ำยุคของชาวแฟรี่ทำให้มนุษย์ทั่วไปไม่สามารถรับรู้ถึงการมีอยู่ของชาวแฟรี่ .. ในเล่มแรกอาร์ทิมิสวางแผนล่อแฟรี่ให้ติดกับได้สำเร็จ เขาเลยกลายเป็นตัวอันตรายของชาวแฟรี่ แถมแฟรี่สาวที่โดนจับได้นั้นเป็นตำรวจแฟรี่ซะอีก .. ในเล่มสองอาร์ทิมิสต้องการความช่วยเหลือจากชาวแฟรี่เพื่อช่วยพ่อของเขา .. เล่มสามเกิดวิกฤตในเมืองใต้พิภพของชาวแฟรี่ และคนที่มีมันสมองฉลาดพอจะแก้วิกฤตินี้ได้ก็มีเพียงอาร์ทิมิสคนเดียว อาร์ทิมิสช่วยแก้วิกฤตได้สำเร็จ เขาเกือบจะเป็นเพื่อนกับแฟรี่หลายคน ทั้งตำรวจสาว และเซ็นทอร์อัจฉริยะประจำกรมตำรวจแฟรี่ แต่ท้ายที่สุดอาร์ทิมิสก็โดนลบความจำทั้งหมดที่เกี่ยวกับแฟรี่ .. แต่อาร์ทิมิสฉลาดพอที่จะวางแผนไว้ล่วงหน้าแล้ว .. ตรงนี้เองที่น่าสงสัยว่าจะมีเล่มสี่ (- -)

แล้วเล่มสี่ก็โผล่มาจริงๆ .. ในเล่มสี่เกี่ยวกับผู้ก่อวิกฤตในเล่มสามชื่อโอปอล แฟรี่ที่เป็นอาชญากรอัจฉริยะ เธอถูกจับเพราะความเจ้าเล่ห์ของอาร์ทิมิส แต่เรื่องไม่จบเพราะเธอวางทางหนีทีไล่กรณีที่เธอล้มเหลวไว้แล้ว .. เธอจะหาทางหนีจากการกักขัง และกลับมาแก้แค้นทุกคนที่มีส่วนในการทำให้เธอพ่ายแพ้ในเล่มสาม .. หนนี้คนที่เกี่ยวข้องกับโอปอล เลยต้องลำบากกันหมด ทุกคนเกือบเอาชีวิตไม่รอด อาร์ทิมิสเองหากไม่มีบัตเลอร์บอดี้การ์ดมือดีคอยดูแลก็คงต้องตายไปแล้ว .. กว่าอาร์ทิมิสจะฟื้นความจำเรื่องแฟรีทั้งหมดได้ก็เกือบจะสายเกินไป

อาร์ทิมิส ฟาลว์ แต่งโดย อิออนย์ โคลเฟอร์ (Eoin Colfer) ซึ่งเป็นนักเขียนชาวไอร์แลนด์ที่มีผลงานขายดีมากคนหนึ่ง เดิมเขาเป็นครู และเขียนหนังสืออ่านนอกเวลาสำหรับเยาวชนเป็นงานอดิเรก ภายหลังที่ผลงานเรื่อง อาร์ทิมิส ฟาวล์ ของเขาประสบความสำเร็จ เขาก็ตัดสินใจลาออกมาเขียนหนังสือเต็มเวลา และเขียน อาร์ทิมิส ฟาวล์ เล่มสองและสามตามมา ซึ่งประสบความสำเร็จอย่างมาก มีการแปลเป็นหลายภาษาและวางขายทั่วโลก .. มีข่าวว่า มิราแม็กซ์ได้ซื้ออาร์ทิมิส ฟาวล์ไปสร้างเป็นภาพยนตร์แล้ว ขณะนี้กำลังอยู่ระหว่างดำเนินการ .. ถ้าดำเนินเรื่องเหมือนหนังสือก็น่าจะสนุกไม่แพ้ แฮรี่ พอตเตอร์ เลยแหละ … ส่วนจะมี อาร์ทิมิส ฟาวล์ เล่มห้า หรือไม่ .. ติดตามในปีหน้า :)

Linux Kernel 2.5.15

blog ช้าไปหน่อย .. better late than never :P

stable kernel ตัวแรกของปี ออกเมื่อวันที่ 3 มกราคม 2549 ที่น่าสนใจสุดคงเป็นเรื่อง shared subtree ที่จับรวมเข้าไปอยู่ใน VFS เรียบร้อย แรงผลักของ shared subtree อย่างแรก มาจาก files-as-directories ซึ่งเป็นฟีเจอร์นึงใน Reiser FS สำหรับสร้าง hardlink ไปยังไดเรกทอรี่ได้ แต่เอาเข้าจริงๆ การใช้งานของ Reiser FS เกือบทั้งหมด disable ฟีเจอร์นี้ ไว้เพราะมีปัญหาใหญ่เรื่อง deadlock ก็เลยต้องหา solution กันอยู่ แรงผลักอย่างที่สองคือ per-user namespace ซึ่งเป็นฟีเจอร์ที่ทำให้ผู้ใช้แต่ละคนเสมือนกับมี namespace บนระบบไฟล์ของตัวเอง ออกจะคล้ายๆ mount -o bind แต่เรื่องสิทธิของไฟล์หรือไดเรกทอรี่ที่แชร์อยู่ด้วยกันจะซับซ้อนกว่า shared subtree สนับสนุนการ mount ได้หลายแบบ เช่น แบบ shared slave private และ unbindable กำหนดได้ว่า mount จะ forward / receive propagation หรือไม่ก็ได้ ฯลฯ รายละเอียดค่อนข้างยาว ไว้ว่างๆ ค่อยมาเล่าให้ฟังเพิ่ม

เปรียบเทียบกับ 2.6.14

  • Optimize for size (CC_OPTIMIZE_FOR_SIZE) ใช้ -Os แทน -O2 .. คอมไพเลอร์บางตัวอาจจะได้ broken code (- -‘)
  • เลือก default I/O scheduler ได้สี่แบบ Anticipatory (DEFAULT_AS), Deadline (DEFAULT_DEADLINE), CFQ (DEFAULT_CFG), No-op (DEFAULT_NOOP)
  • Legacy Power Management API (PM_LEGACY) สำหรับ pm_register()
  • Connector unified userspace – kernelspace linker (CONNECTOR)
  • สนับสนุน Resident Flash Disk ในระดับ Flash Translation Layers (RFD_FTL) อยู่ใน embedded system บางระบบ
  • สนับสนุน OneNAND flash devices (MTD_ONENAMD)
  • สนับสนุนการทำ (U)DMA บนชิปเซ็ต AMD CS5535 (BLK_DEV_CS5535)
  • ไดรเวอร์ iSCSI สำหรับทำงานบน IP network (ISCSI_TCP)
  • ไดรเวอร์ SCSI สำหรับ Pacific Digital ADMA (SCSI_PDC_ADMA)
  • ไดรเวอร์ SATA สำหรับ Silicon Image 3124/3132 (SCSI_SATA_SIL24)
  • ไดรเวอร์ Dummy ATM (ATM_DUMMY) เอาไว้ทดสอบ หรือพัฒนา
  • ไดรเวอร์ปุ่มพิเศษของ x86 Wistron laptop, e.g., Acer, Fujitsu, ..(INPUT_WISTRON_BTNS)
  • สนับสนุน compression/encryption สำหรับ Microsoft Point-to-Point Tunneling Protocol (PPP_MPPE)
  • ไดรเวอร์สำหรับ Omnikey Cardman 4000 (CARDMAN_4000) และ 4040 (CARDMAN_4040)
  • ไดรเวอร์สำหรับ telecom clock ของ MBPL0010 ATCA SBC
  • ไดรเวอร์ real-time clock สำหรับ Xicor X1205
  • ไดรเวอร์ Digital Broadcast Video/ATSC ที่ใช้ชิพ Brooktree/Conexant BT878 (VIDEO_BT878_DVB)
  • ไดรเวอร์ Digital Broadcast Video ที่ใช้ชิพ Philips SAA7134_DVB (VIDEO_SAA7134_DVB_ALL_FRONTENDS)
  • ไดรเวอร์ระบบเสียงของ Philips SAA7134 สำหรับ ALSA (VIDEO_SAA7134_ALSA) และ OSS (VIDEO_SAA7134_OSS)
  • ไดรเวอร์ Digital Broadcast Video ที่ใช้ชิพ CX2388x (VIDEO_CX88_DVB_ALL_FRONTENDS)
  • ไดรเวอร์ USB video capture สำหรับ Empia EM2800/2820/2840 (VIDEO_EM28XX)
  • สนับสนุน console rotation สำหรับ Framebuffer (FRAMEBUFFER_CONSOLE_ROTATION)
  • ไดรเวอร์ CDMA Wireless สำหรับ USB AnyData devices (USB_SERIAL_ANYDATA)
  • สนับสนุน RDMA SCSI protocol บน Infiniband (INFINIBAND_SRP)
  • สนับสนุน JFFS2 summary (JFFS2_SUMMARY)
  • สนับสนุนการเก็บสถิติเพิ่มเติมสำหรับ CIFS (CIFS_STATS2)
  • สนับสนุนกลไก upcall สำหรับ CIFS ติดต่อ userspace helper utilities (CIFS_UPCALL)
  • trap address และ callback ภายในเคอร์เนล สำหรับ kernel debugging (KPROBES)
  • ออปชันสำหรับ debug ระบบ virtual memory (DEBUG_VM)

นอกเหนือจากนี้ก็มี CPU hotplug เดิม enable/disable ได้ ตอนนี้เพิ่มจำนวนได้ .. page table จัดการใหม่ช่วยให้ระบบ multiprocessor มี scalability ดีขึ้น ค่าปริยายคือ enable เมื่อ CPU >= 4 ตัว แพตช์นี้ข้อดีคือใช้งานกับ CPU จำนวนมากๆ ได้ดีขึ้น แต่อาจจะทำให้มี latency มากขึ้นอีกนิด .. ที่ต้องพิจารณาอีกอย่างคือ 2.6.15 re-structure ของ driver core ใหม่ทำให้ทำ nested structure ได้ ผลกระทบคือต้องใช้กับ udev >= 071 .. เท่าที่ใช้กับ udev 062 ก็ยังปกติดี YMMV

ฆาตกรรมระดับ 7

ขัดตาทัพด้วยหนังสือหนึ่งเล่ม .. :P

ชายหญิงหนึ่งคู่ตื่นขึ้นมาในห้องที่ไม่คุ้นเคยพร้อมกับความทรงจำที่สูญเสียไป จำไม่ได้แม้แต่ชื่อของตัวเอง .. เมื่อสำรวจตัวเองก็พบว่ามีข้อความ “เลเวล 7” ติดอยู่ที่ข้อพับของแขน .. และเมื่อสำรวจห้องไปรอบๆ ทั้งสองก็พบกระเป๋าบรรจุเงินหลายสิบล้าน ปืน และผ้าเปื้อนเลือด .. ทั้งสองพยายามตามหาตัวเองให้เจอ โดยได้รับความช่วยเหลือจากชายที่อยู่ห้องข้างๆ …

อีกฟากหนึ่ง เด็กสาวชื่อ มิซาโอะ หนึ่งหายตัวไป .. ชินเงียวจิ เอ็ตสุโกะ เพื่อนทางโทรศัพท์ของมิซาโอะไม่สบายใจและเริ่มตามหาเธอ แต่ดูเหมือนจะไม่มีใครสนใจกับการหายตัวไปของมิซาโอะเลย แม้แต่ครอบครัวของมิซาโอะเอง .. ขณะเอ็ตสุโกะกำลังตามหาก็ได้พบไดอารีของมิซาโอะบันทึกไว้ก่อนจะหายตัวไปว่า “พรุ่งนี้จะลองไปให้ถึง เลเวล 7 อาจจะกลับมาไม่ได้ ?” .. นั่นเป็นครั้งแรกที่เอ็ตสุโกะสะดุดกับคำว่า “เลเวล” .. ขณะที่เธอตามหาตัวมิซาโอะ เธอก็ได้รับโทรศัพท์จากมิซาโอะ “คุณชินเงียวจิ .. ช่วย..” .. เอ็ตสุโกะสังหรณ์ว่ามิซาโอะกำลังตกอยู่ในอันตราย

การตามหาตัวตนของสองหนุ่มสาวกับการตามหามิซาโอะของเอ็ตสุโกะ มาบรรจบที่คนๆ เดียวกัน .. ‘ฆาตกร’

ฆาตกรรมระดับ 7 แปลมาจากเรื่อง Level 7 ของ มิยาเบะ มิยูกิ นักเขียนที่ได้รับรางวัลมากมายในญี่ปุ่น .. หลังจากได้อ่านผลงานของมิยาเบะเรื่อง ‘เสียงกระซิบสังหาร’ ไปเมื่อนานมาแล้ว ตอนแรกก็ไม่ประทับใจเท่าไหร่ แต่ได้อ่านรอบ 2-3 กลับชอบแฮะ .. พอเห็นว่า ฆาตกรรมระดับ 7 เป็นงานของมิยาเบะ ก็เลยซื้อมาอ่านโดยไม่ต้องเปิดก่อนเลย แล้วก็ไม่ผิดหวัง ฆาตกรรมระดับ 7 ยังคงมีเสน่ห์ในการปู background ใช้ตัวละครที่เป็นคนธรรมดาๆ สื่อให้เห็นแรงจูงใจไปสู่การกระทำแต่ละอย่างได้ชัดเจน กระนั้นก็ยังดำเนินเรื่องในจังหวะที่ไม่ช้าเกินไป ชวนอ่านชวนติดตามไปจนจบ

/me .. ประทับใจหน้าสุดท้าย :)

มิเกะเนะโกะ โฮล์มส์ ตอน นิทรรศการฆาตกรรม

เล่มเจ็ดของซีรีส์แมวสามสียอดนักสืบ เป็นเล่มรวมเรื่องสั้นหกเรื่อง คือ

  1. คดีกีฬาเลือด ในการแข่งกีฬาของกรมตำรวจ ฮารูมิบังเอิญไปรู้เรื่องความสัมพันธ์ลับๆ ระหว่างตำรวจหนุ่มกับภรรยาของหัวหน้าของตำรวจคนนั้น อีกทั้งมีนักโทษหนีระหว่างขนส่งตัวได้กำลังมุ่งหน้ามาล้างแค้นในงานกีฬานี้ คดีฆาตกรรมก็เกิดขึ้นในการแข่งขันกีฬานี่เอง
  2. คดีข่าวเด็ด งานประกวดสาวงามประจำกรมตำรวจ มีตำรวจสาวที่เข้าร่วมประกวดถูกฆาตกรรมกลางงาน .. คดีฆาตกรรมเกิดขึ้นกลางการกรมตำรวจเลยกลายเป็นข่าวเด็ด
  3. คดีพักร้อน พี่น้องคาตายามา โฮล์มส์ และ อิชิสึ จะได้หยุดพักร้อนสักหน่อยก็มีคดีตามมาถึงที่ แขกในโรงแรมสามคนมีความสัมพันธ์ที่ยุ่งเหยิง ทั้งสามบอกกับคาตายามาว่า สงสัยว่ามีคนตามฆ่า .. แล้วเช้าวันหนึ่งก็มีคนตายไปจริงๆ
  4. คดีอาบน้ำแร่ พี่น้องคาตายามา โฮล์มส์ และ อิชิสึ ไปพักผ่อนอาบน้ำแร่กัน ก็บังเอิญไปรับรู้เรื่องราวความแค้นของแขกที่มาพัก เหตุร้ายก็เกิดขึ้นอีกจนได้
  5. คดีนิทรรศการฆาตกรรม นางแบบในภาพวาดกลายเป็นศพไปทีละคนๆ ใครคือฆาตกร ?
  6. คดีเบิร์ทเดย์ ปาร์ตี้ เพื่อนๆ ของฮารูมิถือขอขวัญมาอวยพรวันเกิด แต่แล้วเพื่อนคนนึงก็ตายไปต่อหน้าต่อตา .. และวันนี้ไม่ใช่วันเกิดของฮารูมิสักหน่อย !

อ่านสนุกทั้งหกตอน และที่เด่นที่สุดในเล่มนี้ก็น่าจะเป็นคดีนิทรรศการฆาตกรรมที่เอามาเป็นชื่อตอนประจำเล่มเจ็ดนี่แหละ