<$BlogRSDUrl$>

Monday, October 24, 2005

Selamat Hari Raya, Maaf Zahir & Batin

Kepada semua pembaca blog saya, diucapkan Selamat Hari Raya, Maaf Zahir & Batin. Berhati-hati di jalan raya. Semoga selamat pergi, selamat balik dan dipermudahkan perjalanan kita. Amiinn.


Tambahan Java Lagi 2

Learning Java 2D, Part 1.
Learning Java 2D, Part 2.

Sprinkle Some AJAX Magic in Your Struts Web Application.
AJAX: How to Handle Bookmarks and Back Buttons.
Is AJAX Here to Stay?

Test-Driven Development Using StrutsTestCase.


x2

Aduuhhh!! Enhancement seterusnya kpd class DM yg dijana oleh x2 semakin banyak loc nye. PersonDM saya dah mencecah 16,000 loc... Nasib baik saya dah masukkan sekali keupayaan supaya tak perlu new kan DM ni. Ia mempunyai static methods yg lengkap dan tak perlu di'new'kan DM utk menggunakannya. So, walaupun PersonDM.class lebih dpd 140kb saiznya, ruang memory yg diperlukan sepatutnya tak la banyak sangat krn semua orang akan guna class yg di'load' oleh classloader aje dan takde/tak perlu 'new'kan object kat dlm heap.

Rasanya bila siap dimasukan semua enhancement ke dlm DM ni, PersonDM akan mencecah 20 ke 25 ribu loc. Nak siapkan gak DM masa cuti raya ni. Lepas ni, nak buat class Factory plak.

Kemudian, nak buat satu mini framework utk hubungkan swing gui kpd Factory utk dimasukkan ke dlm DM supaya boleh lakukan crud. Lepas ni, application swing hanya perlu hasilkan gui dia aje. Saya cadang nak guna aop utk 'tangkap' semua JTextField, etc, secara tranparent utk dibagi kpd Factory dan seterusnya DM utk semua operasi crud. Ini utk scenario yg mana gui dia tak standard. Kalau yg standard, saya akan cuba masukkan keupayaan menjana class2 gui standard ini ke dlm x2, selepas itu pula. Tak suka rupa gui yg standard? Hasilkan la sendiri punya dan masih boleh guna code2 crud tanpa risau utk ubah gui dimasa akan datang.


Iraq

Bigger, Stronger Homemade Bombs Now to Blame for Half of U.S. Deaths.

Soldiers Lost in Iraq Top Those Lost in First Four Years in Vietnam; Expert on the '60s Reflects on Similarities, Differences.

Iraq's War Dead.

Guantanamo ordeal of Aljazeera cameraman.


Tambahan Java Lagi

Buat peminat portlet, Apache Pluto 1.0.1 released.

MySQL 5.0 Released. Perbincangan yg boleh tahan menarik tentang DB, termasuk DB lain spt Postgresql.

Click 0.15 released. Satu lagi web framework, macam tapestry dan wicket. Website click.

rfiddevice: Creating an RFID Middleware Solution with Java.

What's New in SOA and Web Services?.
Reference SOA/Web Services.

Book Excerpt: Java Reflection in Action, Chapter 4, "Using Java's Dynamic Proxy"


Demam Denggi

Tanda Demam Denggi.
DEMAM DENGGI (Dengue Fever) - Info Sihat.


Tambahan Java

rizan bagi link kpd JDepend serta eclipse plugin nye.


Kerja

Tak ku sangka. Masa mula2 kenal dgn M bertahun2 yg lepas melalui forum tempatan (tak ingat yg mana, sembang.com kot), siap gaduh (sikit aje ;) biasa la kan) dgn dia, bertukar kpd persahabatan yg lebih akrab di mana M hadir di kedua2 kursus pendek yg saya buat, tak disangka satu hari nanti saya akan interview M utk jawatan IT Manager utk menggantikan tempat saya. Dan sekarang ni, tengah tunggu HR company utk bagi offer letter kpd M.

Tahniah M. Anda memang layak :)

