Read, With the Name of Your Lord Who Created

Archive for March, 2008

Film Yang Menjadi Fitnah II

Posted by triaslama on March 30, 2008

Satu hal yang perlu kita sadari bersama “Pelajari Islam dengan benar”.

Apakah jika Allah dan Rasul-Nya datang dengan sesuatu yang tidak sesuai dengan hawa nafsu kita, lantas kita menjadi berpaling dan menganggap bahwa hal itu adalah suatu kesalahan??? Saya memang bukan orang yang sangat baik, saya masih perlu banyak nasehat dan bimbingan. Tetapi dengan segala kerendahan hati saya nyatakan bahwa Islam turun bukan untuk menuruti hawa nafsu kita!! Tetapi Islam turun untuk menunjukkan jalan yang benar dan mengatur hawa nafsu ke arah yang benar pula.

Dalam film Fitna the Movie bagian 2 Geert Wilders (pembuat film tersebut) mempermasalahkan Islam diantaranya karena beberapa hal berikut ini:

1. Jumlah umat Islam yang semakin meningkat di Belanda (dan di Eropa) dari tahun ke tahun.
Saya tidak bisa berkomentar tentang hal ini, karena untuk memeluk Islam memerlukan hidayah Allah dan Allah bisa memberikan Hidayah-Nya kepada siapa saja!!!
2. Burqa (kerudung besar bagi Muslimah) yang tidak dilarang di Belanda.
Apakah ada yang merasa terganggu ketika ada seorang wanita yang memakai kerudung?? Kejelekan apa yang ditimbulkan jika seorang wanita menutup auratnya?? Kerudung ditujukan untuk melindungi kehormatan seorang wanita, dan tidak ada yang salah dengan hal tersebut!!!
3. Sekolah yang diliburkan ketika hari besar Islam.
Saya tidak mau berkomentar terlalu banyak untuk ini, tapi di Indonesia hal ini juga terjadi!!! Dan disini ini bukan kesalahan!!!
4. Islam melarang perzinaan.
Keyakinan / agama yang diturunkan kepada nabi dan rasul sebelum Rasulullah Muhammad SAW juga telah melarang perzinaan!!! Jadi apakah salah jika syariat Islam yang dibawa nabi Muhammad SAW melarang perzinaan??? Menurut saya tidak salah!!!
5. Islam melarang perbuatan gay (homoseksual secara keseluruhan).
Keyakinan / agama yang diturunkan kepada nabi dan rasul sebelum Rasulullah Muhammad SAW juga melarang homoseksual!!! Bahkan kaum nabi Luth dihukum dengan hukuman yang sangat berat oleh Allah SWT (dihujani dengan hujan batu dan kota mereka dibalik) karena dosa mereka berbuat homoseksual. Jadi apakah salah jika Islam melarang homoseksual??? Sekali lagi tidak salah!!!

Jika menurut pemikiran Geert Wilders ada beberapa isi dari Al Qur’an yang perlu untuk dihilangkan, maka jawaban saya sebagai orang yang masih perlu banyak belajar cukup ini saja: siapakah dia sehingga merasa berhak menilai bahwa firman Allah ada yang perlu dihilangkan!!! Apakah hal yang perlu dihilangkan itu karena hal tersebut tidak sesuai dengan hawa nafsunya???

Jadi, tolong lihatlah Islam dengan benar.

Posted in Thoughts and Opinions | 2 Comments »

Film Yang Menjadi Fitnah

Posted by triaslama on March 30, 2008

Fitna, nama sebuah film yang belakangan menjadi sangat populer. Film yang merendahkan nabi Muhammad SAW dan melecehkan Islam. Entah motivasi apa yang diusung oleh pembuatnya sehingga mengeluarkan video ini.

Apa yang saya tangkap setelah saya melihat video tersebut adalah, umat Islam dianggap sebagai pegacau yang harus ditaklukkan. Wilders (pembuat film tersebut) telah memotong ayat – ayat Al Qur’an yang mulia tanpa mengkajinya secara keseluruhan. Saya Insya Allah adalah seorang Muslim dan saya sangat tidak setuju dengan cara pandang Wilders yang keliru terhadap Islam.

