change JRE/JDK default version in Mac OS X to Java SE 6 (1.6)

(Update 2009.05.16: add JAVA_JVM_VERSION setting)

To build Nutch 1.0, you need JDK 1.6. Unless you’ll got [javac] class file has wrong version 50.0, should be 49.0 error message.

For a system that has more than one version of JDK installed.
It is possible to change to a desired version only at the time you need it (look for j16 script in this thread). I found myself more convenient with just changed the default version. read more

Robocode Thailand Contest 2009

Robocode Thailand Contest 2009 การแข่งขันการเขียนโปรแกรมจาวาเพื่อควบคุมหุ่นยนต์รถถัง

Robocode เป็นเกมที่แต่ละทีมจะพัฒนาโปรแกรมด้วยภาษาจาวา เพื่อควบคุมหุ่นยนต์รถถังให้ต่อสู้กันแบบอัตโนมัติ โดยแต่ละทีมไม่สามารถควบคุมหุ่นยนต์ของตัวระหว่างการแข่งขันได้ จึงเป็นเกมที่ฝึกทักษะการเขียนโปรแกรมและการนำอัลกอริทึม (algorithm) หรือวิธีการต่าง ๆ รวมถึง ปัญญาประดิษฐ์ (artificial intelligence – AI) มารวมกันเพื่อทำให้หุ่นยนต์มีประสิทธิภาพมากที่สุด เว็บไซต์วิชาการ.คอม เล็งเห็นประโยชน์ของเกม Robocode นี้ว่าจะช่วยฝึกทักษะต่าง ๆ ให้กับเยาวชนและผู้ที่สนใจ จึงร่วมกับศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (เนคเทค) และสถาบันเทคโนโลยีนานาชาติสิรินธร มหาวิทยาลัยธรรมศาสตร์ จัดการแข่งขัน Robocode Thailand Contest 2009 เพื่อค้นหาสุดยอดทีมกับสุดยอดหุ่นยนต์ประจำปีนี้ โดยการแข่งขันในรอบคัดเลือก จะดำเนินการผ่านเว็บไซต์วิชาการ.คอม ส่วนการแข่งขันในรอบสุดท้าย ซึ่งเป็นการชิงชนะเลิศระดับประเทศ จะจัดการแข่งขันในช่วงต้นปี 2009 ภายในงานมหกรรมการแข่งขันด้านไอซีที ซึ่งดำเนินการเป็นประจำทุกปีโดยเนคเทค read more

super("Robot Wars");

ตอนนี้ที่ภาคกำลังสนุกกับ Robocode
น้อง ๆ ที่ลงเรียนแลบ AI (ปี 3) กับแลบ OOP (ปี 2)
ต้องส่งโปรแกรมหุ่นยนต์ลงแข่ง จัดเป็นทัวร์นาเมนต์ (กติกา) เดินไปไหนมาไหน หรือขึ้นรถ ก็จะต้องได้ยินคนคุยกันเรื่องหุ่นเป็นไงมั่ง แข่งกับของคนนั้นคนนี้แล้วเป็นไง (ดูตัวอย่างที่ idiotao, d0m3z) — ปีที่แล้วก็มีแข่งเหมือนกัน (ผมไม่ได้แข่งกะเค้าหรอก แพ้น้องเปล่า ๆ :P) read more

Fixing Java GUI on Hardy Heron

เพิ่งลง Hardy Heron เมื่อคืนก่อน ปรากฎว่า NetBeans 6.0 รันไม่ได้

ปัญหาอยู่ที่ libmawt ของ JVM มันลิงก์กันไม่ได้กับ libxcb/libX11 ของ Hardy Heron แนว ๆ นี้ ดูจาก backtrace อ่ะนะ เราก็ไม่รู้ว่าจะแก้ยังไงหรอก

ไปเจอ workaround ที่ Ubuntu Forums ลองดูแล้ว ใช้ได้ เอามาแบ่งกัน read more

NetBeans 6.0 + Groovy plug-in

NetBeans 6.0 ออกแล้ว เย่
ความสามารถใหม่ที่ชอบมากของรุ่นนี้ก็คือตัว run profile ที่ Eclipse มีตั้งนานแล้ว แต่ NetBeans เพิ่งจะมี

มีหลายแพ็คเกจให้เลือก ถ้าจะเขียน Java SE ทั่ว ๆ ไป ก็ขนาดแค่ 21 MB เท่านั้น

แพ็คเกจอื่น ๆ ก็มี Web/Java EE, Mobility/Java ME, Ruby/Rails, C/C++ หรือโหลดแบบครบเซ็ตเลยก็ได้
แพ็คเกจต่าง ๆ สามารถโหลดเพิ่มเติม/ปรับรุ่นได้ภายหลัง ด้วยตัว update manager ของ NetBeans read more

Open source Java port for Mac OS X

Open Source Java 6 port สำหรับ Mac OS X มาแล้ว (รุ่น Developer Preview Release 2) ใช้ได้ทั้งบน Mac OS X 10.4 และ 10.5 ทั้ง 32-bit และ 64-bit

Java 6 port สำหรับ Mac OS X ตัวนี้ ไม่ได้มาจาก Apple แต่มาจากนักพัฒนาอิสระชื่อ Landon Fuller
โดยใช้โค้ดจาก BSD Java port (Mac OS X มีหลายส่วนที่พัฒนาจาก BSD) ซึ่งใช้สัญญาอนุญาต Java Research License (มาจากเจรจาระหว่างโครงการ FreeBSD และ Sun) read more

con/prefusing graph

prefuse MD

พยายามจะวาดกราฟด้วย prefuse
ยังงง ๆ อยู่ ยังไม่ได้อย่างที่อยากได้

อยากจะ:

  • เปลี่ยนขนาดโหนด ตามค่าที่กำหนด (เช่น คำเจอบ่อย ก็วงใหญ่, เจอน้อย ก็วงเล็ก)
  • ให้ลิงก์มีป้ายแปะด้วย
  • ลูกศรมันหายไปไหนหว่า~
  • read more

    JPF – Java Plugin Framework

    Java Plugin Framework จะช่วยให้เราสามารถโหลดไลบรารีเข้า/ออก ได้ตามต้องการ/เฉพาะเวลาที่ต้องการใช้ ทำให้ประหยัดหน่วยความจำ นอกจากนี้ยังทำให้เราสามารถจัดการไลบรารีได้สะดวกขึ้น

    technorati tags:

    GATE experiment at KIND Lab, SIIT

    งานทดลองสุดสัปดาห์ที่ผ่านมา

    POS-tagged document in GATE

    เมื่อวานทดลองเขียน wrapper ครอบ Stanford Log-linear Part-Of-Speech Tagger ให้กลายเป็นปลั๊กอินสำหรับใช้กับ GATE (หลังจากตั้งท่ามานาน)

    pipeline ในรูป มี 3 Processing Resources คือ tokensier, splitter และ tagger

    tokensier คือ net.siit.gate.DictionaryBasedTokeniser เป็นตัวตัดคำธรรมดา ๆ ใช้พจนานุกรม1 และออกแบบให้ตัดได้คำที่ยาวที่สุด (longest-matching) ทำงานกับ AnnotationSet ของ GATE โดยตรง — จะสร้าง AnnotationSet ชื่อ “Token” ขึ้นมา read more