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

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

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




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.my-example.com/ [L,R=302]
</IfModule>

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

Plugin WordPress สำหรับทำ Membership ให้กับเว็บไซต์

พยายามหา WordPress Plugin ทำ Membership อยู่นาน ทดลองหลายตัวสุดท้ายมาจบที่ s2member ซึ่งเจ้าตัวนี้รองรับการสมัครสมาชิกหลาย Level มี Register Form ที่ปรับแต่งได้ง่าย กำหนดเนื้อหาสำหรับสมาชิกในแต่ละ Level ได้ และที่สำคัญ สมาชิกสามารถจ่ายเงินผ่าน PayPal ได้ 🙂 อ้ออีกอย่างผู้พัฒนามี Video แนะนำ แถม Video สอนวิธีการใช้งานและการปรับแต่งยาวกว่า 50 นาทีให้ด้วย สำหรับท่านที่สนใจทดสอบ/ทดลอง ก็ดาวน์โหลด s2member ไปลองเล่นกันได้

พัฒนา 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 ซึ่งหาใช้กันไม่ได้ง่ายๆ
 

ว่างๆ น่าจะได้ลองเอามาทำอะไรเล่น

ว่างๆ น่าจะได้ลองเอามาทำอะไรเล่น

ทำ DVD Slideshow ด้วย Imagination

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

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

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

ติดตั้ง Cloud Storage ส่วนตัวใช้งานกันเถอะ

เมื่อครั้งที่แล้วเขียน Blog เรื่อง Cloud Storage ส่วนตัว แต่ก็มีหลายท่านสอบถามมาว่าจะติดตั้งอย่างไร จะประยุกต์ใช้งานได้อย่างไร ครั้งนี้เลยมาแนะนำวิธีการติดตั้งและการประยุกต์ใช้กันครับ หากจำกันได้ Personal Cloud Storage ที่ผมแนะนำไปชื่อ ownCloud สนับสนุนการใช้งานผ่าน Web Browser, WebDev สามารถเชื่อมต่อจากอุปกรณ์และระบบปฏิบัติการต่างๆ ได้ ไม่ว่าจะเป็น Windows, Mac OSX, iOS และ Android การแชร์ไฟล์สามารถทำได้ง่ายๆ ผ่านหน้าเว็บ แชร์แบบ Public หรือแชร์ให้กลุ่มหรือผู้ใช้ในระบบได้ มีปฏิทินและที่อยู่ติดต่อ ทำงานร่วมกับโปรแกรมอย่าง Thunderbird, Kontact และ Evolution ได้ ในส่วนเพลงและไฟล์มัลตอมีเดียต่างๆ สามารถเล่นเพลงแบบ Streamming ได้ผ่าน Ampache นอกจากนี้ ownCloud ยังสามารถเพิ่ม Plugin เพื่อเพิ่มความสามารถได้อีกหลายอย่าง เช่น การเชื่อมต่อกับ Directory Services, Bookmark, OpenID, remoteStorage เป็นต้น มาดูการติดตั้ง ownCloud กันครับ
ownCloud เป็น Web Application ทำงานบน Apache, PHP เก็บข้อมูลใน MySQL หรือ SQLite ได้ เพราะฉนั้นเราต้องมี Application Server เหล่านี้ เริ่มที่ Application Server กันก่อน

sudo apt-get install apache2 php5 php-pear php-xml-parser php5-sqlite php5-json sqlite php5-mysql mp3info curl libcurl3 libcurl3-dev php5-curl zip

จากนั้นดาวน์โหลด ownCloud แล้วติดตั้งลงใน /var/www

wget http://owncloud.org/releases/owncloud-2.tar.bz2
tar -xvf owncloud-2.tar.bz2
sudo mv owncloud /var/www/owncloud

จากนั้นกำหนด permission ให้ Apache สามารถจัดการไฟล์ได้

sudo chown -R www-data:www-data /var/www/owncloud

จากนั้นสั่ง restart Apache ดังนี้

sudo /etc/init.d/apache2 restart

เปิดเว็บเบราเซอร์ไปยัง http://localhost/owncloud จะเข้าสู่การติดตั้งโปรแกรม

กำหนดรหัสผ่านสำหรับผู้ดูแลระบบแล้วคลิกปุ่ม Finish Setup ได้เลย การใช้งานไฟล์ผ่าน WebDav บน Linux Desktop ผ่าน Nautilus ตั้งค่าดังนี้