Semoga Allah segera menghilangkan akibat dari fitnah yang ditimbulkan oleh film tersebut. Semoga Allah membalas perbuatan orang – orang yang menhina dan merendahkan agama-Nya dengan balasan yang semestinya, Amiiinnn…

Posted in Thoughts and Opinions | Leave a Comment »

W3

Posted by triaslama on March 29, 2008

Coba tebak W3 singkatan dari apa?

Salah satu yang terpopuler mungkin ini –> World Wide Web, tapi sekarang ternyata bukan hanya itu! Saat aku sedang chatting dengan seorang teman kuucapkan (lebih tepatnya ‘kutuliskan’) salam kehormatan bagi sesama Muslim yang kurang lebihnya “Assalamu’alaikum Wr. Wb.” dan jawabannya sungguh mengejutkan: W3!

Sesaat aku agak bingung karena baru kali ini aku mendapat jawaban seperti itu ketika mengucapkan salam. Karena yang terlintas di benakku saat dia menjawab W3 adalah World Wide Web.

Beberapa saat baru kumengerti kalau W3 yang dia maksud adalah akronim dari “Wa’alaikumussalam Wr. Wb.” Saat itu langsung kubilang ke dia kurang lebihnya “Kamu kok jawab salamnya irit banget”. Ya jawaban yang sangat irit sampai – sampai aku sempat keliru mengartikannya. Apakah ini yang dimaksud bahasa gaul ya? Berarti aku memang nggak gaul 🙂

Terlepas dari itu gaul atau nggak di dalam salam terdapat doa yang sangat bagus, sangat mulia malah. Pada saat orang lain mengucapkan salam secara lengkap untuk kita sebagaimana yang diajarkan oleh Rasulullah Muhammad SAW hal itu berarti:
Pertama, orang tersebut mendoakan keselamatan bagi kita kepada Allah SWT.
Kedua, orang tersebut mendoakan agar kita mendapat rahmat dari Allah SWT.
Ketiga, orang tersebut mendoakan agar kita mendapat berkah dari Allah SWT.

Luar biasa bukan! Makna yang luar biasa terkandung dari kata yang mungkin bagi sebagian orang biasa – biasa saja. Sudah sewajarnya ketika kita dihormati oleh orang maka kita akan menghormatinya juga dengan penghormatan yang sepadan atau kalau bisa dengan penghormatan yang lebih baik. Jadi ketika ada yang mengucap salam dengan lengkap ke kita, tolong jawab dengan lengkap juga dong! Ingat lho mengucapkan salam itu hukumnya Sunnah, tapi menjawabnya itu Wajib.

Jadi jawaban apa yang kuharapkan ketika aku menuliskan kata salam kepada sesama Muslim? kuharap bukan W3 lagi 🙂

Posted in Six Sense, Thoughts and Opinions | 1 Comment »

(Belum) Ada Judul

Posted by triaslama on March 28, 2008

{

 

 

This post intentionally left blank.

 

==

 

Postingan ini sengaja dibiarkan kosong.

 

 

}

Posted in Six Sense | Leave a Comment »

Pilih Formalitas Atau Intelektualitas?

Posted by triaslama on March 25, 2008

Tulisan ini saya buat karena saya “tergelitik” dengan posting-an seorang teman yang mengeluarkan ‘uneg – uneg’ yang ada di dalam dirinya melalui tulisan berikut ini. Pertama kali mungkin perlu kita sadari bahwa sebagian masyarakat kita masih sangat ‘menjunjung tinggi’ (terkadang memandang secara berlebihan) suatu gelar. Dahulu pada zaman kerajaan orang sangat menghormati dan mengharapkan gelar kebangsawanan. Waktu pun terus bergulir, zaman juga berganti. Saat ini dengan orientasi yang nyaris sama, orang berganti menjadi sangat mendambakan atau bahkan mungkin ada yang sampai ‘tergila – gila’ pada gelar kesarjanaan.