Moral of the story is, berbuat baik dan berkawan la dgn seberapa ramai yg boleh, selagi tidak bertentangan dgn hukumNya. Krn, dunia IT kat Malaysia ini kecil. Satu hari kelak, kawan2 kita ini boleh membantu kita, atau siap interview kita sekali :)

Rancangan saya seterusnya ialah utk ajak rakan2 forum yg lain utk join, bermula dgn I dan I. Tapi, ini lambat lagi. M kena masuk dulu utk ganti tempat saya, baru saya boleh pi ke pmo dan cuba yakinkan management tentang strategy saya utk it implementation mereka ni. Doakan saya berjaya.


Iraq

Iraqi bomb builders learn fast; exact heavy toll.


Macam2

RIFE/Crud 1.0: CRUD scaffolding for RIFE released. RIFE 1.2 released. Website RIFE.

Prototype is a JavaScript framework that aims to ease development of dynamic web applications.

JDock 1.3 : Swing docking.


Ruby on Rails (RoR)

Pengenalan kpd RoR, Rolling with Ruby on Rails. Artikel seterusnya, What Is Ruby on Rails menerangkan apa yg ada dlm RoR 1.0. ActiveRecord::Associations::ClassMethods pula ialah doc utk ActiveRecord, bhgn Associations. ActiveRecord mereka ni ialah or mapper utk RoR.

Nampak RoR ni menarik, tapi....., saya tak rasa apa2 POW!!! pun?? Rasa biasa je.

Ruby
Saya sangat setuju bhw sesetengah programming language (ruby, python, groovy, beashell, etc) adalah lebih ringkas dpd Java which translate kpd better productivity dlm menghasilkan bhgn tertentu sistem. Bhgn tertentu? Ya. Utk saya, bhgn tertentu yg sesuai adalah spt bhgn business rules and logic. Dlm satu2 sistem, bhgn2 yg paling banyak kena ubah dari masa ke semasa ialah data dan kelakuan (business rules & logic). Bhgn db access, view, network communication, 3rd party spt scheduler, etc, kekal pakai java. Bhgn business rules & logic, dan glue code, boleh pakai salah satu dpd programming language ini utk percepatkan development dan meningkatkan agility apabila requirements berubah krn sememangnya nak lakukan perubahan tu lebih cepat berbanding java. Pra-syarat utk ini ialah ia mesti la punya strong integration dgn java.

Full-stack MVC framework
Saya tak lihat apa2 kelebihan RoR terhadap java yg dah disiapkan MVC nye dpd gabungan pelbagai 3rd party sw menjadi satu. Spt sekarang ni, saya guna webwork 1.4 + spring + or mapper (castor/hibernate). Dah sedia ada, pakai aje la.

Convention over configuration
Ini kelebihan yg kecil utk RoR. Jumlah masa saya dlm configuration of the so called xml hell tak sampai 1% dpd masa development. Bahkan, dgn menyerahkan diri saya kpd xml hell dlm menggunakan spring, saya tak perlu sentuh apa2 java code pun utk setup scheduler Quartz utk run sejumlah schedule yg berbeza, mengambil masa beberapa minit shj.

Satu kelemahan cara ini ialah ia tak sekaya cara yg menggunakan configuration. Setakat pemahaman ringkas saya terhadap ActiveRecord, hubungan 1..* yg disupport setakat ini hanyalah pada tahap aggregation/composition. Maksudnya, bila add satu object ke dlm collection, object tu akan diinsert/update/delete. Banyak gak keadaan yg saya guna association biasa aje iaitu bila si A mati, kawan2 nye tak diheret sekali utk mati bersama2nya. Hanya tubuh badan nye shj yg habis.

Less code
Satu lagi kelebihan kecil utk RoR. Jumlah loc sesuatu project bukan la faktor utama dlm menentukan cepatnya utk nak develop, kurangnya bugs, susah / senang nak maintain. Dlm satu2 projek, code2 yg ada secara ringkasnya terbhgi 2. Code2 yg perlu kpd sistem dan code2 sokong sistem. Code2 sokongan spt code2 core lib java (java.util.*, etc), 3rd party lib spt jar2 jakarta/spring/hibernate/berpuluh2 lagi, DAN termasuk juga code2 yg dijana. Code2 sokongan ini perlu difahami mana2 yg digunakan. Umumnya tak perlu maintain. Code2 yg penting utk difahami the ins and outs utk dimaintain dan dienhance seterusnya tak la banyak sangat setelah tolak loc sokongan ni, lebih kpd code2 specific kpd application tersebut, menjadikan point less code ni hanya la satu kelebihan kecil kpd RoR, apatah lagi apabila dah integrate dgn baiknya, katakan jruby/groovy/etc ke dlm toolkit kita.