ลองคัดลอกไฟล์ลงไปครับ

ในหน้าเว็บก็จะพบไฟล์ดังนี้

สำหรับการใช้บนระบบปฏิบัติการอื่นๆ ก็คอนฟิกผ่าน WebDav เช่นกันครับ ส่วนบน Android ก็มี WebDev Client ให้เล่นเหมือนกันลองค้นหาใน Android Market ครับ

จัดการมือถือผ่านเบราเซอร์ด้วย AirDroid

ช่วงนี้มี Apps ใหม่ๆ เยอะที่น่าสนุกหลายตัว วันนี้เลยหยิบโปรแกรมที่คิดว่าน่าจะมีประโยชน์สำหรับท่านที่ใช้มือถือและ Tablet ที่เป็น Android มาให้ได้ลองเล่นกัน หลายท่านมักจะลืมพกสาย USB หรือตัวแปลง Mini SD Card ทำให้การทำงานระหว่างเครื่อง PC Desktop กับมือถือหรือ Tablet เริ่มจะไม่ค่อยคล่องตัว ซึ่งผมเองก็มีปัญหานี้ประจำเพราะต้องใช้ Tablet ที่ไม่มี USB Adapter ในการแลกเปลี่ยนไฟล์ที่มีขนาดใหญ่กับเครื่องคอมพิวเตอร์จึงทำได้ลำบาก แต่ผมก็มี Apps ช่วยเลยได้เอามาแนะนำให้ได้ลองกันครับ Apps นี้ชื่อ AirDroid เป็นโปรแกรมเล็กๆ ที่มีคุณสมบัติครบถ้วนที่จะให้คุณจัดการมือถือหรือ Tablet Android ได้ง่ายๆ ผ่านเว็บเบราเซอร์กันเลยทีเดียว มาดูคุณสมบัติของ Apps นี้กันครับ

  • จัดการไฟล์
  • จัดการ SMS
  • จัดการโปรแกรม
  • จัดการภาพถ่าย
  • แบ่งปันคลิปบอร์ดระหว่างมือถือกับคอมพิวเตอร์
  • จัดการข้อมูลติดต่อ
  • จัดการ Ringtone
  • จัดการเพลง

วิธีการใช้งานก็ง่ายมากครับ เพียงแต่ติดตั้ง AirDroid ลงมือถือหรือ Tablet ของคุณ จากนั้นเปิดโปรแกรมขึ้นมา โปรแกรมจะเริ่มต้น web services และแสดงข้อมูล URL ในการเชื่อมต่อพร้อมทั้ง password ในการล็อกอิน ตัวอย่างดังภาพ

จากนั้นเปิดเว็บเบราว์เซอร์ขึ้นมาเข้าตาม URL ที่โปรแกรมบอกจะได้หน้าจอประมาณนี้

ให้กรอก Password ก็จะเข้าหน้าจอหลัก

ที่เหลือก็จัดการไฟล์ รูปภาพ เพลง ฯลฯ ได้สบายขึ้นละครับ



ใครมีมือถือหรือ Tablet ที่เป็น Android ต้องลองครับ 🙂

แสดงการกดแป้นพิมพ์ด้วย Screen Key

Screen Key เป็นโปรแกรมแสดงแป้นพิมพ์ที่เรากดบนหน้าจอเหมาะสำหรับการทำ Video Tutorial เพราะไม่ต้องมานั่ง Insert คำสั่งหรือแป้นพิมพ์บนหน้าจอตอนตัดต่ออีกรอบ ทำให้ง่ายในการทำ Video Tutorial มากขึ้น หลายคนอาจประยุกต์ใช้ในงานอบรมกลุ่มใหญ่ๆ ก็ได้เช่นกัน มาดูการทำงานกันครับ

ติดตั้ง Screen Key ก็ง่ายมาก ดาวน์โหลดไฟล์ .deb ที่เว็บโครงการ แล้วติดตั้งกันได้เลย 🙂

แต่งตัวใหม่ให้ Gnome3

เมื่อวันก่อนนั่งแก้ theme กับเขียน Gnome Shell Extension เลย นึกสนุกแต่งตัวใหม่ให้ Gnome3 หน้าตาออกมาเป็นอย่างที่เห็นใน Video นี่และครับ