Seolah – olah hidup terasa lebih hidup jika terpampang gelar sarjana (S1, S2, S3) di depan dan di belakang namanya. Menurut saya tidak ada yang salah dengan gelar kesarjanaan yang kita sandang yang menjadi masalah justru bagaimana kita menyikapinya. Apakah selalu dapat dikatakan bahwa pemilik gelar S2 selalu lebih tinggi tingkat keilmuannya dari orang yang hanya mempunyai gelar S1? Sebagian memang begitu, tetapi sebagian yang lain tidak! Ilmu bisa didapat di mana saja, melalui jalur pendidikan informal pun juga bisa.

Satu hal yang perlu saya tekankan disini saya tidak bermaksud mengabaikan apalagi menganggap tidak penting gelar kesarjanaan, disini saya hanya tidak ingin terlarut dalam gelar yang mungkin menyertai nama saya. Gelar kesarjanaan mengandung arti keilmuan bagi orang yang mempunyai gelar tersebut, misalnya seorang dengan gelar S.Kom. (Sarjana Komputer) seharusnya lebih mengerti mengenai komputer (software komputer) dibandingkan dengan seorang Sarjana Ekonomi (S.E.). Seorang dokter sewajarnya lebih tahu masalah kesehatan dibanding seorang Sarjana Teknik (S.T.).

Tetapi memang tidak selalu seperti itu, kisah perusahaan IT raksasa seperti Microsoft, Apple, dan beberapa lainnya yang justru didirikan & dipimpin oleh orang yang justru tidak lulus kuliah S1. Hal ini menjadi bukti nyata ilmu memang tidak hanya bisa dimiliki oleh orang yang lulus kuliah dan menjadi sarjana. Yang terpenting menurutku adalah proses belajar dan eksplorasi yang kita lakukan, dan kita bisa belajar dari mana saja! Kita bukan lulusan S1, S2, atau S3 tidak lantas berarti kalau kita ini orang bodoh. Mungkin saja kita tidak lulus Sarjana karena kita lebih memilih untuk menghabiskan waktu kita untuk melakukan hal yang menurut kita lebih berguna dari pada menghabiskan waktu di bangku kuliah.

Lalu bagaimana dengan orang yang kuliah tapi merasa bahwa kuliahnya tidak berguna? Merasa bahwa dia tidak mendapat apa – apa dari kuliahnya, kuliah cuma buang – buang waktu & mungkin juga buang – buang uang, kuliah is nothing! & mungkin banyak lagi sumpah serapah yang lain. Secara umum kegagalan dalam suatu pembelajaran bisa terjadi karena banyak hal. Misalnya karena sang guru yang tidak bisa mengajar (disini saya tekankan bahwa gurunya bukan bodoh, tapi hanya saja dia mengajar dengan cara yang mungkin kurang dimengerti oleh muridnya). Alasan lain karena murid / siswa yang memang tidak tahu caranya belajar.

Untuk alasan murid / siswa yang tidak tahu caranya belajar, kita harusnya menyadari bahwa kita sudah dewasa (sudah pernah merasakan jadi mahasiswa). Sangat aneh kalau seorang dewasa harus dibimbing step by step seperti anak SD. Kalau kita tidak mengerti suatu hal tentang perkuliahan kita boleh bertanya pada dosen saat itu juga! Kalau tidak mau cara itu, kita bisa tanya teman, atau kita bisa cari sendiri jawabannya melalui cara lain! Terus kalau kita nggak mau bertanya ke teman, malu bertanya pada dosen, ataupun malas mencari sendiri jawaban pertanyaan itu –> Ini salah siapakah???

Saya tidak mau terlalu memperpanjang perdebatan seperti ini, tapi menurutku ketika kita merasa tidak mendapat apa – apa dari perkuliahan (sekali lagi ini menurutku) maka hal pertama yang perlu kita salahkan adalah diri sendiri! Salahkan diri sendiri karena mungkin tidak terlalu berusaha untuk mengerti! Hal kedua yang perlu disalahkan adalah diri sendiri! Kita ini sudah dewasa dan cobalah berhenti untuk meyalahkan orang lain atas kekeliruan yang jelas – jelas kita lakukan! Hal ketiga yang perlu disalahkan adalah diri sendiri lagi! Karena pendorong utama bagi kemajuan seseorang adalah orang itu sendiri, orang lain hanya fasilitator!