Generators
Sudah ada.

Zero turnaround time
Walaupun pengarang artikel menyatakan jgn jadikan ini point kecil, saya tetap meletakkannya sebagai point kecil krn kerap gak saya berfikir atau berehat masa recompile dan redeploy ni. Saya tak teror, jadi perlu banyak gak berfikir dan sekali sekala berehat antara kerja, tak spt mereka yg teror2 ni. So, saya suka gak ada masa rehat yg sekejap ni. Salah ke?

Scaffolding
Sudah ada.

Kesimpulannya, java developer punya pilihan utk menjadikan RoR sebagai salah satu tool dlm toolbox dia atau guna aje la pelbagai tools yg dah ada dlm dunia java utk digabungkan menjadi satu bagi mencapai productivity yg tak kurang hebatnya.

Pendapat saya aje.

(2) comments

Monday, October 17, 2005

Tambahan Lagi

Accessing a PDF Document with the Acrobat Viewer JavaBean. Menarik ni. Sesuai utk swing apps memaparkan PDF. Bean nye boleh diperolehi kat Acrobat Viewer JavaBean.

Service Provisioning Through ESB.

Constructing Web Services with the Globus Toolkit Version 4. Website Globus Toolkit. Sejumlah artikel2 yg menarik diakhir artikel ini.

Technologies to Watch: A Look at Four That May Challenge Java’s Development Dominance.

What Is Ruby on Rails.

But most of all samy is my hero. Serangan yg dilakukan ke atas AJAX.

Netscape Founder Thinks PHP Will Beat Java. Laaa... Mula2 Ruby/RoR. Sekarang, PHP plak. Hmmm... Betul la kata orang. Bila anda no 1, semua orang nak cuba kalahkan anda... hahahahaha ;)


Tambahan

Helix DNA utk dengar musik.

Peta Eclipse Committers October 2005.

Invokedynamic, satu penambahan baru yg dicadangkan kpd JVM utk sokong dynamic language dgn lebih baik.

JRuby dah release ver 0.8.2 yg hampir serasi dgn ruby 1.8.2. Buku Programming Ruby 1st Edition. Utk integrate Java dan Ruby, boleh pakai rjni.

Buku Design Patterns Explained : A New Perspective on Object-Oriented Design (2nd Edition). Terjumpa buku ni semalam. Saya dah baca edisi pertama. Menarik. Kena kumpul duit utk beli.


Tahniah

Tahniah kpd ryzam atas kelahiran anaknya yg pertama. Semoga ryzam sekeluarga sentiasa mendapat bimbinganNya.


Macam2

Beyond Java. Satu perbincangan yg hangat lagi hangit, tentang kemungkinan RoR (ruby on rails) jauh lebih sesuai dpd Java utk senang2 50% dpd projek2 web sedia ada. Tak habis2 perbincangan ini. Ide utk ruby RDT.

A Look At The Java Class Loader.

Programming Languages for the Java Virtual Machine.

(0) comments

Tuesday, October 11, 2005

Tambahan Lagi Java

Java Legend Dispels Urban Myth: Gosling on Performance. Perbincangan kat javalobby tentang komen james gosling berkenaan perbincangan kat /. tentang kelajuan Java vs C. Blog james kat sini.

(Not So) Stupid Questions : Inheritance vs. Interfaces.

Stack Allocation RFE Accepted.


Kelajuan Java

