เรื่องดีๆของวันที่ 30 กค

  • วันนี้ได้ไปลองกินของแปลกมาอีกแล้นนนน… เค้าเรียกกันว่าบะหมี่เบตง… ตัวจริงของมันคือบะหมี่ไก่ทอดกร๊อบกรอบค่ะ (เค็มด้วย) ใส่เกี๊ยวอร่อยๆอีก… แถมเค้ามีเมนูขนมจีบทอดด้วยนะ กินแล้วมีความสุข ฮาฮา… ร้านอยู่ในซอยเจริญนคร 68 (มั้ง) เข้าสุดซอยเลี้ยวซ้าย… ไว้วันหลังไปกินอีกดีก่า อิอิ… (แล้วชั้นจะผอมมั้ยนะ)
  • และแล้ว วันนี้หนีกลับบ้านก่อนสำเร็จด้วย ด้วยอารมณ์โดนหลอกให้ตื่นเช้า บวกกับเสียงก่อสร้างข้างหู… ถ้าเอาที่ปิดหูสีขาวพองๆไปใส่จะฮามั้ยนะ…
  • นานๆที ย้ายที่จอดรถ ก้อได้อารมณ์ไปอีกแบบนะ ดูชนบทดี… (คนอ่านไม่ต้องงงนะคะ อันนั้น encoded ให้ตัวเองอ่านแล้วรู้เรื่องคนเดียว คิคิ)
  • เย้เย้ restaurant city lvl 11 แล้น.. จ้างคนเพิ่มได้อีกคนแล้น ดีจายยย…
  • ป.ล. เป็นต่อตอนนี้ฮาจังเลย

เรื่องดีๆ ของวันที่ 29 กค…

ถ้าในแต่ละวัน เรามองหาแต่เรื่องแย่ๆก็คงหดหู่น่าดู… ลองมาหาเรื่องดีๆ ที่ตัวเองเจอ ให้ตัวเองฟังดีกว่าเนอะ… น่าจดจำกว่าเป็นไหนๆ…
  • เมื่อวานนั่ง taxi เห็นเค้าติดเครื่องพิมพ์ใบเสร็จด้วย แต่เสียดายว่าเค้าไม่มีกระดาษ แต่วันนี้นั่งใหม่ คนนี้เค้าก็มีติด แต่ว่ามีกระดาษด้วย เลยได้ใบเสร็จ taxi เมืองไทยใบแรกที่ได้ติดมือมาด้วยเลย ดีจายยยมักๆ ไว้ถ่ายรูปเก็บใส่ blog ไว้ดีก่า…
  • taxi ที่นั่งไปเนี่ย ก้อไปลงแถวคลองสานกินส้มตำกัน เสร็จแล้วก็ไปร้านนมสด ทุกทีจะกินโอวันติน แต่คราวนี้สั่งนมเย็น แต่เมนูร้านเค้าก้อแปลกดีนะ เค้าเรียกว่า นมสดใส่น้ำแดง… เพิ่งเคยเห็นคนเรียกแบบนี้เป็นครั้งแรกเลย เคยได้ยินแต่ นมชมพู นมเย็น… อ้วนมักๆ
  • ตามคำขอ วันนี้ออฟฟิตจัดสั่งหน้ากากอนามัยมาให้เป็นลังเลย… อึ้งกันปายยย
  • วันนี้ถึงบ้านก่อนสามทุ่มด้วยนะ… restaurant city นู่จาเวลสิบแล้นนนน… สมัคร facebook มานาน แต่ไม่ค่อยได้ใช้.. จนกระทั่ง เริ่มเล่น happy farm, farmville, restaurant city, pet society, gem blitz ไปพร้อมๆกัน ก้อทำให้รู้สึกว่า ทามมายมันกินเวลาช้านนักนะ ฮาฮา… ติดหนึบค่ะท่านผู้ชม…

@Sheraton Pattaya

อาทิตย์ที่ผ่านมา คุณแม่พาไปพักผ่อนหย่อนใจที่โรงแรม Sheraton Pattaya
จัดว่าเป็นโรงแรมที่โอเคทีเดียว แต่ถ้าให้ไปอีกครั้งก็คงไม่ไป
เพราะว่าราคาขนาดนี้ เก็บไปจ่ายกะตะธานีที่ภูเก็ตคุ้มกว่าเยอะ

ไปดูรูปเต็มๆได้ที่

http://www.facebook.com/album.php?aid=2028589&id=1343564640&l=eb98c0365e

Rajamangala in Panorama

Rajamangala National Stadium

สนามราชมังคลา ในแบบ panorama ถ่ายในวันที่ทีมชาติไทย ลงเตะกับ Liverpool – ดูรูปใหญ่ๆ
(ถ่ายโดยใช้ Ricoh GX100, ต่อภาพด้วย Hugin)

ขอพูดถึงแมตช์นี้เสียหน่อย

  • ผ้าพันคอที่แถมกับบัตร 1,350 ห่วยมาก ถ้าเอามาวางขายข้างนอก ผืนละร้อยนึงยังไม่ซื้อเลย
  • พิธีกรคั่นเวลาของ Tesco Lotus เสียงดังแแล้วยังชอบตะโกนใส่ไมค์อีก น่ารำคาญมาก
  • คนที่ใส่เสื้อแข่งมาดู ส่วนใหญ่จะเป็นเสื้อ Gerrard หรือไม่ก็ Torres เกือบทั้งหมด พวกแปลกๆ ที่เห็นก็จะมี Alonso, Mascherano ประปราย มีคนนึงใส่ Cisse ด้วย เสียดายไม่เจอใครใส่เสื้อ Owen
  • Torres เป็นผู้เล่นที่คนดูกรี๊ดดังที่สุด แค่ลงมาซ้อมก็เสียงเสียงกรี๊ดได้แล้ว
  • รองจาก Torres แล้วดูเหมือนผู้เล่นที่แฟนบอลชาวไทยชื่นชอบมากที่สุด น่าจะเป็น Lucas เพราะเกือบทุกครั้งที่จับบอล จะมีเสียงเชียร์ดังขึ้นมาเสมอ
  • ลีซอเสียบทุเรศมาก
  • ประมาณ​ 10 นาทีสุดท้าย ผู้หญิงวัยรุ่นที่นั่งแถวนั้นเอาแต่ตะโกนชื่อ Alonso อยู่ตลอด ทุกๆ 30 วินาที สงสัยว่ามาดูบอลหรือว่าคอนเสิร์ต
  • บอลเลิก ฝนตก รถติดมาก

Life on Dual-WAN with Linksys RV042

พอติด MaxNet เรียบร้อย ก็ถึงเวลาดำเนินการขั้นถัดไป นั่นก็คือการต่อเนทจาก True และ MaxNet พร้อมๆกัน
การที่จะสามารถใช้ ADSL 2 เส้นได้พร้อมๆกันและรวมเป็นอันเดียว จะต้องใช้อุปกรณ์ที่เรียกว่า Load Balance ตัวนี้

Linksys RV042 10/100 4-Port VPN Router

คร่าวๆการต่อ Network ก็จะเป็นแบบนี้
(True)–(Modem)–(RV042)—(Switch/Accesspoint)–(Computers)
(MaxNet)–(Modem)–|