Kalau kita hanya ngomongin jeleknya orang / almamater begini dan begitu, tanpa melihat dan mengkoreksi diri kita sendiri (e.g. saya ini sebenarnya bagaimana dan seperti apa?), apakah itu cukup adil??? Di kampus kan ada perpustakaan, sudah berapa kalikah buku – buku didalamnya kita baca? Seberapa sering kita belajar? Seberapa sering kita meng-eksplorasi / ‘nggoprek’ sesuatu?? Kalau memang nggak pernah atau sangat jarang terus karena hal itu kita jadi nggak bisa –> itu salah siapa???

Akan lebih mudah kalau pada awalnya kita pahami begini, kuliah itu sarana untuk mencapai gelar sarjana. Sedangkan ilmunya akan kita peroleh melalui proses belajar selama kita kuliah. Hal ini tentu dengan catatan bahwa kita cukup belajar dan ber-eksplorasi selama kuliah. Kalau hal ini kita abaikan mungkin hanya formalitas yang akan kita dapatkan sementara intelektualitas masih jauh tertinggal di belakang.

Jadi mau pilih mana?? Gelar sarjana? Ilmu yang bermanfaat? Kedua – duanya? Atau malah tidak dua – duanya? Jawaban ada ditangan kita, setiap orang akan memilih jadi berusahalah untuk mewujudkan pilihan kita masing – masing. Semoga Allah SWT akan mempermudah kita untuk memilih pilihan yang paling benar dan membuat kita mampu mewujudkannya.

Sebuah catatan kecil Tri Sugiyantowo.

Posted in Thoughts and Opinions | 4 Comments »

Rendezvous in Jogja

Posted by triaslama on March 24, 2008

Kembali ke tempat dari mana kita berasal biasanya akan banyak membangkitkan kenangan dan merupakan hal yang di nanti – nantikan. Waktu liburan telah membuka kesempatan bagiku untuk mengunjungi kembali Jogja (Yogyakarta) -kota kesayanganku-.

Pulang ke Jogja juga membuatku berkesempatan untuk bertemu kembali dengan Ibuku, keluarga – keluarga ku dan juga teman – teman ku. Memang ada yang berubah pada mereka setelah beberapa saat kami tidak bertemu, tetapi perubahan memang suatu keniscayaan seiring dengan terus berjalannya waktu.

Sepertinya saat ini Jogja menjadi semacam rendezvous (tempat berkumpul) bagiku, tempat untuk bertemu kembali dengan orang – orang dekatku yang saat ini harus terpisah oleh jarak seiring kepindahanku ke Jakarta. Berikut ini sajian “rendezvous in Jogja” yang kujalani:

Berkumpul Dengan Keluarga
Liburan kali ini bertepatan dengan rangkaian acara pernikahan salah seorang sepupuku, sehingga terciptalah sebuah reuni keluarga, bertemu kembali dengan ibu, bulik, om, sepupu, serta keponakan – keponakanku. Saat melihat salah satu keponakanku yang masih kecil kuucapkan satu pertanyaan: ‘kamu masih ingat aku ngga??’ Alhamdullilah dia menjawab dengan cepat ‘masih!’, sambil menampakkan senyumnya dan menyebut namaku. terima kasih karena kamu tetap menempatkanku pada pikiran dan jiwa kecilmu meskipun kita sekarang jarang ketemu. Untuk sepupuku yang baru menikah semoga Allah memberkahi pernikahan kalian dan mengumpulkan kalian dalam kebaikan, amin. Sementara bagi yang belum menikah semoga segera dipertemukan dengan jodohnya dan dimudahkan oleh Allah untuk menikahinya ( 🙂 doa ini termasuk untukku juga tentunya), amin.

