ตำหนักพระแม่กวนอิม

สองสัปดาห์ก่อนเข้า กทม. เลยไปตำหนักพระแม่กวนอิมกับครอบครัว.. ตำหนักฯ อยู่โชคชัย 4 ซอย 39 นี่เอง

[nggallery id=55]

ว่างๆ ก็แวะไปชม ไปทำบุญได้ .. อย่าลืมถือกล้องไปด้วย :P ..

ความเสียหายหลังไปงานสัปดาห์หนังสือฯ

สัปดาห์หนังสือฯ ต้นปี 49 .. ซื้อมา 9 เล่ม ลำดับความเสียหายมีดังนี้

  1. มิเกะเนะโกะโฮล์มส์ เล่ม 8 ตอน ปราสาทอัศวิน (Mikeneko Homozu No Kishido) ปก 180 ราคาในงาน 145
  2. ซายะกะ เล่ม 3 ตอน แจ๊คเก็ตสีน้ำตาลอ่อน (Ama-Iro No Jaketto) ปก 170 ราคาในงาน 135
  3. คินดะอิจิ เล่ม 4 ตอน ร่างทรงมรณะ (Mirei No Hanayome) ปก 220 ราคาในงาน 175
  4. คินดะอิจิ เล่ม 5 ตอน คดีฆาตกรรมบนเกาะโกะกุมน (Gokumoto) ปก 195 ราคาในงาน 155
  5. อิโค (Ico) ปก 280 ราคาในงาน 225
  6. รหัสลับรัสปูติน (The Romanov Prophecy) ปก 265 ราคาในงาน 225
  7. เล่ห์ (Fade Away) ปก 235 ราคาในงาน 200
  8. เหตุที่ฆ่า (Riyu) ปก 285 ราคาในงาน 228
  9. เครดิตมรณะ (Kasha) ปก 285 ราคาในงาน 228

รวมราคา 2,115 จ่ายไป 1,716 ประหยัดไป 399 บาท .. โหะๆๆๆๆ มีความสุข :D

ซายากะ สาวน้อยนักสืบ ตอน สีฟ้าบนผืนผ้าใบ

อ่านจบนานแล้ว แต่กั๊กไว้ซะงั้น ..

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

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

29 มี.ค. 49 – 9 เม.ย. 49 จะมีงานหนังสือที่ศูนย์สิริกิติ์ .. ได้เวลาจ่ายตลาดอีกแว้ว .. โหะๆ

Modular, Modulo, and Remainder

ตอนเขียนโปรแกรมสมัยแรกๆ เคยจำว่า modulo คือฟังก์ชันการหาเศษจากผลหาร แต่พอใช้ไปสักพักแล้วเริ่มรู้สึกแปลกๆ ตอนที่เวลาตัวตั้งหรือตัวหารเป็นค่าติดลบ ซึ่ง modulo ให้ผลเป็นค่าติดลบได้ อย่าง -5 mod 2 = -1 (เพราะ -2 * 2 + -1) .. เอ่อ .. ถ้า modulo ใช้สำหรับหา ‘เศษ’ ของการหาร ทำไมเศษมันเป็นติดลบได้ล่ะ ? เศษมันควรจะ >= 0 หรือเปล่า ? .. เรื่องนี้อาจจะต้องย้อนกลับไปไกลหน่อย

ที่มาของ modulo หรือ mod มาจาก modular arithmetic ซึ่งนิยามโดย คาร์ล เฟดริก เกาส์ เมื่อสองร้องกว่าปีที่แล้ว ตามนิยามที่เกาส์เขียนไว้คือ จำนวนเต็ม a, b จะเป็น congruent modulo ของจำนวนเต็ม n ถ้า (a – b) หารด้วย n ลงตัว หรือเขียนได้เป็น

a ≡ b (mod n)

