จัดการ VirtualBox ผ่านเว็บไซต์ด้วย phpvirtualbox

เมื่ออาทิตย์ที่แล้วพี่อดุลย์แห่ง NanoSoftTech ทักผ่าน Facebook มาถกปัญหาเกี่ยวกับ phpvirtualbox ซึ่งนานๆ ติดตั้งทีก็เล่นเอาลืมเหมือนกัน และการตั้งค่าในเวอร์ชั่นใหม่มันจุกจิกกว่าเดิมนิดหน่อย เอาล่ะเพื่อกันลืมก็ขอเขียนเป็น How-To ไว้ซักหน่อยแก้ลืมครับ มาลงมือกัน ก่อนอื่นเราต้องมี VirtualBox ก่อน ต้องใช้รุ่น Oracle เท่านั้น ใช้ Open Source Edition ไม่ได้นะครับ 🙂
แปลงร่างกันก่อน
sudo -s
จากนั้นใช้คำสั่ง wget เพื่อเอา VirtualBox มาติดตั้ง เลือกรุ่นที่ต้องการให้ดูจากหน้าดาวน์โหลดของ VirtualBox?ของผมใช้ Ubuntu Server 12.04 LTS รุ่น Precise Pagolin ครับ
wget http://download.virtualbox.org/virtualbox/4.2.0/virtualbox-4.2_4.2.0-80737~Ubuntu~precise_amd64.deb
จากนั้นสั่งติดตั้งด้วยคำสั่ง
dpkg -i virtualbox-4.2_4.2.0-80737~Ubuntu~precise_amd64.deb
เมื่อติดตั้งได้แล้ว ให้เพิ่มผู้ใช้ vbox และกำหนดให้อยู่ในกลุ่ม vboxusers
useradd -m vbox -G vboxusers
กำหนดรหัสผ่านให้ผู้ใช้ vbox
passwd vbox
Continue reading จัดการ VirtualBox ผ่านเว็บไซต์ด้วย phpvirtualbox

พลาดไม่ได้กับการแข่งขันพัฒนา Workflow Application ด้วย Joget Workflow Management

หากคุณเป็นนักศึกษาอายุไม่ต่ำกว่า 18 ปี มีความสนใจในการพัฒนา Workflow Application ด้วย Joget Workflow Management พลาดไม่ได้กับการแข่งขันการพัฒนา Workflow Application ชิงเงินรางวัลกว่า 100,000 บาท พร้อมรับโอกาสการได้งานทำหรือเป็นผู้ประกอบการใหม่ในงาน Global Entrepreneurship Week Thailand 2012 ซึ่งเป็นงานรวบรวมผู้ประกอบการและนักลงทุนทั่วโลก!
การแข่งขันจะเป็นการแข่งขันแบบเปิดไม่ต้องมานั่งแข่งขันกันในงาน ไม่ต้องเสียเวลาเดินทาง เพียงคุณลงทะเบียนเข้าร่วมการแข่งขันที่?http://joget.gewthailand.com?เลือกโจทก์ที่ต้องการทำ ให้เวลาการพัฒนา 1 เดือน
กำหนดการ

  • วันที่ 11 ตุลาคม 2555 ลงทะเบียนเข้าร่วมแข่งขัน
  • วันที่ 11 ตุลาคม – 11 พฤศจิกายน 2555 พัฒนาโปรแกรมและส่งผลงานผ่านเว็บ
  • วันที่ 12-16 พฤศจิกายน 2555 ตัดสินผลงานและประกาศผู้ชนะเลิศ 3 อันดับ
  • วันที่ 18 พฤศจิกายน 2555 ผู้ที่ชนะเลิศ 3 อันดับ รับรางวัลในงาน Global Entrepreneurship Week Thailand 2012

รางวัล

  • ชนะเลิศอันดับที่ 1 เงินรางวัล 50,000 บาท พร้อมฝึกงานที่ SIPA
  • ชนะเลิศอันดับที่ 2?เงินรางวัล 30,000 บาท พร้อมฝึกงานที่ SIPA
  • ชนะเลิศอันดับที่ 3?เงินรางวัล 20,000 บาท พร้อมฝึกงานที่ SIPA

รู้จัก Joget Workflow Management
Joget Workflow Management เป็นซอฟต์แวร์ช่วยสร้าง Workflow Application อยู่ในรูปแบบ Web Application เพียงแค่กำหนด Workflow สร้าง Form กำหนด Data List และกำหนดรูปแบบการแสดงผลเท่านี้คุณก็สามารถสร้าง Workflow Application ได้แล้วโดยไม่ต้องลงมือเขียนโปรแกรม

