<$BlogRSDUrl$>

Thursday, December 30, 2004

Buku2 online yg baru dijumpai

Jumpa satu link menarik kat ittutor kpd begitu banyak buku2 online yg menarik. Ada gak yg dead link dan saya tak minat. Antara yg menarik minat saya:

Digital Instrumentation and Control Systems in Nuclear Power Plants: Safety and Reliability Issues (1997)

The Digital Dilemma: Intellectual Property in the Information Age (2000)

Developing a Digital National Library for Undergraduate Science, Mathematics, Engineering and Technology Education: Report of a Workshop

DSL

The Digital Library Tool Kit, 3rd Edition

ANSI STANDARD C FUNCTION DEFINITIONS

Design and Validation of Computer Protocols

Demystifying SNA

Database Recovery Control (DBRC) Examples and Usage Hints

Data Structure and Algo in Java

Data Structure and Algo in C++

Data Structure and Algo in Python

Data Structure and Algo in Ruby

Data Structure and Algo in C#

Adaptive Object-Oriented Software The Demeter Method

ALGORITHMIC INFORMATION THEORY

Apache Server Survival Guide

Art of Electronic Publishing

Computer Vulnerabilities

Connected: An Internet Encyclopedia

The Data Compression Book


(0) comments

Tuesday, December 28, 2004

Soalan dpd 1kHz:
... abg hamdi ada code generator buatan sendiri la.. envy, envy.. tapi kata pakai O/R Mapper, napa buat code generator pulak?


Kerana kedua2nya adalah utk tujuan yg berbeza. Saya guna code generator saya utk janakan code yg menggunakan OR mapper castor dan macam2 lagi lib yg ada spt xml parser electrix xml. Apa2 lib yg selalu saya guna dlm code biasa dan mempunyai ciri2 tertentu, selalunya akan saya masukkan ke dlm code generator saya.

Selain source code java, code generator saya guna hasilkan mapping file utk or mapper castor tu sekali, macam fungsi xdoclet la.

Code generator saya juga hasilkan pelbagai JSP yg mengandungi javascript mudah shj, disebabkan kejahilan saya dlm javascript, spt calendar utk pilih tarikh, email validation dan lain2 yg simple2 aje.


AOP ni dah pakai betul2 la kiranya? dah ada dlm production la?


Saya dah guna AspectJ lebih 1 tahun dah. Malangnya, belum berpeluang utk deploy kat production selain deploy kecik2 aje. Dah lebih 5 module kecik yg saya buat guna cara development berorientasikan code generator dan aop dan saya amat berpuas hati dgn hasilnya.

Memang la buat sorang2 ni dan module2 yg dihasilkan pun kecik2, tak benar2 menguji cara development ini, tapi, setakat pengalaman lebih 4 tahun buat development sorang2, lebih 1 tahun buat development dlm team seramai 2 orang dan lebih 3 tahun buat development lebih 10 orang, saya yakin caranya boleh diapply kat team2 sebegini, insyaAllah.


Portal Halal

Portal Halal Jakim. Menarik gak!


Macam2

High availability Tomcat: Configuration Options. Perbincangan tentang di theserverside.


Tentang webspider:

Arale

Nutch

JoBo

Create intelligent Web spiders

(1) comments

Monday, December 27, 2004

Tsunami

Takziah kpd semua mangsa gempa bumi dan ombak besar di Malaysia dan di mana2 jua, terutamanya kpd mereka yg kehilangan anak, ibu, bapa, dan sanak saudara. Sedih gak membaca nasib mereka spt En Zulkifli ini yg kehilangan 5 orang anak. Berat mata memandang, berat lagi bahu yg menanggungnya. Walau bagaimanapun, semoga tabah dan sabar menghadapi ujian yg Maha Esa. Sesungguhnya, Allah lebih menyayangi mereka. Kita dpd Allah, dan kpdNya kita kembali.


Java

ZOË - "Intertwingling Your Email".

Reflexive User Interface Builder 1.1 - UI Builder


Iraq

Video of Mosul suicide bombing.