ถ้าคิดย้อนกลับก็จะได้ว่า a หารด้วย n จะได้เศษเป็น b .. ใน modular arithmetic ค่า b เป็นจำนวนเต็มบวกหรือลบก็ได้ ดังนั้นผลลัพธ์ของ modulo จึงเป็นค่าติดลบได้ .. ค่า b บางทีเรียกว่า residue หรือ remainder แยกเป็นสองแบบคือ minimal residue มีค่าเท่ากับ b หรือ b – n ขึ้นกับว่าค่าสัมบูรณ์ของตัวไหนน้อยกว่าก็เอาตัวนั้น และอีกแบบคือ common residue ซึ่งคือเศษของการหาร โดย b ต้องเป็นจำนวนเต็มที่น้อยกว่า n และ b >= 0

ดังนั้นค่าของ ฟังก์ชัน หรือ โอเปอร์เรเตอร์ modulo ในโปรแกรมหรือภาษาสำหรับเขียนโปรแกรมทั้งหลายจึงไม่ได้ให้ผลลัพธ์เป็นเศษของการหารซะทีเดียว .. อย่างไรก็เรายังสามารถหาเศษของการหารโดยใช้ modulo ได้ โดยกรณีผลลัพธ์เป็นค่าติดลบ ให้บวกตัวหารเข้าไปอีกที เช่น ตัวอย่าง -5 mod 3 = -2 จะได้เศษของการหารคือ = -2 + 3 = 1

TIS-620 in Evolution

เคยแจ้ง bug นี้ พร้อมกับส่ง patch ไปตั้งแต่สมัย Evolution 1.4.x .. จากนั้น ximian (ในสมัยนั้น) ก็เงียบๆ ไป .. ต่างคนต่างเงียบ กระทั่งเกือบสองปีต่อมาถึงเริ่มมีการเคลื่อนไหวอีกครั้ง ล่าสุดช่วงนี้ gnome 2.14 ก็จวนแล้ว ทาง Andre Klapper ที่กำกับดูแล patch เริ่มก็มาตามจี้ให้ทัน Evolution 2.6 พี่เทพเลยมาช่วยสานต่อและกระตุ้นให้ช่วยกันดันให้ผ่าน .. ปรากฏว่า พี่เทพเจอบั๊กอีกตัวที่ทำให้ทดสอบ gnome cvs ไม่ได้ .. ส่วนผมเอาแค่ checkout ตัว cvs ออกมายังได้ไม่ครบด้วยซ้ำ (- -‘) … เลยได้แค่รายงาน based on evolution 2.4.1 ไปว่าปัญหามันเกิดขึ้นเพราะอะไร

เรื่องของเรื่องก็คือ header ของเมลจะมีการระบุว่า content ใช้ charset อะไร .. กรณี header ระบุเป็น TIS-620 หรือ UTF-8 แล้วใช้ตามนั้นจริงๆ จะไม่มีปัญหา .. แต่จะมีเมลภาษาไทยจำนวนไม่น้อย (เท่าที่มีอยู่ใน box ก็ ประมาณ 30-40%) ที่ encode เป็น TIS-620 แต่ header กลับระบุว่า charset เป็น ISO-8859-1 กรณีนี้โปรแกรมอ่านเมล (แทบ) ทุกตัวจะพยายามแสดงผลเป็น ISO-8859-1 ทำให้เมลภาษาไทยแสดงเป็นภาษาขอม .. ถ้าจะให้แสดงผลถูกต้องก็ต้องบังคับ character encoding ซึ่งโปรแกรมอ่านเมลที่นิยมใช้กันจะเลือกจากเมนูได้ .. ที่ผ่านมา เมนู character encoding ของ evolution จะไม่มีภาษาไทย (TIS-620) ให้เลือก .. patch ที่ผมทำก็แค่ enable ให้มันมีให้เลือกเท่านั้นเอง

พอแจ้งไป Andre ก็เลยอยากให้ช่วยส่งตัวอย่างเมลไปให้ทดสอบ ท้ายที่สุดสถานะของ bug #251062 ปรับเป็น fixed/resolved เรียบร้อย .. เช็คจาก gnome cvs ก็เห็นว่ามี TIS-620 แล้ว .. ก็ค่อนข้างแน่นอนว่า Evolution 2.6 จะมี TIS-620 ให้เลือกในเมนู character encoding … สบายละ .. ต่อไปก็ไม่ต้อง maintain patch + build evolution เองแล้ว :)