หากคุณยังไม่ได้ลอง Joget Workflow Management สามารถดาวน์โหลดโปรแกรมได้ที่?http://www.joget.org?ติดปัญหาไม่ทราบจะสอบถามใคร ติดต่อชุมชนผู้ใช้ที่?http://community.joget.org

สร้าง Work Flow Application ง่ายๆ ด้วย JoGet

เก็บตกจากอบรมที่มหาวิทยาลัยรังสิตและมหาวิทยาลัยนอร์ทกรุงเทพซึ่งการอบรมสนุกสนานเกินไปหน่อย ออกแนวๆ ดูหนัง sound track แบบไม่มีซับไทย เล่นเอานักศึกษาหลายคนเหวอไปกับอาจารย์ฮิวโก้เลยล่ะ เนื่องจากตามกันไม่ค่อยทันผมก็เลยขอยกตัวอย่าง Work Flow Application ง่ายๆ ซักตัวเผื่อระรึกความหลังกันได้บ้าง ตัวอย่างคือ?โปรแกรมใบลา แบบง่ายๆ?(คุ้นมั๊ย) สถานการณ์เราเป็นแบบนี้ครับ
” พนักงานที่ต้องการลาต้องกรอกใบลาให้กับผู้จัดการอนุมัติ หากผู้จัดการอนุมัติให้ลาได้ก็ทำการแจ้งให้กับผู้ขออนุญาติทราบผ่านทาง E-mail และอัพเดทฐานข้อมูล(อะไรซักอย่าง เดี๋ยวตอนหน้ามาเล่นกัน) หากไม่อนุญาติก็แจ้งให้ทราบผ่านทาง E-mail เช่นกัน “
จากสถานการณ์ข้างต้นเราจะพบว่ามี Paticipant อยู่ 2 คนด้วยกัน คือ พนักงาน (Applicant) และ ผู้จัดการ (Approver/Manager) อีกส่วนหนึ่งคือ Paticipant ที่ไม่ใช้คนคือ System ที่จะทำหน้าที่เกี่ยวกับการส่ง E-Mail และอัพเดทฐานข้อมูล (หัด Route แบบ AND) เอาล่ะมาลงมือกันเลย
Workflow จะมีหน้าตาแบบนี้ครับ
ภาพ Workflow
Continue reading สร้าง Work Flow Application ง่ายๆ ด้วย JoGet

We're not gonna take it

ตามเพลงที่ร้องกันในงาน LinuxCon ก็พบว่าเป็นเพลง?We’re not gonna take it ของ?Twisted Sister ผมว่าเนื้อหาเพลงเข้าท่าเลยทีเดียว
 


 
We’re not gonna take it
(Twisted Sister)
we’re not gonna take it
no, we ain’t gonna take it
we’re not gonna take it anymore
we’ve got the right to choosin
there ain’t no way we’re loosing
this is our life, this is our song
we’ll fight the powers that be
just don’t pick on destiny
because you don’t know what
you don’t belong
we’re not gonna take it
no, we ain’t gonna take it
we’re not gonna take it anymore
oh, you’re so condesending
your gore is never-ending
we don’t want nothing,
nothing from you
your life is tridejaded, (??)
boring, and complicated
if that’s your best,
your best won’t do
whoa, whoa
we’re right
yeah
we’re free
yeah
we’ll fight
yeah
you’ll see
yeah
we’re not gonna take it
no, we ain’t gonna take it
we’re not gonna take it anymore
we’re not gonna take it
no, we ain’t gonna take it
we’re not gonna take it anymore
no way!
whoa, whoa
we’re right
yeah
we’re free
yeah
we’ll fight
yeah
you’ll see
yeah
we’re not gonna take it
no, we ain’t gonna take it
we’re not gonna take it anymore
we’re not gonna take it
(no!)
no, we ian’t gonna take it
we’re not gonna take it anymore
just you try and make us
we’re not gonna take it
(come on!)
no, we ain’t gonna take it
(you’re all worthless and weak)
we’re not gonna take it anymore
(now drop and give me twenty)
we’re not gonna take it
(i’ll crunch you!)
 

วิธีติดตั้ง Oracle JDK 7 บน Ubuntu 12.04 LTS

ลืมไปว่า package ที่เกี่ยวข้องกับ sun java ถูกถอดออกไปจาก repository แล้ว เนื่องจาก Oracle เปลี่ยนแปลงเรื่อง distribution license agreement พอนึกได้ก็เลยมาเขียนวิธีการติดตั้งไว้สักหน่อย สำหรับ Debian/Ubuntu จะมีวิธีการติดตั้งที่แปลกออกไป เนื่องจากการ config จะไป config path ที่ /etc/alternative กรณีที่เรามีโปรแกรมคล้ายๆ กันอยู่หลายตัว ในที่นี้คือ OpenJDK และ Oracle JDK วิธีการติดตั้งมีดังนี้
ดาวน์โหลด Oracle JDK มาจาก?http://www.oracle.com/technetwork/java/javase/downloads/index.htmlจากนั้น คลี่ไฟล์ไปยัง /usr/lib/jvm/
เพิ่มค่า alternative ดังนี้ (ยกตัวอย่างเป็น jdk1.7.0_04)
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_04/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_04/bin/java 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_04/bin/javaws 1
จากนั้นตั้งค่ารายตัวดังนี้
sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws

2 สับดาห์กับ JoGet Workflow Management

ครบ 2 สัปดาห์ที่ผมได้เล่น JoGet Workflow Management ก็พบว่าการพัฒนา Workflow Application ไม่ได้ยากมากนักเพราะ JoGet มีเครื่องมือในรูปแบบ GUI ให้เราได้คลิกตลอดทั้งกระบวนการ ได้แก่

  • ออกแบบ Workflow
  • ออกแบบ Form สำหรับแบบฟอร์มต่างๆ
  • ออกแบบ Datalist สำหรับแสดงผลข้อมูล
  • ออกแบบ Userview หน้า Workflow Application ที่ต้องการให้บริการ
  • กำหนด Process Map, Form Map, Tools Map

แทบจะไม่ได้เขียนโค้ดเลยซักบรรทัด อย่างมากก็แค่กำหนดตัวแปรใน Workflow เท่านั้น สำหรับหน้าเว็บ Workflow Application มี theme ให้เลือกหลายแบบ ซึ่ง JoGet เองเปิดกว้างให้สามารถพัฒนา theme เพิ่มขึ้นเองได้ หากไม่ต้องการพัฒนาเพิ่มก็สามารถ customized จาก theme ที่มีอยู่ได้ผ่าน Userview Design เรียกได้ว่าง่ายมากๆ สำหรับการเชื่อมโยงกับระบบอื่นๆ กับ JoGet ใน JoGet Enterprise มี Plugin ที่น่าสนใจหลายตัว เช่น

  • Export Form E-mail (attach PDF file with E-mail)
  • Directory Manager
  • Advance Form Data binder
  • CRUD Menu
  • SQL Chart
  • Preset form data tool

สำหรับการพัฒนาซอฟต์แวร์เพื่อเชื่อมต่อกับ JoGet สามารถใช้ Web Service รับส่งข้อมูลในรูปแบบ JSON ได้ ซึ่งมี Services ต่างๆ มากเพียงพอสำหรับการพัฒนา อ้อ เกือบลืมไป ช่วงเดือนพฤศจิกายนจะมีงาน GEW 2012 ประมาณวันที่ 12-18 พฤศจิกายน ซึ่ง JoGet ก็ได้เป็น Sponcer งานนี้ด้วยเช่นกัน จึงมีการประกวดการพัฒนา Workflow Application ด้วย JoGet Workflow Management ขึ้นชิงเงินรางวัลกว่า 100,000 บาท นอกจากนี้ผู้ที่ได้รับรางวัลจะมีโอกาสทำงานร่วมกับ JoGet และ SIPA ในฐานะผู้ประกอบการหน้าใหม่ในวงการพัฒนา Workflow Application อีกด้วย โอกาสมีเพียงครั้งเดียว พลาดไม่ได้จริงๆ ครับ

พัฒนา Foursquare ของตัวเองด้วย MongoDB บน Cloud

ทีม RedHat OpenShift ได้นำเสนอ Video พัฒนา Foursquare ของตัวเองด้วย MongoDB บน OpenShift ซึ่ง Video นี้นำเสนอความสามารถในเรื่องของการทำ index แบบ geospatial บน MongoDB และการออกแบบ collection กำหนดคุณสมบัติ ให้ทำงานได้เหมือนกับ Foursquare อยากรู้ว่าทำยังไง สามารถดูได้จาก Video ข้างล่างครับ

Plantronics Backbeat Go

