พัฒนาซอฟต์แวร์เป็นโอเพนซอร์สทำไม?

คนไทยเก่งๆ มีเยอะ แต่ที่น่าแปลกที่คนไทยไม่ค่อยเปิดเผยโค้ด เป็นคำพูดจากเพื่อนที่อยู่แดนไกลถึงประเทศอินเดีย เขาชอบประเทศไทยเพราะคิดว่าการทำงานด้านซอฟต์แวร์กับคนไทยสบายใจมากกว่าการ พัฒนาซอฟต์แวร์กับคนประเทศอื่นๆ ผมไม่ทราบว่าทำไม แต่คำถามที่เพื่อนของผมมักถามจนผมมองเห็นว่าเป็นประเด็น คือ พัฒนาซอฟต์แวร์แล้วเปิดเป็นโอเพนซอร์สทำไม? นั่นสิ คำตอบคงหลากหลาย บ้างก้อว่า เอามันส์ ทำเป็นงานอดิเรก ทำเพื่อการค้า หวังรวย ฯลฯ ทุกๆ คำตอบที่ได้ยินมาไม่เห็นมีคำตอบไหนที่โดนประเด็นและจุดมุ่งหมายของการพัฒนา ซอฟต์แวร์แบบโอเพนซอร์สเลยสักคำตอบเดียว คุณล่ะพัฒนาซอฟต์แวร์แล้วเปิดเป็นโอเพนซอร์สทำไม?
เบื้องหลัง ซอฟต์แวร์โอเพนซอร์สส่วนใหญ่พัฒนามาจากนักพัฒนาหลายคน อย่างมากก็นับพันคน โครงการใหญ่ๆ อย่าง Linux Kernel, Debian, Fedora เป็นต้น ขอยกตัวอย่างเฉพาะ Real Open Source Software นะครับ ด้วยกระแสการพัฒนาซอฟต์แวร์แบบนี้หลายคนมองเห็นข้อดี ข้อเสีย แตกต่างกันไป ลองไปอ่านในหนังสือ The Cathedral and the Bazaar ของ ESR ดูนะครับ จะพบว่าการเปลี่ยนแปลงจาก propietary เป็น open source มันมีเหตุผลที่หนักแน่นชัดเจน ส่วนใหญ่เหตุผลเหล่านี้มักถูกลืมเลือน ทุกวันนี้คำว่าโอเพนซอร์ส (Open Source) กลายเป็นจุดขายทางการตลาด เอาจุดเด่นของโอเพนซอร์ส มาสร้างคุณค่าให้กับผลิตภัณฑ์ ซึ่งคุณค่าเหล่านี้เป็นกระแสเสียมากกว่า แล้วคุณค่าของการพัฒนาซอฟต์แวร์แบบโอเพนซอร์สคืออะไร? Continue reading พัฒนาซอฟต์แวร์เป็นโอเพนซอร์สทำไม?

Linux ทำเครื่องคุณเจ๊ง?

