Random Awesomeness 2007-10-19
Just a quick note, found this Ruby code snippets while doing my daily ritual reading with my RSS reader today, from Softies on Rails.
class DialUpModem
attr_accessor :speed
def speed=(value)
# Limit the speed to 19200 baud.
if new_speed > 19200
@speed = 19200
else
@speed = value
end
end
end
The setter for speed can instead be replaced by this:
def speed=(value) @speed = [value, 19200].min end
That’s just dope! Ruby always amaze me with her expresiveness.
p.s: An important event happens today, I’ll blog about it later ;)
Salam ‘Idulfitr 1428H
Bulan puasa dah nak habis. Tahun ni, aku rasa aku kurang bersungguh-sungguh meraikan Ramadhan :(
Selamat Hari Raya Aidilfitri
Tahun ni aku tak ambil cuti raya tambahan pun, maknanya raya keempat aku dah kerja :(
Maaf Zahir Batin
Tapi raya tahun ni, aku mampu nak pergi berziarah dgn lebih mudah dan senang, sebab motor aku dah ada 4 tayar dan bumbung sekarang :)
Buat semua pengunjung anti-keseronokan, semoga dapat menikmati hari lebaran dgn penuh bermakna bersama orang-orang yang tersayang…
MVC Framework Untuk ASP.NET
Dalam ALT.NET Conference yg lepas (dekat Austin, TX. Mimpilah kalau nak ada kat sini), antara perkara paling hot yang dibincangkan ialah pembangunan MVC framework dalam ASP.NET yang official dari Microsoft sendiri. Korang boleh pergi ke blog entry dari Scott Hanselman dan tonton pembentangan dari beliau dan Scott Guthrie pasal benda ni. Ia dalam streaming Silverlight, kalau nak download boleh cari linknya dari comment di blog entry tu.
Aku memang tertunggu-tunggu perkembangan seperti ini. Postback dan event based model yang digunakan dalam ASP.NET memang mudah untuk digunakan, tapi only to a certain extent. Kelemahan paling utama ialah sukar untuk diuji sebab wujudnya coupling yang tinggi antara presentation codes dan business codes.
Dalam kes ni, penggunaan MVC telah terbukti lebih mudah utk diuji. Ini kerana kita boleh menguji “controller” sahaja tanpa perlu menguji sehingga ke “view” menggunakan browser.
Walaupun ada implementasi open source untuk MVC seperti MonoRail, tapi yang kurang menarik bagi aku ialah aku ialah kita tak dapat nak guna server controls (TextBox, GridView, LinkButton, etc) which I like a lot, tapi kena guna cara yang mirip seperti templating seperti yang biasa digunakan dalam framework-framework lain dalam Java, PHP, dsb.
Kita tunggu macam mana MVC dari Microsoft ni pulak. Harap-harap banyak helper tools yang integrated sekali dalam Visual Studio nanti. Senang sikit kerja.
The Greatest Compliment A Developer Can Receive
Phil Haack recently wrote a really nice article, on the greatest compliment a developer can receive.
Bagi seorang programmer, memang situasi biasa kita “mewarisi” code orang lain, untuk sambung development atau bugfix dan sebagainya. Dan dalam kebanyakan masa, kita akan kritik code orang tu. I too am guilty of that, once in while.
Bila difikirkan, kita juga sebenarnya prone to that very same situation. Bila kita wariskan code pada orang lain, kita juga akan dikritik. Itu kadang membuatkan aku malu bila aku tulis code yang less than satisfactory, or not quite that elegant. Jadi bila aku terpaksa tulis code yang begitu, aku akan sertakan dengan comment. Terangkan sikit situasinya, as a defense for myself :) I am no idiot, the situation puts me that way ;P
Itu juga membuatkan aku sedar, kita tak patut kritik sangat code orang. Mungkin apa yg programmer dahulu tulis tu mungkin terpaksa dilakukan, berdasarkan keadaan yang menekan pada masa tu. Kena jadi belas kasihan sikit, jangan nak komen je.
Fortunately I had enough tact to keep those thoughts to myself. In the future, I’ll work harder on the empathy side of things. When I inherit code, I’ll assume the developer wrote it in a 72 hour straight coding binge, his World of Warcraft character held hostage, bees all over his body, with only an hour to finish the code on a 386 before everything really starts to go south.
Given those circumstances, it’s no wonder the idiot didn’t use a
usingblock around thatIDisposableinstance.
Bagi seorang programmer, pujian yang paling sedap didengar ialah bila orang yang warisi code kita tu, bagi tahu bahawa code tu bagus.
That’s why I was particularly pleased to receive an email the other day from a developer who inherited some code I wrote and said that the solutions were, and I quote, “really well written”.
Seriously? Am I being Punk’d? Ashton, where the hell are you hiding?
This is quite possibly the highest compliment you can receive from another developer
I want to earn this some day. That’d be nice.
I Love Coloring

