Updated to WordPress 2.5 ;)

เพิ่งเปลี่ยนมาเป็น WordPress 2.5 ได้สัก 3 ชั่วโมงแล้ว คือเริ่ม upgrade ตั้งแต่เที่ยง ๆ ของวันนี้ (จริง ๆ อยากทำตอนกลางคืน แต่ว่าช่วงนี้พลังงานร่างกายใช้ไปเยอะ เลยทำตอนที่สะดวกดีกว่า) มีการ upgrade ตัว plug-in และ theme หลายส่วนมาก ๆ ถ้าเพื่อน ๆ พี่ ๆ น้อง ๆ ท่านใดพบความผิดปกติ และข้อผิดพลาดให้ comment ไว้ใน entry นี้ก็ได้ หรืออีเมลมาก็ได้ครับ (หาได้จากหน้า About Me ครับ)

อีกเรื่องคือตอนนี้ผมไล่ลบ user บางส่วนที่ใช้ email ที่ไม่มีอยู่จริง ออกจาก userlist แล้วนะครับ

ต่อมาก็เรื่อง feature ใหม่ก็คือ notify via email และ gravatar ครับ ส่วน print page ตอนนี้แก้ bug ที่เข้ากันไม่ได้กับ wordpress 2.5 ไปได้แล้วครับผม ;)

Hoffman Framework เอา Smarty ออกจาก Components หลักแล้ว

ช่วงนี้ไม่ได้บอกถึงความเปลี่ยนแปลงของ Framework ตัวนี้เลยเกือบ ๆ เดือน เพราะว่าผมเปลี่ยนงานใหม่ครับ เลยต้องนั่งเคลียร์งานที่ค้างกับบริษัทเก่า เลยแทบไม่ได้จับเลย แต่ก็หาเวลาว่ามานั่งไล่ดูระบบภาพรวมโดยทั้งหมด สิ่งที่ผมเปลี่ยนแปลงตัวระบบ runtime มากที่สุดครั้งหนึ่งในการทำ Framework ตัวนี้คือเอา Smarty ออกไป (แต่ถ้าอยากเอากลับมาก็ทำได้ไม่ยาก เดี่ยวจะเขียนวิธีการอีกทีนึงสำหรับคนที่อยากเอา Smarty หรือ Template-engine ตัวอื่น ๆ มาใส่) ซึ่งตัวโครงสร้าง RenderView นี่ไม่ได้เปลี่ยนแปลงอะไรมาก นอกจากเอา Smarty ออกไป และสร้าง method ที่ render ของตัวเองมาอีก 2-3 ตัวเท่านั้นเอง เลยเอากลับมาใส่ได้ไม่ยากครับ

เหตุผลที่เอาออกไปเนื่องจากมันไปหยุดวิธีการทำงานของแนวคิด php เดิม ๆ ไปไว้ฝั่ง designer และทำให้ learning curve ของทั้งฝั่ง developer และ designer เพิ่มมากขึ้น เพราะ Smarty มี syntax เป็นของตัวเอง และสิ่งที่ทำให้ผมรู้สึกว่าต้องเอาออกจริง ๆ นั้นคือการสร้าง Helpers ของ RenderView ที่ยากกว่าปกติมาก ๆ -_-‘ การ register function/class/object/class->method เข้าไปเป็น function/modifier ต่าง ๆ พวกนี้ทำได้ยาก และงงสุด ๆ ซึ่งจริง ๆ มันก็ไม่ยากหรอกครับ แต่ว่ามันเสียเวลามากกว่าปกติเวลาต้องคิดพวก Helpers เพราะมี guide-line ของมันเอง ซึ่งทำให้มึน ๆ งง ๆ ได้ง่าย ๆ เลย จริง ๆ 9Aum ก็บอกแบบนี้เหมือนกัน ผมก็ว่าจริง ;P

โดยที่ผมเอาออกไป ก็ไปนั่งแกะเจ้า Smarty และ Template-engine ของค่ายอื่น ๆ บ้าง รวมถึง CodeIgniter ด้วย เพื่อเขียนเองซะเลย พบว่าใช้ output-buffer แทนแล้วกัน แต่คาดว่าผมต้อง manage ตัว buffer นี้ด้วย ไม่งั้นมีปัญหาแน่ ๆ ซึ่งจริง ๆ Template-engine ทุกตัวก็ใช้แนวคิดไม่ต่างกันอยู่แล้วครับ คือทำ runtime ให้เสร็จแล้วเอาผลของการทำงานออกมาทีเดียวเลยเพื่อแยกระหว่าง process กับ presentation ออกจากกันอย่างชัดเจน โดยแนวคิดหลัก ๆ เอามาจาก PHPTemplate ของ Drupal ครับ

ต่อมาก็ทำ Acl เสร็จแล้วรวมถึง Authen ด้วย (เพราะทั้งส่วนนี้ต้องทำคู่กันครับไม่งั้น ไม่มีประโยชน์แน่นอน) กำลังปรับแต่งให้ config ง่ายที่สุด และรองรับทั้ง file-base และ db-base ครับ

