แก้ปัญหา PHP-ExcelReader ใน 64Bit system

ตัว PHP-ExcelReader เป็น PHP Class ที่นำมาใช้อ่านไฟล์ Excel 97-2003 ได้ดีมากตัวนึง และแม้จะไม่ได้ update มาตั้งแต่ปี 2007 ก็ยังทำงานได้ดีบน PHP 5.2.8 ซึ่งบนระบบ Development Environment นั้นไม่มีปัญหา ซึ่งบนเครื่องผมเป็น Core 2 Duo ที่ทำงานบน Windows XP Pro 32bit ซึ่งทำงานได้ปรกติดี แต่แล้วพอเอาขึ้น Production Environment มันก็เกิดปัญหาขึ้นที่ function GetInt4d ซึ่งผมควานหาปัญหาและไล่ว่ามันเกิดจากตัว code เองหรือเปล่า หรือว่ามีปัญหากับ function พื้นฐานต่าง ๆ จาก Extension ของ PHP เองหรือเปล่า ซึ่งผมก็ว่าไม่ใช่ และพอเอาไปทำงานบน Production ตัวนึงที่เป็น 32bit CPU กลับไม่มีปัญหา ซึ่งลง Extension เหมือน ๆ กันด้วย –_-‘

แต่สุดท้ายผมก็ไล่ไปเจอสิ่งที่ผมคิดว่ามันเป็นเรื่องที่ทำให้ผม งง แต่มันก็เกิดขึ้นก็คือ [ 1487371 ] AMD64 dead loop fix สรุปง่าย ๆ ว่าเป็นปัญหาของ bitshift ใน OS 64bit ที่ bit ตัวแรกจะได้ค่าไม่ตรงกับใน OS 32bit ทำให้เกิดความผิดพลาด

ตัว error ที่พบคือ

Notice: Uninitialized string offset: -138 in /home/www/public_html/excel/oleread.inc on line 27
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 71 bytes) in /home/www/public_html/excel/oleread.inc on line 133

ซึ่งแก้ไขได้ง่าย ๆ ด้วยการเปลี่ยนแปลง function GetInt4d ใหม่ตามด้านล่าง ก็สามารถทำงานบน OS 64bit ได้แล้ว

แก้ไขในไฟล์ oleread.inc

function GetInt4d($data, $pos) {
    // Hacked by Andreas Rehm 2006 to ensure correct result of the 24 block on 32 and 64bit systems
    $_or_24 = ord($data[$pos+3]);
    if ($_or_24>=128) $_ord_24 = -abs((256-$_or_24) << 24);
    else $_ord_24 = ($_or_24&127) << 24;

    return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24;
}

จัดมาอีกแล้ว ด้วยความบ้าส่วนตัว กับ Girls’ Generation (SNSD)

เริ่มจาก สาวที่ทำให้ผมหลับฝันดีในตอนนี้ แล้ววันนี้ไป TwittBkk2 มาด้วย ทำให้มันพอกับว่าไหน ๆ ก็ออกมาแล้ว เลยไปเดิน Siam เพื่อหาซื้อ Girls’ Generation The Frist Mini Album – Gee ที่เป็นแผ่น Import ไม่อยากรอ GMM Inter ที่ไม่แน่ว่าจะมี Booklet สวย ๆ ด้านหลังหรือเปล่า และก็ไปเจอที่ร้านขาย CD เพลงข้างร้าน RICE Siam Square ซอย 4 เห็นปั้บ เดินไปเบิกเงินแล้วกลับมาซื้อทันที ไม่ต่อใด ๆ ทั้งสิ้น ในราคา 650 บาท แต่ไป ๆ มา ๆ ผมก็ต้องซื้อ Girls’ Generation BABYBABY อีกแผ่น ที่เป็น Repackage album มาใน GMM Inter ครับ ทั้งหมดรวมแล้ว 900 บาทถ้วน กินแกลบเลยงานนี้