สดๆ ร้อนๆ เมื่ออาทิตย์ที่ผ่านมาหลังจากไปงาน Grand Openning Korat Science Park เครื่อง labtop คู่ใจดันเกิดอาการเดี้ยงเหมือนเดิมที่เคยเป็นคือเปิดเครื่อง ไฟติด แต่ไม่ boot ซะงั้น ซึ่งอาการแบบนี้เป็นครั้งที่ 3 ในรอบ 2 ปีมานี้ ซึ่งก็เช่นเคยเอาเครื่องไปซ่อมครับ หอบเครื่องไปศูนย์บริการที่ใกล้บ้านที่สุด IT Square เป็นทางออกที่ดีที่สุดของผมตอนนี้ เดินแว๊บเข้าไปที่ศูนย์บริการของร้านสีฟ้าๆ ซึ่งเขาขาย HP, Acer ฯลฯ และเพิ่งเปิดศูนย์บริการได้ไม่นาน จอง counter แรกเลยครับ แผนกซ่อม ช่างห้อยสายคล้องคอ TOT (คิดว่าน่าจะเป็นพนักงาน TOT มารับจ๊อบวันหยุด) ผมบอกเล่าอาการของเครื่อง ช่างเปิดปิดเครื่องอยู่หลายรอบ จนกว่าเครื่องมันจะ boot ได้ โอ้ววว สาวน้อยของผมโดนปู้ยี่ปู้ยำแล้ว! พอ boot เครื่องขึ้นมาได้ มีหน้าจอให้เลือก OS ช่างทำหน้างงๆ แล้วถามผมว่าลง Linux ด้วยหรือ? ผมเลยบอกไปว่าผมต้องใช้ Linux ทำงานเพราะเปิดใช้ Windows ทำงานที่ office ไม่ได้ ไวรัสมันเยอะ ฯลฯ ผมเลยเลือกเข้า Windows เพื่อชี้ให้เห็นว่าผมมี Windows นะไม่ได้ลง Linux อย่างเดียว
ช่าง พิจารณาอยู่หลายรอบ บอกผมว่าเป็นที่ software ต้องลง windows ใหม่ เป็นเพราะ Software เหมือนจะแถไปทาง Linux อะจ๊ากกก!! ผมติดตั้งซอฟต์แวร์ลิขสิทธิ์อยู่ในเครื่องซึ่งเยอะมาก รวมราคาได้เกือบๆ 1 ล้าน ซึ่งส่วนใหญ่เป็นซอฟต์แวร์ที่ผู้ว่าจ้างเป็นคนซื้อให้และกล่องซอฟต์แวร์ไม่ ได้อยู่ที่ผมซะด้วย การลง windows ใหม่จะสร้างปัญหาการทำงานให้ผมเยอะมาก ซึ่งการทำแบบนี้ทำให้ผมลำบาก 10 เท่าเพราะผมเขียนโปรแกรมทั้งบน Linux และ Windows พอผมทำหน้างงๆ กลับกลายเป็นว่าปัญหากลับมาตกที่ผมซะงั้น ช่างตัดบทบอกให้ผมเอาเครื่องเข้าศูนย์ซ่อมที่ HP ที่ตึก เหงียนๆ อะไรสักอย่าง? ฮะๆ ผมไปไม่ถูกหรอก ก็เลยเก็บเครื่องเดินมาร้านตรงข้ามที่มีป้ายสีเขียวๆ เอาเครื่องให้เขาดู บอกเล่าอาการเช่นเดิม น้องผู้หญิงร้องอ๋อ เป็นอาการปกติของมันค่ะพี่ คือ ชิป VGA มันเสื่อม!! ซีรี่นี้อาการเหมือนกันหมด!! พี่อยู่ในกลุ่มคนหมู่มาก เพราะนี่ก็มาซ่อมเหมือนกัน น้องผู้หญิงดึง Compaq V3000 ออกมาให้ผมดู 5 ตัวได้
อ่ะจ๊ากกก!! หนักกว่าเดิมอีกแฮะ น้องเขาแนะนำทางแก้คือ 1. เอาเครื่องไปอบ? ค่าใช้จ่าย 1,200 บาท หรือ 2. แก้ปัญหาอย่างถาวรคือเปลี่ยนซิปตัวใหม่ ค่าใช้จ่าย 3,500 บาท ผมเป็นประเภทต้องการให้มันเคลียเพราะผมมีเครื่อง labtop เครื่องเดียว และไม่มีเครื่อง desktop ใช้ ก็ต้องเลือกอย่างหลัง เสียไป 3,500 บาท เอาล่ะ คิดว่าน่าจะดีขึ้น ผมถามข้อข้องใจว่าเป็นกับ OS หรือเปล่าที่ทำให้มันเจ๊ง น้องเขาบอกว่าไม่ได้เป็นกับ OS ลุกค้าที่ใช้ Windows หรือ Linux ก็เป็นอาการเดียวกัน นั่นหมายความว่าที่ผมเคยเอาเครื่องเข้าศูนย์มา 3 รอบเขาไม่ได้แก้อะไรให้ผมเลยเหรอ? น้องผู้หญิงเขาก็บอกว่าที่ศูนย์เขาเปลี่ยน board ใหม่ให้ 2 ชิ้นใช่มั๊ยคะ มีส่วนของการ์ดจอด้วย 1 ชิ้นค่ะ ซึ่งก้อมาจากโรงงานเหมือนๆ กับที่โรงงานผลิต และมันก้อมีปัญหาเหมือนเดิม!! ผมถึงบางอ้อ อย่างน้อย Ubuntu ก้อไม่ได้ทำให้เครื่องผมเจ๊งอ่ะนะ สรุปแล้วก็เลยเสียค่าเปลี่ยนชิปไป 3,500 บาท กลับมาลองทดสอบดูก็ใช้ได้ดีไม่มีปัญหา แต่คงต้องรอดูอาการอีกสัก 2-3 เดือนว่าจะเกิดอาการเดิมอีกหรือเปล่า?