Berkenaan dgn performance Java, memang agak ketara serangan "Java lembab" dah semakin berkurangan sejak kebelakangan ini, dpd Java berkali ganda lebih slow dpd C++ kpd Java lebih slow dpd C++ (berkali ganda dah hilang). Sekarang, serangan yg ditujukan terhadap Java ialah "Java lebih laju dpd C!!?? Mungkin tidak...". Ramai yg tak percaya Java boleh kalahkan, bukan shj C++, bahkan C sekali pun dlm bhgn tertentu. Ada pihak yg membalas balik kumpulan ini dgn kata2 spt "Nape, tak pecaya?".

Walaupun saya berat kpd Java, tapi, saya setuju dgn beberapa pendapat yg menyatakan bhw Java dah boleh atasi kelajuan C apps yg dihasilkan dgn lemah, tapi masih ketinggalan berbanding apps C yg dihasilkan oleh pakar C, walaupun tak la banyak. Dan, saya percaya kelajuan java mampu bertambah lagi di masa hadapan, ketahap yg mampu mengatasi apps C dgn lebih kerap.

Baru2 ini, saya ubah batch file tomcat saya supaya run Java dgn switch -server dan perbezaan kelajuannya boleh tahan ketara gak antara jvm server dan jvm client. By default, Java akan run guna client jvm. Utk guna jvm server, kena run spt:
Java -server ...

Tapi, server jvm tak sesuai utk semua keadaan. Ia sangat sesuai utk application yg
berjalan dgn lama spt sistem courier saya. Apabila saya guna utk runkan codegen dan unit test dpd ant, server jvm lebih lambat(!!) sikit dpd client jvm.

Sekarang ni, saya cuba Java 5 plak. La ni guna 1.4.2 aje. Al kononnya ketara perbezaan kelajuan antara kedua2nya. Baru siap download.


Tambahan Java

1-2-3 messaging with Spring JMS.

What Is Spring, Part 2.

Diagnostic Tests with Ant.

Demystifying Security Standards.

Unit Testing Hibernate Mapping Configurations.

Microsoft Project Evaluation.


Pagi semalam... bhgn 3 (episod terakhir)

Aa beritahu D yg dia masuk ke company sekarang ini sekitar tahun 2002, setelah 6 tahun guna java. Spt biasa, Aa, spt orang2 di kemah yg lain, cuba utk mempengaruhi pemikiran orang dgn pelbagai fakta2 against java, antaranya:

1. Java byte code yg dihasilkan antara pelbagai jvm spt sun jvm, bea rocket jvm, tomcat dan jboss adalah tidak compatible dan akan throw exception bila cuba run kat jvm yg lain.

2. EJB utk satu2 app server (Weblogic, Websphere, jboss, etc) juga tak compatible bila run kan app server yg lain. Ini Aa kata ikut pengalaman yg dia lalui dlm projek masa dia buat java dulu.

3. Code dlm vs adalah senang2 3x lebih sedikit dan jauh lebih produktif berbanding dgn Java.

Dan macam2 lagi. D bertekak gak utk point 1 dan 2, tapi seterusnya D dah malas nak bertekak krn D hadir ke situ adalah atas urusan syarikat dan mesti jaga nama baik syarikat. D pun keep cool aje la. Lagi pun bulan puasa, tak bagus bertekak dgn orang, apatah lagi D ni tetamu.

Apa yg D jawab dan pendapat D tentang point2 di atas:
1. Hello! Bila masa tomcat dan jboss ada jvm??!! Nampaknya 3 tahun tinggalkan java, mampu distort ilmu seseorang tentang java ni. Pengalaman D sendiri ialah sekitar tahun 2000 ke 2002, D dah pernah cuba 3 jvm, sun punya, ibm punya dan bea jrocket. Tak perlu recompile pun code java, semuanya boleh run dgn cantik.

2. Sekitar tahun 2001 ke 2002, memang ada issue ejb yg dihasilkan kat satu app server tak leh run kat app server yg lain krn ejb tu guna service khusus app server yg tak standard dan tak ada dlm app server vendor lain. Ejb spec yg seterusnya banyak gak support feature2 yg app server dah ada. Juga, dinasihatkan seberapa boleh utk tidak guna feature2 khusus sesuatu app server utk memastikan maksimum portability.

