วันอาทิตย์ที่ 25 ธันวาคม พ.ศ. 2554

เรียนออกแบบงาน 3D ด้วย Blender ภาค 2

เมื่อประมาณกลางปีได้มีโอกาสหัดเรียน Blender เพราะมีโครงการเล็กๆ ที่เกี่ยวกับ render farm บน cloud ที่ใช้ Blender เป็นตัว render ตอนนี้ Blender 2.6.1 ออกแล้วมาพร้อมกับ render engine ตัวใหม่ที่ชื่อว่า Cycles ก็เลยกลับมาเรียน Blender และหัดใหม่กันอีกรอบ แหล่งความรู้ที่สามารถช่วยในการเรียนของผมได้นอกจากที่แนะนำไว้เมื่อครั้งที่แล้ว มีแหล่งความรู้เพิ่มเติมอีก 5 แหล่งได้แก่





และผลงานจากการเรียนในรอบนี้ก็ต้องเอามาให้ดูกันอีกเช่นเคยครับ












วันจันทร์ที่ 19 ธันวาคม พ.ศ. 2554

Empathy พร้อมสนับสนุน MSN XMPP

ผู้ใช้ Empathy เผ้ารอคอยการมาของ MSN ที่ใช้โปรโตคอล XMPP (Jabber) ซึ่งเป็น Open Standard Protocol ซึ่ง Microsoft ได้ประกาศไปนานระยะหนึ่งแล้ว การเปลี่ยนมาใช้ XMPP นี้จะช่วยให้ผู้ใช้ IM ที่ใช้ภายใต้ XMPP อยู่แล้วเชื่อมต่อกันกับผู้ใช้ MSN ได้ทั่วโลก



Xavire Claessens นักพัฒนาจาก Gnome ได้บล็อกเกี่ยวกับการเปลี่ยนแปลงนี้ไว้หลายอย่าง ในความสั้นๆ ที่หยิบมาให้มีดังนี้



Thanks to the advice of a Microsoft developer, I even fixed the legal issue that prevented us to enable this by default.



All patches got merged and released into empathy (>=3.3.2), telepathy-gabble (>= 0.15.0), and gnome-online-accounts(>=3.3.0).



MSN via XMPP (Jabber) now working and legal issues resolved, Empathy to officially rock for MSN users.



สำหรับ MSN ที่ใช้ XMPP ผ่าน Empathy นั้น บน Ubuntu 11.10 ต้องติดตั้งอัพเดทผ่าน PPA สำหรับ Ubuntu 12.04 นั้นสามารถใช้งานได้เลย สำหรับ PPA นั้นน่าจะมีเร็วๆ นี้ เดี๋ยวจะทะยอยอัพเดทข่าวคราวให้อีกครั้งครับ


Oracle Linux และ CentOS 6.2 ออกแล้ว

หลังจาก RedHat Enterprise Linux 6.2 ออกมาได้ 2 อาทิตย์ก็ได้เวลอ Oracle และ CentOS ออกรุ่น 6.2 บ้าง ในส่วนของ Oracle เพิ่มคุณสมบัติส่วนตัวเข้าไปใน Enterprise Kernel ถ้าเปรียบเทียบกับของ RedHat มีส่วนต่างตรงที่การปรับปรุง IRQ balancing, Network I/O และการจัดการ Memory และที่ขาดไม่ได้คือ OCFS2 cluster filesystem ของ Oracle นั่นเอง ข้อมูลเพิ่มเติมอ่านได้ที่บันทึกการออกรุ่นของ Oracle 6.2



ส่วน CentOS ถือว่าเป็นโครงการที่ Linux สำหรับ Enterprise ที่ Clone จาก RedHat Enterpeise Linux เป๊ะๆ ทำให้การออกรุ่นของ CentOS ไม่ค่อยมีปัญหามากนัก CentOS 6.1 ออกมาเมื่ออาทิตย์ที่แล้ว หลังจาก RHEL 6.1 ออกมาได้ 6 เดือน สำหรับซอฟต์แวร์ใหม่ๆ ได้ทะยอยอัพเดทที่ CentOS ไปเรียบร้อยแล้ว ใน CentOS 6.2 จึงสามารถดาวน์โหลดได้เลยที่ mirror server ในช่วง 2-3 วันนี้


