‘Captcha’ring Comment Spam

Posted by Ikhwan on August 25, 2005

This one entry of mine suddenly got bombed by comment spams! wth! I rushed straight to the Blogger settings, wanting to change so that only registered user can comment. But I notice this new option: “Show word verification for comments?”.

Is this a new feature? Yes, it’s new. I was really looking forward for this. It’s a CAPTCHA test to ensure a real human being is behind the keyboard. Like the ones they use in Yahoo! Mail or Hotmail registration where there’s a distorted image of some letters and you need to key-in the letters in a textbox. I enabled it right away. From now on, to comment on this blog, you’ll be tested first to make sure you are not a machine controlled automated comment bot. Hope you wouldn’t mind :)

Gunakanlah StringBuilder Utk Menyambung String

Posted by Ikhwan on August 25, 2005

Satu entry bertajuk Never fail an interview question about System.String or StringBuilder again !!!! di blog Sahil Malik ni mengingatkan aku pasal teknik menyambung string dlm .NET. String data is usually stored in System.String object. Biasalah tu. Dan bila nak sambung dua string (append or concatenate) biasanya kita pakai symbol “+” seperti ini:

string foo = "Mahukah awak " + "minum saya?";

Tapi, mengikut blog entry tersebut (dan juga banyak artikel lagi yg dah aku baca dulu), System.String ni special sikit, ia adalah object tapi dia tak bersifat dgn sifat2 reference type (dlm .NET ada 2 jenis type; value dan reference). Ia adalah “immutable object”. Bila assignment dilakukan (umpukan, tanda “=”), biasanya pembolehubah reference type sebelah kiri akan copy the reference dari sebelah kanan (copy “memory address”, mcm pointer la utk org2 C/C++). Tapi object String ni special sikit, dia akan make a whole copy of the original object, not just the reference. Ini bermaksud, ada new object instantiation, ada extra memory allocation dah berlaku. Instead of appending the “minum saya” string onto the “Mahukah awak “ string, it will allocate a new string and put into it the combination of both. And again make a new copy of the new string and put it in the variable foo. Alamak, ter”speaking” pulak, susah la nak terang dlm BM :)

Object instantiation will cost some overhead, jadi tak berapa bagus la buat selalu. Tapi kalau setakat dua string tak kisah sgt. Bila byk string yg ingin disambung, dan dibuat berulang2 maka jadi lembab la sikit code kita.

string bar = "Sejak saya " + "jumpa awak, " +
                "tidur " + "tak lena, " +
                "makan " + "tak kenyang.";

Kalau dah pjg mcm ni, tentu byk new string object yg dicipta. Cara yg lebih baik ialah menggunakan System.Text.StringBuilder. Code di atas boleh ditulis sebagai:

StringBuilder sb = new StringBuilder("Sejak saya ");
sb.Append("jumpa awak, ");
sb.Append("tidur ");
sb.Append("tak lena, ");
sb.Append("makan ");
sb.Append("tak kenyang.");

//utk tukar pada System.String
string foobar = sb.ToString();

StringBuilder object di instantiate sekali shj, string2 lain akan di append pada object tadi. Panjang la sikit, tapi takpe lah bersusah2 sedikit demi performance ye dak.

Pelik kan String dlm .NET ni? Tapi sebenarnya dibuat begini utk memudahkan user jugak. Boleh anggap String mcm value type biasa. Ini khususnya memudahkan seperti dlm isu “shallow copy” versus “deep copy”.

p.s: Alamak, ingat nak tulis pendek je, jadi pjg pulak. Took some office hour for this, sorry ye boss :P

Ctrl+C To Copy Dialog Box Text

Posted by Ikhwan on August 24, 2005

Thanks to this blog entry, aku baru tahu dgn menekan Ctrl + C pada satu2 dialog box, kita boleh copy teks yg dipaparkan. This should be quite useful, lebih2 lagi bila nak copy error message dan post ke forum atau email.

Tambahan: Another shortcut tips, again from another blog. Ctrl + Shift + N to instantly remove all text formattings in Ms Word. Because plain text rocks babeh!

Persetankan Semua Itu

Posted by Ikhwan on August 24, 2005

Lama tak tulis dlm ni. Kenapa ye? Entahlah. Sekarang ni makin ramai rasanya baca blog ni, jadi aku rasa mcm tertekan sikit nak tulis. Macam kena perah otak lebih sikit. Sebab tu la kot? Can’t bear the limelight? Aaaaaah persetankan rasa tertekan itu, aku nak tulis pakai sesuka hati sanubari je ini malam.

So whats going on lately? Apa ye.. Minggu lepas aku kena pergi ke seminar bertajuk “Achieving Results with Influence” kat Port Dickson. Belajar cara menggunakan “influence” atau nama lainnya “persuasion”. Takde la kena mengena sgt dgn kerja aku ni, lebih pada soft-skills. Aaaaah persetankan kena mengena atau tak. Dpt knowledge free kita layan je la. Mungkin bos aku nak kasi peluang relax2 sikit kot. Lepak2 kat resort, sedut2 udara laut, mandi2 air panas (rumah aku takde air panas). Makan sedap, tu yg penting tu. Tapi yg sinisnya, aku dgn kawan2 aku telah bersetuju bahawa dgn kos menghantar kitorang ke kursus ni, lebih baik hantar kitorang ke TechEd Asia kat Singapore. Berganda2 lebih menyeronokkan!