image

พอซื้อมาเสร็จก็เอามา Rip ด้วย Apple Lossless ทั้งสองแผ่นเลยทีเดียว และแถมเป็นครั้งแรกที่ใช้ Lossless ด้วยนะเนี่ย ทั้งหมด 19 เพลง เล่นซะ 600MB เลย –_-‘ เอา ๆ งานนี้ไม่รักกันจริงไม่ทำหรอก ;P

สาวที่ทำให้ผมหลับฝันดีในตอนนี้

[2009-01-18]_Gee_&_Mutizen_Song_(SBS_Inkigayo)[01-45-20]

태연 TaeYeon แทยอน

เธอเป็นสามชิก วง SNSD(소녀시대)

ชื่อจริง 김태연 Kim Taeyeon คิมแทยอน

เกิดเมื่อ 9 มีนาคม 1989

กลุ่มเลือด O

ส่วนสูง 162 เซนติเมตร (น้ำหนักไม่ได้บอกไว้ ;P)

ศิลปินที่ชื่อชอบ  Fly to the sky ,Tablo

ความสามารถพิเศษ พูดจีนได้

เข้าวงการ 2004

taeyeonwall.blog download.blog

ที่หลับฝันดีเพราะฟังเพลง Gee กับ If ทุกคืนเลย โดยเฉพาะ If นี่ฟังแล้วหลับจริง ๆ เหมือนมี Tae Yeon มากล่อมข้าง ๆ ;P ซึ่งตอนนี้ Gee ผมฟังไปแล้วกว่า 1,000 กว่ารอบได้มั้ง ทั้งใน iTunes และ iPod ไม่รู้ฟังไปได้ไง –_-‘ แผ่นของ GMM Inter "GEE" Mini Album ก็ยังไม่ออกกว่าจะออกก็โน้น 14 ก.พ. 52 –_-‘ รอกันต่อไป มาปั้บซื้อแน่ ๆ

image

image 

เพลง 만약에 – Tae Yeon (태연 소녀시대)
ศิลปิน OST
อัลบั้ม Hong Gil Dong Fantasy Adventure (Vol.2)
วางจำหน่าย 2008.01.28
ประเภท Original Soundtracks

만약에 (태연 solo)
มัน ยัก เก (แทยอน โซโล)

만약에 내가 간다면
내가 다가간다면 
넌 어떻게 생각할까
용기낼수 없고
만약에 니가 간다면
니가 떠나간다면
널 어떻게 보내야할지
자꾸 겁이 나는걸
내가 바보 같아서
바라볼수 밖에만 없는건 아마도
외면 할지도모를 니 마음과 
또 그래서 더 멀어질사이가 될까봐
정말 바보 같아서
사랑한다 하지 못하는건 아마도
만남 뒤에 기다리는 아픔에 
슬픈 나날들이 두려워서 인가봐 
만약에 니가 온다면
니가 다가온다면 
난 어떻게 해야만할지
정말 알수 없는걸
내가 바보 같아서 
바라볼수 밖에만 없는건 아마도
외면 할지도모를 니 마음과 
또 그래서 더 멀어질사이가 될까봐 
정말 바보 같아서
사랑한다 하지 못하는건 아마도
만남 뒤에 기다리는 아픔에 
슬픈 나날들이 두려워서 인가봐 
내가 바보 같아서
사랑한다 하지 못하는건 아마도 
만남 뒤에 기다리는 아픔에 
슬픈 나날들이 두려워서 인가봐

credits : [email protected]
& maple16

คำแปล "ถ้า "

ถ้าฉันจะไป ฉันจะไปอยู่ใกล้ๆเธอดีไหม

แล้วเธอจะคิดยังไงนะ แค่นี้ฉันก็หัวใจฉันก็สลายแล้ว

ถ้าเธอจะทิ้ง เธอจะเลือกทิ้งฉันไหม