วันอาทิตย์ที่ 18 ธันวาคม พ.ศ. 2554

Google เปิดคอร์สเรียน Android Online

Google เปิดตัวบริการใหม่ชื่อ Android Training เรียการเขียนโปรแกรมบน Android แบบ Online ซึ่งเนื้อหามีความหลากหลายพร้อมคำอธิบายรวมไปถึงตัวอย่างโค้ด บริการเรียน Android แบบ Online นี้ มุ่งหวังให้นักพัฒนาแก้ปัญหาได้อย่างรวดเร็ว หรือพัฒนาคุณสมบัติใหม่ให้ Apps ที่คุณเขียนได้เร็วขึ้น ซึ่งในแต่ละบทเรียนมีตัวอย่างโค้ดที่สามารถนำเอาไปใช้งานกับ Apps ของคุณเองได้ ในแต่ละบทจะมีคำแนะนำการการออกแบบ App สำหรับหน้าจอหลายขนาด การประหยัดพลังงงาน แชร์เนื้อหา พัฒนา Apps สำหรับองค์กร และการหาเงินจากการพัฒนา Apps ในเดือนหน้าจะมีเนื้อหามากขึ้น ตลอดจนโค้ดและไลบรารีใหม่ๆ ก็จะเพิ่มมากขึ้นด้วย




วันเสาร์ที่ 17 ธันวาคม พ.ศ. 2554

Redirect เว็บไซต์สำหรับมือถือด้วย Apache mod_rewrite

ทุกวันนี้หลายเว็บคงจะมีเว็บสำหรับ Mobile เพื่อรองรับการเข้าชมของอุปกรณ์ประเภท Smart Phone และ Tablet ซึ่งหากท่านใช้ CMS ที่สามารถแปลงเว็บไซต์จากหน้าเว็บแบบเข้าชมจากเครื่อง PC ไปเป็น Mobile ได้ก็คงไม่เป็นปัญหาอะไรมากนัก แต่ถ้าไม่มีก็คงต้องหาวิธีเขียนโปรแกรมเพื่อตรวจสอบเว็บเบราเซอร์กันเอาเอง วันนี้ผมมีวิธีง่ายๆ ในการ Redirect เว็บไซต์ ให้ถูกต้องตามอุปกรณ์ที่เรียกใช้กันครับ วิธีง่ายๆ ที่ว่าก็คือการใช้ mod_rewrite นี่แหละครับ



มาทำความเข้าใจกันก่อน สมมุติว่าคุณมีเว็บไซต์ที่ให้บริการผู้เข้าชม 2 แบบ คือแบบปกติเข้าชมผ่านเครื่องคอมพิวเตอร์ และแบบ Mobile เข้าชมผ่าน Smart Phone/Tablet มีโดเมนดังต่อไปนี้




  • เว็บปกติ http://www.my-example.com

  • เว็บสำหรับ Mobile http://m.my-example.com



หากผู้เข้าชมเปิดด้วยเครื่องคอมพิวเตอร์ปกติให้ Apache redirect ไปยังเว็บปกติ หากเป็น Smart Phone ก็ redirect ไปยังหน้าเว็บสำหรับ Mobile เงือนไขมีประมาณนี้ครับ มาลงมือกันเลย



เริ่มจากหน้าเว็บปกติคือ www.my-example.com ให้เพิ่ม .htaccess ใน document root ของ virtual host นี้เพื่อสั่ง redirect หากเข้าชมผ่าน Mobile ให้ redirect ไปที่ m.my-example.com เขียน rewrite rules ได้ดังนี้



<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteRule ^$ http://m.my-example.com/ [L,R=302]
</IfModule>



ในหน้าเว็บ Mobile คือ m.my-example.com ให้เพิ่ม .htaccess ใน document root ของ virtual host นี้เพื่อสั่ง redirect หากเข้าชมผ่านคอมพิวเตอร์ ให้ redirect ไปที่ www.my-example.com เขียน rewrite rules ได้ดังนี้



<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule ^$ http://www.example.com/ [L,R=302]
</IfModule>



เท่านี้ก็เรียบร้อยแล้ว :)


