Monday, November 26, 2007

Paku

Seorang ayah yang bijak menyuruh anaknya menancapkan beberapa paku di sebuah batang kayu, kemudian setelah itu memintanya untuk mencabutnya satu demi satu sampai semua paku tersebut tercabut dari batang kayu itu.

Anak itu kemudian berkata: "Ayah, untuk apa aku menancapkan paku kemudian mencabutnya lagi?"

Ayahnya berkata: "Anakku, itu adalah sebuah perumpamaan. Paku yang kau tancapkan itu seperti sebuah luka yang kau berikan pada hati seseorang. Kemudian ketika kau mencabutnya, itu ibarat usahamu untuk meminta maaf kepadanya. Lihatlah, bahwa paku itu mungkin bisa kau cabut semuanya, akan tetapi kau tetap tidak bisa menghilangkan sisa dari tancapan paku itu"

Friday, November 23, 2007

Love your job… but…

Berikut ini saya kutipkan pidato dari N.R. Narayana Murthy, seorang tokoh IT dari India yang telah menjadi CEO dari Infosys Technologies selama 20 tahun. Pidato ini disampaikan dalam sebuah pertemuan karyawan beberapa perusahaan IT di India.

Sedikit tentang Pak Narayana Murthy. Selain di Infosys, beliau juga menjadi konsultan di banyak perusahaan (lihat profil beliau di wikipedia). Karena kontribusi beliau yang sangat besar bagi dunia IT ini, beliau termasuk dalam 50 orang paling berpengaruh versi majalah Asia Week (tentang ini saya masih ragu, karena saya cari di web asiaweek tidak ada - pen). Saat ini, beliau juga sedang menjadi konsultan IT bagi perdana menteri Thailand.