Whoa, that is some intense display of affection!
Kalau Bukan .NET…
Kawan aku semasa satu interview kerja menanya/ditanya, “Kalau diberi masa dalam X bulan develop satu project menggunakan language lain selain .NET, apa language pilihan anda?”. Yang di-interview dan meng-interview tu dua-dua kawan aku (uuuh, the plot thickens). Aku berfikir, kalau aku ditanya soalan macam ni, apa yang aku nak jawab? Dalam konteks web application, aku akan jawab begini…
Kalau disyaratkan bahawa language tu mesti language yang aku tahu, aku akan jawab PHP. Sebab itu language yang aku agak mahir lepas ASP.NET. Lagipun, aku memang start menceburkan diri dlm web development dgn PHP. Tapi aku tak suka PHP. Aku tak suka languagenya, dan tak suka platformnya, ’nuff said. Tapi banyak application sedia ada ditulis dlm PHP, jadi senang nak cari ready made products, just need to hack your way through.
Kalau tak kisah pasal my current knowledge of the language/platform, dan diberi sedikit masa utk research, maka aku akan pilih Erlang. Ini language yang paling aku teringin nak master selepas .NET. Tapi learning curvenya nampak curam, dan kat Malaysia rasanya zero penggunaan Erlang ni, jadi tinggi la harapan boss akan tolak cadangan ni. Kenapa aku suka? Sebab dia unik dan berlainan sama sekali dengan language-language lain. Satu lagi ialah kerana sifat semulajadinya membolehkan kita menulis multithreaded (multiprocess) program dengan sangat mudah, menjadikan ia calon paling sesuai bila performance adalah kritikal.
Language seterusnya ialah Ruby. Sebenarnya aku berbelah bagi antara Erlang dan Ruby, dua-dua nampaknya menarik. Kalau aku kebetulan berasa kurang adventurous, maybe aku pilih Ruby, sebab high learning curve Erlang tadi. Ruby makin popular kat Malaysia sekarang, lebih-lebih lagi dgn melonjaknya Ruby on Rails, jadi ada harapan boss akan luluskan. Makin ramai yang bergiat dlm Ruby, senang nak cari kawan dan orang yang boleh ditanya. Aku paling tertarik dgn languagenya yang “cantik”.
Selepas itu, aku akan pilih Python. Popularity Python rasanya semakin meningkat bila populariti Ruby meningkat, sebab orang kata kedua-duanya punya feature yg agak sama. Aku tak berapa tahu sgt sebenarnya, tapi sebab ada kawan-kawan yang suka, aku teringin nak cuba jugak. Aku pernah install Python utk run some application (Trac dan Docutils). Aku tengok ada beberapa ciri-ciri platform dia yang aku suka. Tapi aku takut dgn languagenya yang “tab sensitive” :)
Calon seterusnya, ialah Java. Sebenarnya bukan Java as in the language, tapi the platform. Plaform Java ialah yang paling rich nampaknya dlm enterprise development, banyak open source projects yang boleh digunakan. Cuma aku kurang minat nak belajar Java language, sebab terasa mcm belajar C# semula (atau C++), aku dah bosan. Mungkin aku akan cuba Groovy atau Scala, dynamic languages tapi compiled down to JVM bytecodes.
Bila baca balik apa yang aku tulis ni, pilihan-pilihan ni sebenarnya adalah language yang aku teringin nak cuba. Maybe tak sesuai pun utk project at hand :)
Ada beberapa language lagi yang aku nak cuba, but probably too much for my brain to handle right now. Contohnya macam Lisp (Common Lisp dan Scheme), Boo, Haskell, F#, dan beberapa lagi. Takpelah, bak kata orang Jawa, alon-alon… Maknanya, perlahan-perlahan… Bak kata orang Jawa lagi, diseneni wong kok orak nggugu. Maknanya, kena marah pun buat tak tahu je (tak ada kaitan pun, aku cuma nak tunjuk skillzzz aku cakap Jawa).
Free RoR Book From SitePoint
For a limited time offer of 60 days, SitePoint is giving out a Ruby on Rails book completely for free. It’s a 447 pages book, in a 21MB PDF file. Go get it.
– via ITTutor.net