วันศุกร์ที่ 16 ธันวาคม พ.ศ. 2554

พัฒนา Web App บน Cloud ด้วย Zend Developer Cloud

ผมค้างบทความเรื่อง PaaS สุด Hit อีกตัวหนึ่งไว้ ดองไว้นานไม่ได้เขียนสักที PaaS ตัวนี้มีชื่ออย่างเป็นทางการว่า Zend Developer Cloud หรือในชื่อที่คุ้นหูว่า PHP Cloud ใช่ครับ Platform as a Service โดย Zend บริษัทผู้พัฒนา PHP นั่นเอง ผมได้คำเชิญจากทีมพัฒนา PHP มาได้ 2 เดือนแล้ว พอมีเวลาว่างก็ได้ลองเล่นดู พบว่าสนุกและทำงานได้ง่ายกว่า Cloud ที่เป็น PaaS ของค่ายอื่นๆ มาก PHP Cloud คงไม่ต้องบอกว่าให้บริการ Platform ใด หลักๆ ก็เป็น PHP บน Zend Server มีเครื่องมือครบ ได้แก่ Zend Platform, Zend Optomizer, Zend Gard, MySQL, PHPMyAdmin เป็นต้น ในส่วนการเชื่อมต่อกับนักพัฒนามีได้หลายช่องทาง ไม่ว่าจะเป็น Zend Studio, Eclipse, Git และ SFTP ในส่วน Platform ยังมี App เพื่อรองรับการพัฒนาแบบสำเร็จรูปยังมี Zend Framework, Drupal, Joomla, WordPress, Magento, PHPBB ให้ด้วย สำหรับนักพัฒนาที่พัฒนา Mobule หรือใช้ App เหล่านี้ในการพัฒนาซอฟต์แวร์ต่อยอด





ในขณะที่เขียนบทความนี้ PHP Cloud ยังอยู่ในช่วงของ Technology Preview ซึ่งผู้ที่จะได้ใช้งานต้องได้รับการ Invite จาก Zend สำหรับท่านที่สนใจก็สามารถไปกรอกข้อมูลเอาไว้ก่อนได้เช่นกัน ลงทะเบียนได้ที่ http://www.phpcloud.com จากนั้นก็รอจดหมายตอบรับจาก Zend เมื่อได้จดหมายตอบรับแล้วจะมี Link ที่มี Invitation Key ให้ เมื่อคลิกแล้วก็จะกระโดดมาที่หน้า Login ของ Zend





กรอก Username และ Password ที่ได้ลงทะเบียนไว้ ก็จะเข้าสู่หน้าจอแนะนำ PHP Cloud การใช้งานและการเชื่อมต่อกับเครื่องมือพัฒนาซอฟต์แวร์ต่างๆ





PHP Cloud จะให้เราสร้าง Application Container สำหรับรองรับ App ต่างๆ ที่เราจะพัฒนา ใน Container จะมี Zend Server และ Git มาให้ มาสร้าง Container กันก่อน





เมื่อสร้างเสร็จจะพบว่ามี App Default มาให้ 1 ตัว เอาไว้ทดสอบพร้อม Public URL ผมสร้าง Application Container ชื่อ redlinesoft ก็จะมี Public URL เป็น http://redlinesoft.my.phpcloud.com







หากเพิ่ม App ลงไปก็จะเป็นชื่อ App URL ต่อท้าย เช่น WordPress ก็จะเป็น http://redlinesoft.my.phpcloud.com/wordpress เป็นต้น สำหรับวิธีการเอาไฟล์ขึ้นลงก็ใช้ผ่าน Zend Studio หรือไม่ก็ใช้ Git สำหรับ IDE ตัวอื่นๆ อย่าง Eclipse ก็ใช้ผ่าน Git Plugin สำหรับการทำงานผ่าน Git ก็ง่ายๆ ครับ ตรงปุ่ม Git Access จะมี Git URL ให้เอา Git URL มาใช้



ตัวอย่างเช่น ผมมี App ชื่อ I am Petdo - Jquery Feed อยู่ ก็ใช้ Git Clone เพื่อดึงโค้ดลงมา



git clone https://redlinesoft@redlinesoft.my.phpcloud.com/git/iampetdo.git iampetdo-jqfeed