ThreadLocal, ServletFilter dan AOP

Setelah memasukkan sokongan kpd ThreadLocal utk Castor dlm code generator saya beberapa hari lepas, semalam saya tambah satu ServletFilter khas utk cleanup Castor Database yg mungkin masih 'tergantung' dlm ThreadLocal tu. Approach ini ada sedikit persamaan dgn salah satu approach Hibernate yg menggunakan ServletFilter.

Perbezaannya ialah, seberapa yg boleh, saya guna ServletFilter tu sebagai safety net, iaitu last resort utk bersihkan dan bukan sebagai cara standard membersihkan, kecuali dlm keadaan yg tak dpt dielakkan.

Cairo pun amat menyukai cara ini, tapi utk JDBC krn dia bermain dgn JDBC, tak guna OR mapper.

Sekarang ni tengah test code utk enforce mandatory fields (code java + javascript), masukkan default focus dan email validation (dua2 javascript), diikuti dgn generate view.properties utk biasa (dulu) dan multiple class (yg baru buat ni).

Setakat ini, performance code yg dijana masih agak lembab. Utk insert 11 record ke dlm 9 table mengambil masa lebih kurang 50ms ke 100ms. DB mysql, uP pentium 4. Utk update mengambil masa lebih kurang 16ms ke 20ms. Ini dgn caching dilakukan terhadap mostly read-only tables. Secara umumnya, performance update lebih penting krn selalunya, walaupun tak semestinya, update lebih kerap berlaku dpd insert.

Listing pulak lagi la lembabnya. 1 page secara default akan listkan max sebanyak 10 item shj. Setiap page yg penuh dgn 10 item tu mengambil masa 400ms ke 600ms utk paparan 7 field dpd pelbagai table, utk setiap item.

Sebenarnya, utk insert dan update dah dilakukan 1st round of performance tuning. Utk update, mula2 setiap table menggunakan 1 transaction semasa update. Performance sangat teruk, lebih 100ms. Bila kongsi semua update dlm 1 transaction, performance turun kpd 16ms. Lagipun, update sepatutnya tak berlaku satu persatu, tapi semua table disatukan dlm 1 transaction pun. Kalau fail, sepatutnya rollback.

Utk insert pun sama. Mula2 guna insert 1 table dlm 1 transaction nye yg sendiri. Performance sangat terus, lebih 200ms. Saya implement 1 transaction utk semua insert ni menggunakan ThreadLocal.

Utk listing pun sama gak. 1 transaction utk setiap retrieval. Performance 'hancuss' iaitu lebih 3 saat(!!) utk setiap page dgn 10 item. Bila guna 1 transaction dgn ThreadLocal dan ditutup menggunakan ServletFilter ni, baru la ok sikit performance dia.

Utk improve performance insert dan update dah agak payah gak, tapi utk listing masih ada banyak room for improvement terutamanya caching object yg diretrieve.


Kpd semua peminat ServletFilter yg tak mengenali AOP:
Kesan ServletFilter adalah secara kasarnya, sama dgn aop. Kita boleh letak code sebelum dan selepas code servlet yg lain dan buat keputusan utk tak panggil code servlet yg lain. Sama la dgn aop.

Salah satu perbezaannya ialah aop bukan standard yg dikenali oleh spec servlet jadi susah sikit nak selitkan code tambahan ni menggunakan aop walaupun pun boleeeehh! :D

Satu lagi perbezaannya ialah aop melihat SEMUA code yg wujud spt dgn kaca mata ServletFilter ini. Maksudnya, semua code boleh dilakukan sebelum, selepas dan tengah2 ini, tak perlu standard spec spt ServletFilter utk melakukannya. Ada fahamkan? Ada nampak power aop ka? Anda boleh lakukan macam ServletFilter kat mana2! Feeel the power!! hahahahaha!!


(3) comments

Sunday, December 26, 2004

Tsunami