ฉันจะยอมให้เธอจากไปได้อย่างไร ฉันเฝ้าแต่ครุ่นคิดอยู่เรื่อยมา

เหตุผลคือ ฉันมันโง่ ที่เฝ้าแต่คอยมองดูเธอจากที่ไกลๆ

เป็นเพราะบางทีฉันกังวลว่าหัวใจคุณจะเปลี่ยนความรู้สึกของฉันไปและกลายมาเป็นความบาดหมางระหว่างเรา

เหตุผลคือ ฉันนั้นโง่จริงๆ ที่ไม่สามารถพูดว่า "ฉันรักเธอ"

เป็นเพราะบางทีฉันกลัวที่จะเจ็บปวดและความเศร้าจากวันที่ผิดหวังหลังจากการสูญเสีย

ถ้าเธอจะมา เธอจะเลือกมาหาฉันไหม  ฉันควรทำอย่างไร ฉันคิดไม่ออกเลยจริงๆ

เหตุผลคือ ฉันนั้นโง่ ที่ไม่สามารถพูดว่า "ฉันรักเธอ"  เป็นเพราะบางทีฉันกลัวความเจ็บปวดและความเศร้าจากวันที่ผิดหวังหลังจากการสูญเสีย

Credit:[email protected]

Special Thanks : PINGBOOK ENTERTAINMENT

นำมาจาก http://qpiiznanz.multiply.com/journal/item/7

big121401633378nu1 2949850011kv9 47a49e63e0c460fulltn3 n121508717_35475812_5688

 n121508717_35475819_6020 n531300354_2587280_7458 n121508717_35475817_6479

n1623092994_60702_3240 n1623092994_60735_3107 n1623092994_60710_4829

n1623092994_60711_5051 n1623092994_60712_5287 n1623092994_60716_9938

n1623092994_60728_313 n1623092994_60729_502 n1623092994_60732_1085

tysp205pb6 TaeYeon1 n1623092994_60715_9768

รูปต่างๆ  ได้มาจาก

♥ 우리 TaeYeon (SNSD)♥ @facebook

กรณีจะปิดเว็บ Hi5 อืมมม มันก็แค่ปลายเหตุ

เรื่องการปิดเว็บ Hi5 ผมไม่แน่ใจว่าคนพูดรู้หรือเปล่าว่า Hi5 เป็นเว็บของชาวต่างชาติที่ไม่ได้มีที่อยู่และการพัฒนาธุรกิจหลักในไทย และจริง ๆ ต้องเปลี่ยนเป็นปิดกั้นการเข้าถึง (block) ดิครับท่านผู้มีอำนาจ แต่ผมว่าคงยากหน่อย เพราะ Social Network Never Die ;P เนื่องจากว่าคนไทยไม่ได้เล่น Hi5 เพียงเว็บเดียว ที่เป็น Social Network ยังอีกหลายที่ แต่ไม่บอกหรอกนะ แถว ๆ นี้คงหากันไม่ยากนัก ;P

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

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

แต่จริง ๆ Google ไม่โดนด้วยหล่ะท่าน สั่งปิดเค้าเลย Google น่ะจริง ๆ ต้องบอกว่า Google นี่ตัวพ่อเลยนะ "หาอะไรก็เจอ" หาง่ายกว่า Hi5 อีก ไม่เชื่อลองหาดู ;P แถมการใช้งาน Google Translate จะถูกใช้อย่างถล่มทลาย …. Google คงงง และต้องเสียเงินซื้อ Server อีก …. ทำให้โลกร้อนรู้ไหมมมม ครับท่านผู้มีอำนาจ อุ๊บ !!! …

[update]

เจอกันที่ปลายเหตุ(Non-Sense)
Artist : Monotone
Album : His Brotherhood

เนื้อเพลงจาก http://www.sangabuay.com/board/index.php?showtopic=2329&st=0&p=159082&#entry159082

