May 25, 2012

เตือนภัย Windows ของแท้ ไม่ขายผ่านเน็ทนะ

เนื่องจากปกติผมจะใช้ Ubuntu ในการใช้งาน แต่เนื่องจากมีความจำเป็นต้องใช้ Windows มาเพื่อใช้งาน + เล่นเกมส์ เลยไปสอบถามเพื่อนที่อยู่บริษัทขาย Software และเพื่อนก็บอกว่าที่บริษัทขาย Windows ได้ถูกกว่า เพราะซื้อจากผู้ขายที่ซื้อมาจากต่างประเทศ จะได้ราคาที่ถูกกว่า (ซึ่งข้อเท็จจริงผมก็ไม่รู้ว่าเป็นอย่างไร) โดยใจจริงก็กำลังจะซื้อจากร้าน ไปสอบถามมาแล้วราคาอยู่ที่ประมาณ 6900 ~ 7000 บาท (Windows 7 Professional) แต่ของที่เพื่อนนำมาขาย ได้ราคาอยู่ประมาณ 3500 บาท   ก็เลยตัดสินใจซื้อเลย เพราะเห็นว่าถูกมาก

แต่หลังจากซื้อมาจนแล้วจนรอดก็ยังไม่ได้ใช้งาน จนกระทั่งผ่านมาได้ประมาณ 1 ปี เพิ่งจะนำมาติดตั้งปรากฏว่า Activate ไม่ผ่าน ซึ่งติดต่อไปยังเพื่อนผม ก็บอกว่าจะติดต่อทาง Vendor ให้ (มารู้ทีหลังว่าขายอยู่บนอินเตอร์เน็ท) แต่พอติดต่อไปก็เหมือนจะช่วยเหลือ และส่ง Serial ชุดใหม่มาให้ และบอกจะส่งกล่องมาให้ทีหลัง แต่ก็ถ่วงเวลาไปเรื่อยๆ จนตอนหลังก็ขาดการติดต่อไป