Bertemu Dengan Teman Senasib – Seperjuangan
Berada di Jogja membuatku berkesempatan menemui kembali beberapa temanku yang masih ada di kota ini. Kali ini aku berkesempatan untuk mengunjungi CEO dan CTO dari ScholarsCamp (Wim dan Fuad), balada anak muda yang memulai entrepreneurship mereka pada bidang Teknologi Informasi. Selamat berusaha untuk mewujudkan impian dan cita – cita kalian. Selain itu aku juga berkesempatan mengunjungi teman latihan kung fu. Teman sependeritaan ketika kami dulu sama – sama “disiksa” dalam rangka menjalani latihan menjadi seorang “pendekar kung fu” (he..he.. & tentu saja aku masih sangat jauh dari itu). Yang mengejutkan di akhir pertemuan kami, aku dihadiahi video – video kung fu klasik! Akhirnya datang juga yang kunanti – nanti. Film – film kung fu atau beladiri secara umumnya terkadang karena terlalu menitik beratkan unsur entertainment, menjadi agak mengkaburkan unsur beladirinya. Terima kasih untuk Aswin yang telah mencari & mengumpulkannya, serta Wahyu yang telah memberikan videonya kepadaku.

Mengunjungi Tempat – Tempat “Bersejarah”
Sesaat pikiranku melayang ke masa lalu saat aku menyusuri jalan – jalan sekitar kampus, sesaat terbayang saat aku masih kuliah, “Aku dulu sering sekali lewat sini” begitu kata hatiku saat itu. Saat aku melewati kos – kosan teman dimana penghuninya sudah tidak lagi ada di dalamnya dalam hati aku berujar “Dulu aku berkali – kali kesini”. Bagiku ada banyak tempat mengesankan di Jogja, dan mungkin terlalu banyak untuk diceritakan satu persatu disini.

Perjalanan yang mengesankan, sekaligus liburan yang menyenangkan. Semoga kenanganku akan masa laluku, kotaku, serta para penghuninya tidak membuatku terbelenggu dalam masa lalu. Setiap hari yang baru akan menuntut tanggung jawab baru untuk diselesaikan, dan semoga apa yang kuingat akan masa lalu membuatku lebih siap untuk menatap dan menghadapi masa depan. Amin…

Posted in General, Miscellaneous | 10 Comments »

CRUD Operations Using DOM

Posted by triaslama on March 21, 2008

CRUD (Create, Read, Update, Delete) is common operations in data storage, but now I will try to use DOM (Document Object Model) doing CRUD operations toward document content (and I think that is one of DOM objective). DOM can be used for doing CRUD operations easily and effectively. OK that’s enough for the buzz words let’s make the job done!

1. Create an Element
To create an element use document.createElement(<elmName>) method. This method receives one parameter that is the name of element that will be created. DOM method document.createTextNode(<text>) is similar to document.createElement but will create a text node instead of an element. The parameter received by document.createTextNode is text that will be created. The other DOM method that important in creating an element is appendChild(<elem>), this method will append the element specified as parameter to an element. Below is an example of add a <li> element to a <ul> element:

var ul = document.getElementsByTagName("ul")[0];
var li = document.createElement("li");
var text = document.createTextNode("'li' element.");

li.appendChild(text);
ul.appendChild(li);

2. Read Text of an Element
Please pay a special attention that a text in DOM is considered as a node, so we have to navigate to its text node first before we retrieve / read the node value. So, if ‘elm’ is a variable that point to a <li> element the following code:
var text = elm.firstChild.nodeValue;

will retrieve the text inside a <li> element and store the value to a variable named ‘text’.

3. Update an Element Content
Update operation really similar to read operation, except updating an element means we change the node value with the new one. If ‘elm’ point to a <li> element, the following code:

var newValue = "New text node value";
elm.firstChild.nodeValue = newValue;

will change the node value inside <li> element with the content of ‘newValue’ variable.

4. Delete an Element
Here, delete an element has two meanings. First delete the text node inside an element, second delete the element itself. Deleting an element can be accomplished using removeChild(<elm>) method. This method receives one parameter, that is child element that will be deleted.
This line of code:
elm.parentNode.removeChild(elm);
will remove ‘elm’ element.

I have write a simple code that demonstrate how to create, read, update, and delete (CRUD) the document content using DOM. I use the Javascript events and blend it with DOM to accomplished CRUD operations, so basic understanding of Javascript events will really helpful.

The code consists of two portions, first portion is html code (crud.htm):