ส่วน Error Handle และ Logs นั้นเพิ่มและใช้ได้ดี ในระหว่างทำ demo-app และ production-app ครับ (ตอนนี้ผมทำ production-app อยู่ 2-3 ตัวครับผม) โดย Logs จะช่วยได้เยอะมาก ๆ ในเรื่องการ track-error ครับ และ Error Handle มี 2 mode คือ production และ developer ครับ ถ้า environment เป็น production พวก error ต่าง ๆ จะไม่โชว์ออกมาเลย แต่จะ redirect ไปหน้าหลักอย่างเดียว (หรือ control ไปหน้าอื่น ๆ ก็ได้ แต่อันนี้เดี่ยวใส่เพิ่มอีกที)  แต่พวก error พวกนี้จะบันทุกอยู่ใน logs ตลอดครับ ทั้ง 2 mode เลย ทำให้ถ้ามี error ใน production mode จะไม่โดน hack จากการเกิด error ได้ง่ายครับ

ส่วนของ Third Party Components นี่กำลังใส่ทำ Baseclass-Components  อยู่ครับ จะได้สะดวก ๆ หน่อยน่ะครับ ;)

เดี่ยวจะมาเล่าพวกการ config อีกทีครับว่ามีส่วนไหนบ้างครับผม ;)

image

อันตราย blockcheckerim.com

พอดีว่าเพื่อนผมแนะนำมา เลยเข้าไปดูในเว็บมีรายละเอียดให้กรอก username/password ด้วย ซึ่งโคตรจะอันตรายเลย และมาแนวเดียวกับเว็บหลอกลวงให้กรอกหมายเลขบัตรเครดิตต่าง ๆ ซึ่งลองเข้าไปหาข้อมูลก็ได้พบที่ ชานชาลาแห่งการเรียนรู้ เลยขอ copy มาใส่ที่นี่แล้วกัน ผมจะได้ไม่ตองให้ข้อมูลใหม่ เพราะใน ชานชาลาแห่งการเรียนรู้ ของ Blogger ท่านนี้ก็อธิบายไว้ดีอยู่ครับผม และถ้าใครหลงทำไปแล้ว รีบเปลี่ยน password โดยด่วนครับ ไม่งั้น account ท่านอาจจะโดน hack หรือโดยล่วงลูกได้ง่าย ๆ ครับ

อย่าคลิ๊ก www . blockcheckerim . com

วันนี้ได้รับข้อความจากเพื่อนคนหนึ่งให้คลิ๊กไปที่เว็บ www . blockcheckerim . com พอเข้าไปอ่านปรากฏว่าเป็นเว็บที่เช็คว่าใคร block หรือ delete เราจาก contact บ้าง โดยมันให้กรอก username / password

อ่านดูแล้วไม่กรอก เพราะเหตุผล 2 อย่าง

1. ดูแล้วไม่น่าไว้ใจ เว็บมันดูไร้หัวนอนปลายเท้า (555) แถมเข้าไปอ่านใน agreement (ทำเนียนนะมี agreement ด้วย) มันดันให้ติดต่อกลับ [email protected] ซะงั้น โดเมนตัวเองมีแต่ไม่มีปัญญาสร้างเมล์ใช้เอง

2. ไม่เคยสงสัยว่าใครจะ block หรือ delete (สงสัยไปทำไมเนี๊ยะ) ใครไม่คุยนานๆ หรือไม่รู้จักก็จะลบออกจาก contact list อยู่แล้ว ส่วนใหญ่จะทำกับคนอื่นว่างั้น หุหุ ส่วนใครจะไม่คุยกะเราบอกว่าไม่ต้องบล็อก เพราะไม่สน ไม่มีทางส่งอะไรไปกวน 5555

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

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

โปรดระวังด้วยนะครับ เรื่องพวกนี้สำคัญมาก  ๆ ครับผม

ว่าด้วยงานสัปดาห์หนังสือ

วันนี้ไปงานสัปดาห์หนังสือมา (ไปเดินกับแฟนมา) พอดีว่าอยากไปด้วยรอบนี้ เพราะอยากได้หนังสือหลายเล่ม มาก ๆ พวกการ์ตูนอะไรพวกนี้ด้วย อีกอย่างทำงานแล้ว พอมีเงินที่จะซื้อหนังสือได้เรื่อย ๆ อยู่แล้ว ประกอบกับครั้งที่ผ่านมานั้นก็ไม่ได้ไป รอบนี้เลยไม่อยากพลาด ไปรอบนี้หนังสือที่ต้องซื้อกลับมาให้ได้คือ The Apple Way ซึ่งมีแปลเป็นไทยแล้ว โดยส่วนตัวแล้วมี The Microsoft Bill Gates Way มาก่อนหน้านี้แล้ว และ The Apple Way เป็นหนังสือที่อยากอ่านและนำมาตั้งคู่กันบนชั้นวางหนังสือตัวเองด้วย

DSC00273