หลังจากนั้นผมก็ได้ติดต่อไปทาง Microsoft Thailand  02-263-6888 ( http://www.microsoft.com/thailand/customerrelations/) ทาง Microsoft ก็ได้ถาม Serial ไป ปรากฏเช็คแล้วว่า เป็น license MSDN  สำหรับใช้ภายในองค์กร และ Microsoft บอกว่าไม่มีการขายผ่านช่องทาง Internet ยกเว้นจะเป็นการอำนวยความสะดวกของตัวแทนจำหน่าย ซึ่งสามารถเช็คได้จากลิงค์ครับ http://www.microsoft.com/thailand/partnerfinder/license/open.aspx

จึงอยากจะขอเตือนสำหรับผู้ที่จะสั่งซื้อ Windows ทาง Internet ว่าให้เช็คดูให้ดีกว่า ผู้ขายที่ท่านจะซื้อด้วยเป็นตัวแทนจาก Microsoft จริงหรือเปล่า และพยายามให้เก็บใบเสร็จไว้เป็นหลักฐานด้วย เป็นไปได้ให้ใส่ในกล่องเลยก็ดีครับ หากจะ Activate Serial และต้องการความชัวร์ก็โทรไปได้ที่เบอร์ของ Microsoft Customer Service โดยตรงได้เลย

Oct 17, 2011

Shell In a Box - Shell on Web Interface

shellinabox เป็นโปรแกรมที่ทำให้เราสามารถใช้ shell หรือ terminal ผ่านเว็บได้ ซึ่งจะคล้ายๆ กับ WebShell (WebShell นั้นพัฒนาต่อยอดมาจาก Ajaxterm) แต่ shellinabox เป็นตัวที่อยู่ใน wiki ของ Ubuntu วันนี้เลยขอสอนการติดตั้งตัวนี้ครับ และเขียนไว้เป็นบันทึกกันลืมไปในตัว

ขั้นแรกให้ดาวน์โหลดตัว shellinabox ของ platform ที่เราใช้อยู่ ในหน้า Download นำไปไว้ใน home folder หรือตำแหน่งที่ต้องการ หลังจากนั้นให้พิมพ์
sudo dpkg -i shellinabox_2.10-1_i386.deb
เนื่องจากผมใช้ Ubuntu หารใครใช้ Redhat base ก็ทำตาม RPM เอานะครับ

หลังจากนั้นให้เรา start server shellinabox ขึ้นมา ด้วยคำสั่ง
sudo /etc/init.d/shellinabox start
หรือ

sudo invoke-rc.d shellinabox start
ซึ่งเมื่อรันแล้ว shell in a box นี่จะรันอยู่บน port 4200 ด้วย protocol HTTPS ครับ
ให้เราเปิด Browser ขึ้นมาแล้วเข้าไปที่ https://<ip เครื่องที่เราติดตั้ง>:4200 ก็จะขึ้นหน้าตาดังรูปครับ
หน้า login ที่เข้าจาก Shell In a Box

Sep 9, 2011

Alfresco Share กับ Error Too many open files

หากใครใช้ Alfresco Share บางที่จะพบว่า หากกดลิงค์ต่างๆ เร็วๆ ไปสักพักจะเจอหน้า Error ซึ่งจาก Error ที่หน้าเว็บฟ้องจะไม่บ่งบอกว่าเกิดอะไรขึ้น เพราะตัวเว็บนั้นจะเรียก Web Script จาก Alfresco RESTful WebService อีกทีนึง สาเหตุที่แท้จริงของ Error นี้คือ ตัว lucene ซึ่งเป็น Engine ที่ทำการ Index file แม้ว่าตัว lucene 2.0 จะแก้ให้เกิดปัญหานี้น้อยลงแล้วก็ตาม แต่เราก็ยังพบปัญหาอยู่

วิธีแก้ไข
ให้เราไปเพิ่ม limit ของการเปิดไฟล์ให้มากขึ้น ตัวอย่างเช่นใน ubuntu ใช้คำสั่ง
ulimit -n
ด้วย user ที่รัน alfresco พบว่าค่าเริ่มต้นที่ระบบตั้งให้คือ 1024 ซึ่งไม่เพียงพอ ให้เราไปเพิ่มในไฟล์
/etc/security/limits.conf ดังนี้
<username> soft nofile 4096
<username> hard nofile 65536
สมมติว่าผมใช้ user เป็น seven ในการ login เข้า shell จึงเพิ่มเป็น
seven soft nofile 4096
seven hard nofile 65536
ให้ทำการ logout และ login อีกรอบแล้วพิมพ์คำสั่ง ulimit -n อีกครัง จะพบว่าค่าที่ตอบกลับมาคือ 4096 ตามที่เราตั้งไว้

เป็นอันว่าเรียบร้อยแล้วสำหรับการแก้ปัญหาที่ error ไม่ทราบสาเหตุจาก alfresco share

Tips
error นั้นจะปรากฏใน tomcat/logs/catalina.out เราจะไม่พบใน alfresco.log

Aug 20, 2011

Lady Java


ลองฟังกันดูครับ

May 23, 2010

Google TV and Android 2.2 (Froyo) and Business Model

จากงาน Google I/O 2010 ที่ผ่านมา Google นำเสนอผลิตภัณฑ์ใหม่ของ Google ด้วยกันสองตัว คือ
  1. Google TV
  2. Android 2.2 (Froyo)
โดยรวมๆ แล้วสิ่งที่ Google เสนอนั้นอาจดูเหมือนเป็นการเสนอผลิตภัณฑ์ของ Google ตามปกติ แต่จริงแล้วมันคือช่องทางในการจำหน่ายในอนาคตของ Google นั่นคือ Marker Place นั่นเอง Google พยายามจะนำ Technology ต่างๆ มาผสมกันให้อุปกรณ์ทุกชนิดสามารถ Sync กันได้ ในอนาคตไม่แน่เราอาจจะผูกติดกับ Google ไปตลอดก็เป็นได้ เพราะใน Keynote ครั้งนี้นั้นสิ่งที่ Google นำมาเสนอคือ เค้าสามารถบอกเราได้หมดว่าเรามี อุปกรณ์ Android อะไรบ้าง และมีกี่ตัว แต่ละตัวลงอะไรเอาไว้บ้าง ช่องทางการจำหน่ายนี้อาจดูไม่น่าตื่นเต้นมากนัก แต่หากวันหนึ่ง อุปกรณ์ทุกชนิดมี Android มาลงล่ะก็ จะทำให้ Google สามารถทำการโฆษณาต่างๆ ผ่านทางช่องทางนี้ได้อย่างดีเยี่ยม อาจกล่าวได้ว่าการที่ Google ทำ Android มาให้ใช้กันฟรีๆ จริงๆ แล้วมันเป็น Business Model ที่ Google ต้องการเข้าถึงลูกค้าให้ได้มากที่สุด เพื่อที่จะขยายตลาดโฆษณาของตนต่อออกไป นั่นคือช่องทางการจัดจำหน่ายที่เราทั้งหลายอาจคิดไม่ถึงก็เป็นได้

บทความนี้เป็นบทความที่วิเคราะห์จากผมเองนะครับ ส่วนใครต้องการดูเนื้อหาเกี่ยวกับตัวโปรดักส์ คาดว่าน่าจะมีคนรีวิวไว้ให้ดูเยอะแล้ว

Apr 30, 2010

Ubuntu 10.04 Lucid Lynx มาแล้วครับ

สามารถดู features ได้ที่ Take The Ubuntu Tour
Preview (ไม่ใช่ Review นะครับ) ภาษาไทย ดูได้จาก Blognone
โหลดได้ที่ Ubuntu Download หรือ mirror ku

Apr 24, 2010

Netbeans IDE 6.9 Beta ออกแล้ว

เวอร์ชั่นนี้จะเน้นไปที่ JavaFX (สงสัยอยู่ว่าเมื่อไหร่มันจะสู้ Flash หรือ Silverlight ได้เนี่ย) สามารถสร้างได้แบบตอนสร้าง Swing GUI Builder ได้แล้ว นอกจากนี้ยังสนับสนุนการสร้าง OSGi bubdles ด้วย Maven อีกด้วย สนับสนุน JavaFX SDK 1.3, PHP Zend Framework, Ruby on Rails 3.0 นอกจากนี้ยังปรับปรุงประสิทธิภาพของ Java Editor , Dubugger, issue tracking (ประมาณพวก redmine, trac, bugzilla) อีกด้วย และอื่นๆ อีกมากมายติดตามได้ที่ลิงค์เลยครับ


Apr 17, 2010

HipHop JIT จาก Facebook (ไม่ใช่แนวเพลงนะ)

จากก่อนหน้านี้ที่ facebook ประกาศจะ opensource HipHop JIT ตอนนี้ก็ได้ปล่อยมาให้โหลดกันแล้วนะ
HipHop ไม่ใช่ตัวแปลภาษานะครับ(Compiler) มันเป็นเพียงตัวแปลง source code เท่านั้นให้ code PHP กลายเป็น C/C++ นั่นเอง แล้วก็ใช้ C Compiler ทำให้มันเป็น native อีกทีครับ(น่าจะเป็น GCC นะครับ เพราะ facebook นั้นขึ้นชื่อว่าองค์กร Opensource จ้าา)
โหลด HipHop JIT (แต่ต้องใช้ GIT นะคร้าบบบ)

Martin Fowler เปลี่ยนชื่อ IoC เป็น Dependency Injection

ไม่มีอะไรใหม่ครับ แค่เค้าเปลี่ยนชื่อ Pattern จากที่เค้าตั้งไว้ว่า Inversion of Control แต่สงสัยพี่ท่านจะทนต่อกระแส Lightweight Container ไม่ไหวเลยเปลี่ยนชื่อ Pattern ตามเป็น Dependency Injection

อ่านเพิ่มเติมได้ที่ Inversion of Control Containers and the Dependency Injection pattern

Hibernate 3.5.1 Released - Supporting JSR 317

JBoss ได้ปล่อย Hibernate 3.5.1 มาแล้วเมื่อปลายเดือนที่แล้ว สิ่งที่น่าสนใจคือมัน support JSR 317 หรือที่รู้จักกันในนามของ The JPA 2 Specification (ทำไม opensource มัน Spec เยอะจัง ท่าทางจะเลือกมากนะ =P )
สิ่งที่เปลี่ยนแปลงไปมีดังต่อไปนี้
  • JSR 317 (JPA2) Support
  • รวม hibernate-annotations, hibernate-entitymanager และ hibernate-envers เป็น core project แล้ว
  • ปรับปรุงประสิทธิภาพการ Cache
  • Immutable support อ่านอย่างเดียว
  • รองรับ JDBC 4 ถ้าใช้ใน JVM 1.6
  • รองรับการทำงานในระดับ column ตอนนี้ทำได้แต่ในไฟล์ hbm เท่านั้นครับ
โหลก Hibernate 3.5.1
แปลจาก TheServerSide