Pada jam 9:05 am, isteri saya perasan sudu dan garpu yg digantung kat bekasnya bergoyang dan berlaga sesama mereka. Isteri saya cukup hairan, "siapa yg langgar tadi?". Kami perasan cawan2 yg digantung pun bergoyang dan berlaga, kipas dan lampu pun bergoyang2. Saya berdiri tegak dan kebetulan melihat ke dlm cermin. Nampak macam bergoyang. "Eh, saya nak pitam ke?" Keadaan berterusan buat 2-3 minit. "Rumah baru aku nak roboh ke??!! Keluar, semua keluar rumah!!" Saya keluar rumah ke halaman dan berdiri tegak semula. "Eh, kat sini tak bergoyang pun?" Masuk semula. Dah berhenti bergoyang walaupun lampu, kipas dan cawan masih perlahan2 bergoyang dan akhirnya berhenti sama sekali.

Kami tak tahu apa yg terjadi. Jiran2 tak nampak cemas plak. Agaknya rumah kami aje ni. Lori besar lalu ke? Pergerakan bawah tanah ke? Rumah bermasalah ke? (Kami terus tambah dlm defect list utk rumah :))

Rupa2nya, masa berita malam tu, satu gempa bumi yg besar telah berlaku. Alhamdulillah, kawasan saya ni tak de masalah besar.

nst

star

aljazeera


Iraq

Biar betul kata2 bush dlm video ni?! Takkan la setan sangat dia ni sampai sanggup berkata2 begitu terang2an? Agaknya ada orang memalsukan audio dia ni kot? Ntah la...


(0) comments

Thursday, December 23, 2004

Tambahan

Yes! Yes! YES!! Alhamdulillah!! 2 hari punya bug berjaya dikesan dan diperbaiki. Alhamdulillah. Doa saya diperkenankan yg Maha Esa. Jumpa bug tu hari rabu petang, masa siapkan code generator utk listing pelbagai field dpd pelbagai class. Listing tu siap, tapi, tiba2 update tak jalan. kalau lakukan update sebaik shj selepas insert tu jalan plak. kalau nak lakukan update dpd page listing, ok kalau nak update semua field kecuali mana2 field kepunyaan class SystemAccountInfo. Hang kat class ni.

Error dia (dah lupa exception sebenar) lebih kurang ialah masa nak update table, write lock kpd record tersebut masih belum diperolehi. Error ini, secara logiknya berlaku apabila ada 1 transaction yg sedang berjalan dan telah lock satu2 record di masa, ada 1 transaction kedua yg juga nak cuba lock record yg sama yg telah dilock oleh transaction pertama tadi. Transaction kedua pun masuk ke dlm wait state utk menunggu record tersebut diunlockkan. Malangnya, transaction pertama tu, tak lepas2 lock terhadap record tu, menyebabkan transaction kedua tu tidur...

Dapat tahu errornya apa adalah satu usaha di mana, code yg menjalankan transaction kedua tu dpt dicari. Masalahnya, nak cari kat mana berlakunya transaction yg pertama tu. Itu yg bermasalah. Sape la yg tak close transaction ni. Hish! Ialah, ialah, code saya sendiri, tapi code yg mana satu? Adakah memasukkan ThreadLocal support utk DM dalan code generator saya tu menyebabkan masalah besar??!! Mungkin. Tapi code utk implement ThreadLocal ini amat mudah, sepatutnya tak menjahanamkan. Hish!!

Apa hal nye error ni??? Sepanjang hari khamis cuba kesan error dia kat mana. Tak jumpa2 gak. Bila sepanjang pagi khamis tak jumpa langsung, maka, mula la berdoa utk dipertunjukkan jln. Tak jumpa gak.

Hari ini sambung lagi dari pagi tadi. Berusaha bersungguh2 dan berdoa semasa solah jumaat. Balik lepas solah jumaat sambung lagi. Dlm 1 jam, settle, Alhamdulillah, jumpa dah bug dia. Jumpa dah. Lega...

Code generator saya bernyawa semula... Alhamdulillah. :D


Macam2

Perbincangan "Opinion: Enemy of the State" kat theserverside, tentang bagaimana nak menghasilkan application yg 'stateless'.

Another Interesting Set of Struts Best Practices. Lagi perbincangan tentang struts di theserverside.