3. Salah satu kelemahan java ialah ia mempunyai begitu banyak cara utk buat sesuatu projek. Malangnya, cara standard dlm Java merupakan cara yg lambat dan banyak LOC (lines of code). Jadi, agak ramai yg ikut cara standard ni. Sayang seribu kali sayang, ramai yg tak tahu cara utk buat development guna java yg mampu memberikan RAD pada tahap yg, diyakini, mampu match vs. Begitu banyak tools yg ada yg boleh digabung dan disynckan utk memberikan ini. D yg sederhana mahir dlm java ni pun dah boleh dpt rasakan peningkatan dlm produktiviti semasa menghasilkan sw. Walaupun source sistem yg D hasilkan punya banyak loc, tapi, ia dihasilkan dlm masa beberapa saat shj.

Apa2 pun, D dah cukup faham bhw setiap sesuatu teknologi tu, punya kelebihan dan kelemahan masing2. Yg terbaik utk si A, tak semestinya yg terbaik utk si B. Bergantung kpd kesesuaian dan keserasian diri masing2.

Sebelum balik, D sempat berjumpa dgn bekas mentor dia yg baru beberapa bulan join, Dr Dz, sebagai National Technology Officer. Lama dah tak jumpa.

Aa ajak D utk join Independent Software Architects Council of Malaysia yg mana architect2 kat situ seramai lebih kurang 35 orang, datang dpd company2 spt microsoft, oracle, hp, etc.

Lebih kurang pukul 1, D menapak keluar dpd syarikat itu dgn membawa pelbagai freebies spt 2 baju T .net, kunci dan tali utk letak access card. D tersengeh bila teringat kata Aa kpd Dr Dz yg lebih kurang maksudnya,

"dia masih dalam proses utk ditukarkan ke .net..."

Berjayakah mereka? Atau mingkinkah SAP yg akan berjaya? Kita tunggu dan lihat cerita seterusnya. Cerita reality tv yg tak menarik dan saya sendiri pun tak tahu kesudahannya...


Pagi semalam... bhgn 2

D masuk berjumpa receptionist. Disuruh masukan nama, dari syarikat mana dan siapa staff yg nak dijumpai kat dlm PC kat sebelah kiri. Selepas submit, tunggu 2 minit utk dptkan sticker dgn nama D utk ditampal kat baju.

"Macam masuk setengah2 seminar atau conference plak."

Setelah tunggu hampir 10 minit, Aa, seorang Architect & Platform Strategy Advisor kat company ni pun sampai dan mereka masuk ke dlm bilik perbincangan. Perbincangan lebih 3 jam itu memberikan beberapa maklumat (yg takde kaitan sama sekali dgn Java) utk D. Antaranya:

1. Reflector - satu software yg boleh digunakan utk convert dari satu programming language ke programming language yg lain, pada tahap source code, utk beberapa programming language.

2. Interoperability - website dgn pelbagai info utk berhubungan antara kedua2 teknologi yg tiada kaitan dgn Java ini.

3. Windows Services for UNIX (SFU). Aa kata software sfu ni boleh tukar source code utk platform unix tertentu supaya boleh run kat ms win. Saya berminat dgn ini krn kat group level, ada beberapa sistem2 lama yg big bos mungkin berminat utk tukar.

4. JaNet dan JNBridge.

5. Clustering support memang spt yg diterangkan dulu, tak ingat oleh siapa, sama ada chatid atau ryzam, iaitu menggunakan database server.

6. Kelebihan mereka ialah tightly integrated products yg punya skop yg amat luas, sampai la ke sw dev methodology spt CMM level 3, built in dlm vs 2005 team system. Tapi, it is still to be seen whether it is flexible enough to support agile sw dev. Aa kata xp tak disupport dan siap kata xp hanya utk prototype shj. D memperbetulkan persepsi Aa yg silap tu.

Overall, satu perbincangan yg boleh tahan menarik. Banyak gak yg D dpt, utk potentially digunakan kat group level.

Aa rupa2nya adalah orang ex-Java dan dah berkecimpung sejak jdk 1.0 lagi, sekitar 1995, lebih awal dpd D yg bermula dgn jdk 1.1


Pagi ini...