<html>
<head>
<title>CRUD Operations: Complete</title>
<script lang=”javascript” type=”text/javascript” src=”crud.js” >
</script>
</head>
<body>
Want to know why DOM is awesome??
One of the possible answer is: with DOM we can create, read (retrieve), update, and delete document content quickly and easily.
<p/>
<b>Try the following example!</b>
<br/>
<b>
1. Press ‘Add’ button to add a new <li> element.<br>
2. Move the mouse cursor over a <li> element below.<br>
3. Click desired <li> element to read the node value.<br>
4. Hold down ‘Shift’ key and click desired <li> element to update the node value.<br>
5. Hold down ‘Ctrl’ key and click desired <li> element to delete the <li> element.<br>
</b>
<p>
<form id=”frm” name=”frm” style=”background-color:yellow; border:solid 2px; border-color:goldenrod;”>
<ul><b> And here is the list of <li> element:</b>
<li>First li element.</li>
<li>Second li element.</li>
<li>Third li element.</li>
<li>Fourth li element.</li>
<li>Fifth li element.</li>
</ul>
<p>
<input type=”button” id=”btnCreate” onclick=”addLiElement()” value=”Add New <li> Element” />
<p>
</form>
</body>
</html>

The other one is Javascript code (crud.js, this code is referred by html code), and this is the Javascript code:


window.onload = handleCRUD;


function addLiElement()
{
// ask input text for new <li> element
var txt = window.prompt("Text: ");
var text = document.createTextNode(txt);
// create <li> element
var elm = document.createElement("li");
/* retrieve the first <ul> element (and the only one). */
var ul = document.getElementsByTagName("ul")[0]; elm.appendChild(text);
ul.appendChild(elm);

handleCRUD();
}


function handleCRUD()
{
var lis = document.getElementsByTagName("li");
for (var i=0;i<lis.length;i++) {
lis[i].onmouseover = function()
{
this.style.backgroundColor = "gainsboro";
};


lis[i].onmouseout = function()
{
this.style.backgroundColor = "yellow";
};

/* ‘click’ event handles read, update, or delete operation */

lis[i].onclick = function(e)
{
// IE handles event through window.event property
e = e||window.event;
/* again IE handles target (source) element as srcElement */
var elm = e.target||e.srcElement;
if (e.ctrlKey) {
/* because 'ctrl' key is pressed, it will be delete operation */
var txtNode = elm.firstChild;
// first, delete the text node
txtNode.parentNode.removeChild(txtNode);
// second, delete the <li> element
elm.parentNode.removeChild(elm);
return;
}
if (e.shiftKey) {
/* because 'shift' key is pressed, it will be update operation */
var newValue = window.prompt("Enter new value: ");
elm.firstChild.nodeValue = newValue;
return;
}
else {
/* neither 'ctrl' nor 'shift' key is pressed, it will be read
operation */
/* now, here we retrieve the content (text) of an element */
var content = elm.firstChild.nodeValue;
window.alert(content);
return;
}
};

}
};

The javascript code started with window.onload that executed after the document is loaded, and passed handleCRUD() function to it. Inside handleCRUD we install mouseover, mouseout, and click events foreach <li> element exist in document.