1. เริ่มจากนำ ADSL Modem 2 ตัว มาเซตเป็น Bridged Modem และต่อสายโทรศัพท์ของ True และ MaxNet เข้าไปที่ตัว Modem
2. ต่อสาย LAN จาก Modem ทั้งสองตัว มาเข้าที่ RV042 โดยให้ต่อยี่ห้อที่อยากใช้เป็นหลักต่อเข้าที่ช่อง Internet และที่เป็นตัวรองต่อเข้า DMZ/Internet  ขอยืมรูปตัวอย่างมาจาก SYS2U

3. ต่อสาย LAN จาก RV042 มาที่ Switch/AccessPoint
4. ต่อ LAN จาก Switch หรือใช้ Wireless จาก AccessPoint ตามชอบใจ
5. เซต Internet จาก RV042 สามารถตามไปดูได้ที่เวบ SYS2U เค้าทำไว้ละเอียดดีมาก ( link )

หลังจากเซตเรียบร้อยแล้ว ก็จะได้แบบนี้

Dual-WAN

ที่นี้มาดูความเร็วกันบ้าง อันนี้คือการรวม MaxNet Premier (2Mb download/ 1Mb upload) กับ True (5Mb download/512kb upload) จะได้เป็น 7Mb download กับ 1.5 Mb upload

โหลดได้ ~ 700K/s จริงๆ

Dual-WAN2

upload เต็มที่ก็เกือบๆ 150 K/s
Dual-WAN3

สรุปว่า เบื้องต้น Load Balance นี้ทำงานได้ตามที่หวัง ไว้รอดูว่าเราจะปรับแต่งอะไรได้เพิ่มอีกบ้าง

Evangelion 2.0 : You Can (Not) Advance

Rebuild of Evangelion ตอนที่ 2 เข้าโรงฉายที่ญี่ปุ่นไปเมื่อเดือนที่ผ่านมา ใช้ชื่อตอนนี้ว่า Evangelion 2.0 : You Can (Not) Advance (ヱヴァンゲリヲン新劇場版: 破) เป็นตอนต่อจากตอนแรก Evangelion 1.0 : You Are (Not) Alone ที่ฉายไปเมื่อไป 2007

จากในตอนแรกที่ดูจากเนื้อเรื่องแล้ว มีจุดที่เปลี่ยนไปจากในเวอร์ชันทีวีบ้างพอสมควร แต่ในตอนที่สองนี้มันมีหุ่นใหม่ ตัวละครใหม่ ศัตรูหน้าใหม่ และเปลี่ยนเนื้อเรื่องใหม่เกือบทั้งหมดเลย!

ลองดู trailer ยั่วน้ำลายกันเสียก่อน

ต่อไปนี้เป็นข้อมูลที่ได้มาจากการดูหนังซูมแบบไม่มีซับ และฟังภาษาญี่ปุ่นไม่ออก – แน่นอนว่า spoil สุดขีด ใครที่ยังไม่อยากรู้ ได้โปรดข้ามไปเลย เราเตือนคุณแล้ว

โปรดฟังอีกครั้ง! นี่คือ Spoil!

Eva 02
เปิดตัว Eva 02 ด้วยการทิ้งตัวลงมาจากเครื่องบิน จัดการเทวทูตได้โดยที่เท้ายังไม่ทันได้แตะพื้น

Adam?
ของที่คาจิเอามาให้เกนโด ในเวอร์ชันทีวีมันจะหน้าตาเหมือนตัวอ่อน แต่ที่เห็นนี่มันคืออะไร?

classic scene
อาสึกะเจอสถานการณ์แบบเดียวกับชินจิเข้าไป

Eva 06
Eva 06 ที่ SEELE ไปแอบสร้างอยู่ที่ฐานทัพบนดวงจันทร์

Angel
เทวทูตตัวที่ตกลงมาจากอวกาศ จากที่รูปร่างเหมือนแผ่นดินน้ำมัน กลายเป็นตัวน่ากลัว มีหัวมีมือด้วย

rei
เรย์จังหน้าแดง!

Eva 03
Eva 03 ตัวที่โดนเทวทูตเข้าควบคุม สังเกตให้ดีว่ามันมี 4 แขน! และเรื่องที่น่าตกใจกว่านั้นคือ คนขับที่อยู่ข้างในไม่ใช่โทจิแต่เป็นอาสึกะ!

Beast mode
Eva 02 ที่ขับโดย Mari สาวแว่นตัวละครใหม่ กำลังอยู่ในโหมด Beast

Tissue
Zeruel เทวทูตแขนกระดาษ มาในมาดใหม่ เป็นแผ่นม้วนๆ ทั้งตัว

400% synchro
Eva 01 อัตราซิงโคร 400% กลายเป็นตัวสีแดงไปแล้ว

3rd impact?
กำลังจะเกิด 3rd Impact งั้นหรือ?

Kaworu
Kaworu ขับ Eva 06 ลงมาจากดวงจันทร์

ถ้าอยากอ่าน spoil เนื้อเรื่องแบบละเอียดหน่อย เชิญที่ wikipedia

นอกจากนี้ก็มีจุดที่น่าสังเกตอยู่ในเรื่องหลายที่เหมือนกัน

  • อาสึกะมีทีท่าว่าชอบชินจิอย่างเห็นได้ชัด
  • เรย์ก็เหมือนจะมีใจให้ชินจิเหมือนกัน
  • ชินจิก็ยังเป็นชินจิคนเดิม
  • Kaworu อยู่ในอวกาศได้โดยไม่ต้องสวมใส่อะไร
  • คาจิยังไม่ตายในตอนนี้
  • Zeruel กิน Eva 00 เข้าไปแล้วมีท่อนล่างงอกออกมาเป็นเรย์
  • ตัวอย่างตอนต่อไปไม่มี Eva series เป็นไปได้ว่าจะไม่ได้โผล่ออกมาให้เห็นแล้ว

สรุปว่า มันส์มาก ขนาดเป็นหนังซูม ฟังไม่ออก ภาพไม่ชัด ยังดูแล้วรู้สึกได้ ถ้าได้ดูในโรงใหญ่คงจะดีไม่น้อย แว่วๆ มาว่าทาง TIGA จะเอาเข้ามาฉายปีหน้า คงต้องตั้งตารอต่อไป

MaxNet ภาค 8

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

เอาเถอะ เราก็รอช่างแบบไม่หวังอะไร คือกลัวว่ามาแล้วจะงี่เง่าอีก
แต่พอมาถึง ช่างทีมนี้เป็นทีม sub contract คือไม่ได้รับเงินเดือนจาก Triple T
มาถึงก็ไปคุยกับคอนโด โอเค ติดได้ เริ่มเลย เจาะๆ ตอกๆ สักครึ่งชั่วโมงก็เสร็จงาน
เดินสายเรียบร้อย ลองทดสอบ Internet
ปรากฏว่าตอนแรกไม่มีสัญญาณ ช่างเค้าก็โทรติดต่อส่วนกลาง เชคนู่นนี่อีกสิบนาที และแล้วก็ใช้งานได้

เดิมขอไว้ 2 Port แต่เนื่องจากหนังเรื่องนี้ยืดเยื้อ เราจึงหมดความมั่นใจ ขอลดลงเหลือแค่ Port เดียว
แต่ทางช่างบอกว่าขอให้ติดไปก่อนสองจุด แล้วให้ไปทำเรื่องยกเลิกเอง เพราะเค้าไม่ได้มีหน้าทีรับของคืน
โอเค งาน Internet เรียบร้อย
ภาคต่อไปคงเป็นการเล่าเรื่องว่าขอยกเลิก Account นี่เป็นยังไงบ้าง เละเทะขนาดไหน

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