โดยรอบนี้กว่าจะหา The Apple Way เจอนี่เดินกันขาลาก แถมระบบค้นหาหนังสือของงานก็ไม่มีข้อมูลด้วย เล่นเอางงไปพักเลยว่า เฮ้ย มันจะไม่มีขายเลยเหรอ คือมีระบบค้นหาหนังสือ แต่ว่ากลับหาไม่เจอนี่ยังไงนะครับ -_-‘ ผมพิมพ์ The Apple Way ลงไปก็ไม่เจอ เลยต้องใช้ Opera Mini ใช้ Google หาชื่อคนแปลหนังสือ ก็หาจากชื่อคนแปล/แต่ง ไม่เจออีก สรุปมันจะไม่มีเลยเหรอ แต่จนแล้วจนรอด ฟ้าเป็นใจ เดินไปเรื่อย ๆ ดันไปเจอร้านขายพอดี เหมือนกับว่าคุณต้องเดินเท่านั้นถึงจะเจอ อย่าเชื่อคอมฯ มันมาก ระบบค้นหามันไม่ใช้ Google นะ T_T เลยบ่น ๆ กับคนขายที่ร้านว่าไปหาในระบบค้นหาแล้วนะ ไม่เจอข้อมูลหนังสือเล่มนี้ เค้าก็บอกว่าเค้าส่วนรายการหนังสือให้การทางผู้จัดงานแล้วนะ ผมเลยคิดต่อไปว่า อาจจะเพราะร้าน หรือสำนักพิมพ์เล็ก ๆ มั่งเลยไม่สนใจเท่าไหร่ ซึ่งผมมองว่าผิดอย่างร้ายแรงมาก ๆ เพราะในฐานะที่ผมเป็นคนอ่านหนังสือเจอเนี่ย หนังสือหายาก ๆ หรือหนังสือเก่า ๆ ผมมักจะมาซื้อในงานนี้ซะส่วนใหญ่ เพราะว่าร้านทั่วไปที่เป็น Mass เนี่ยหากันได้อยู่แล้ว แต่ในระดับ Niche เนี่ยบางครั้งสำคัญกับคนอ่านอย่างผมพอสมควรเลยทีเดียว

แต่จนแล้วจนรอดเนี่ย ก็ไปเจอ The World Is Flat เล่มสมบูรณ์ โดยมีการเพิ่มเติมเนื้อหาหลายส่วนด้วยกัน ซึ่งผมนี่ก็มีเล่มย่อยอยู่แล้ว 3 เล่ม เลยอยากรู้ความแตกต่างเลย ซื้อมาด้วยเลย

DSC00276

ต่อมาก็ไปบูตมติชล เจ้าเก่าของผมที่มักจะซื้อหนังสือจากสำนักพิมพ์นี้เป็นประจำ (เป็นแฟนประจำตัวยงเลยหล่ะ) โดยรอบนี้ซื้อหนังสือซี่รี่ย์ Fastfood ธุรกิจมาหมดเลยตั้งแต่เล่ม 1 ถึง 11 (ยกเว้นเล่ม 9 และ 8 ที่ผมมีอยู่แล้ว) และตามด้วย World History Series ที่ขาดอีกเล่มนึงที่ไม่ได้หยิบมา เดี่ยวไว้ว่าง ๆ จะไปซื้ออีกรอบในอาทิตย์ถัดไป รอเคลียร์เรื่องต่าง ๆ ในที่ทำงานใหม่ก่อนครับผม

สุดท้ายไปดูหนังสือที่ IT Book House มา อยากได้ SitePoint The Ultimate CSS Reference แต่ไม่มี เลยดู ๆ ไปเรื่อย ๆ ไปเจอ  Design Patterns : Elements of Reusable Object-Oriented Software พอดี ถามราคาได้ใจความว่า 1,800 เลยถอยออกมาก่อน แล้วเปิด Opera Mini ดูราคาใน Amazon ว่าเท่าไหร่ ได้ความว่าราคา $47.99 ถ้ารวมกับค่าส่งอีกหน่อยก็ไม่เกิน $55 ถือว่าถูกกว่านิดหน่อย แถมผมไม่ได้ซื้อหนังสือ Amazon ทีละเล่ม ซื้อทีนึงก็ 3 เล่มเป็นอย่างน้อย เลยถือว่าราคาใน Amazon ถูกกว่า เลยไม่ซื้อดีกว่า รอเก็บเงินซื้อจาก Amazon ทีเดียวดีกว่า โดยผมคงซื้อ The Ultimate CSS Reference  ไปด้วยเลยทีเดียว หรือไม่ก็คงไม่ซื้ออาจจะพวก Classic book ของ Computer Science พวกนี้แทนดีกว่า หรือหนังสือที่ในไทยไม่มีขายอะไรพวกนั้นไป

รวมค่าเสียหายทั้งหมด 2,153 บาท รอบนี้ไม่ได้ซื้อหนังสือการ์ตูนอย่างที่ตั้งใจไว้ เพราะโดเรมอนก็ไม่เป็นมี pack รวมที่สวยเหมือนรอบที่แล้ว หรือผมหาไม่เจอก็ไม่รู้ หรือพวกการ์ตูนฮ่องกง ที่ดู ๆ ไปแพงได้ใจ แถมเกินงบ เลยอดตามระเบียบ T_T

[Update]