Drupal, Inline and Contemplate no comments
ช่วงสัปดาห์ที่ผ่านมา มั่วแต่วุ่นๆ อยู่กับการเปิดเว็บข่าวอนิเมะเอามันส์ หลังจากที่มัวลังเลอยู่หลายเดือน ในที่สุดก็ออกมาเป็นรูปเป็นร่าง ซอฟท์แวร์ที่ใช้ในขณะนี้ก็คือ Drupal พอลองเอามาใช้ดูกับงานแบบนี้แล้วค่อนข้างถูกใจในความยืดหยุ่นของมัน
Plugin ที่ใช้ในการทำหน้าเนื้อหาข่าว หลักๆ ก็คือ Content Template กับตระกูล CCK ทั้งหลาย พร้อมด้วย CSS แบบเถื่อนๆ ลงไปบน template อีกนิดหน่อย (เพราะธีมยังไม่เสร็จดี) ซึ่งผลที่ได้ออกมาก็เป็นที่ค่อนข้างพอใจ
ทีนี้ ปัญหามันก็เกิดขึ้น ปัญหาที่ว่าก็คือเมื่อต้องการจะทำ inline image ลงในบทความ ตัวเลือกโมดูลแรกที่จะมองหาก็คือ Inline โดยที่มันจะสร้าง tag เล็กๆ เช่น [inline:hello.jpg] และจะแทนแทคนี้ด้วยภาพที่เราอัพโหลดลงไป
จุดที่เป็นปัญหาคือส่วน “แทนภาพ” ที่ว่านี่ เมื่อมันใช้การเรียกหา $node->body เพื่อมาแทนภาพ แต่การใช้งาน Content template เราจะไม่ได้ใช้ในส่วนนั้น แต่จะเป็น $node->content['body']['#value'] แทน เลยเป็นผลทำให้สิ่งที่แสดงออกมาเลยกลายเป็น raw text [inline:hello.jpg] แทนที่จะเป็นภาพ
Mollom meets Pylons, the Mollom Decorator no comments
ทุกวันนี้เรื่องสแปมนับว่าเป็นปัญหาใหญ่มากบนเว็บ การแก้ไขปัญหาที่ดีต้องทำให้มัน transparent ที่สุดเท่าที่จะเป็นได้—ก็คือต้องให้ผู้ใช้สามารถใช้งานเว็บได้ปกติ โดยไม่จำเป็นต้องสนใจว่ามีระบบป้องกันอะไรอยู่ ทางเลือกที่เหลืออยู่จึงกลายเป็นการใช้บริการต่อต้านสแปมอย่าง Akismet หรือ Mollom ที่จะทำให้ผู้ใช้มีส่วนเกี่ยวข้องน้อยที่สุดในกระบวนการ
ส่วนตัวแล้วผมเลือกใช้ Mollom ส่วนหนึ่งเพราะลิมิท API call ไว้สูงที่ 100,000 calls ต่อเดือน และเป็นบริการโดยผู้สร้าง Drupal ส่วนอีกเหตุผลหลักอีกอันหนึ่งก็คือจะใช้สแปมฟิลเตอร์ผสม CAPTCHA อยู่แล้ว ก็เลยไม่ลำบาก ใช้อันที่มีอยู่แล้วไปเลยดีกว่า
Sunburst for Emacs no comments
One of the reasons why I really like TextMate is its exquisite color themes. Nothing else come close. When I first switched to Emacs, I feel everything looks so dull and hard to read.
Half a year passed. I know I can no longer continue to stare on this dull and gloomy window. Fine, let’s port Sunburst to Emacs.
Thailand Next Web Apps 2008 3 comments
ไปเป็น speaker ใน Thailand Next Web Apps เป็น session แรกในห้อง 2 ด้วยความที่พูดครั้งแรกเลยประหม่าพอสมควร แต่โดยรวมแล้วก็เป็นไปได้ด้วยดี ไม่เกินเวลา ขอบคุณคุณ Sikachu มากที่ให้โอกาสในการพูดครั้งนี้
เรื่องที่พูดก็เป็นเรื่อง Ruby on Rails กับ Pylons กับปัญหาที่เจอตอนเปิด Akibakko สำหรับคนที่อยากรู้ว่าพูดอะไร น่าจะมีวีดีโอออกมาในภายหลัง
เนื่องจากตื่นเต้นพอสมควร การเตรียมพร้อมอะไรเลยมีปัญหาเล็กน้อย ตั้งแต่ไปเป๋อนั่งในห้อง 1 อยู่พักนึงกว่าจะได้รู้ว่านั่งผิดห้อง หรือลืมพกเอา DVI converter มา (ขอบคุณท่านที่ให้ผมยืมมาก!) และสาย projector เสียบไม่แน่น เสียเวลาไปกว่า 10 นาที
สำหรับสไลด์ที่ใช้ อัพโหลดเป็น PDF ไว้เรียบร้อยแล้ว สามารถโหลดได้: from Rails to Pylons ขอบคุณทุกท่านที่ให้ความสนใจฟังมากครับ!
Declarative again no comments
เขียนเรื่อง declarative plugins ไปเมื่อ entry ก่อน หลังจากผ่านไปหลายสัปดาห์ ในที่สุด model ใหม่ที่ใช้งาน declarative plugins ก็ถูกใช้งานจริงอย่างไม่มีปัญหาใดๆ แต่การเปลี่ยนจากวิธี mapper ปกติไปเป็น declarative ไม่ได้ราบรื่นอย่างที่คิด (ถ้าหากใช้แต่แรกคงสบาย)
ปัญหาที่เจอส่วนหนึ่งคือ circular import ใน Python (คือ import class ก่อนที่มันจะถูกสร้างขึ้น) ที่ถึงแม้การรับ string ใน relation() จะช่วยเรื่องนี้ได้พอสมควร แต่ก็ไม่ช่วยในทุกกรณี เช่นกรณีที่ต้องทำตารางแบบ Many-to-Many หรือการสร้าง UNIQUE constraint กับสองคอลัมน์