Mask of Hero

ดูซิ วันนี้โดนไซโคจนใส่หน้ากากจนได้ แต่จริงๆก้อแป๊ะเดียวแหล่ะ แค่แถวที่น้องเค้าว่าอย่าประมาทเลย เอิีกๆ ใส่แล้วก็ตลกดีนะ คิดว่าคงไม่มีใครรู้จักเห็น รู้สึกเหมือนอยู่ในถุงพลาสติกก๊อปแก๊ปเลย หายใจเข้าออกที ยุบๆพองๆได้ด้วย ขำๆ… ลัลล้าๆ… ช่วงนี้บ้าเล่น facebook ก่อนหน้านี้ทิ้งๆมันไว้ add เพื่อนสมัยเด็กๆ แต่ไปๆมาๆ กลายเป็นเล่นเกมที่คนอื่นเค้าเล่นกันไปแล้ว มันหมดทุกเกมพร้อมกันเลย โย่ะ ตายพอดีชั้น… ช่วงนี้ถนนโล่งค่ะ แต่อุบัติเหตุก้อเยอะตามด้วย (ไม่รู้ทำไม เค้าคงไม่ชินถนนโล่งๆกันมั้ง)…
 

Goodbye, Filebrowser

ปกติเวลาทำเว็บแล้วต้องการให้มี directory listing สำหรับให้ผู้ใช้ดาวน์โหลดไฟล์ โมดูลตัวแรกที่มักจะนึกถึงก็คือ Filebrowser ซึ่งถ้าติดตั้ง Drupal บนเซิร์ฟเวอร์ที่เป็นลินุกซ์ มันจะสามารถทำงานได้ตามปกติ แต่ปัญหาจะเกิดขึ้นทันทีเมื่อใช้เครื่องเซิร์ฟเวอร์ที่เป็นวินโดวส์

สาเหตุของปัญหาจริงๆ น่าจะเกิดจาก encoding ของระบบไฟล์ในวินโดวส์ที่มันไม่เป็น UTF-8 ทำให้มีปัญหาประหลาดๆ เมื่อใช้ฟังก์ชันของ PHP ในการอ่านชื่อไฟล์

ตัวอย่าง issue ที่น่าปวดหัวของ Filebrowser ก็มีประมาณนี้

  • ไม่แสดงไฟล์
  • ชื่อไฟล์เน่า ซึ่งทำให้เกิดปัญหาต่อเนื่องคือ
  • URL คลิกแล้วใช้การไม่ได้

    ทางแก้ที่เคยทำคือ ตั้งชื่อไฟล์ให้เป็นภาษาอังกฤษทั้งหมด ซึ่งก็ไม่ใช่ทางออกที่ดีนัก อีกวิธีคือแก้โค้ดของโมดูล Filebrowser ให้ใช้งานได้กับชื่อไฟล์ภาษาไทยบนวินโดวส์ เคยนั่งแก้โค้ดมาแล้วรอบนึงตอนทำ IS จบ ป.โท โดยได้อานิสงส์จากฟังก์ชัน utf8_to_tis620 และ tis620_to_utf8 ของ @sugree

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

ในระหว่างที่คิดว่าจะทำยังไงดี ก็บังเอิญเห็นว่า ฟีเจอร์ directory listing ที่มากับ Apache มันแสดงผลชื่อไฟล์ได้ถูกต้องทุกภาษา ติดว่าหน้าตามันเห่ยไปหน่อยเท่านั้น แต่ถ้าเอามาใส่ใน Drupal ได้เนียนๆ ก็จะแก้ปัญหาที่ว่ามาข้างต้นได้ทั้งหมด ตัวอย่างหน้าตา directory listing ของ Apache ก็ประมาณนี้

Original mod_autoindex style

ลองอ่านรายละเอียดของ mod_autoindex ดู พบว่าเราสามารถตั้งค่าเพื่อจัดรูปแบบการแสดงผลได้หลายอย่าง เช่น กำหนดให้ output ออกมาเป็น HTML table, กำหนดความกว้างแต่ละคอลัมน์ได้ จัดเรียงให้โฟลเดอร์มาก่อนไฟล์เหมือนใน Windows Explorer ได้, เปลี่ยนไอคอนตามชนิด หรือตามนามสกุลของไฟล์ได้ ฯลฯ นอกจากนี้ยังสามารถกำหนดไฟล์ที่จะใช้เป็น header ของข้อมูล HTML ที่จะ output ออกมาได้ด้วย

option ที่ใช้หลักๆ จะมีประมาณนี้

IndexOptions FancyIndexing VersionSort
IndexOptions Charset=UTF-8
IndexOptions FoldersFirst IgnoreCase
IndexOptions HTMLTable XHTML
IndexOptions NameWidth=*
IndexOptions SuppressHTMLPreamble SuppressRules SuppressDescription
 
HeaderName /path/to/header/file.html

นอกจากนี้ก็เป็นการตกแต่งรายละเอียดเพิ่มเติม โดยในไฟล์ header เราสามารถ include JavaScript หรือ CSS อะไรก็ได้ตามที่ต้องการ ยกตัวอย่างเช่น ถ้าอยากได้ table แบบสลับสี ก็ใส่โค้ดเรียก jQuery ของ Drupal เข้าไป แล้วเขียนสคริปต์เพื่อทำ zebra table ให้มันใส่ class="odd" หรือ class="even" ให้ (อย่าลืม include CSS ของ Drupal ด้วย) เป็นต้น หรือถ้าอยากให้หน้าตาของ table เข้ากับธีมที่ใช้อยู่ ก็ include CSS ของธีมเข้ามาด้วย ฯลฯ

สุดท้ายเราจะได้หน้า directory listing แบบนี้

Modified mod_autoindex style

สามารถเอาไปวางใน page เพื่อทำตัวกลมกลืนกับ Drupal ได้โดยการใช้ <iframe> ช่วย สิ่งที่ไม่สะดวกเพียงอย่างเดียวคือ การทำ directory listing วิธีนี้ไม่สามารถใช้ร่วมกับระบบ access control ของ Drupal ได้ ถ้าต้องการความปลอดภัยมากขึ้นคงต้องใช้ htpasswd ช่วยอีกแรง

Connecting Android Phone Through Adhoc Wifi Network

An Android phone works perfectly when you have a wireless connection, either through wifi wireless AP or mobile network GPRS. However, when it comes to places where only wired connectivity is available, for instance an Ethernet connection or a dial-up connection, or when you’re roaming and using mobile network’s data roaming might cost you a fortune, some workaround must be done.

My HTC Magic works fine back at home. I got both unlimited wifi and GPRS connectivities. But when I roam elsewhere, which I do a lot, the data roaming cost would be too high and most hotels I stay have no wifi but only wired Ethernet in-room.

One thing which I know will work is to carry with you a wireless AP, plug the LAN cable in, and you’re all set. But I don’t want to add any more weight to my bags. So I think about turning the laptop into an access point instead.

So I did some searches and found a very useful information at modmygphone.com’s forum. The thread mentioned configuring your G1 Android phone to connect to a laptop’s ad-hoc wireless network. That’s exactly what I need!

I didn’t modify the files directly on the phone, but instead I used adb pull the 2 files onto my laptop, then edited the files, then adb push them back. So the steps were:

> adb pull /system/etc/wifi/tiwlan.ini tiwlan.ini
> adb pull /data/misc/wifi/wpa_supplicant.conf wpa_supplicant.conf

[.edit tiwlan.ini and wpa_supplicant.conf according to the guide]

> adb shell
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

# exit

> adb push tiwlan.ini /system/etc/wifi/tiwlan.ini

> adb push wpa_supplicant.conf /data/misc/wifi/wpa_supplicant.conf
> adb shell
# mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
# exit

>

You will see your ad-hoc wifi network name in networks list (Settings -> Wireless controls -> Wi-Fi settings). Phone modification part is complete.

Now back to the laptop. An ad-hoc wireless connection has to be created and Internet Connection Sharing enabled. There are many guides available on the Internet. (for example here.) When it’s created, in “Choose a wireless network” window, select your ad-hoc network and click “Connect.” Your phone and laptop should try to connect to each other and you’re all done!

In case you’re unlucky and your hotel network assigns IP address in 192.168.0.0 net, ICS will not work. Try create a network bridge between the wireless connection and LAN connection instead.

Have fun with your Android! ;-)

Junior High Reunion

เจอกันทีไร ต้องมีคนแจกการ์ดแต่งงานทุกทีเลย ไม่งั้นนัดกันไม่ได้
วันนี้ไปกันที่ร้าน 6-Garden-9 อยู่ที่พหลโยธิน ซอย 9 เข้าซอยไปอยู่ด้านขวา เลยตึกชินวัตทร 2 ไปนิดเดียว
ตรงข้ามกับร้าน Flow  .. มีที่จอดรถด้วย สนใจลองไปได้ อาหารอร่อยทีเดียว

เพื่อนๆได้ดิบได้ดีกันแล้วทั้งนั้น .. :D

I’m bleeding

เฮ้อ ไม่ได้ขูดหินปูนมาหลายปี ตั้งแต่ก่อนไปเรียนโทนู่นแน่ะ
มาถึงวันนี้หินปูนสะสมจนเหงือกจะร่นอยู่แล้ว เลยต้องฝืนใจไปหาหมอ

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

เข็ดไปอีกหลายปี…

ว่าแต่.. เย้ย ยังมีนัดอุดฟันอาทิตย์หน้านี่นะ แง๊

ลืมตัว….

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

One Manga Downloader v2.0

Updated

Change log:

  • แก้บั๊กให้ตรวจสอบว่าชื่อไฟล์ต้องเป็น directory เวลาใส่ option -d *
  • แก้บั๊กฟังก์ชันเติมเลขศูนย์หน้า chapter by @crapcode
  • แก้ message บางอัน
  • ฯลฯ

เท่าที่ลองดูคิดว่าน่าจะโอเคแล้ว ออกเป็น stable version เลยละกัน เช่นเคย ถ้าพบบั๊กรบกวนช่วยแจ้งด้วยครับ

สรุปวิธีใช้สำหรับเวอร์ชัน 2.0 ตามนี้ เวลาใส่ option สามารถใส่รวมกันได้หลายๆ อัน เช่น -d -o หรือ -do ก็ให้ผลเหมือนกัน

ดาวน์โหลด chapter ที่ต้องการ

สามารถโหลดทีละ chapter, โหลดเป็นช่วง, หรือโหลดตั้งแต่ chapter ที่กำหนดจนถึง chapter ล่าสุด

onemanga2 -c 350 Naruto
onemanga2 -c 90-97 Full_Metal_Alchemist
onemanga2 -c 200+ Air_Gear

ดาวน์โหลดเฉพาะ chapter ล่าสุด

onemanga2 -l Vagabond

อัพเดตจากที่เคยดาวน์โหลดไว้

สคริปต์จะเช็คไฟล์ .cbr ในเครื่อง แล้วดาวน์โหลด chapter ที่ต่อจาก chapter ปัจจุบัน จนถึง chapter ล่าสุดในเว็บ ถ้าไม่ใส่ option -c หรือ -l สคริปต์จะถือว่าเป็นการอัพเดตเสมอ (ถ้าไม่เคยดาวน์โหลดมาก่อน จะเริ่มจาก chapter แรก)

onemanga2 20th_Century_Boys
onemanga2 -d Video_Girl_AI

ดาวน์โหลดเป็น directory

สามารถใส่ option -d เพื่อดาวน์โหลดมาเก็บใน directory ตามชื่อ manga ได้

onemanga2 -d -c 420 3x3_Eyes
onemanga2 -dl One_Piece
onemanga2 -d Zetman 

ดาวน์โหลดทีละหลายๆ เรื่อง

สามารถใส่ชื่อ manga ได้มากกว่าหนึ่งเรื่องในการดาวน์โหลดแต่ละครั้ง มีประโยชน์มากตอนอัพเดตรายสัปดาห์ ถ้าโหลดโดยใช้ option -d ตลอด ก็ใส่ wildcard แทนชื่อ directory ทั้งหมดไปเลยก็ได้

onemanga2 -dl Naruto Bleach Air_Gear Vagabond Bakuman
onemanga2 -d *

บันทึกชื่อไฟล์ที่ดาวน์โหลดลงใน log file

บางทีเวลาอัพเดตเยอะๆ แล้วอาจจะงงได้ว่าตกลงมันมีไฟล์ไหนบ้างที่เพิ่งดาวน์โหลดมาใหม่ สามารถใส่ option -o เพื่อให้สคริปต์บันทึกวัน-เวลา และชื่อไฟล์ที่ดาวน์โหลดมาไว้ใน onemanga.log เพื่อเปิดดูทีหลังได้

onemanga2 -do *

สำหรับโค้ดก็ตามนี้ครับ จริงๆ น่าเอาไปฝากไว้ใน Google Code หรือ GitHub แต่คิดว่าคงไม่ได้อัพเดตบ่อยๆ เลยช่างมันละกัน :P

#!/bin/bash
#
# usage: onemanga [-dlo] [-c <first chapter>[+|-<last chapter>]] <manga name> [<manga name> ...]
#
 
trap "rm -f *.jpg tmp_*;" 0
 
base_url="http://www.onemanga.com"
base_dir=`pwd`
log="$base_dir/onemanga.log"
 
function calc() {
  echo "scale=2; $*" | bc -q 2>/dev/null | cut -f1 -d.
}
 
function echoes() {
  if [[ $2 -gt 0 ]]; then
    eval "for i in {${3:-1}..$2}; do echo -n '$1'; done"
  fi
}
 
function progressbar() {
  width=20
  current=$1
  total=$2
 
  percent=`calc "$current / $total * 100"`
  stack=`calc "$current / $total * $width"`
  stack=${stack:=0}
  space=`calc "$width - $stack"`
 
  echoes " " ${#percent} 3
  echo -n "$percent% ["
  echoes "#" $stack
  echoes " " $space
  echo "]"
}
 
while getopts ":c:dlo" op; do
  case $op in
    c)
      CHAPTER=1
      CHAPTER_ARG="$OPTARG"
      ;;
    d)
      USE_DIR=1
      ;;
    l)
      LATEST=1
      ;;
    o)
      LOG_FILE=1
      ;;
    \?)
      echo "unknown option: -$OPTARG" >&2
      ERROR=1
      ;;
  esac
done
 
shift $(($OPTIND - 1))
 