นี่เป็นเรื่องจริงที่เกิดในประเทศ สยาม
ผู้ใหญ่ของประเทศนี้คิดอะไรตื้น ๆ

เรื่องราวมากมายก่ายกองที่รุมล้อม อย่าไปมองอย่าได้ทำเป็นซีเรียสไป
เรื่องที่มันเล็กปล่อยไปก่อนให้เป็นเรื่องใหญ่ อะไร ๆ อย่าเพิ่งไปรับรู้มัน

สังคมของเราต่างก็มีเรื่องเดือดร้อน ชิลกันไปก่อนผ่อนคลายไปวัน ๆ
ไม่มีใครว่าไม่มีใครบ่น เท่ากับไม่มีอะไรก็แล้วกัน รอถึงวันนั้นที่เกิดเรื่องร้ายแรง

จะยากอะไร ก็ออกจะง่าย… เจอกันที่ปลายเหตุ ! (เจอกันที่ปลายเหตุ)

รถเก๋งซิ่งเกลื่อน อ้างอิทธิพล Need for speed (สั่งแบน! เกมนั้น)
กบว. ไทยหวั่นฉากจูบ แฮรี่ พอตเตอร์กับโชเเชง (ตัดฉากนั้นออก)
เด็กไทยใจแตกเพราะมือดีโพสต์รูปมิยาบิในเว็บเด็กเรียนดอทคอม (สั่งแบนเว็บไซต์นั้น)
เอ้อ! เอ้อ! เอ้อ!

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

จะยากอะไร ก็ออกจะง่าย… เจอกันที่ปลายเหตุ!

วัยรุ่นไทยเห่อมุ่งเรียนดนตรีตามแบบภาพยนตร์ดัง (สั่งแบนหนังเรื่องนั้น)
ข้อมูลล่าสุด โจรใต้ฝึกรบจาก Counter Strike (สั่งแบนเกมนี้ด้วย)
จับได้แล้วผู้ร้ายใช้ BB Gun ปล้นธนาคาร (สั่งห้ามเล่น BB Gun ซะ แต่หันมาฟัง BB King)

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

ยุคที่เปลี่ยน คนไทยไม่สนใจงานวัดกันแล้ว (จ้างพริตตี้มาลงวัดสิ)
บทวิเคราะห์ พระอภัยมณี วรรณคดีต้นเหตุผู้ชายหลายใจ (ตัดออกจากบทเรียน เดี๋ยวนี้!)
ต่างชาติกว่า 70% มาเที่ยวไทยเน้นบริการทางเพศ (ยกเป็นประเทศมันเลยก็แล้วกัน)

จบข่าว!!!!!!!!!!

เพลงคงหาไม่ยากมั้งครับ ;P

แก้ org.eclipse.php.ui.PHPCompletionProposalComputer มีปัญหาใน PDT 2.0

จาก Re: org.eclipse.php.ui.PHPCompletionProposalComputer crash ซึ่งผมก็เจออยู่ และใน [[Tools] PDT-] [performance]Code Assist takes too long ก็มีคำตอบเรื่องนี้แล้ว อยู่ท้าย ๆ เลย

I’ve prepared project that constists of 5 huge PHP frameworks (4130 files), and
I can’t re-create this issue while
working on this project. Please verify the following:

1. You are using the latest nightly build of PDT.
2. "PHP -> Editor -> Code Assist" preferences are set to default.

ซึ่งดูแล้วน่าจะเกิดจาก Options ตัว Show variables from other files ที่มันจะ scan ตัวแปรทั้ง project แบบ JIT ทำให้ถ้า project ที่มีไฟล์มาก ๆ รวมถึง PHP Include Path ด้วย อย่างของผมมี Zend Framework อยู่ใน PHP Include Path อยู่ซึ่งมีไฟล์ 1,300 กว่าไฟล์ มันเลยค้างไปสักพักก่อนจะ completion ตัวแปรออกมาได้ เอาตัวเลือกนี้ออกก็น่าจะหายแหละ

image