Interview with Klaus Wuestefeld, founder of Prevayler. Perbincangan agak hangat tentangnya di theserverside. Ramai yg tak suka guts developer utama prevayler nampaknya.


Iraq

3 artikel/wawancara menarik:

Eyewitness Interview: "Iraq Is An Absolute Disaster".

An Interview with Stan Goff.

Little Stalingrad.


Kenaikan Toll

Utk membantah kenaikan toll, sila la ke "No To 10% Toll Hike on the NSE Petition".

(2) comments

Tuesday, December 21, 2004

Tambahan

Java Data Structures (2nd edition). Dah lama tak jengok kat sini. Dah bertukar sikit wajahnya. Isinya, ntah la, tak pasti. Tapi notanya memang panjang.


Hmmm... ehcache nampaknya semakin aktif. Shiftone cache plak dah agak senyap. Adakah kena berpindah ni? Mungkin. Tak pe la, keep in view aje la dulu...


Gangguan email dan internet

Semalam email server KO. Hari ini, internet access plak problem pagi tadi. Baru OK. Sekarang ni pun sekali sekala macam tak betul. Tak pe la. Semoga bila pindah kat office baru, keadaan stabil kembali.


Macam2

Spring AOP Performance Tuning. Hasil dpd 'serangan' AspectWerkz dlm dunia performance utk AOP, Spring telah membalas dgn meningkatkan kelajuan AOP nye plak. Perbincangan tentangnya di theserverside.

Lagi satu AOP implementation: Jeet AOP framework 0.9.7 released. Perbincangan yg agak banyak salah faham di theserverside.

Lagi satu web framework! Macam tapestry, webwork, struts, dan banyak lagi. Nak, satu lagi dah dilahirkan ke dunia. Namanya... Wicket. Bunyi macam criket. Mengikut docs mereka, ia adalah gabungan tapestry dan echo dan berorientasikan swing. Hmmm... hmmm... Saya dah lama masukkan dlm senarai saya rupanya, hehehehe


(0) comments

Monday, December 20, 2004

Macam2

Adduuuuuhhhh!! Glue ver 5.0.2 dah tak leh digunakan lagi! Setakat ver 5.0.1, lesen standard dia masih membenarkan binary distribution. Mulai ver 5.0.2, lesen yg ada ialah evaluation selama 30 hari, selepas tu, tak leh guna lagi.

Nampaknya, saya sangkut sampai ver 5.0.1 aje la utk kedua2 glue dan electric xml. Nasib baik kedua2 dah amat power dah. Semoga ta de apa2 major bugs dlm kedua2nya. Selagi tak de open source replacement utk kedua2nya, saya masih akan menggunakannya. Electric xml adalah xml parser yg cukup matang. Glue aje yg saya kadang2 je guna. Belum berkesempatan utk gunanya betul2.

Mungkin dlm masa terdekat ni...


Struts Live Chapter: Nested POJOs. Satu lagi perbincangan yg secara tak lansung, mendedahkan kelemahan struts. Hmm... rasanya webwork tak de masalah ini. Rasanya la...


Take Control of Your Home.

(0) comments

Sunday, December 19, 2004

Macam2

JRockit JDK ver 5.0 dah releasel. Perbincangan tentangnya di theserverside.


Iraq

For faith and country: insurgents fight on

GI SPECIAL 2


(0) comments

Wednesday, December 15, 2004

Castor OR mapper

Alhamdulillah! Semalam, berjaya jumpa dan perbetulkan bugs yg timbul dpd penggunaan or mapper bernama castor, ver 0.9.4.3.

Masalah timbul bila saya ada satu attribute integer, tapi saya nak overload method set kpd attribute integer supaya menerima Object jenis String sekali yg mana dlm method tambahan tu, akan convert String itu kpd nilai integer. Mudah aje, tapi castor complain tentang conversion yg tak leh ia lakukan dari integer ke String semasa nak sumbat nilai2 class tu kembali ke dlm object. Nak masukkan spt insert, tak de masalah. Nak retrieve yg problem. Saya cuba letak lagi satu method set utk attribute integer tu, kali ini dgn parameter java.lang.Integer plak, jadi dah ada 3 method set utk attribute integer tersebut, setXXX(int x), setXXX(String x) dan setXXX(Integer x). Pun tak leh gak! Waduuuhh!!.