Pagi tadi, 11/10/05, D sampai ke stesen putra kat pasar seni lebih kurang pukul 9:05 pagi. D tunggu tak sampai 2 minit, dah sampai LRT putra. Perjalanan yg tak sampai 10 minit tu, meletakkan D di hadapan KLCC.

"Ha. Dah lama gak tak ke sini. Sekarang nak ke arah mana yek...?"

Walaupun D agak biasa dgn KLCC, tapi dia tak pernah ke situ. D pun berjalan dan nampak papan tanda yg dicarinya.

"OK. Dah jumpa. Kena masuk dan daftar sebagai pelawat..."

Kaunter utk daftar berada di kiri sekali.

"Tingkat berapa encik?"

D beritahu tingkat yg ditujunya. Kena tulis nama dan butir2 lain. Ambil pas. Masuk melalui gate dgn menggunakan pas yg diberi tadi. Awek tadi kata naik escalator. Lift kat situ. Lepas naik escalator aje, kena lalu pintu yg macam kat air port.

"Waah! Dasat rupanya security kat sini..."

Cari punya cari, tara pun. Pak guard kata lift kat bawah bukan kat aras ni. D pun turun dan jumpa lift utk ke tingkat yg dituju.

Lebih kurang pukul 9:25, D menjejak kaki buat kali pertama ke tingkat 30, tower 2, klcc...


Macam2

ebXML Registry and Repository. Maceh kpd rizan atas link ini. Menarik gak. Sesuai utk mereka yg kena guna ebxml dlm project mereka.


Iraq

The sights, sounds and threat of violence are a constant in Baghdad.

(2) comments

Monday, October 03, 2005

Tambahan Java

Drools 2.1 Released. Perbincangan yg boleh tahan menarik, tentang kelebihan, kelemahan dan kesesuaian rule engine. Baca la sampai habis.

The New RMI. RMI utk Java 5 dah berubah dgn sokongan terhadap SSL dan tak perlu hasilkan stub menggunakan rmic lagi. Check it out.

What Is Web 2.0.

What Is Spring, Part 1.

Eclipse Web Tools.


Buku Ebook

Buku tentang Tapestry, contoh bab 1 - 4.

Essential Skills for Agile Development. Website dia.


Ramadhan

Menjelang bulan Ramadhan kali ini, semoga kita semua diberikan kekuatan utk melakukan ibadah dgn lebih baik dpd tahun lepas.

Niat puasa (diambil dpd website npc ini):


“Sahaja aku berpuasa esok hari menunaikan Fardhu Ramadhan tahun ini kerana Allah Taala”


Niat solat tarawih:


“Sahaja aku sembahyang Tarawih dua rakaat ma’mum kerana Allah
Taala”



Belajar English

Common Errors in English.

The Guide to Grammar and Writing and Principles of Composition.

Online English Grammar.

Grammar Slammer.

Internet Grammar of English.

English Grammar.

HyperTextBooks.

Utk kanak2:

Houghton Mifflin English

Ocean County Library.

Learn English Online : Activities for ESL, EFL & Kids.

English as 2nd Language.

The Blue Book of Grammar and Punctuation.

Daily Grammar Lesson Archives.

The Grammar Gorillas.

Grammar Bytes.

Kids.net.au.


Macam2

Urban performance legends, revisited. Al kononnya, Java memory allocation adalah lebih laju dpd malloc C. Ye ke? Macam tak pecaya aje. Mesti kawan saya yg juga guru C/C++ tak pecaya.

BEA adds support to Weblogic for Spring. Perbincangan yg agak menarik kat theserverside ni.

FLOW CHARTS. Flow chart anyone?


SAP

Rupa2nya, SAP pun dah ada automated unit test. ABAP Unit ialah port of JUnit ke ABAP dan dibundlekan sekali sejak ABAP 6.40. Bagus la SAP pun dah support automated unit test ni. Best!

Best??!! Apa kejadahn best nye ni?? Senyap kau! Buat aje la keje tu!

Test Driven Development with ABAP.

WebService Navigator Page for ABAP and Java: Part 2 - ABAP Unit.


Iraq

Insurgents play cat-and-mouse game with American snipers.

(0) comments

This page is powered by Blogger. Isn't yours?