Java

Something's Wrong

I might be considered as most famous Java counter zealot by some. But, honestly, these are what I found randomly from Technorati “javafx” search tonight (plus one tweet).

JavaFX is announced in JavaOne 2007, then in JavaOne 2008 they’ve to reannounce it, because after one year, people still don’t know what’s it.

@pruet

The Sun promise to put Java runtimes everywhere is meaningless if nobody wants to develop for those runtimes.

something is wrong when very useful but also very complex code frameworks like Spring are considered the “easy” way to do Java development.

WebGuild

“How is JavaOne going for you?”
“Cool to see everyone, but I don’t get JavaFX.”

Dion Almaer

Anyway, what is JavaFX?

Markoff: “What about all those plugins that live within Safari now, like Flash or like Java or like JavaScript?”
Jobs: “Well, JavaScript’s built into the Phone. Sure.”

Markoff: “And what are you thinking about Flash and Java?”
Jobs: “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”

จาก NY Times ผ่านบล็อกของ Miguel De Icaza

/me หลบก่อนเดี๋ยวมีคนมาดักตีหัว คู่กรณียิ่งเยอะๆ อยู่

NJUG2

ก่อนเปลี่ยนอาชีพเป็นพิธีกรงานแต่ง ตอนเช้าก็ไปใช้ชีวิตโปรแกรมเมอร์ที่งาน Narisa Java User Group 2

ผมจัดงานมาสองสามที รู้ดีว่ามี community ที่อยากจัดกิจกรรมเยอะ แต่มีปัญหาเรื่องห้องจัดงานในกรุงเทพมันหายาก+แพง งานนี้คนไม่เยอะมากเลยขอห้องที่ INET ให้ใช้ community ไหนสนใจจัดงานที่มีประโยชน์ก็ติดต่อมาได้ครับ (แต่ห้องต้องขอเป็นครั้งๆ ไป ไม่รับประกันว่าจะได้นะ)

เรื่องคราวนี้คือ Tapestry สอนโดยคุณ Pok เจ้าเก่า (เจ้านายผมแซวว่าคุณ Pok เหมาทุกงาน) ซึ่งก็สอนดีเยี่ยมตามมาตรฐานพี่ Pok อยู่แล้ว เสียดายที่คนมาน้อย คงเป็นเพราะ Narisa ล่มก่อนงานเริ่มพอดี ได้เจอคุณ Roofimon ตัวจริง เป็นรุ่นพี่ที่เกษตรซะงั้นด้วย

เผอิญผมต้องไปเตรียมตัวที่โรงแรมเลยกลับก่อน ความรู้ที่ได้กลับมามีนิดเดียว

  • Tapestry เป็น web framework ที่ใช้ระบบ template แนวคิดเดียวกับ Action Pack ของ Ruby on Rails
  • โปรแกรมที่ทำใน Tapestry มี URL ที่ไม่ค่อย friendly เท่าไร
  • ตอนแรก Tapestry มีปัญหาเวอร์ชันกับ JDK 1.4.2 ในเครื่อง เลยเปรี้ยวโหลด JDK 6 มา ปรากฎว่ารันไม่ขึ้นซะงั้น สุดท้ายต้องเสียฟอร์มโหลด JDK 5 มาอยู่ดี
  • ถ้าตั้งให้ Jetty ไม่แคช ถ้าแก้เฉพาะไฟล์ HTML ก็ไม่ต้อง restart Jetty ได้ เพียงแต่นานๆ เข้าจะเกิด memory leak ยังไงก็ต้อง restart เป็นระยะ
  • เซ็ตระบบสำหรับพัฒนา Java นี่เหนื่อย แค่ลง Jetty ให้ใช้ได้ ก็มี jar dependency เป็นสิบตัวแล้ว
  • พอสร้างไฟล์ html ใน Eclipse แล้วดับเบิลคลิก มันจะเรียก browser ภายในแทน editor น่ารำคาญจริงๆ (เข้าใจว่าเซ็ตได้ แต่ทำไม่เป็น)
  • ตัดสินใจได้แล้วว่าจะใช้ Eclipse เป็น IDE ด้วยเหตุผลง่ายๆ ว่าพี่ Pok ใช้ มีปัญหาถามแกเนี่ยง่ายดี :P

คุณ Nontster อยู่จนจบงาน มีทั้งรูป และบล็อก

ป.ล. พี่ Pok ถามคำถามที่ดีมากกับผมว่า ความรู้สึกของคนใช้ Eclipse ใหม่ๆ เป็นยังไง คำตอบของผมก็สวยดี บางอย่างพอเดาได้ แต่กว่าจะใช้คล่องคงอีกนาน

"Java มัน over-engineered"
พี่ป๊อก

ผมเกลียด Java ครับ แต่ด้วยงานการก็ไม่มีทางเลือก ตอนนี้กำลังพยายามเข้าสู่โลกของ Java (โดยเฉพาะฝั่ง Apache) ให้สรุปความรู้สึกแบบสั้นๆ ก็ต้องพูดว่า "chip หาย" อะไรก็ไม่รู้เต็มไปหมด

ผมคิดว่ามีแฟนๆ Java อ่านบล็อกนี้อยู่บ้าง ถ้าอยากให้ผมรัก Java ก็ต้องช่วยกันตอบคำถามเหล่านี้ (มันจะงอกมาเพิ่มเรื่อยๆ)

  1. ความแตกต่างระหว่าง Spring, Struts, Tapestry
  2. ความแตกต่างระหว่าง Maven กับ Ant
  3. ความแตกต่างระหว่าง Tomcat กับ Jetty
  4. จาก 1,2,3 นั่นแปลว่า Apache เป็นเรื่องของ choice ใช่หรือไม่ ถ้าใช่ มีวิธีเลือก choice อย่างไร
  5. ความสัมพันธ์ระหว่าง ActiveMQ กับ ServiceMix
  6. ทำไมเราถึงใช้ Derby ในเมื่อมี SQLite
  7. JavaServlet คืออะไร
  8. EJB คืออะไร
  9. ความสัมพันธ์ของแต่ละส่วนประกอบใน Geronimo
  10. ทำไมเราถึงควรใช้ Geronimo (หรือ WASCE) ถ้าเทียบกับ Glassfish, JBoss หรือ BEA WebLogic
  11. ความสัมพันธ์ของ Catalina, Jasper และ Tomcat

Broken Azureus in Dapper

ใช้ Azureus 2.4.0.2 ใน Universe ของ Dapper ปรากฎว่ามันพังๆ popup ที่แจ้ง error message มันปิดไม่ได้ ที่ซวยกว่านั้นคือมันขึ้นมาบังมุมขวาล่างตรง workspace switcher พอดีซะอีก

(ฆ่าธรรมดาก็ดันไม่ตายด้วย ต้อง kill -9)

ปรากฎว่าเป็นปัญหาของ Azureus เอง และวิธีแก้ก็เอาแพกเกจ jar ของ 2.5 จาก CVS มาใส่ (Ubuntu Forums, Ubuntu Bugs)

ผลพลอยได้คือ Azureus ที่หน้าตาสวยขึ้นนิดหน่อย แถมมี app icon ให้เห็นแล้ว (ว่าแต่ใครแปลภาษาไทยไว้ละเนี่ย อ่านไม่รู้เรื่องเลย)