Bila fikir balik, mungkin implementation castor ini dlm reflection agak primitive, mungkin dia ambil method set yg pertama dgn parameter jenis Object dan cuba gunanya. So, saya letak method setXXX(Integer x) tu lebih awal dlm source code berbanding setXXX(String x). Walla! Berjaya! :D


Iraq

Antara kata2 menarik dlm video dlm blog entry saya yg sebelum ini:
And to the American soldiers we say, you can also choose to fight tyranny with us. Lay down your weapons, and seek refuge in our mosques, churches and homes. We will protect you. And we will get you out of Iraq , as we have done with a few others before you.

Go back to your homes, families, and loved ones. This is not your war. Nor are you fighting for a true cause in Iraq .

And to George W. Bush, we say, “You have asked us to ‘Bring it on’, and so have we. Like never expected. Have you another challenge?”


Iraqi resistance attacks on US forces. Satu lagi video. Click preview utk tengok video. File ini lagi besar, lebih kurang 17MB.

AK74 site 1

AK74 site 2

(0) comments

Monday, December 13, 2004

Tambahan - Iraq

You asked us to bring it on. PERGGGHHH!!!!!! Video sangat menarik!! Dpd para pejuang Iraq. Agak besar, hampir 10MB. Tapi, cuba la tengok. Saluuute! Tabik! Allahuakbar!!

Iraqi insurgents attack US supply convoy. Click preview.


Macam2

Daffodil Replicator dah open source. Ia adalah "...data replication tool that allows bi-directional data synchronization between heterogeneous databases – Oracle, SQL Server, Postgre SQL, Derby, Daffodil DB – supporting JDBC drivers, triggers and procedures." Wah, menarik! Check it out db lovers :D

Web test tools. Perbincangan tentang JCrawler, salah satu web test tool, di theserverside. Lain2 ialah JMeter dan Grinder.

Javascript bercakap dgn server apps. Perbincangan tentangnya di theserverside tentang DWR (Direct Web Remoting). Lain2 ialah xmlrpc dan LiveScript.

Blog entry menarik tentang "Struts 1.1 could use some serious refactoring". Harapnya struts version terkini dah tak ada masalah2 ini.

(0) comments

Iraq

Humvees falling prey to war.


Macam2

Introduction to Apache JAMES.


(0) comments

Thursday, December 09, 2004

Sw Dev

Masing lagi sangkut kat update utk pelbagai class/table dlm satu web page. Fungsi utama insert dan update dah hampir siap. Tapi, banyak lagi kena buat spt exception handling dll. Attribute dgn meta data password, username dan country dah disupport sekali. Nak kena tambah lagi. Setakat ini, 1 class action webwork dan beberapa jsp akan dijana oleh code generator utk setiap 1 web page ini.

Setakat ini, web page tu sokong pelbagai class hierarchy yg boleh digabungkan dlm 1 web page di mana 1 web page mewakili 1 set record shj dgn fungsi update/insert kpd semua class2/table2 beserta relationship antaranya. Web page listing utk record2 ini yg ada hyperlink ke web page update ni belum ada lagi. Ni pun kena tambah.

So, kalau nak kena buat fungsi ini dimasa hadapan (bila siap la), 1 fungsi ini akan mengambil masa lebih kurang 5 ke 10 minit utk buat. Berbaloi ke? Hmmm... InsyaAllah berbaloi, at least utk saya.


Macam2

Jazillian - Java to C converter

Game flash penguin. Menarik gak, walaupun tak de maklamat bermakna. Objektifnya hanyalah utk pukul penguin tu sejauh mungkin. Jarak maksimum yg saya dpt setelah mencuba selama lebih kurang 15 minit ialah 322.9.


(0) comments

Wednesday, December 08, 2004

