คินดะอิจิยอดนักสืบ ตอนที่ 6 – เจดีย์สามเศียร

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

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

Students should go to class, take notes

Your job as a student is to go to class and pay attention. You’re rewarded for your presence with a grade and a step closer to a degree. When you don’t go to class and let others take notes for you, or purchase them from other source, you aren’t doing your job.

So why should you get paid? You aren’t even guaranteed that the notes you get will pay off at all. Go to class; take your own notes — it’s cheaper that way.

From http://www.purdueexponent.org/2001/02/12/opinions/index.html

apt | aptitude : Ouch! Got SIGSEGV

จะลง kernel-package สักหน่อย

# aptitude install kernel-package
Ouch! Got SIGSEGV, dying..
Segmentation fault (core dumped)

เอ แปลกๆ … apt-get ดูซิ

# apt-get install kernel-package
Segmentation fault (core dumped)

เหวอๆๆ … เกิดไรขึ้นล่ะเนี่ยะ … ไม่ขำนะ .. T_T

# strace -o xxx aptitude
# less xxx
....
stat64("/var/cache/apt/pkgcache.bin", {st_mode=S_IFREG|0644, st_size=9454080, ...}) = 0
open("/var/cache/apt/pkgcache.bin", O_RDONLY) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=9454080, ...}) = 0
mmap2(NULL, 9454080, PROT_READ, MAP_SHARED, 4, 0) = 0xb7195000
stat64("/var/lib/apt/lists/belldandy:9999_ubuntu_dists_edgy_main_binary-i386_Packages", {st_mode=S_IFREG|0644, st_size=5491154, ...}) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

เหมือนจะเดี้ยงแถวๆ จังหวะอ่าน package จาก cache .. hmm.. cache น่าจะลบทิ้งได้ล่ะนะ ..

# cd /var/cache
# mv apt apt-saved
# mkdir -p apt/archives/partial
<code>
แล้วก็ลองรันอีกรอบ
<code>
# aptitude install kernel-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
...

ทำงานได้จริงๆ ด้วย ! .. เย้ .. :D :D … ใครเจอปัญหาประมาณนี้จะลองทำตามดูก็ได้ .. แต่ถ้าเดี้ยงจริงๆ ก็ตัวใครตัวมันนะ :P

Linux Kernel 2.6.19

2.6.19 มีอะไรน่าตื่นเต้นมั่ง ?

  • Extended File System 4 (Ext4) ปรากฏตัวแล้วในรุ่นนี้ โดยแปะไว้ว่า ext4dev และจะแปะว่า ‘dev’ ไปอีกสักพักจนกว่าจะนิ่งจริง อาจจะประหลาดๆ หน่อยๆ ที่เอา ‘dev’ มาใส่ในเคอร์เนล ‘stable’ .. แต่น่าจะทำให้มีคนทดสอบและมีความคืบหน้าเร็วกว่าจะแยก patch นะ … จากที่ ext3 = ext2 + journal + extras นิดๆ ซึ่งเหมือนออกมาขัดตาทัพด้วย FS แบบ journaling .. ใน ext4 ตั้งเป้าไว้ว่าจะพัฒนาให้มันเจ๋งๆ ไปเลย คาดว่าฟีเจอร์คงมีอีกบาน ในเบื้องต้นมีการปรับเรื่อง scalability เช่น ระบบไฟล์ขนาดใหญ่ >= 16 TB, ไดเรกทอรี > 32K, 64-bit (large) file .. และมีโครงสร้างรองรับให้เสถียรภาพของระบบไฟล์ดีขึ้น …ส่วนตัว ยังไม่ได้ทดสอบแต่หวังไว้ว่าจะเร็วกว่า ext3 (ซึ่งนับว่าช้าเมื่อเทียบกับ FS อื่นๆ) …ใครใจถึงก็ลุยได้
  • GFS2 clustering file system ของ Sistina ซึ่ง Red Hat ซื้อมาปรับปรุง + เปิดเผยซอร์ส เป็นอีกทางเลือกนอกเหนือจาก OCFS2 ของ Oracle
  • Ecryptfs ของ IBM เป็น encryped looped file system แนวๆ เดียวกับพวก cryptoloop/dmcrypt .. ไอเดียที่ IBM วางไว้คือเอาความยืดหยุ่นของ GnuPG มา encrypt ข้อมูลภายในเคอร์เนล
  • Merge Parallel ATA กับ Serial ATA .. แห่ไปใช้ libata กันให้หมด … ว่ากันว่าไดรเวอร์เดิมใน ATA/ATAPI/MFM/RLL ไม่ค่อยมีการดูแลกันมากอย่างที่ควร ในขณะที่ไดรเวอร์ ใหม่ที่ใช้กับ libata กำลังพัฒนากันอย่างเป็นล่ำเป็นสันโดยมี อลัน ค็อกซ์ เป็นหัวหอก .. เวลานี้ยังไม่มีแผนจะ deprecated ไดรเวอร์เดิม แต่คาดว่าในอนาคตคงย้ายมาใช้ libata กันหมด เพราะการออกแบบและโครงสร้างดีกว่าแบบเดิม .. สำหรับเวอร์ชัน 2.6.19 Serial ATA อยู่ระดับ production แล้ว ในขณะที่ Parallel ATA เพิ่งจะ experimental .. จริงๆ PATA ก็น่าจะใช้งานได้ระดับนึงแล้วแหละ ถ้าใจถึง หรือมีไดรว์ใหม่ๆ ว่างๆ ก็น่าจะลองดู หรือจะ bleeding edge ไปกว่านั้นก็ใช้คู่กับ Ext4 ด้วยเลย :P … อ่อ เปลี่ยนเป็น libata แปลว่า label/device จะอ้างอิง Parallel ATA แบบ SCSI device (/dev/sd??) เช่นเดียวกับ SATA
  • ถอดไดรเวอร์ OSS ออกหลายตัว .. ก็ใช้ ALSA ได้แล้วแหละนะ
  • สนับสนุน Amtel AVR32
  • Disable block layer บางอย่างได้ เหมาะกับพวก embedded systems
  • Track maximum allowable latency ตรวจหา latency ที่นานที่สุดที่เป็นไปได้เพื่อยืดเวลาการ execute code ไปให้นานที่สุด ส่งผลให้ใช้พลังงานน้อยลงได้
  • Sleepable RCU เดิม RCU บังคับว่า critical section ของ read-side ใน RCU จะถูก block หรือ sleep ไม่ได้ แต่ Paul McKinney บอกว่ามี request มาจากฝั่ง real-time อยากให้ read-side ของ RCU มัน preemptible หรือ sleepable ได้เพื่อให้การตอบสนองดี .. ก็เลยจัดให้ใน 2.6.19
  • เปลี่ยน default TCP congestion algorithm จาก BIC (Binary Increase Congestion) เป็น CUBIC (BIC + cubic function)
  • สนับสนุน Mobile IPv6
  • สนับสนุน multiple routing table ใน IPv6
  • สนับสนุน I2C สำหรับ intelfb
  • ไดรเวอร์ใหม่ การปรับปรุง แก้ไขอื่นๆ อีกเยอะแยะ

/me …

$ uname -a
Linux peorth 2.6.19-peorth #1 Fri Dec 1 20:31:07 ICT 2006 i686 GNU/Linux