Alfresco ECM ในมุมที่คุณมองข้าม

ผมเคยพัฒนาซอฟต์แวร์ประเภท Groupware และ Collaboration System มาระยะหนึ่งได้เห็นจุดเด่นและจุดด้อยของซอฟต์แวร์ประเภทนี้ ทั้งในเรื่องที่ผู้ใช้ต้องการเช่น Work Flow, Privillege System และที่สำคัญคือ Document Management ตัวนี้ถือเป็นจุดขาดของซอฟตืแวร์ประเภทนี้เลยก้อว่าได้ แต่ปัญหามันไม่ได้เกิดแค่ Document Management ปัญหาที่ทุกคนมองข้ามคือ คุณมี Collaboration System หรือ DCM อยู่ในองค์กรคุณใส่ข้อมูลเข้าไปในระบบได้ด้วยวิธีไหน? อัพโหลดผ่านเว็บหรือ? ถ้าคุณมีไฟล์สัก 50 ไฟล์คุณก้อคงคลิกจนมือหงิกเลยก้อได้
ผมก้อเจอ ปัญหานี้กับซอฟต์แวร์ของผมเช่นเดียวกัน แต่ก้อไม่ได้หาทางแก้ไขอะไร เพราะด้วยความคิดที่ว่ายังไงๆ เขาก้อต้องใช้ในองค์กรอยู่แล้ว แต่เราลืมไปว่ามันขึ้นอยู่กับว่าเขาจะไป deploy ใช้กันยังไง ซึ่งส่วนใหญ่คนที่เอาซอฟต์แวร์ของผมไปใช้ก้อมันจะเช่าพื้นที่กับผู้ให้ บริการโฮสติ้งแล้วก้อเอาซอฟต์แวร์ผมไปติดตั้งใช้งานกันทั้งออฟฟิตนั่น หมายความว่าพวกเขากำลังโยนเอกสารผ่าน Internet ไม่ใช่ผ่านบนเว็บเซิร์ฟเวอร์ใน Local Network นี่แหละจึงเกิดปัญหากับคนที่ใช้งานระบบพวกนี้อย่างจริงๆ จังๆ
ผมเอง เป็นพวกบ้าพลังเรื่อง Office Automation, Paperless, Virtual Office เป็นเรื่องที่ผมให้ความสนใจมาก เพราะมันเจ๋ง ผมคิดว่าทุกวันนี้ไม่จำเป็นต้องมาทำงานที่ office ก้อได้อยู่ที่ไหนก้อได้ ต่อ net ผ่าน GPRS/Edge หรือ Wifi ที่ร้านกาแฟ คุณก้อสามารถสื่อสารและทำงานกับเพื่อนร่วมงานผ่านระบบ Collaboration System ได้ วกกลับเรื่องคุณใส่ข้อมูลเข้าไปในระบบได้ด้วยวิธีไหน? จากปัญหาข้างต้นซอฟต์แวร์ประเภท Collaboration System และ Document Management System มักจะถูกพัฒนาเป็น Web Application ซึ่งทำให้วิธีการนำข้อมูลเข้าไปยังระบบถูกแช่แข็งไว้ที่ HTTP เป็นหลัก และนั่นแหละที่เกิดปัญหา Internet คุณเร็วแค่ไหน? หรือ เซอร์ฟเวอร์ที่คุณใช้ busy มากมั๊ย ให้บริการกับผู้ใช้ทั้งองค์กรได้หรือไม่? นั่นคือปัญหาที่ตามมาจาก คุณเอาข้อมูลเข้าไปยังระบบยังไง และความเร็วในการเอาข้อมูลเข้า เอาข้อมูลออกมากน้อยแค่ไหน?
ที่ทำงานผมคลั่ง Alfresco ECM กันมาก เรียกได้ว่าอะไรๆ ก้อ Alfresco ผมยังจำได้ตอนที่ผมพัฒนาระบบ Collaboration System ในช่วง 7 ปีที่แล้วใครๆ ก้อคลั่ง OSP ก้อคงจะอารมณ์เดียวกัน ซึ่งผมเองก้อคงไม่เอา OSP ไปเทียบกับ Alfresco ECM หรอกนะครับ แต่ที่น่าเป็นห่วงคือ พฤติกรรมการใช้งานไม่ว่าจะผ่านไปถึง 7 ปี พฤติกรรมการใช้งาน Collaboration System หรือ Enterprise Content Management ก้อเหมือนเดิมคือเอาข้อมูลขึ้นผ่าน HTTP อยู่เช่นเดิม แล้วความเร็วในการเอาข้อมูลเข้าเอาข้อมูลออก มีความเร็วมากน้อยแค่ไหน? ก้อคงขึ้นอยู่กับความเร็วอินเตอร์เน็ตขององค์กรนั่นเอง นั่นหมายความว่าในช่วง 7 ปีที่ผ่านมา พฤติกรรมของผู้ใช้ไม่ได้มีอะไรเปลี่ยนแปลงเลย น่าสนใจมากครับ
แต่ว่า Alfresco ECM ไม่ได้เปิดช่องทางในการนำเข้าข้อมูลเพียงแค่ผ่านหน้าเว็บเท่านั้น (คุณรู้บ้างมั๊ย) คุณยังสามารถนำเอาข้อมูลเข้าทางระบบเน็ตเวิร์คอย่าง CIFS หรือ SMB ได้เช่นกัน ลองนึกถึงตอนที่เราแชร์ไฟล์บน Windows หรือพิมพ์ smb://myserver/my-user-account/myfolder เป็นต้น นั่นหมายความว่าคุณสามารถใช้โปรแกรมง่ายๆ อย่าง Exploror, File Manager, Nautilus, Dolphin โยนไฟล์ผ่าน CIFS หรือ SMB เข้าไปยัง Alfresco ได้โดยตรงโดยไม่ต้องผ่านหน้าเว็บแต่อย่างใด ทีนี้คุณจะเอาไฟล์เข้าไปสักที่ไฟล์ก้อได้ หรือเอาไฟล์ออกจากระบบสักกี่ไฟล์ก้อได้ ในเวลาที่เร็วกว่า 🙂 สำหรับออฟฟิตที่มีเครื่องถ่ายเอกสารตัวใหญ่ๆ ที่สามารถ Scan/FAX/Copy ผ่าน Network ได้ และรองรับ protocal CIFS หรือ SMB คุณก้อสามารถถ่ายเอกสารแล้วนำข้อมูลเข้าไปยัง Alfresco ECM ได้โดยตรง เจ๋งมั๊ย 🙂
เรื่อง Work Flow, Collaborative Working, Document Repository, Document Management มันก้อเป็นเรื่องปกติที่ ECM ส่วนใหญ่มีกัน แต่ที่สำคัญวันนี้คุณใช้ Alfresco ECM ของคุณเป็นแล้วหรือยัง?