What is done by each event can be explained as follow:

  • ‘Add’ button onclick: adds an li element to the document.
  • onmouseover: changes the background color of a <li> element to ‘gainsboro’ when mouse cursor enters it.
  • onmouseout: restores the background color of a <li> element to ‘yellow’ when mouse cursor leaves it.
  • onclick, this event has three meanings:
    1. when we click an <li> element along with ‘Ctrl’ key pressed, then the specified <li> element will be deleted.
    2. when we click an <li> element along with ‘Shift’ key pressed, then the node value of specified <li> element will be updated.
    3. when we click an <li> element and neither ‘Ctrl’ key nor ‘Shift’ key is pressed then we simply read the specified <li> element.
  • onclick event handler receive one parameter that is event object (‘e’ in this code), but event object in Internet Explorer (IE) available through window.event property. So we need a regular checking ‘e’ will be still ‘e’ or if the browser is IE e will be filled with window.event.

    e = e||window.event;

    The target (non IE browser) / srcElement (IE) are properties of event object contains a reference to the element that fired to the event. We get target / source element with the following code:

    var elm = e.target||e.srcElement;

    This is screenshot output produced by crud.htm & crud.js:

    CRUD using DOM

    To make the same output as screenshot above puts crud.htm & crud.js in the same directory, type the location in address bar of your browser and you should see the same result.

    Thanks for your attentions, see you next time…

    Posted in DOM, Javascript | Tagged: , , , , , , , , | Leave a Comment »

    Sekali Waktu Aku Ingin Jadi Manusia Egois

    Posted by triaslama on March 15, 2008

    Sangat aneh ketika kita mengingatkan orang tetapi kita sendiri lupa akan pentingnya hal tersebut…
    Pikiran yang tiba – tiba terlintas di benakku — Tri Sugiyantowo.

    Berapa banyak dalam satu hari aku memberi penilaian terhadap orang lain? Berapa kali dalam satu jam aku bisa melihat kesalahan dan kekurangan orang lain? Berapa kali dalam semalam aku teringat akan dosa yang pernah dilakukan orang lain??? Sampai saat ini berapa kali aku mencoba untuk mengingatkan orang lain?? Berapa banyak waktu dalam sehari yang kugunakan untuk melihat aktivitas orang lain??

    Sekarang, berapa banyak aku melihat apa yang kurang dari diriku? Seberapa seringkah aku mencoba menasehati diriku sendiri?? Bisakah dalam sehari aku memperhatikan untuk diriku sendiri apa yang akan kulakukan? Apakah aku bisa melihat kesalahan dan kekuranganku sejelas ketika aku melihat kesalahan orang lain??? Apakah aku sudah memperhatikan diriku dan keluargaku sebesar perhatian yang pernah kulakukan kepada orang lain?? Berapa banyak sikap pura – pura yang mungkin pernah kuperlihatkan didepan orang lain?

    Suatu kali aku ingin menjadi egois karena menurutku itu harus kulakukan. Seharusnya begini: ketika aku mengingatkan orang lain seharusnya peringatan itu pertama kali kutujukan untuk diriku sendiri. Aku pernah melihat orang lain dan merasa kasihan kepadanya tanpa sadar bahwa sebenarnya diriku sendiri lebih perlu untuk dikasihani. Mengapa begitu? Karena terlalu seringnya menilai orang lain terkadang membuatku merasa lebih, dalam artian aku lebih baik dari dia, aku lebih pintar dari dia, aku masih lebih dan lebih dalam banyak hal daripada kamu, dia, mereka, dan banyak orang.

    Setelah beberapa saat kupikir ternyata diriku ini perlu untuk dikasihani. Maaf disini saya tidak meminta agar orang lain kasihan padaku, hanya meminta kepada diriku sendiri untuk lebih memperhatikan apa yang kupikirkan, kukatakan, dan akhirnya kukerjakan.

    Kata ‘egois’ hampir selalu berkonotasi negatif -setidaknya begitulah menurutku- tapi dalam kadar tertentu sifat itu banyak manfaatnya. Sekarang begini tidak lucu dong kalau orang yang setiap hari kita nasehati bisa masuk surga karena menjalankan nasehat kita, sementara kita sendiri justru masuk neraka karena meninggalkannya. Semoga Allah SWT menghindarkan diriku dari hal seperti itu, Amin.

    Suatu waktu -dan kalau bisa sering kali- aku ingin egois, membuatku mempunyai cukup waktu untuk memperhatikan diriku sendiri. Kesalahan apa yang sudah kulakukan hari ini dan bagaimana usahaku untuk menghapusnya? Kebaikan apa yang sudah kuamalkan hari ini serta bagaimana usahaku agar besok aku dapat meningkatkannya? Kesalahan apa yang pernah kulakukan dimasa lalu dan apakah aku sudah cukup berusaha untuk tidak mengulanginya? Aku ingin lebih diperhatikan tetapi terutama diperhatikan oleh diriku sendiri! Suatu kegagalan besar ketika kita sendiri masih sering lupa kepada diri sendiri dan begitulah yang saat ini masih kualami.

    Aku ingin egois! Egois yang membuatku berani memperbaiki diri sendiri, egois yang membuatku punya cukup waktu untuk memperhatikan diriku sendiri! Aku ingin egois! Egois yang membuatku berani menatap dunia dan berjuang menghadapinya, bukan malah berlari menghindar seperti pengecut!

    Sekali lagi aku ingin egois! Egois yang membuatku berani menjadi seperti diri sendiri dan bukannya meniru orang lain yang nggak jelas perilakukanya! Dan sekali lagi -Sekali waktu aku ingin menjadi manusia egois- karena aku yakin sangat memerlukannya!

    Posted in Thoughts and Opinions | 1 Comment »

    MonoDevelop 1.0 Has Been Released

    Posted by triaslama on March 14, 2008

    MonoDevelop is an open source IDE primarily designed for C# and other .NET languages. MonoDevelop currently available for Linux and Mac OS X users, and MonoDevelop makes possible migrating Visual Studio projects to Linux or Mac OS X.

    After several years of development, now MonoDevelop has reached its first stable release. In depth release notes about MonoDevelop 1.0 is available here. Its includes main features of MonoDevelop 1.0, features screenshots, and list of MonoDevelop contributors as well.

    Posted in News | Leave a Comment »

    When Spaces Does Matter

    Posted by triaslama on March 12, 2008

    In this post I just want to talk about spaces, why spaces? Because it could be a matter especially when working with DOM (Document Object Model). Look at the following HTML code:

    <html>
    <head>
    <title>Test Spaces</title>
    <script lang=”javascript” type=”text/javascript”>
    var ul;
    var children;
    window.onload = function()
    {
    ul = document.getElementsByTagName(“ul”)[0];
    children = ul.childNodes;
    };
    document.onclick = function()
    {
    window.alert(“The number of ul’s children: “+children.length);
    };
    </script>
    </head>
    <body>
    <ul>
    <li>First Item</li>
    <li>Second Item</li>
    <li>Third Item</li>
    </ul>
    </body>
    </html>

    Now guess, when I run the code and click the document how many child belongs to ul in the code above? The answer may vary, if you run the code in Firefox 2 or Opera 9.01 browser the answer is 7, but in Internet Explorer 6 (IE6) the answer is 3! Why does it differ? The difference of answers because of spaces!

    As you’ll notice, between <ul> and first <li> element there is actually an end line which is considered as a white space. Also between first <li> and second <li>, between second <li> and third <li>, and the last between third <li> and close tag </ul> there is exist end line which considered as white spaces.

    White spaces become a matter because its representation in XML. Either Firefox or Opera represent a white space as a node but not in IE. So when we run the code in Firefox or Opera <li> element has 7 childs (four white spaces and three <li> elements).

    So far I found two solutions toward spaces problem. First we can skip it, so we need to change document.onclick function into the following:

    document.onclick = function()
    {
    var temp = 0;
    for (var i=0;i<children.length;i++) {
    if (children[i].nodeType == 1) {
    // do some interesting stuffs here…
    temp += 1;
    }
    }
    window.alert(“The number of ul’s children: “+temp);
    };

    Second we can remove it, so change the script into the following:

    var ul;
    var children;
    window.onload = function()
    {
    ul = document.getElementsByTagName(“ul”)[0];
    removeSpaces(ul);
    children = ul.childNodes;
    };
    function removeSpaces(elm)
    {
    for (var i=0;i<elm.childNodes.length;i++) {
    var child = elm.childNodes[i];
    if (child.nodeType==3 && /\s/.test(child.nodeValue))
    child.parentNode.removeChild(child);
    }
    }
    document.onclick = function()
    {
    window.alert(“The number of ul’s children: “+children.length);
    };

    Note: the code above only removes spaces at its current child element, so if <li> element has a child node another than text node, the spaces problem will still remain. We can skip it using first solution although it may impractical especially when our document tree quite large. The better solution I think using a recursive function that traverses the document tree and removes all spaces in document.

    Here I listed the nodeType property number and its corresponding type that I used in the preceding code:

    nodeType Number

    Type

    1

    Element

    2

    Attribute

    3

    Text

    4

    CDATA Section

    5

    Entity Reference

    6

    Entity

    7

    Processing Instruction

    8

    Comments

    9

    Document

    10

    Document Type

    11

    Document Fragment

    12

    Notation

    Posted in DOM, Javascript | Tagged: , , , | Leave a Comment »