ไปเดินเซ็นทรัลแจ้งวัฒนะอยู่หลายรอบ กว่าจะตัดสินใจซื้อหูฟังบลูทูธของ Plantronics รุ่น Backbeat Go เนื่องจากไม่มีร้านไหนให้ทดลองและทดสอบ พยายามเดินถามอยู่ 2 ร้าน เนื่องจากความไม่แน่ใจในเทคโนโลยีเคยซื้อหูฟังแบบนี้อยู่ 2 ยี่ห้อพบว่าสัญญาณขาดๆ หายๆ เสียงไม่เป็นสเตอริโอทำให้รู้สึกหงุดหงิดมาก และที่สำคัญทำหายทั้ง 2 ตัวเลย ครั้งนี้ก็เลยเลือกนานอยากทดลองทดสอบให้แน่ใจ สุดท้ายเดินไปร้าน Samsung ข้างๆ J-Mart ขอทดลอง Plantronics รุ่น Backbeat Go พนักงานร้านก็ให้บริการดีมาก เพราะผมไปเซ้าซี้อยากลองอยู่ 2 ครั้ง อีกอย่างผมซื้อ Galaxy Nexus จากร้านนี้ด้วย ยังไงก็ขอลองหน่อยนะ ไหนๆ ก็แกะกล่องแล้วถ้าถูกใจจะซื้อเลย พนักงานร้านเลยใจอ่อนแกะกล่อง Plantronics ให้ผมลองทันที หูฟังเป็นหน้าตาอย่างนี้ครับ
 

 
พอได้ทดลองแล้วพบว่าให้เสียงเกือบตรงต้นฉบับเพลง คือ Google Play Music ไม่มี EQ มาให้ดังนั้นเสียงเพลงจะแบนราบมีเสียงทุ้มเสียงแหลมนิดหน่อยซึ่งคุณภาพเสียงถือว่าใช้ได้ ก็เลยหา App Equalizer มาติดตั้งเพื่อปรับคุณภาพเสียงให้ดียิ่งขึ้น เรียกได้ว่าถูกใจมากครับ สำหรับ Plantronics Backbeat Go มีข้อเสียอยู่นิดหน่อยคือ เปิดเพลงฟังต่อเนื่องได้ 4.7 ชั่วโมง ส่วน Stand by ได้ 10 ชั่วโมง ซึ่งอาจดูน้อยกว่าหูฟังตัวใหญ่รุ่นอื่นและยี่ห้ออื่น สำหรับผมถือว่าพอใช้ครับ

เก็บตกเรียน JoGet Workflow Management วันที่สอง

วันที่สองของการอบรมนี้เป็นการเรียน JoGet ในส่วน Form, User View และ Data List วันแรกเราได้สร้าง Work Flow ขึ้นมาและทดสอบ Flow ว่าทำงานถูกต้องหรือไม่ ตามเงื่อนไขต่างๆ ที่เราได้กำหนด จากนั้นก็จะเข้าสู่ขั้นตอนการสร้าง Form ซึ่งฟอร์มนี้จะถูก map เข้ากับ Activity ที่คนจะเป็นคนทำ สำหรับ Tools ที่อยุ่ในส่วน System นั้นจะถูกทำโดย Plugin ดังนั้น Activity ทั้งหมดจะต้องถูก map ไปที่ Form ครับ
หลังจากสร้างฟอร์มและ map เข้าไปยัง Activity ต่างๆ ได้แล้ว เราก็ต้องมาทำการทดสอบ WorkFlow อีกรอบโดยการ Key ข้อมูลทดสอบจาก Form เพื่อตรวจสอบการทำงานของ Form และ Binding Varible ต่างๆ อีกครั้ง จากนั้นจะเข้าสู่การสร้าง Data List และ User View เพื่อให้ผู้ใช้เข้าใช้งานจากหน้า Application เท่านั้น ไม่ใช่เข้าสู่หน้าของ JoGet โดยตรง นอกจากนี้เรายังสามารถกำหนด permission ให้กับแต่และหน้าของ User View ได้ว่าจะให้ผู้ใช้กลุ่มไหนเข้าไปดูได้บ้างอีกด้วย
สำหรับการพัฒนาเพื่อทำ Integration เข้ากับ JoGet นั้นง่ายมาก JoGet เปิดช่องทางไว้หลายรูปแบบ ทั้งการเขียนผ่าน Web Service เพื่อสั่งและรับข้อมูลในรูปแบบ JSON และ XML รวมไปถึงการเชื่อมโยงกับฐานข้อมูลโดยตรงได้เช่นกัน การย้าย Workflow Application จากระบบหนึ่งไปอีกระบบหนึ่งก็ทำได้ง่ายเช่นเดียวกัน เพียงแค่สั่ง Export Application เท่านั้น แล้วเอาไฟล์ที่ได้ไป Import อีกระบบหนึ่ง สำหรับรายงานในรูปแบบที่เราต้องการ สามารถใช้ Jasper Report เข้าใช้งานได้ หรืออาจจะใช้ข้อมูลจากการ Export จาก Data List ได้เช่นกัน สำหรับการอบรม JoGet ทั้ง 2 วันนี้อาจจะดูเร่งด่วนแต่ก็พยายามที่จะเก็บความรู้และข้อมูลให้ได้มากที่สุดครับ สำหรับ Tutorial และ How-To ภาคภาษาไทยติดตามได้ที่?http://blog.redlinesoft.net/tag/joget?ครับ