GnomeDo Launcher ค้นหาเร็ว ทำงานเร็ว

อ่านบล็อกของ Satyajit Ranjeev เขาเขียนบล็อกของเขาไว้น่าสนใจ เรื่องเกี่ยวกับ Gnome Do ก้อเลยเอามาเล่าต่อครับ Gnome Do เป็นโปรแกรม Launcher ที่ออกจะแปลกๆ สักหน่อยไม่ค่อยจะเหมือน Mac หรือโปรแกรม Launcher อื่นๆ แค่การใช้งานก้อไม่ได้เป็นรองใคร หากนึกไม่ออกว่า launcher เป็นแบบไหน ลองนึกถึงกล่องค้นหาใน Windows Vista ซึ่งฝังอยู่ในเมนูเมื่อกดปุ่ม Start หรือเมนูแบบ Kick Off ใน openSUSE ซึ่งทั้งสองตัวทำงานคล้ายๆ กันคือพิมพ์ลงในกล่อง launcher ก้อจะไปหาไฟล์หรือโปรแกรมที่เราพิมพ์เข้าไป ง่ายมั๊ย 🙂 แต่ Gnome Do ไม่ใช่อย่างนั้น
Satyajit เป็น Fedora Ambassador เหมือนผม แต่ผมใช้ทั้ง Ubuntu และ Fedora ก้อขอผนวกวิธีการติดตั้งทั้ง Fedora และ Ubuntu ก้อแล้วกันนะครับ วิธีการติดตั้งบน Fedora ใช้คำสั่ง