โดยไดเรคทอรีที่ได้จะเป็น iampetdo-jqfeed มีไดเรคทอรี public อยู่ข้างใน หากต้องการเพิ่มไฟล์ใหม่ก็สั่ง



git add ชื่อไฟล์ที่ต้องการเพิ่ม



และ git commit เพื่อกำหนดว่า commit อะไร เขียน log ในการ commit แต่ละครั้งด้วย เช่น



git commit -m "fix feed via jqfeed plugin"



จากนั้นก็เอาไฟล์ขึ้น โดยสั่ง git push



git push



เป็นอันจบขั้นตอนการเอาไฟล์ขึ้นไปที่ Container สำหรับการทดสอบก็เข้าผ่าน Public URL ของ App แต่ละตัว สำหรับการเพิ่ม App เข้าไปยัง Container ก็กด Link add/remove more apps จะเข้าสู่หน้า App Catalog ดังนี้





อยากได้ตัวไหนก็กดเลยครับ ยกตัวอย่างเป็น WordPress นะครับ เมื่อกดปุ่ม Deploy Application ก็จะเข้าไปยังหน้าตั้งค่าดังนี้





ใส่ข้อมูลให้เรียบร้อยคุณก็จะได้ App WordPress มาอยู่ที่หน้า App Container ดังนี้







จากนั้นก็ทดสอบผ่านทาง Public URL ได้เลย





ในหน้า App Container คุณยังสามารถทำ Snapshot ของ Container ได้สามารถนำเอา Snapshot ไป Deploy ยัง Container ใหม่ได้เล่นกัน เหมาะกับการทำ HA ได้ง่ายๆ สำหรับการย้าย App จาก Container ไปยัง AWS EC2 และ Cloud Provider อื่นๆ ทาง Zend ยังไม่ได้มีการเปิดให้ทดสอบ ถ้าได้มีโอกาสได้ทดสอบก้อจะเอามาเล่าให้ฟังกันอีกรอบครับ สำหรับช่วง Technology Preview นี้ยังไม่มีค่าใช้จ่าย สร้าง App Container ได้เรื่อยๆ หลังจากนี้อาจได้แค่ 1 Container และซื้อเพิ่ม คงต้องรอข่าวจาก Zend กันอีกรอบครับ สำหรับท่านที่ได้ Invite แล้วก็อยากให้ลองเล่นลองทดสอบดูครับ อย่างน้อยก็ได้สัมผัส Zend Cloud ในรูปแบบ PaaS ซึ่งหาใช้กันไม่ได้ง่ายๆ


วันอังคารที่ 13 ธันวาคม พ.ศ. 2554

ทำ DVD Slideshow ด้วย Imagination

เมื่อสัปดาห์ก่อนมีคนแนะนำโปรแกรมทำ Video Slideshow แบบง่ายๆ คือ ง่ายแบบไม่ต้องคิดมาก เพิ่มภาพ ใส่ Effect ใส่ข้อความ กำหนดเวลา เพิ่มเพลง แล้วก็บรรเลงกันได้เลย อะไรประมาณนี้ ก็รู้สึกถูกใจเพราะส่วนตัวไม่ค่อยมีหัวด้าน Multimedia เท่าไรนัก อย่าว่าแต่โปรแกรมตัดต่อ Video เลยครับ ผมว่ามันยากไปสำหรับงานง่ายๆ แบบนี้ ท่านผู้นั้น (จำไม่ได้ว่าใครแนะนำมา) บอกว่าใช้ Imagination สิ โปรแกรมเล็กๆ กดๆ แล้ว export ออกมาเป็น .vob เอาไปเขียน DVD Movie ได้เลย ก็จริงอย่างที่ท่านผู้นั้นบอกครับ มันง่ายมากๆ ลองดูหน้าตาโปรแกรม





สำหรับท่านที่ใช้ Ubuntu ก็ติดตั้งผ่าน Software Center ได้เลย :) อันนี้ผลงานที่พยายามทำครับ :P





คิดว่าโปรแกรมนี้น่าจะได้ประโยชน์ตอนทำ DVD อัลบัมภาพแต่งงาน สำหรับชาว geek :P