Macam2

Buku "Essential Skills for Agile Development" boleh didownload secara percuma, dlm format pdf. Buku ini boleh didownload satu bab demi satu bab atau semua sekali gus. Saya pilih semua sekali gus. Malangnya, sloooowwww. Utk sesiapa yg punya internet access yg lambat, mungkin elok download 1 bab demi 1 bab.

AW Proxy: Proxy on steroids. Tak de kaitan dgn golongan "aw" yg lagi satu tu. Jgn risau. AW for AspectWerkz. ;) Perbincangan tentangnya di theserverside.

ActiveMQ ver 1.3 dah release. Perbincangan tentangnya di theserverside.


(0) comments

Tuesday, December 07, 2004

Site Tutorial

Terjumpa site tutorial TutorGig. Nampak menarik gak.

(0) comments

Monday, December 06, 2004

Kursus Object Modeling

Saya berhasrat utk mengadakan satu lagi kursus object modeling, selama 4 hari, pada 5, 6, 12 dan 13 feb tahun depan ni. Ia adalah usaha yg lebih lagi utk cuba memahamkan para peserta tentang object modeling. Kursus ini bukan sambungan dpd kursus yg baru lepas. Ia adalah dlm skop yg sama, tapi lebih banyak latihan akan dilakukan.

Pada 5 dan 6 feb, teori dan latihan2 yg lebih banyak akan dilakukan. Sedikit cara bagaimana nak implement juga akan disentuh pada 6 feb. Mula 7 sampai 11 feb, para peserta diminta utk mencuba object modeling kat tempat kerja. Cari la apa2 masalah / user requirements di tempat kerja utk dilakukan object modeling.

Pada 12 dan 13 feb, setiap para peserta diminta utk bentangkan object model mereka terhadap sebahagian dpd masalah / user req. yg mereka pilih. Kemudian, para peserta yg lain akan berbincang tentang masalah / user req. dan object model yg telah dibentangkan. Akhir sekali, saya akan beri pandangan tentang object model pilihan saya, kalau ada la. Kalau object model yg dibentangkan tu dah cukup bagus, tak payah la.

12 feb tu adalah hari sabtu ke 2. Mungkin ramai yg kerja. Saya jadikan hari sabtu tu sebagai pilihan, sesiapa yg dpt datang, datang la. Kalau tak dpt, bentangkan object model anda pada hari ahad. Sesiapa yg tak kerja atau boleh datang hari sabtu, diminta utk bentangkan dulu object model mereka. Jangkaannya, 1/2 jam setiap peserta bentangkan dan bincang ramai2.

Bayarannya adalah lebih mahal dpd kursus sebelumnya dan video tak boleh diambil utk mengawal sebaran ilmu ini. Lokasi masih kat UIA. Sesiapa yg berminat, ada cadangan, dll, bolehlah email kat saya.


Pindah Rumah

Alhamdulillah, semua usaha utk pindah rumah pada hari sabtu lepas berjalan dgn lancar. Sekarang ini tinggal nak unpack barang2 dlm kotak ke tempat simpanannya. Mana nak letak ni...?

Terima kasih kpd rizan krn datang membantu. Berhati2 dlm perjalanan jauh awak tu. Semoga sampai ke destinasi dgn selamat dan mudahnya. Amiin.


Iraq

Seven Days of Hell

Fallujah in Pictures


(0) comments

Thursday, December 02, 2004

Pindah rumah

InsyaAllah, saya akan berpindah rumah hari sabtu ini. Setakat ni, baru 1/3 barang2 yg nak, dah dibawa ke rumah baru menaiki kereta. Barang2 kecik la. Barang2 besar kena tunggu sabtu ni utk dibawa menaiki lori.

5 tahun kat keramat, 4 tahun kat puchong, sekarang ke shah alam plak.


Iraq

Embassy sounds alarm over growing dangers in Iraq

IRAQ FIGHTERS: Religion, country fuel desperate odyssey - cerita yg sangat menarik.

Iraqi rebels creeping back into Fallujah's secure zones: US military


(0) comments

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