yum install gnome-do

สำหรับบน Ubuntu ใช้คำสั่ง

apt-get install gnome-do

หลังจากติดตั้งเสร็จก้อจะมี icon อยู่ที่ task bar คลิกที่ icon หรือกดปุ่ม Super+Spacebar โปรแกรม launcher ก้อออกมาดังรูปครับ


สำหรับการปรับแต่งก้อมี plug-in ให้เล่นหลายอย่างใครชอบ Twitter Client ก้อเพิ่มเล่นกันได้ครับ แต่พิมพ์ข้อความไม่ได้นะครับ 😛


Community V.S. Commercial เลือกอย่างไรดี

ก่อนบทความนี้ทำใจให้เป็นกลางและเปิดใจรับในสิ่งที่ผมกำลังจะบอกเล่าว่าทำไม คุณควรเลือก Commercial หรือควรเลือก Community ผมมองดูความก้าวหน้าของกระบวนการผลิตซอฟต์แวร์ไม่ว่าจะอยู่ใน platform ใดๆ Windows, Linux, Mac หรือ Solaris สิ่งที่หลากหลายบริษัทที่พัฒนาซอฟต์แวร์ในแนวทางโอเพนซอร์สมักจะทำคือการ เปิดให้ซอฟต์แวร์ของตัวเองเป็นโอเพนซอร์ส 1 เวอร์ชัน ส่วนอีกเวอร์ชันนึงขาย แต่ก้อไม่เสมอไปเพราะเวอร์ชันที่เป็นโอเพนซอร์สบริษัทเหล่านั้นก้อยังสามารถ หารายได้จากการซัพพอร์ทได้อีกเช่นกัน หลายๆคนอาจเคยได้ยินเรื่อง Duel Licensing หรือซอฟต์แวร์ที่ใช้สัญญาอนุญาติแบบคู่ คือเป็นโอเพนซอร์สและเป็น commercial ด้วย วิธีการแบบนี้มีเยอะให้เห็นจนชินตา เอาเป็นว่าอย่างไปยุ่งกับเขาเลยครับ เราเป็นผู้บริโภค เรามีสิทธิ์เลือกที่จะใช้ซอฟต์แวร์โอเพนซอร์สในแบบใด Pure Open Source หรือ Commercial Open Source
เอาล่ะถ้าเราคิดกันเล่นๆ การที่ผลิตซอฟต์แวร์ออกมา 2 เวอร์ชั่น รุ่นหนึ่งเป็น Open Source สำหรับชุมชน สำหรับลุกค้าหน้าใหม่ สำหรับคนอยากลอง อีกรุ่นหนึ่งเป็น Commercial สำหรับองค์กรที่อยากใช้จริงๆ จังๆ ผู้มีกระเป๋าหนัก? ผู้ที่ต้องการซัพพอร์ท ฯลฯ 108 เหตุผลที่จะเอามาอ้างกันนะครับ มีอย่างหนึ่งที่เป็นเรื่องที่น่าคิดคือเรื่อง TCO (Total Cost Ownership)? ที่ถูกนำมาเป็นจุดตัดสินใจของลูกค้า เอาล่ะอย่างน้อยก้อเรื่อง feature และ price performance ล่ะ ยกตัวอย่างเช่น ผมอยากได้ Open Source Mail Solution สักตัวหนึ่งเขามี feature เยอะมากประมาณว่าเห็นแล้วอยากใช้เลยล่ะ แต่ทางบริษัทที่เป็นตัวแทนจำหน่ายและรับ Implement มีทางเลือกให้ คือ Community Version และ Commercial Version ซึ่งแน่นอนต้องมีตารางเปรียบเทียบ feature และการบริการต่างๆ อย่างแน่นอน ซึ่งก้อรู้อยู่แล้วว่าอันที่เสียเงินมันย่อมดีกว่า และ feature คุ้มค่ากับการลงทุนจริงๆ มีบาง feature ก้อแทบไม่ได้จำเป็นต้องใช้เลยก้อมี เอ้าแล้วจะเลือกอย่างไร? หากมองที่ TCO ผมจะยกตัวอย่างโอเพนซอร์ซอฟต์แวร์ระบบบริหารจัดการฐานข้อมูลตัวหนึ่งก้อ แล้วกันครับ ซอฟต์แวร์โอเพนซอร์ตัวที่ว่านี้คือ MySQL คงจะคุ้นๆ นะครับ Continue reading Community V.S. Commercial เลือกอย่างไรดี

