N.11 Ijok
Dulu, kalau orang tanya aku asal dari mana, aku akan kata Kuala Selangor, daerah aku. Sekarang, aku jawab Ijok, kampung aku yang sebenar. Sebab Ijok dah famous! Ya, tempat pilihanraya kecil tu, yang hari tu kecoh bergaduh masa penamaan calon. Tak sangka, samseng-samseng jugak orang kampung aku. Sila gerun ye. Jangan buat aku marah lepas ni ok, nanti aku baling botol air baru tahu.
Aku dengar dah banyak pembangunan yg dijalankan kat kampung. Jentera-jentera berat (disamping jentera pilihanraya parti masing-masing) bekerja 24 jam membaik-pulih jalanraya, memacak tiang-tiang lampu baru, membuat gelanggang futsal. Itu yang aku dengarlah dari rakan-rakan seperjuangan (dan rakan tak seperjuangan) di kampung. Aku tak sempat balik, kerja menggunung. Terima kasih banyak lah diucapkan kepada para pembayar cukai sekalian.
Untung betul kampung aku mendapat durian runtuh. Itulah, cakap kawan aku, kalau jalan kat kampung kau lama tak berturap, kau pergilah bunuh wakil rakyat kau. Macam magic, sekelip mata semua tukar baru. (Disclaimer: Penulis tidak bertanggungjawab atas apa-apa kejadian buruk yang mungkin berlaku).
Tak sabar rasanya nak pergi mengundi. Pilihanraya umum yg lepas aku tak sempat daftar mengundi. Kali ni aku layak dan bersedia utk menunaikan tanggungajawab pada negara. Penat aku berlatih memangkah tadi tau. Maklumlah, sekarang ni macam senang betul jadi undi rosak. Kena pangkah betul-betul. Pangkah yang adil.
Burin-Burin?
Yesterday while chatting with Peck Li, a sudden image of an uncanny character conjured upon my mind. In haste, I opened up my image editor, and managed to capture it into a tangible form for future reference.

C# ?? Operator
I’ve been doing a lot of VB.NET in past couple of years, and now my job needs me to write in C#. No big deal really, I’m quite fluent in both. But most of my C# knowledge is what I brought into from previous experience with C/C++. C#, especially the version 2.0, has a lot of cool new features which I am not totally familiar with yet. The operator ?? is one of them.
Observe the following code:
string status = GetStatusFromDatabase(); if (status == null) status = "N/A"; Print(status);
This is a pretty typical way to check for null values. A slightly shorter syntax would be by using the ternary operator:
string status = GetStatusFromDatabase(); Print( (status == null) ? “N/A” : status );
A much more shorter way in C# 2.0, is to use the ?? operator:
Print( GetStatusFromDatabase() ?? “N/A” );
All codes above will yield the same result. The ?? operator only works for reference types (not value types) since it checks against null. This is quite useful since we now have Nullables in C# 2.0, such as Nullable<int>, Nullable<float> (or int? and float? for short-hands).
p.s: In .NET 2.0, you can use String.IsNullOrEmpty(status) method to compare the string against null and empty. No need to use (status == null || status == String.Empty) any more.
p.p.s: Use ternary operators sparingly. Only use it when it doesn’t affect readability (too much). Code that is easier to be read, is easier to be maintained.
p.p.p.s: Having nulls, in certain people’s opinion, is bad and can affect code “flow”. So some prefer if their language doesn’t even support the concept of null. An object must be initialized with it’s “empty” value. No such thing as nothing-ness.
I Dream Of Code II
Aku sakit gusi (dah agak sembuh dah sekarang), menyebabkan aku terbangun di tengah-tengah malam sebanyak 2 malam.
Malam pertama. Tiba-tiba aku terbangun. Dlm kepala aku masa tu, antara separuh sedar dengan tak, aku tengah bingung pasal process dan workflow, dan kenapa API (Application Programming Interface) yang aku tengah pakai (ke tengah buat? tak ingat) tak jalan seperti yang aku nak. Bila aku dah betul-betul sedar, baru aku tersedar rupanya aku gusi aku sakit.
Gusi aku memang dah sakit dari siangnya, tapi malam tu, jadi teruk sampai jangkit ke tekak. Rasa sakit bila telan liur.
Malam kedua. Aku terbangun lagi. Kali ni aku rasa marah, sebab aku berharap sakit dah sembuh, rupanya tidak. Aku tak ingat apa yang aku mimpikan sebelum terbangun tu. Cuma yang aku pasti, bila bangun pagi esoknya, dalam kepala aku ialah TDD (Test Driven Development).
Dalam buku Head First Design Pattern yang aku beli beberapa minggu lepas, dia sarankan agar baca buku tu sebelum tidur, make it as the last mind challenging activity to do before going to sleep, sebab dalam tidur, subconscious mind akan proses input yang dikumpul semasa kita jaga.
Dalam satu artikel yang aku baca tadi, tentang 77 Ways To Learn Faster, Deeper, and Better,
Sleep on it. Dr. Maxwell Maltz wrote about in his book Psycho-Cybernetics about a man who was was paid good money to come up with ideas. He would lock his office door, close the blinds, turn off the lights. He’d focus on the problem at hand, then take a short nap on a couch. When he awoke, he usually had the problem solved.
related: I Dream Of Code