Kutipan pidato ini saya dapatkan dari software metacafe pro saya (sebuah service software yang bisa didonlot gratis dari http://www.metacafe.com). Sedikit penjelasan, metacafe adalah sebuah portal sharing untuk berbagai jenis resource, dan metacafe pro akan mendownload resource-resource tersebut secara otomatis setiap kali kita konek ke internet. Resource-resource tersebut free, jadi halalan thoyyiban.

Beliau memberikan ceramah dengan judul: "Love your job, but never fall in love with your company, because you never know when company stops loving you". (selanjutnya tak bahasa Indonesiain aja, biar lebih jelas). Banyak orang yang bekerja 12 jam sehari, 6 hari seminggu. Beberapa karena mereka dikejar deadline pekerjaan, beberapa karena mereka ketagihan dengan tempat mereka bekerja, dan yang lain punya alasan mereka sendiri-sendiri. Akan tetapi apapun alasannya, berada di kantor terlalu lama (overtime) tidak baik pengaruhnya bagi dirinya dan juga bagi perusahaan atau organisasinya (dan juga bagi keluarganya, apalagi bagi yang sudah punya istri dan anak –pen). Kebanyakan orang-orang yang bekerja overtime menjadi orang yang senang COMPLAIN tentang orang lain, IRRITABLE (sensitif), dan gampang marah.

Cara yang baik bagi seseorang untuk bekerja adalah:
1. Bangun pagi, sarapan makanan yang baik bagi kesehatan, dan berangkat kerja
2. Bekerja keras dan cerdas selama 8 atau 9 jam
3. Pulang
4. Baca komik, lihat film, cabuti rumput di kebun, sirami bunga, bermain dengan anak-anak, dan lain-lain
5. Makan makanan yang baik dengan cara makan yang baik, dan tidur dengan nyenyak.

Kata beliau: "Things will happen while you are asleep, but you will have the energy to catch up when you wake". (kita juga butuh istirahat, karena energi dari istirahat itulah yang akan bisa digunakan untuk menuntaskan masalah-masalah yang kita hadapi – pen)

Kalau saya membahasakan apa yang disampaikan Pak Narayan ini: bekerjalah dengan keras dan cerdas, tapi ingat bahwa ada yang lain yang punya hak atas diri kita (baca: keluarga, masyarakat, rumah kita, halaman di sekitar kita, termasuk diri kita sendiri). Karena ketika semua hak tertunaikan, maka semua akan berjalan dengan baik. Seperti pedoman relawan rumah zakat indonesia yang saya dengar pas dulu saya ndaftar jadi relawan: "Tenangnya
ketika hak tertunaikan
".

Semoga bermanfaat.

Tuesday, November 20, 2007

AJAX

AJAX yang dimaksud di sini bukan merupakan suatu daerah di Inggris sana. Bukan pula nama klub sepakbola. AJAX yang dimaksud di sini adalah sebuah teknologi baru yang mulai populer pada tahun 2005 sejak dikeluarkannya Google Suggest (pencarian yang ketika kita mengetikkan keyword langsung muncul suggestion yang berkorelasi dengan apa yang kita cari). Dalam perkembangan selanjutnya AJAX kemudian digunakan pada hampir semua aplikasi Google, entah itu Gmail, Google Map, dan Google Office.

AJAX merupakan singkatan dari Asynchronous JavaScript And XML. Dia bukan merupakan bahasa pemrograman baru, tapi ia merupakan perkawinan yang mengagumkan dari Java Script dan XML. Dalam prakteknya, tidak hanya JavaScript dan XML yang diintegrasikan, tapi juga PHP dan kadang juga Java. Tentu saja, karena kita akan bermain pemrograman web, maka paling tidak kita harus sudah akrab dengan tag-tag HTML. Oleh karena itu, menggunakan AJAX serasa seperti dihadapkan dengan banyak mainan yang bisa kita otak-atik semau kita.

Muncul pertanyaan: apa kelebihan AJAX? Kan dia hanya menggabungkan teknologi yang sudah ada yaitu JavaScript dan XML?

Jawaban dari pertanyaan tersebut adalah karena dengan proses asinkron yang direquest melalui JavaScript, kita bisa membuat prosesnya lebih cepat karena diolah di client (seperti kita ketahui, JavaScript merupakan client-side scripting). Selain itu, dengan AJAX, proses refreshing sebuah halaman tidak harus dilakukan penuh satu halaman, akan tetapi cukup dilakukan pada bagian halaman yang membutuhkan refresh saja. Dengan efisiensi komunikasi ini, beban server juga akan semakin berkurang.

Prinsip dari pemrograman AJAX sebenarnya cukup sederhana. Pada bagian selanjutnya, akan penulis jelaskan program sederhana berbasiskan teknologi AJAX.

Langkah pertama, bukalah editor kesukaan anda (penulis memilih menggunakan aptana IDE karena gratis dan powerful – Aptana dapat didownload di http://www.aptana.com). Kemudian buatlah tiga file, yaitu: index.htm, simple.js, dan simpleResponse.xml.

Untuk index.htm, ketikkan scriptnya sebagai berikut:
<!DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html
xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta
http-equiv="Content-Type"
content="text/html; charset=iso-8859-1"
/>

<title>Simple AJAX Application</title>

<script
type="text/javascript"
src="simple.js"></script>

</head>

<body>

<form
action="#">

<input
type="button"
value="Start simple AJAX Request"
onclick="request();"
/>

</form>

<div
id="simpleResponse"></div>

</body>

</html>


Form ini hanya terdiri dari satu button yang akan melakukan request begitu di-click (onclick="request();"). Method request ini dipanggilkan dari simple.js yang dipanggil di dalam tag script di dalam tag head.

Untuk simple.js, ketikkan scriptnya sebagai berikut:
/**


*
@author
Arwan
A
Khoiruddin


*/

var
xmlHttp;


function
createXMLHttpRequest()
{

if
(window.ActiveXObject)
{

xmlHttp
=
new
ActiveXObject("Microsoft.XMLHTTP");

}
else
{

xmlHttp
=
new
XMLHttpRequest();

}

}


function
request()
{

createXMLHttpRequest();

xmlHttp.onreadystatechange
=
handleStateChange;

xmlHttp.open("GET","simpleResponse.xml",true);

xmlHttp.send(null);

}


function
handleStateChange()
{

if
(xmlHttp.readyState
==
4
&&
xmlHttp.status
==
200)
{

var
result
=
xmlHttp.responseXML;

hasil
=
result.getElementsByTagName("response")[0].childNodes[0].nodeValue;

alert("the server replied with "
+
hasil);

hasil
=
result.getElementsByTagName("subresponse");


var
i=0;

var
docHtml
=
"";


while
(i
<
hasil.length)
{

hasilSub
=
hasil[i].childNodes[0].nodeValue;

docHtml
=
docHtml
+
"<i>"
+
hasilSub
+
"</i><br>";

i++;

}

document.getElementById("simpleResponse").innerHTML=docHtml;

}

}

Function yang dipanggil pertama kali adalah request(), proses ini akan meng-create objek xmlHttp untuk request. Kalau browsernya IE, maka xmlHttp akan dibuat berupa ActiveXObject, untuk selain IE, objek xmlHttp dibuat berupa objek xmlHttpRequest(). Setelah itu, pada saat kondisinya readyState (xmlHttp tidak sibuk), xmlHttp akan melakukan proses yang diinginkan, dalam hal ini dalam handleStateChange. xmlHttp akan membuka (GET) file xml yaitu simpleResponse.xml.


Untuk simpleResponse.xml, ketikkan sebagai berikut:
<?xml
version="1.0"
encoding="utf-8"?>

<response>

Hello, this is a simple response

<subresponse>sub satu</subresponse>

<subresponse>sub dua</subresponse>

</response>

SimpleResponse ini akan diparsing dalam method handleStateChange() sesuai tag-tag yang dipunyainya.

Aplikasi AJAX yang lebih lanjut akan saya berikan dalam tulisan-tulisan selanjutnya. Insya Allah.

Sunday, November 4, 2007

Windows Vista

Beberapa hari yang lalu, laptopku rewel. Ketika mau masuk windows, tiba-tiba hang, dan walaupun sudah ditunggu lama, tetep juga hang. Akhirnya aku memutuskan untuk menginstall ulang dengan windows XP yang aku pinjem dari pak taufiq. Akhirnya bisa. Namun, setelah aku install driver-drivernya, lagi-lagi bermasalah. Windows hanya berbaik hati untuk mengeluarkan tampilan desktop dan tidak memberikan kesempatan bagiku untuk melakukan hal-hal lain selain melihat desktopnya. Hang lagi.

Sebel, akhirnya aku pinjam CD-CD XP temen. Mulai dari XP home, profesional, windows FD (XP service pack 1), sampai service pack 2. Semua aku coba install. Hasilnya, semua tidak ada yang beres. Bahkan ketika proses instalasi langsung diklaim bahwa hardisk-ku mengalami phisical error atau disk damage. Waduh…

Ketika aku sudah sangat down, akhirnya secercah harapan datang. Iseng-iseng install vista yang pinjem dari mas andan, ternyata bisa (jadi bertanya-tanya, kenapa installan XP mengatakan disk-ku damage, ya…??). sampai sekarang, laptopku akhirnya bisa dipakai lagi.

Menurut kabar dari PC Plus, Windows Vista memang berbeda dengan windows versi sebelumnya. Dalam proyek vista ini, Bill Gates terlibat 100% mulai dari perencanaan, pengembangan, sampai testing, tidak seperti dalam proyek-proyek yang lain. Dalam http://www.pcmag.com/article2/0,2704,2088444,00.asp pun dikatakan bahwa proyek windows vista ini adalah proyek microsoft yang terbesar, (bahkan dikatakan bukan hanya proyek terbesar microsoft, tapi proyek terbesar dari seluruh proyek software industry yang pernah ada).

Pada windows XP, microsoft membagi segmen pembeli menjadi home dan professional. Akan tetapi dalam windows vista ini, microsoft membagi ke dalam 5 segmen, yaitu:

  • Home basic (harga: $180)
  • Home premium (harga: $220)
  • Ultimate (harga: $360)
  • Business (harga: $270)
  • Starter Pack (harga: ??)

Menurut PC Plus, versi home basic sampai business didistribusikan di negara-negara lain selain yang tingkat piracynya tinggi semacam Indonesia. Sedangkan versi starter pack didistribusikan di negara-negara dengan piracy tinggi seperti Indonesia (walaupun demikian, nyatanya di Indonesia ini dengan mudah kita bisa mencari versi apapun dari vista, dari basic sampai ultimate, dengan biaya Rp. 0 – pinjem temen - hehehe).

Ada beberapa hal yang baru dari vista ini dibandingkan dengan versi windows sebelumnya (http://www.softwareinreview.com/cms/content/view/77/), yaitu:

  • Windows Aero Desktop Theme à sebuah tampilan animasi yang keren abis, apalagi kalau ditambah dengan software animasi lain seperti yodm (http://yodm-3d.uptodown.com/en/).
  • Improved data backup
  • Live search à kita bisa langsung melakukan searching langsung dari windows explorer tanpa harus mengarahkan ke menu searching: cepat, nyaman.
  • Self healing and shadow copy
  • Windows fax and scan
  • Windows mail replaces Outlook Express
  • Improved configuration tools
  • Improved defender security suite
  • Internet Explorer 7
  • Parental control
  • Windows Media Center, windows media player 11
  • Windows photo gallery
  • Windows mobility center and improved wireless networking tools.

Ada satu tambahan dari saya. Di explorernya vista, kita bisa dengan mudah mengklasifikasikan file yang ada dengan klasifikasi nama, tipe, atau klasifikasi yang lain. Selain itu, ada juga sebuah fitur unik yang ditempatkan di samping layar yang berupa gadget-gadget yang dimanage dalam sebuah windows sidebar.

Ada beberapa komentar saya pribadi tentang vista ini.

  • Driver-driver untuk vista sulit didapatkan. Sampai saat ini, ada satu hardware yang masih unknown dan belum ketemu gimana membuatnya menjadi 'known'. Selain itu, printer jurusan (HP laserjet 1010) juga belum ketemu drivernya (sedih, ndak bisa nggodain mbak azif lagi – dulu mbak azif sering kaget karena printernya tau tau ngeprint – karena aku yang ngeprint dari kelas. Hehehe).
  • Vista sering crash, bahkan di aplikasi-aplikasi yang dulu pas saya pakai XP tidak bermasalah, tau-tau sering ada pesen not responding yang detail permasalahnya adalah appcrash.
  • Ada beberapa aplikasi yang jalan di XP, tapi tidak jalan di vista (walaupun sudah melakukan compatibility wizard). Ini yang membuat saya sedih, karena beberapa games kesayangan saya (feeding frenzy) tidak jalan lagi. Alasannya karena tidak bisa me-load C++ library. Hiks..hiks..
  • Setelah instalasi, harus melakukan aktivasi. Batas waktu maksimum untuk aktivasi adalah 30 hari. Setelah itu, windows tidak bisa lagi digunakan. Ini yang membuat saya bingung. Gimana, ni….? Walau katanya sudah di-crack, tapi tetep aja aktivasi ini tetep jalan. Masak tiap 30 hari saya install vista baru…?

Bagi anda yang ingin upgrade ke vista, cobalah berpikir lebih lanjut. Dari beberapa review yang saya baca di internet (http://www.softwareinreview.com/cms/content/view/77/, http://reviews.cnet.com/windows/windows-vista-ultimate/4505-3672_7-32013603.html, http://www.rsi.sg/malay/podcast/view/20070507160235/1/.html), sepertinya cenderung untuk jangan upgrade ke vista. Gunakan saja XP.

(28 hari lagi, mungkin saya tidak online sehari, karena harus install vista lagi :D)