มาออกแบบ field form ใน OpenOffice.Org กัน

ผมได้เอกสารมาฉบับหนึ่งเป็นเอกสารการเข้าจอดเรือของท่าเรืออะไรสักอย่างที่ ประเทศนิวซีแลนด์ เอกสารเป็น ODF ครับ และแน่นอนใช้ OpenOffice.Org ซึ่งแบบฟอร์มที่ผมได้มาเป็นเอกสารแบบ field form คือมี field แถบเทาๆ เวลาคลิกที่ field ที่ต้องการจะใส่ข้อมูลก้อจะมี input box มาให้เรากรอกข้อมูล OpenOffice.Org สนับสนุนการใช้ field form และ input field มาตั้งแต่เวอร์ชั่น 2.4 แล้วครับแต่ไม่ได้เขียนเป็น how-to มาแนะนำวิธีการใช้งานกันสักที เอาเป็นว่าวันนี้ผมจะมาแนะนำการประยุกต์เอกสารธรรมดาๆ ให้เป็น field form ง่ายๆ เอาไว้กรอกข้อมูลให้เป็นระเบียบเรียบร้อยและดูสวยงามครับ
ก่อนจะเข้าสู่ขั้นตอนการทำจะขออธิบายข้อดีของการทำ field form นอกจากจะทำให้เอกสารดูสวยงามแล้ว การใส่ข้อมูลก้อง่ายอีกด้วย และที่สำคัญคุณสามารถกำหนดเขตข้อมูลได้เองด้วย เดี๋ยวเรามาลองดูตัวอย่างเอกสารนี้กันครับแบบฟอร์ม “ใบสัญญาเป็นแฟนกัน” เอาสนุกนะครับอย่าคิดมาก 🙂

Continue reading มาออกแบบ field form ใน OpenOffice.Org กัน

ติด OpenBravo ERP อย่างเซียน

OpenBravo ERP เป็นโอเพนซอร์ส ERP ที่ออกแบบมาให้เหมาะสมกับธุรกิจ SMEs ซึ่งพัฒนาเป็นเว็บแอพลิเคชั่น รวบรวมความสามารถหลายๆ เรื่องทั้งในเรื่อง procurement, warehouse management, project management, service manangement, production management และ financial managment อยากทราบรายละเอียด feature ของ OpenBravo อ่านเพิ่มเติมได้ที่ http://www.openbravo.com/product/product-features/

Continue reading ติด OpenBravo ERP อย่างเซียน

ติดตั้ง SugarCRM บน Ubuntu อย่างเซียน

SugarCRM เป็น CRM Solution ใช้งานบนเว็บพัฒนาด้วยภาษา PHP ที่ผ่านมาเราจะนึกถึง SugarCRM เป็นชื่อแรกๆ เนื่องจากได้รับความนิยมสูงที่สุดตัวหนึ่งในบรรดา Open Source CRM Solution ตัว SugarCRM มีหลายรุ่นด้วยกันหากใครเป็นแฟนพันธ์แท้ก้อคงจะทราบแล้วว่า SugarCRM มีด้วยกัน 3 รุ่น คือ Enterorise, Profestional และ Community ซึ่งแต่ละรุ่นก้อมีคุณสมบัติแตกต่างกัน หากสนใจเข้าไปดูรายละเอียดจากเว็บไซต์ข้างล่างนะครับ ใน How-to นี้เราจะมาติดตั้ง SugarCRM Community อย่างเซียนกันครับ เหมาะสำหรับ SMEs ที่ต้องการมี CRM Solution เอาไว้ใช้งานโดยลงทุนไม่มากนัก
ระบบปฏิบัติการที่ผมเลือกใช้คือ Ubuntu 8.10 โดยโมดูลใน SugarCRM ที่เราจะใช้กันคือ My Portal, Calendar, Activities, Contacts. Accounts, Leads, Opportunities. Case, Bugtracker, Document และที่ขาดไม่ได้คือ Email ครับ ซึ่งใน SugarCRM Community Edition มีโมดูลพื้นฐานพร้อมสรรพสำหรับองค์กรหรือ SMEs ขนาดย่อมๆ ใช้งานได้เลยล่ะครับ โดยไม่ต้องลงทุนซื้อรุ่น Enterprise ราคาแพงๆ แต่อย่างใด เอาละเรามาเริ่มติดตั้งกันเลยครับ
Continue reading ติดตั้ง SugarCRM บน Ubuntu อย่างเซียน