if [[ $CHAPTER -eq 1 && $LATEST -eq 1 ]]; then
  echo "invalid option: -c and -l cannot be used at the same time" >&2
  ERROR=1
fi
 
if [[ $ERROR -eq 1 ]]; then
  exit
fi
 
if [[ $CHAPTER = "" && $LATEST = "" ]]; then
  UPDATE=1
fi
 
if [[ $CHAPTER -eq 1 ]]; then
  if [[ `expr index "$CHAPTER_ARG" ++` -gt 0 ]]; then
    first_chapter=${CHAPTER_ARG%+*}
    last_chapter="+"
  elif [[ `expr index "$CHAPTER_ARG" -` -gt 0 ]]; then
    first_chapter=${CHAPTER_ARG%-*}
    last_chapter=${CHAPTER_ARG#*-}
  else
    first_chapter=$CHAPTER_ARG
    last_chapter=$CHAPTER_ARG
  fi
fi
 
for manga_name in "$@"; do
  manga_name=${manga_name%/}
 
  if [[ $USE_DIR -eq 1 ]]; then
    if [[ -f "$base_dir/$manga_name" ]]; then
      echo -e "\n$manga_name [SKIPPED]"
      echo "not a directory"
      continue
    fi
 
    mkdir -p "$base_dir/$manga_name"
    cd "$base_dir/$manga_name"
  fi
 
  display_name=`echo $manga_name | sed "s/_/ /g"`
  word_count=`echo $display_name | wc -w`
  sort_key=$((word_count + 1))
  local_chapter=`ls ${manga_name}_*.cbr 2> /dev/null | sort -r -n -k $sort_key -t_ | head -n1`
  local_chapter=`basename "${local_chapter##*_}" .cbr`
 
  if [[ `echo "$local_chapter == 0" | bc` -eq 0 ]]; then
    local_chapter=`echo $local_chapter | sed "s/^0*//g"`
  fi
 
  echo -ne "\nopening $base_url/$manga_name..."
  wget -qN --no-cache $base_url/$manga_name/
 
  if [[ ! -f "index.html" ]]; then
    echo -e "\b\b\b [ERROR]\nthe url seems to be invalid, or there may be a problem with your internet connection"
    exit
  fi
 
  grep "ch-subject" index.html 2> /dev/null | grep "a href" | cut -f3 -d\/ > tmp_chapters
 
  if [[ ! -s tmp_chapters ]]; then
    echo -e "\b\b\b [ERROR]\ncannot extract chapters info from the url"
    exit
  fi
 
  echo -e "\b\b\b [OK]"
 
  latest_chapter=`head -1 tmp_chapters`
 
  if [[ -n $local_chapter && ! $CHAPTER -eq 1 ]]; then
    echo "local chapter: ${local_chapter} / latest chapter: $latest_chapter"
 
    if [[ $local_chapter == $latest_chapter ]]; then
      echo "no updates found"
      continue
    fi
  fi
 
  if [[ $LATEST -eq 1 ]]; then
    first_chapter=$latest_chapter
    last_chapter=$latest_chapter
  fi
 
  if [[ "$last_chapter" == "+" ]]; then
    last_chapter=$latest_chapter
  fi
 
  if [[ $UPDATE -eq 1 ]]; then
    if [[ $local_chapter == "" ]]; then
      first_chapter=`sort -n tmp_chapters | head -n1`
    else
      index=`sort -n tmp_chapters | grep -nm1 $local_chapter | cut -f1 -d:`
      first_chapter=`sort -n tmp_chapters | tail -n+$((index + 1)) | head -n1`
    fi
 
    last_chapter=$latest_chapter
  fi
 
  if [[ $CHAPTER -eq 1 || -z $local_chapter ]]; then
    echo "from chapter: $first_chapter / to chapter: $last_chapter"
  fi
 
  index=`sort -n tmp_chapters | grep -nm1 $first_chapter | cut -f1 -d:`
  last_index=`sort -n tmp_chapters | grep -nm1 $last_chapter | cut -f1 -d:`
 
  CHAPTERS=`sort -n tmp_chapters | awk 'FNR >= '$index' && FNR <= '$last_index`
 
  for chapter in $CHAPTERS; do
    echo "downloading $display_name chapter $chapter"
    echo -ne "\r\e[0K`progressbar 0 1` (initializing...)"
    page_location=`wget -qO - $base_url/$manga_name/$chapter/ | grep -i "begin reading" | cut -f2 -d\"`
    wget -qO tmp_page $base_url$page_location
    PAGES=`grep -i "option value" tmp_page | grep -i -v "select manga series" | cut -f2 -d\"`
    image_location=`grep -i "manga-page" tmp_page | cut -f4 -d\"`
    image_location=${image_location%/*.jpg}
 
    total=`echo $PAGES | wc -w`
    i=0
 
    for page in $PAGES; do
      let i++
      echo -ne "\r\e[0K`progressbar $i $total` ($i/$total)"
      wget -q "$image_location/$page.jpg"
    done
 
    int_part=${chapter%\.*}
    if [[ `echo "$int_part == 0" | bc` -eq 0 && ${#int_part} -lt 3 ]]; then
      chapter=`echoes "0" ${#int_part} 2`$chapter
    fi
 
    cbr_file_name="${manga_name}_${chapter}.cbr"
 
    echo -ne "\r\e[0K`progressbar $i $total` (packing files...)"
    if zip -q $cbr_file_name *.jpg; then
      rm -f *.jpg tmp_*
      echo -e "\r\e[0K`progressbar $i $total` ($cbr_file_name)"
      [[ $LOG_FILE -eq 1 ]] && echo "[`date +%c`] $cbr_file_name" >> "$log"
    fi
  done
done

MaxNet ภาค 7

พอวันอาทิตย์ ช่างบอกว่าจะมาถึงประมาณ 10-11 โมง
ไอ้เราก็เลยลุกมาตอน 9.40 จะได้มีเวลาอาบน้ำแปรงฟัน แต่แล้วรถของ MaxNet ก็มาจอดหน้าบ้าน
เวร .. เอาวะ ออกไปคุยก่อนก็ได้  ก็เลยให้ช่างมาดู site งาน
และแล้ว .. ก็ได้ยินสิ่งที่ไม่คาดฝัน

ช่าง – “เอ่อ พี่ครับ พี่ต้องซื้อท่อร้อยสายไฟด้วยครับ”

งง  นี่มันอะไร ทำไมลูกค้าต้องซื้อของเองด้วยครับ ?
แล้วช่างพูดเหมือน เออ คุณไปซื้อมาละกัน .. ผมเป็นคนรับใช้ของคุณหรือครับ ?
ไม่เคยมีการติดตั้งอะไรที่เคยได้ยินช่างติดตั้งให้ลูกค้าไปซื้อของที่ “ต้องใช้ในการติดตั้ง” มาก่อน

แต่เนื่องจากเบื่อทนกับปัญหา อยากให้มันจบๆไป ก็เลยบอกช่างว่าเอาแบบนี้แล้วกัน

คุณบอกให้ผมไปซื้อท่อยาว 15 เมตร กับข้อต่อ 9 อัน แต่ผมไม่รู้หรอกว่ามันหน้าตาอะไรยังไง
แล้วรถผมก็ไม่สามารถใส่ท่อยาวๆได้  เพราะฉนั้นคุณขับรถไป แล้วผมจะนั่งรถไปกับคุณ
ส่วนของ คุณเลือกเอาละกันว่าอยากได้อะไร ผมจ่ายเงินเอง
โอเค จบไป ซื้อของมาเรียบร้อย เสียเงินไปประมาณ 320 บาท

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

ผ่านไปอีกหนึ่งปัญหา แต่ก็ยังไม่จบ ช่างเริ่มป๊อด ไม่ยอมติดตั้ง บอกว่าเดี๋ยวผมต้องโทรไปขอหัวหน้าก่อน
โทรไป หัวหน้าไม่รับ แล้วก็โทรไปหาคนอีก 2-3 คน คุยๆ แต่ก็ไม่ได้เรื่องอะไร
นาย ก ( ตำแหน่งควบคุมการติดตั้งส่วนคอนโดทั่วกรุงเทพ) – “ไม่ได้ครับ ยังไงก็ติดตั้งไม่ได้”
นาย ข (ตำแหน่งควบคุมการติดตั้งกรุงเทพและปริมณฑล ) – “น่าจะได้นะ แต่ให้คุณ ค เขียนเอกสารนั้นสิ”

ความหงุดหงิดมากขึ้นเรื่อยๆ เลยถามชื่อและตำแหน่งของคนที่เกี่ยวข้องทั้งหมดเอาไว้  ก ข ค ง จ เดี๋ยวไปจัดการเอง
เจอแบบนี้ต้องตามเช็ดให้หมด ทุกคน ให้มันรู้ไปว่าผมลูกใคร :P

และแล้วข้าพเจ้าก็แจ้งเรื่องให้คนดำเนินการตรวจสอบการติดตั้งของ MaxNet รับทราบ พร้อมทั้งชื่อและการพูดจาของแต่ละคน
พอตกเย็น นาย ก ก็โทรมาหา ( ว่าแต่นาย ก เอาเบอร์ผมมาจากไหนไม่ทราบ?) ถามว่าการติดตั้งเป็นอย่างไรบ้างครับ
ก็ตอบไปเฉยๆว่า ก็ยังไม่เรียบร้อยครับ รอจัดการเรื่องเพิ่มเติม แล้วก็วางไป

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

สรุปปัญหาตอนนี้ ติดที่ MaxNet ครับ
คอนโดอนุญาติให้ติดตั้งแล้ว
ไม่ต้องมาอ้างเลยว่า Node คอนโด ให้ติดตั้งภายในคอนโดเท่านั้น
ถ้าติดเนทไม่ได้ ก็ MaxNet นั่นแหละ ที่บกพร่อง แค่ทำเอกสารมาก็จบแล้วครับ

นั่น ไม่ต้องหันซ้ายหันขวา คุณนั่นแหละ ผิด
ถ้าสุดท้ายแล้วผมไม่ได้ใช้ MaxNet ก็รู้แล้วนะว่าใครห่วยแตก

Harry Potter and the Half-Blood Prince Tickets

Harry Potter and the Half-Blood Prince posters & tickets

ตอนแรกอ่านบล็อกของ @rachanont นึกว่ามีแต่ขาย voucher ล่วงหน้าอย่างเดียว เลยไม่ค่อยสนใจเท่าไร พอดีวันนี้ลองขึ้นไปดูที่หน้าโรง มีคนเดินมาขาย voucher แล้วบอกว่าจองที่นั่งได้เลย เป็นรอบของวันที่ 16-19 เลยสอยมาซะ ประหยัดไปที่นั่งละ 20 บาท แถมไม่ต้องเครียดต่อแถวรอซื้อตั๋ววันฉายด้วย

ปล. ดูอีกที ของ @rachanont มันที่ Major นิ ของผมของ SF ตรงเคาน์เตอร์ขายตั๋วมีป้ายบอกว่าแถม bookmark 4 อัน แต่พอถามดูได้รับคำตอบว่าของหมด ได้มาแต่โปสเตอร์เล็กๆ สองแผ่น =.=

MaxNet ภาค 6

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

Fast Foward มาวันเสาร์ รอแล้ว รอเล่า ช่างก็ไม่มาสักที จนเที่ยงครึ่ง ช่างก็โทรมา เพื่อบอกว่า..
ช่าง – “ขอเลื่อนเป็นบ่ายสองโมงนะครับ”
พอได้ยิน ก็หงุดหงิดทันที เลยด่าไปสักหนึ่งยก .. คุณคิดว่าคนอื่นไม่มีธุระหรือไงครับ โทรมาบอกเอาป่านนี้
ผมไม่ว่าง คุณทำแบบนี้ได้ยังไง …

ช่าง – “พอดีมีปัญหาหน้างานครับ”

นึกในใจ เออ รู้ มีปัญหาหน้างาน ก็ไม่รู้ล่วงหน้า แต่การพูดแบบนี้มันน่าโดนด่า
ไม่เข้าใจ คนเราหลายคน คิดว่าตัวเองผิดแล้วพอพูดเหตุผลมา หวังว่าจะให้คนอื่นฟังแล้วเข้าใจ พร้อมให้อภัยเสมอหรือไง ? บ้าแล้ว
ทำผิดก็ต้องยอมรับผิด ไม่ใช่หวังว่าจะให้คนอื่นให้อภัย
ถามว่าคนฟังเข้าใจเหตุผลมั้ย เออ เข้าใจ ไม่ได้สมองฝ่อ แต่ ไม่ว่าปัญหาคืออะไร คุณก็ผิดที่ไม่สามารถมาตามเวลาที่นัด
ขอโทษซะก่อน แล้วค่อยขอเลื่อน อยากได้ยินแบบนี้

ช่าง – “ขอโทษครับ ตอนนี้ติดปัญหาหน้างาน ทำให้ไม่สามารถไปติดตั้งให้คุณได้ตามกำหนดเวลา ไม่ทราบว่าจะสะดวกเลื่อนเป็นวันไหน เวลาไหนดีครับ ทางเราจะจัดให้ตามนั้นเลยครับ ขออภัยจริงๆ”

คนฟังได้ยินแบบนี้  น่าจะรู้สึกดีกว่า เพราะมีการเสนอทางออกที่ดีให้ด้วย

สรุปแล้ว ข้าพเจ้าก็ต้องบอกเองว่า ให้มาติดวันอาทิตย์ละกัน
อีกรอบแล้ว กับความไม่ได้เรื่องของ MaxNet ต้องทนกันต่อไป

จบภาค 6 ..

My Love is a Stapler

My Love is a Stapler (ความรักของฉันคือที่เย็บกระดาษ) เพลงจาก K-ON! (けいおん!) อนิเมสุดโมเอะของ season ที่ผ่านมา

เรื่องย่อๆ ของ K-ON! คือเด็กสาวมัธยม 4 คน สมาชิกชมรม K-ON (มาจาก 軽音楽, keiongaku – หมายถึงดนตรีฟังสบาย) ฟอร์มวงดนตรีขึ้นมา และมีเป้าหมายจะไปเล่นที่บูโดกัน (เวทีคอนเสิร์ตนะ ไม่เกี่ยวอะไรกับนักร้องบ้านเรา) แต่เนื้อเรื่องจริงๆ ก็ไม่ค่อยมีอะไร มากไปกว่าการใช้ชีวิตในชมรมของ 4 สาว

จำไม่ได้ว่าเป็นเพราะเหตุผลอะไรถึงไปหาอนิเมเรื่องนี้มาดู แต่ดูแล้วก็ติดอยู่ ทั้งหมด 12 ตอน + 1 ตอนพิเศษ ใช้เวลาไป 2 วันก็ดูจบ ถือเป็นประสบการณ์ครั้งแรกในการดูการ์ตูนโมเอะ ทั้งที่เมื่อก่อนออกจะ anti อยู่นิดๆ ตอนนี้คงถึงเวลาที่จะเปลี่ยนความคิดแล้วสินะ

MaxNet ภาค 5

ต่อกันที่ภาค 5 .. ยังไม่จบนะครับ หนังเรื่องนี้คงมีไปถึงภาค 99 แหละ
เมื่อวานซืนมีการติดต่อจาก MaxNet ว่าจะเข้ามาติดตั้งให้ได้วันรุ่งขึ้น ซึ่งก็คือเมื่อวาน
ตอนแรกเราก็คิดว่าจะจบแล้ว ในที่สุดก็ได้ใช้ ..
และแล้วเราก็คิดผิดครับ
MaxNet ไม่เคยทำให้ท่านผิดหวัง
มีภาคต่อเรื่อยๆ ไม่มีวันหมดมุข

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

วันนี้ พร้อม(ด่า)แล้ว ก็โทรไป Call Center พร้อมกับเล่าเรื่องที่เกิดขึ้น
ถามว่าตกลงผมต้องรออีกกี่วันครับ – ตอบไม่ได้ค่ะ ไม่มีข้อมูล
แล้วจะรู้ได้อย่างไรครับว่าสถานะเรื่องนี้ถึงไหนแล้ว – ตอบไม่ได้ค่ะ เพราะเราแจกจ่ายงานให้บริษัทติดตั้งไปแล้ว
แล้วคุณไม่รู้หรือครับว่าบริษัทไหนติดตั้ง – รู้ค่ะ
แล้วทำไมจะตามให้ไม่ได้ครับ – เรื่องติดตั้ง ต้องให้ทางบริษัทรับติดตั้งติดต่อไปเองค่ะ เพราะทางนั้นต้องจัดคิวเอง
งั้นผมก็ต้องรอทางบริษัทติดตั้งติดต่อมาอย่างเดียวใช่ไหมครับ – ใช่ค่ะ
แล้วสรุปว่าคุณช่วยผมไม่ได้ใช่ไหมครับ – ทางเราจะช่วย update สถานะให้ทางบริษัทที่รับติดตั้งนะคะ

สรุปว่าทำอะไรไม่ได้ครับ ลูกค้าได้แต่รับกรรมรอ

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

รอเจอกันภาค 6 ครับท่าน ดูซิว่าจะมีอะไรเกิดขึ้นอีก

Transformers : Revenge of the Fallen

transformers

คนอื่นเค้าดูกันไปหมดแล้ว ตอนนั่งอยู่ในออฟฟิซต้องคอยหลบ คอยระวังคนอื่นมา spoil จนกระทั่งเพิ่งได้มาดูเอาเมื่อวันศุกร์ที่ผ่านมา (โรงธรรมดา ไม่ใช่ IMAX)

Spoiler warning: ความรู้สึกหลังดูจบ

  • ภาคนี้โฆษณาว่ามีหุ่นถึง 42 ตัว แต่เข้าไปดูแล้ว รู้สึกว่าหุ่นที่มีบทจริงๆ มันน้อยกว่าภาคแรกเสียอีก
  • หุ่นในภาคนี้มันแปลงร่างเป็นคนได้ด้วย! สุโค่ย! หลังจากเห็นฉากนี้ก็ทำใจได้เลยว่า ไม่จำเป็นต้องสนใจหาเหตุผลใดๆ ในหนังเรื่องนี้อีกต่อไป
  • หุ่นคู่แฝดสองตัว เป็นตัวละครที่น่ารำคาญเป็นอย่างมาก ไม่เห็นความจำเป็นใดๆ ที่จะต้องใส่เข้ามานอกจากขายของเล่น และขายรถ
  • Megatron ในภาคที่แล้ว โหดและเก่งมาก แต่ในภาคนี้ดูกระจอกลงไปเยอะ หรือเป็นเพราะว่าซ่อมกลับมาใหม่แล้วไม่เก่งเหมือนเดิม?
  • กลับกัน Optimus Prime เก่งขึ้นอย่างผิดหูผิดตา!
  • ทหารอเมริกันก็เก่งขึ้นมากอย่างผิดหูผิดตาเช่นกัน สามารถรับมือกับหุ่นฝ่าย Depticons จำนวนเกือบโหลได้อย่างสมส้ำสมเนื้อ (เทียบกับ ในฉากเปิดเรื่องภาคแรก หุ่นตัวเดียวทำลายกองทหารได้ทั้งค่าย)
  • เห็นตรงกับ @markpeak ว่าเป็นหนังเชิดชูแสนยานุภาพทางทหารของอเมริกา
  • ช่วงวิ่งหลบระเบิดเป็นระยะทาง 2 ไมล์ เพื่อไปสมทบกับกองทหาร ยาวยืดเยิ่นเย้ออย่างน่าเบื่อหน่ายมาก
  • นางเอก Megan Fox มีไว้เพื่อทำให้ซีนเยิ่นเย้อนี้ ดูมีอะไรน่าสนใจมากขึ้น นอกจากนั้นแล้วก็ไม่ค่อยมีประโยชน์อะไรกับเนื้อเรื่องนัก
  • ฉากที่ดีที่สุดในเรื่อง คือตอนที่ Optimus Prime ลุยกับ Decepticons ในป่าแบบ 1 ต่อ 3
  • ที่จริงแล้ว ผู้กำกับไมเคล เบย์ ทำหนังดูสนุกมาหลายเรื่อง อย่าง The Rock, The Island หรือ Transformers ภาคแรก แต่สำหรับ Transformers ภาคนี้ถือว่าห่วยระดับเดียวกับ Pearl Habor เลย
  • ตบท้ายด้วยประโยคของนักวิจารณ์จาก The Scorecard Review – “the first film is a teenage boy’s wet dream. This sequel is just masturbation.”

ถ้ามีภาค 3 ออกมาคงไม่ไปดูแล้ว ยกเว้นว่าจะได้ คริสโตเฟอร์ โนแลน มากำกับแทน

Westone UM3X In My Opinion

ไหนๆวันนี้ก็อากาศดี เรามาทำ Review กันดีกว่า
UM3X เป็น IEM ที่พึ่งออกใหม่ เมื่อวันที่ 30 เมษายนนี่เอง  ตัวหูฟังประกอบไปด้วย Driver 3 ตัวเหมือนกับ Shure SE530
ของในกล่องประกอบไปด้วย
- Foam 2 ขนาด อย่างละ 2 คู่
- ไม้ทำความสะอาด
- กล่องเก็บหูฟัง
จะเห็นได้ว่าของที่ให้มาด้วย น้อยกว่า Shure อย่างมาก

ทีนี้ก็มาถึงเรื่องสำคัญคือเสียง … ฟังแล้วแตกต่างจาก Shure อย่างชัดเจน

เสียงสูง(ฉาบ กีตาร์) – ชัดเจน เสียงไม่บาดหู
เสียงกลาง(กลอง เสียงร้อง) – ชัดเจน เสียงนุ่มนวลเป็นธรรมชาติ
เสียงต่ำ(เบส กลองกระเดื่อง) – ต้องบอกว่า UM3X ขับเสียงต่ำได้ดีอย่างไม่น่าเชื่อ เสียง Deep Bass ชัดเจนมาก
Stage(ความกว้างของเสียง) – เสียงดนตรีจะให้ความรู้สึกอยู่รอบๆหัวค่อนข้างไปทางด้านหลัง
Blend(ความเข้ากันของเสียงดนตรี) – เนื่องจาก UM3X ทำมาสำหรับ On-Stage Monitor ดังนั้นความเข้ากันของเสียงดนตรีจึงไม่ใช่แนวทางของมัน  UM3X  จะแยกเสียงดนตรีแต่ละชิ้นออกมาอย่างชัดเจน สามารถฟังออกได้เลยว่าใครเล่นเครื่องดนตรีชิ้นไหนอยู่ตรงไหน นอกจากนั้นยังมีความละเอียดของเสียงสูงมาก คุณจะได้ยินเสียงเครื่องดนตรีบางชิ้นที่ไม่เคยได้ยินมาก่อนเลย แม้ว่าจะฟังเพลงๆนั้นมาเป็นร้อยรอบแล้วก็ตาม(ด้วยหูฟังธรรมดา)
Build Quality(คุณภาพวัสดุ) – ไม่มั่นใจว่าจะทน เนื่องจากพลาสติกที่ใช้ทำตัวหูฟังดูค่อนข้างบอบบาง แต่ตัวสายนั้นทำได้ดี เพราะใช้สายสองเส้นเล็กๆไข้วกัน ดูลักษณะวัสดุได้จากภาพด้านล่างนี้

Westone UM3XWestone UM3X

Level of Comfort – คือความสบายในการสวมใส่หูฟังต่อเนื่องในระยะเวลาเกิน 2 ชม. ผลปรากฏว่า UM3X ใส่สบายมากๆ ใส่แล้วเหมือนไม่ใส่อะไรอยู่เลย คงต้องยกความดีความชอบให้การ Design รูปทรงและ Foam ที่ทำให้ความรู้สักในการใส่หูฟังเป็นอะไรที่สุดยอด

Overall
– ถ้าจะให้เปรียบกับผู้หญิง UM3X ก็เป็นแบบสวยธรรมชาติ เสียงของเพลงที่ฟังจะเรียบๆ แต่สวยงามละเอียดอ่อน ไม่มีที่ติ ทำให้เหมาะกับการใช้ EQ (Equalizer) ของเครื่องเล่น ใครชอบแนวไหนก็ปรับ EQ แนวนั้นเลย เทียบกับ Shure ที่เหมือนผู้หญิงแต่งหน้ามาให้แล้ว ถ้าไปปรับ EQ แนวเดียวกับที่แต่งมา ก็จะทำให้เสียงเกินเลยจนเอียนได้

What for? – แนวที่เหมาะสม ทุกแนว (ปรับ EQ) เพราะเสียงจะกลางๆ และสำหรับพวก Bass Lover นี่คือสิ่งที่คุณมองหาอยู่ ไม่เหมาะสำหรับคนชอบเสียงสูงชัดๆ เพราะ SE530 แต่งมาได้ดีกว่า

Personal Comment – ความยาวของหูฟังไปยัง CrossOver (ตัว Y ที่ซ้ายกับขวาแยกทางกัน) น้อยเกินไป ทำให้ใส่แล้วเหมือนโดนหูฟังรัดคอ แก้ไขโดยการใส่จากด้านหลังแทน นอกจากนั้น Foam ยังต้องเปลี่ยนทุกเดือน ก็เปลืองตังกันนิดนึง

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

ภาคต่อไปเราจะมาทดลองเล่าว่าการสลับ Foam กับ Sleeves ระหว่าง SE530 กับ UM3X มีผลกับเสียงยังไง

Ice Age 3: Dawn of the Dinosaurs

Scrat

ไปดูมาตั้งแต่เข้าฉายวันแรก คนน้อย ดูสบาย จองตั๋วง่ายไม่ต้องแย่งที่นั่งกัน เข้าใจว่าเป็นเพราะกระแส Transformers 2 ยังแรงอยู่

สำหรับภาคนี้ก็ยังคงอยู่ในยุคน้ำแข็ง (แหงอยู่แล้ว ไม่งั้นจะชื่อเรื่อง Ice Age ได้ไง) แต่แก๊งค์ของ Manny ดันจับพลัดจับผลูไปเจอโลกใต้พิภพที่เหล่าไดโนเสาร์ยังคงมีชีวิตอยู่ เนื้อเรื่องคร่าวๆ ไปอ่านได้ที่นี่

บอกตามตรงว่าตั้งหน้าตั้งตารอดูเจ้่า Scrat อย่างเดียว ออกมาทีไรเป็นต้องก๊ากทุกที xD

เนื้อเรื่องโดยรวมทำได้ดี การดำเนินเรื่องลื่นไหล มีแทรกมุกเป็นระยะๆ เรียกได้ว่าฮาตั้งแต่ต้นจนจบ มุกเล่นคำมีเยอะ คนแปลก็เก่งที่แปลให้ขำได้ ภาคนี้ดูแล้วรู้สึกว่ามีตัวดำเนินเรื่องอยู่สองตัว คือ Scrat กับ Buck ที่เป็นตัวละครใหม่ เห็นพ้องต้องกันกับ @bombik ว่าได้อารมณ์ประมาณเดียวกับ แจ็ค สแปโรว์ คือเหมือนไม่ค่อยเต็ม ทำอะไรประหลาดๆ แต่ก็พึ่งพาได้ :P

ปล. ไม่ค่อยชอบช่วงที่ Scrat มีความรักเท่าไร เหมือนมันขัดๆ กับคาแรกเตอร์ยังไงไม่รู้ =.=

Firefox 3.5 & Multitouch Macbook

Firefox 3.5 ตัวจริงออกแล้ว ใครสนใจก็ตามไปโหลดกันได้ที่ Getfirefox.com (แนะนำเวอร์ชันภาษาไทย)

feature ใหม่ ที่เพิ่งรู้ว่ามันมีด้วยคือ สนับสนุน multitouch แล้ว ทำให้คนที่ใช้ notebook ที่มีความสามารถ multitouch สามารถใช้งานได้สะดวกขึ้น ตามนี้

  • ลากลง 3 นิ้วพร้อมกัน – ลงมาด้านล่างสุดของหน้า
  • ลากขึ้น 3 นิ้วพร้อมกัน – ขึ้นไปด้านบนสุดของหน้า
  • ลาก 3 นิ้วไปทางซ้าย – ย้อนกลับไปหนึ่งหน้า
  • ลาก 3 นิ้วไปทางขวา – ถัดไปหนึ่งหน้า
  • ถ่าง 2 นิ้วออก – ขยายหน้าเว็บ
  • บีบ 2 นิ้วเข้า – ย่อหน้าเว็บ

แล้วก็มีอีก 2 ท่า ให้เล่นคือ

  • ใช้สองนิ้วหมุนทวนเข็มนาฬิกา – สลับไปแท็บทางซ้าย
  • ใช้สองนิ้วหมุนตามเข็มนาฬิกา – สลับไปแท็บทางขวา

แต่ท่ายาก 2 ท่านี้ ไม่ได้เปิดใช้โดยปริยาย ต้องไปตั้งค่าให้มันผ่านทาง about:config แก้บรรทัด browser.gesture.twist.left และ right ให้เป็นตามรูป

about:config - multitouch settings

ลองเล่นกันดูได้