Work has been pretty boring lately. I have a bunch of tables to study from the legacy system my company used. Apa la diorang buat ni. Ada ke satu table tu sampai 150 column lebih. Apa ke jadahnya. Kau bayangkan nak buat insert statement dia mcm mana. Boleh kena athma tau kena manage SQL statement pjg mcm tu. Kau pun tahu aku tak suka SQL statement kan. Kitorang kena buat some sort of web-based front for a module. Aaaaaah persetankan dgn column2 tu. Aku rasa aku tak nak pakai semua, pakai yg perlu dulu je. Tapi risau juga kalau esok2 bila nak buat integration macam mana la gamaknya.

Baru2 ni terserempak pulak dgn IoC - Inversion of Control - atau kalau ikut Martin Fowler di panggil Dependency Injector. Contoh framework yg ada ialah Avalon (dah mati kot projek ni) dan Spring. Tengok sikit2 je, dapat la sipi2, tak sempat nak baca lagi. Aaahhh, persetankan dgn sipi2, nanti ada masa aku nak baca betul2. Another one to put in my to-acquire-knowledge list.

Have quite some bunch of things going on in my mind. Some of it has been pending for a looong time. Tapi semuanya tak boleh dipersetankan begitu sahaja, kena buat jugak, tapi haven’t have enough courage yet to face the ugly face of laziness. Apa la laziness ni, kenapa la kau ugly sgt. Sungguh persetan kau laziness…

Debu-debu Jerebu

Posted by Ikhwan on August 11, 2005

Makin hari makin teruk pulak jerebu ni. Asapnya makin tebal. Kalau minggu lepas rasa macam ada jiran bakar sampah sebelah rumah, hari ni pulak rasa macam ada rumah jiran terbakar.

Tanah kelahiran aku Kuala Selangor dah capai tahap Indeks Pencemaran Udara yg paling tinggi. Keluarga aku kat kampung nampaknya sihat, cuma adik aku sorang tu pedih2 mata. Harap kawan2 dan jiran2 lain pun sihat shj hendaknya. Tapi rasa mcm bangga pun ada jugak sebab nama Kuala Selangor dah terpampang di dada akhbar di dalam dan luar negara, sama ada online ataupun offline.

Yg susah bila jerebu ni ialah penunggang2 motorsikal tegar macam aku ni. AlhamduliLlah, setakat beberapa hari ni tak ada lagi apa2 masalah kesihatan, walaupun aku macam biasa la degil tak mau pakai penutup mulut (ke penutup hidung?). Aku sebenarnya ada beberapa tips supaya penunggang2 seperti kami senantiasa kekal anggun sungguhpun terpaksa menempuh jerebu sehari-harian.

  • Utk mengelakkan penyakit2 respiratori (respiratory illness), kurangkan bernafas semasa menunggang motorsikal.

  • Utk mengelakkan kerengsaan pada mata (eye irritation), tutuplah mata semasa menunggang motorsikal.
  • Utk mengelakkan menunggang motorsikal, belilah kereta. Jika tidak mampu maka gunakan shj kemudahan pengangkutan awam yg ada seperti bas, monorel, beca, feri, bot tambang, atau kereta kabel.
  • Tungganglah dgn laju supaya partikel2 jerebu tidak berkesempatan utk masuk ke dlm hidung.
  • Banyakkan minum air sebelum, semasa, dan selepas menunggang motorsikal.
  • Kurangkan aktiviti menunggang motorsikal di luar rumah.
  • Amalkan gaya hidup sihat. Amalkan tabiat pemakanan yg baik, selalu bersenam, dan jauhi hubungan kelamin secara rambang.
  • Jika anda memakai topi keledar, pastikan tali keselamatannya disemat dgn sempurna. Memakai topi keledar tanpa memasang talinya adalah sama bahaya dengan tidak memakai topi langsung. Kau tak tengok iklan buah tembikai pakai topi keledar kat TV ke?!

Harap2 jerebu ni akan hilang secepat mungkin. Wahai hujan, turunlah dikau, sapulah kedukaan ini pergi.

Penuh Fluorida

Posted by Ikhwan on August 09, 2005

Pagi ini aku memberus gigi dengan pencuci muka.
Bila rasa nak termuntah baru aku perasan yang aku picit tadi bukan ubat gigi.
Tentu selepas ni gigi aku tak ada jerawat lagi.

DTTF: Tanya Pun Marah

Posted by Ikhwan on August 04, 2005

Nila Utama :
Ermmm, aku ada benda nak tanya kau lah.
Sang Sapurba :
Apa dia? Tanya je lah.
Nila Utama :
Alah, aku takut kau marah lah.
Sang Sapurba :
Tanya je lah. Benda apa sampai aku nak marah ni?
Nila Utama :
Tak ada apa sangat. Tapi aku takut kau marah la.
Sang Sapurba :
Ok la aku tak marah. Tanyalah.
Nila Utama :
Betul ni tak marah?
Sang Sapurba :
Betul… Cepat la tanya!
Nila Utama :
Betul ni? Aku nak tanya ni..
Sang Sapurba :
Iya lah.. Tanya je lah.
Nila Utama :
Alaaaah, aku takut kau marah lah…
Sang Sapurba :
Hish, dia ni! Aku seligi kang! Tanya je lah.. Aku janji tak marah.
Nila Utama :
Betul ni? Janji ye? Aku nak tanya ni..
Sang Sapurba :
Ok, cepatlah.. Apa dia..
Nila Utama :
MULUT KAU BAU BUSUK LAH…
Sang Sapurba :
Itu bukan PERTANYAAN!