เขียนโปรแกรมแบบ GUI ด้วย Python + Glade

ปกติผมเขียน GUI โปรแกรมบน .NET แต่พอมาเขียนโปรแกรมบน Linux ต้องบังคับตัวเองให้เขียน C# บน Mono ซึ่งก้อไม่ได้ต่างจาก C# สักเท่าไร แต่ Widget มันเป็น gtk นี่ล่ะสิ เขียน Mono gtk ก้อเล่นเอามึนไปเหมือนกัน อีกอย่าง IDE เจ๋งๆ อย่าง Microsoft Vistual Studio ไม่มีใน Linux หวังพึ่ง Mono Dev ไม่ค่อยจะได้เท่าไร อ้อผมเคยเขียน Kylix มาพักนึงแต่ก้อตายสนิท ก้อเลยลองหาภาษาที่ศึกษาได้เร็วๆ และไม่ต้องติดตั้งอะไรเพิ่มมากมายก้อสามารถเอาโปรแกรมไป run ได้เลย ทำให้ได้มาจับ python ดูบ้าง ศึกษา python พื้นฐาน จาก codenone ไปพลางๆ แล้วก้อมาหัดเขียน PyGtk ต่อโดยออกแบบ GUI โดยใช้ Glade ซึ่งทำให้เรา ออกแบบหน้าจอโปรแกรมได้เร็วดี และเอา Python เรียกใช้ GUI จาก glade ได้เลย โดยใช้ PyGtk นี่แหละครับ เมื่อวันก่อนเจอ Video ใน Google เห็นว่าเข้าท่าดีเอามาแปะได้ได้ศึกษากัน

** ผมไม่ได้เป็นแฟน Python นะครับ แต่หาทางเขียนโปรแกรมแบบ GUI บน Linux ไม่ได้สักที สงสัย Python + PyGtk + Glade คงเป็นทางรอดของผมล่ะ เอาไว้ให้ผมศึกษามากกว่านี้ก่อนแล้วจะมาทะยอยเล่าให้ฟังอีกทีว่าเขียน GUI Application บน Linux แบบง่ายๆ ทำกันยังไง ตอนนี้ก้อดู Google Video ข้างบนไปพลางๆ ก่อนละกันครับ 🙂

แก้ปัญหาคนลิงค์ภาพจากเว็บเรา

ผมเห็นคนชอบ link ภาพจากเว็บโน่นนี่บางทีก้อสร้างปัญหาประมาณว่าไม่สร้างภาพเอง ใช้ tag img ชี้ลิงค์ไปง่ายดี ปัญหาที่ตามมาคือปริมาณ traffic ที่มากขึ้นของเว็บที่ถูก link ลองนึกดูเล่นๆ หากเว็บคุณมีคนดูมาก แถมมีภาพสวยสวยๆ เยอะ มีคนเข้าเยอะและหวังดี เอาภาพจากเว็บเราไปโชว์ในเว็บอื่นซึ่งก้อคงเป็นเว็บคล้ายๆ กัน ปริมาณ traffic ที่มากขึ้นที่ไม่ได้มาจากเว็บตัวเองก้อทำให้เสียค่าใช้จ่ายในเรื่อง data transfer มากขึ้นด้วย วิธีแก้ไขง่ายๆ ก้อคือใช้ htaccess นี่แหละครับ มาดูวิธีกันครับ
ใส่ .htaccess แบบนี้จะไม่โชว์อะไรเลย

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC]
RewriteRule ^.*\.(bmp|tif|gif|jpg|jpeg|jpe|png)$ - [F]

เอาแบบโชว์ภาพอื่นแทนภาพที่ link จากเราไปก้อได้ครับ ตั้งค่าแบบนี้

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/.*$ [NC]
RewriteRule .*\.(gif|jpe?g|png)$ http://www.domain.com/boooh.jpg [R,NC,L]

เอาภาพหน้าผีไปโชว์เล้ย เห่อๆ ชอบ link ภาพจากเว็บคนอื่นนัก 😛