<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title></title>
	<atom:link href="http://bertzzie.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bertzzie.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 24 Aug 2011 09:05:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='bertzzie.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title></title>
		<link>http://bertzzie.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bertzzie.wordpress.com/osd.xml" title="" />
	<atom:link rel='hub' href='http://bertzzie.wordpress.com/?pushpress=hub'/>
		<item>
		<title>madre</title>
		<link>http://bertzzie.wordpress.com/2011/08/24/madre/</link>
		<comments>http://bertzzie.wordpress.com/2011/08/24/madre/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 09:05:46 +0000</pubDate>
		<dc:creator>bertzzie</dc:creator>
				<category><![CDATA[review]]></category>
		<category><![CDATA[dee]]></category>
		<category><![CDATA[madre]]></category>

		<guid isPermaLink="false">http://bertzzie.wordpress.com/?p=188</guid>
		<description><![CDATA[Kalau ada penulis yang paling menginspirasi saya, orang tersebut adalah Dee. Bukan hanya tulisannya bagus dan sangat menyenangkan dibaca, Dee mampu membius saya. Membatalkan semua rencana dan janji saya yang telah dibuat untuk satu hari. Hanya untuk membaca karyanya. Berpetualang bersama pikirannya. Tidak ada satupun buku atau tulisannya yang tidak saya selesaikan dalam satu hari. Tulisan-tulisan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=188&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://bertzzie.files.wordpress.com/2011/08/x2_6e28257.jpg"><img class="aligncenter size-full wp-image-189" title="x2_6e28257" src="http://bertzzie.files.wordpress.com/2011/08/x2_6e28257.jpg?w=510&#038;h=382" alt="A Masterpiece: Dee should be Indonesia's Shakesphere" width="510" height="382" /></a></p>
<p>Kalau ada penulis yang paling menginspirasi saya, orang tersebut adalah <a title="Her Blog" href="http://dee-idea.blogspot.com/" target="_blank">Dee</a>. Bukan hanya tulisannya bagus dan sangat menyenangkan dibaca, Dee mampu membius saya. Membatalkan semua rencana dan janji saya yang telah dibuat untuk satu hari. Hanya untuk membaca karyanya. Berpetualang bersama pikirannya. Tidak ada satupun buku atau tulisannya yang tidak saya selesaikan dalam satu hari. Tulisan-tulisan Dee punya <em>magic</em> tersendiri. Membaca tulisannya membuat saya merasa terhubung dengannya. <em>Kenal</em> dengannya. <em>Bersahabat</em> dengannya. Aneh. Lucu. Hangat.</p>
<p>Saya pertama kali membaca karya Dee melalui bukunya, &#8220;Supernova: Ksatria, Puteri dan Bintang Jatuh&#8221;. Setelah membaca buku tersebut, saya tidak dapat berhenti. Saya mencari dan kemudian membaca dan membaca karya-karya lainnya dari Dee. Ada sensasi aneh dalam membaca karyanya. <em>Thought provoking</em>. <em>Fun</em>. Dan yang paling menarik, saya benar-benar terlibat dalam petualangannya. Saya ingat Ferre. Perjalanannya. Hidupnya. Sepinya. Pencerahannya. Saya ingat Bodhi. Kebebasannya. Cintanya. Kesedihannya. Bintangnya. Saya ingat Elektra. Keanehannya. Keluguannya.</p>
<p>Tokoh-tokoh dalam kisah Dee selalu unik. Rico de corro. Kugy. Semuanya selalu menarik saya ke dalam perjalanan, sebuah perjalanan yang merubah saya. Memabukkan, seperti ekstasi. Tulisan Dee membawa perubahan, dan penyegaran. <em>It never failed to make me think &#8211; and rethink</em>. Awalnya, saya ingin menuliskan review untuk mandre. Tetapi benar-benar tidak ada kata-kata yang dapat saya gunakan untuk mendeskripsikannya. Terdapat tulisan-tulisan yang sudah pernah saya baca entah di mana seperti &#8220;<strong>Semangkok Acar untuk Cinta dan Tuhan</strong>&#8221; dan &#8220;<strong>Menunggu Layang-Layang</strong>&#8220;. Membaca tulisan ini memberikan sensasi indah: pulang ke rumah. Pulang ke rumah setelah perjalanan panjang. Setelah petualangan yang melelahkan.</p>
<p>Rasa yang belum dapat saya ilustrasikan dengan baik. Rasa yang selalu muncul ketika membaca karya-karyanya. Tulisan Dee tidak pernah kehilangan sihir misterius tersebut. Tidak ada yang dapat saya katakan selain baca dan mabuklah!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bertzzie.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bertzzie.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bertzzie.wordpress.com/188/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=188&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bertzzie.wordpress.com/2011/08/24/madre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e6be601920301c6c1070fa29304452a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertzzie</media:title>
		</media:content>

		<media:content url="http://bertzzie.files.wordpress.com/2011/08/x2_6e28257.jpg" medium="image">
			<media:title type="html">x2_6e28257</media:title>
		</media:content>
	</item>
		<item>
		<title>Keamanan Sistem: White list, Bukan Black list</title>
		<link>http://bertzzie.wordpress.com/2011/04/13/keamanan-sistem-white-list-bukan-black-list/</link>
		<comments>http://bertzzie.wordpress.com/2011/04/13/keamanan-sistem-white-list-bukan-black-list/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 14:45:41 +0000</pubDate>
		<dc:creator>bertzzie</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[black list]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[white list]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://bertzzie.wordpress.com/?p=179</guid>
		<description><![CDATA[Keamanan sistem merupakan salah satu bagian dalam pengembangan perangkat lunak yang sangat sulit untuk dibuat dengan benar. Sebagai pengembang, kita akan selalu berusaha mati-matian untuk menjaga sistem yang kita bangun dari tangan yang tidak bertanggung jawab. Di sisi lain, para perantas akan terus menerus berusaha untuk membobol sistem kita dengan berbagai alasan, mulai dari pemuasan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=179&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Keamanan sistem merupakan salah satu bagian dalam pengembangan perangkat lunak yang sangat sulit untuk dibuat dengan benar. Sebagai pengembang, kita akan selalu berusaha mati-matian untuk menjaga sistem yang kita bangun dari tangan yang tidak bertanggung jawab. Di sisi lain, para perantas akan terus menerus berusaha untuk membobol sistem kita dengan berbagai alasan, mulai dari pemuasan ego sampai dengan pencurian data. Terdapat berbagai teknik dalam mengamankan sistem yang anda bangun, dan kita akan membahasnya satu demi satu. Pembahasan dilakukan terutama berpusat pada keamanan aplikasi web, meskipun sebagian teknik yang dibahas akan relevan juga jika diterapkan di dalam aplikasi jenis lain (desktop, mobile) secara umum.</p>
<p style="text-align:justify;">Website modern pada umumnya bersifat dinamis: baik pemilik web maupun pengunjung dapat berkontribusi dalam memberikan konten untuk website tersebut. Hal ini tentunya telah membuka berbagai peluang dalam pengembangan web yang menarik, dan seperti peluang-peluang pada umumnya, ia datang dengan membawa beberapa konsekuensi &#8220;kecil&#8221;. Memperbolehkan pengunjung untuk berkontribusi dalam website berarti satu hal: sistem website yang dibangun harus siap untuk menerima masukan dari pengguna. Tentunya kita tahu bahwa hal ini tidak pernah berarti baik. Masukan data dari pengguna <a href="http://thedailywtf.com/Articles/Connect-Betterer.aspx">tidak pernah dapat dipercaya</a>. Tidak dipercaya oleh pengembang sistem yang baik, setidaknya.</p>
<p style="text-align:justify;">Website dinamis, yang memungkinkan penambahan konten dari pengunjung, telah membuka berbagai celah keamanan baru. <a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery">CSRF</a>. <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a>. <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL Injection</a>. Dan masih banyak lainnya. Kali ini kita hanya akan membahas bagaimana menangani salah satu jenis XSS. Cross Site Scripting (XSS) merupakan celah keamanan di mana pengguna diperbolehkan untuk mengisikan berbagai kode program client side pada website. Konsekuensinya? Seorang pengguna yang ingin mendapatkan semua cookie milik pengunjung situs anda akan memberikan ucapan selamat kepada anda.  Umumnya, terdapat dua jenis celah keamanan XSS, yaitu:</p>
<ol>
<li style="text-align:justify;">Non-Presistent: Celah keamanan yang memungkinkan pengguna jahat untuk memasukkan kode-kode program langsung ke dalam sistem anda: setiap pengunjung yang membuka website anda akan menjalankan kode program yang dibuat pengguna tersebut.</li>
<li style="text-align:justify;">Presistent: Celah keamanan di mana memungkinkan pengguna jahat untuk menjalankan kode dari doman (website) lain ketika pengguna mengakses situs anda melalui link yang diberikan oleh pengguna jahat.</li>
</ol>
<p style="text-align:justify;">Pembahasan kali ini hanya akan mengupas XSS Non-Presistent.</p>
<h2><strong>Mengapa bisa terjadi XSS Non-Presistent?</strong></h2>
<p style="text-align:justify;">Karena pengembang website memperbolehkan pengunjung menuliskan apa saja di dalam websitenya. &#8220;Apa saja&#8221; yang saya maksudkan bukan &#8220;apa saja&#8221; dalam artian topik tulisan, melainkan teks aktual dari tulisan pengunjung. Misalkan untuk kotak komentar dalam blog ini. Pengembang sistem yang optimis akan membayangkan bahwa isi komentar dari pengunjung selalu berupa teks, misalnya:</p>
<p style="text-align:center;"><em>Wah penulis blog ini benar-benar ganteng. Saya terpesona melihat tulisan dan wajahnya.</em></p>
<p style="text-align:justify;">Dan berbagai tulisan yang serupa, <strong>tanpa ada pengunjung yang mengerti HTML</strong>. Sehingga ketika muncul satu pengunjung dari Mars yang mengerti HTML dan menuliskan komentar seperti:</p>
<pre style="text-align:justify;">Wah, blog ini bagus sekali.</pre>
<pre style="text-align:justify;">&lt;script type="text/javascript"&gt;</pre>
<pre style="text-align:justify;">// berbagai kode dari mars untuk mencuri cookie pengguna **sensor, red**</pre>
<pre style="text-align:justify;">&lt;/script&gt;</pre>
<p style="text-align:justify;">Boom. Mendadak seluruh pengunjung yang melihat blog ini berhasil dicuri cookie-nya oleh pengunjung dari Mars. Memungkinkan pengunjung untuk menulis di dalam website anda adalah sebuah ide yang bagus: komunikasi akan terbangun, dan pengunjung anda akan berkontribusi memberikan berbagai informasi yang terlewatkan oleh anda sewaktu menulis. Tetapi anda harus ingat, cepat atau lambat pasti akan ada pengunjung yang memanfaatkan kebebasan mereka dengan cara yang salah.</p>
<h2 style="text-align:justify;"><strong>Jadi, Bagaimana Menanganinya?</strong></h2>
<p style="text-align:justify;">Secara umum terdapat tiga cara untuk menangani tulisan yang dibuat oleh pengunjung, yaitu:</p>
<ol>
<li style="text-align:justify;">Tidak memperbolehkan semua tag HTML. Setiap &lt; akan diubah menjadi kode &#8220;&amp;lt&#8221; sehingga dianggap sebagai teks oleh browser.</li>
<li style="text-align:justify;">Black list: dengan <strong>tidak memperbolehkan tag tertentu</strong> untuk masuk, misalnya memanfaatkan regular expression untuk membuang tag &lt;script&gt; dari pengguna.</li>
<li style="text-align:justify;">White list: dengan <strong>memperbolehkan hanya tag tertentu saja </strong>dari tulisan yang diberikan pengguna.</li>
</ol>
<p style="text-align:justify;">Cara pertama akan memastikan anda aman dari serangan XSS Non-Presistent, tetapi konten yang diberikan oleh pengunjung anda akan menjadi kurang menarik. Tanpa adanya tag HTML, pengguna tidak dapat membuat tulisannya menjadi <strong>tebal</strong> untuk penekanan, maupun <em>miring</em> untuk istilah asing. Pengunjung juga tidak dapat membuat tabel, poin-poin tulisan, dan banyak hal lain. Jika memang tidak ingin hal-hal yang disebutkan sebelumnya, pilhan pertama adalah cara mudah dan cepat untuk menghindari XSS. Tetapi jika ingin memberikan sedikit kebebasan kepada pengguna, anda akan hanya memiliki dua pilihan: white list atau black list.</p>
<p style="text-align:justify;">White list akan selalu lebih baik dibandingkan black list. Dengan memberikan black list, pengguna jahat akan selalu menemukan cara untuk melewati black list tersebut, seperti kita akan terus menemukan celah-celah dalam berbagai peraturan. Sesuatu yang bersifat melarang hanya pada kondisi tertentu sangat rentan oleh berbagai kelemahan dalam larangan tersebut. Hal ini menjadi lebih parah beberapa kali lipat dalam hal sistem komputer, karena komputer sangat baik dalam melakukan automasi: seorang perantas dapat membuat program otomatis untuk mencoba berbagai variasi input sampai sistem anda jebol.</p>
<p style="text-align:justify;">Dengan white list, di lain pihak, hal tersebut tidak akan dapat dilakukan. Ketika membuat white list, anda memastikan bahwa tidak ada tag, atau pengguna, atau wanita, atau mobil yang dapat masuk ke tempat terlarang selain hal-hal yang telah anda perbolehkan masuk. Segala hal selain yang anda <strong><em>izinkan </em>tidak boleh masuk</strong>. Karena daftar hal-hal yang anda izinkan sangat terbatas, maintenance dari hal-hal tersebut akan menjadi sangat mudah. Tag yang umumnya diperbolehkan yaitu:</p>
<pre style="text-align:justify;">address, a, abbr, acronym, area, b, big, blockquote, br, caption, cite,</pre>
<pre style="text-align:justify;">class, code, col, del, dd, div, dl, dt, em, font, h1, h2, h3, h4, h5,</pre>
<pre style="text-align:justify;">h6, hr, i, img, ins, kbd, li, map, ol, p, pre, q, s, span, strike,</pre>
<pre style="text-align:justify;">strong, sub, sup, table, tbody, td, tfoot, tr, tt, ul, var</pre>
<h2 style="text-align:justify;">Kode Program</h2>
<p>Cukup teorinya. Kita akan melihat bagaimana membuat fungsi untuk pencegahan XSS, melalui penyegelan seluruh tag HTML maupun white list. Kode program dibuat dalam PHP, karena PHP merupakan bahasa yang sangat populer dalam pengembangan web.</p>
<h3>Larangan Terhadap Seluruh Tag HTML</h3>
<p style="text-align:justify;">Merupakan cara yang sangat mudah. Untuk membuat larangan seluruh tag HTML, gunakan fungsi <a href="http://php.net/manual/en/function.htmlentities.php">htmlentities</a> dari PHP:</p>
<p><pre class="brush: php;">
function sanitizing($kontenPengguna)
{
    return htmlentities($kontenPengguna, ENT_QUOTES);
}
</pre></p>
<h3>White List</h3>
<p style="text-align:justify;">Melakukan white list tag HTML adalah hal yang cukup sulit dilakukan. Meskipun PHP telah menyediakan fungsi <a href="http://php.net/manual/en/function.strip-tags.php">strip_tags</a> untuk hal tersebut. Sebagai bahasa paling populer untuk membangun web, PHP pastinya telah mengetahui kebutuhan para pengembangnya. Berikut adalah contoh pengunaan fungsi strip_tags:</p>
<p><pre class="brush: php;">
function string_safe_output($text)
{
    // tag yang diperbolehkan.
    $tags = '&lt;b&gt;&lt;u&gt;&lt;i&gt;&lt;ul&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;span&gt;';
    return strip_tags($text, $tags);
}
</pre></p>
<p>Tetapi perlu diingat bahwa fungsi strip_tags tetap masih memiliki celah keamanan: atribut HTML tidak dihilangkan, sehingga pengguna yang ingin melakukan serangan tetap dapat melakukannya dengan memasukkan atribut pada tag legal. Misalnya, pada kode di atas pengguna dapat menuliskan:</p>
<p><pre class="brush: xml;">
&lt;p onhover=&quot;javascript:cookieSteal()&quot;&gt;Bla bla bla&lt;/p&gt;
</pre></p>
<p style="text-align:justify;">Karenanya, jangan pernah gunakan hanya fungsi strip_tags untuk melawan XSS. Berbagai validasi dalam DOM harus dilakukan untuk mendapatkan hasil output HTML yang benar-benar aman dari serangan. Karena kompleksitas kode yang sangat tinggi, sangat disarankan untuk menggunakan library atau framework yang telah teruji dengan baik seperti <a href="http://htmlpurifier.org">HTML Purifier</a>.</p>
<p style="text-align:justify;">Pengunaan HTML Purifier menyederhanakan pengamanan, yang awalnya membutuhkan ratusan baris menjadi hanya beberapa baris (tidak menghitung autoloader dan konfigurasi):</p>
<p><pre class="brush: php;">
function string_safe_output($text)
{
    $HTMLPuirifier = new HTMLPurifier();
    $clean_html = $purifier-&gt;purify($text);
    return $clean_html;
}
</pre></p>
<p style="text-align:justify;">Dan dalam sekejap, kode anda telah aman sepenuhnya dari XSS Non-Presistent. Selanjutnya kita akan membahas mengenai penanganan XSS Presistent. Tetapi tentunya, anda dapat mencoba berkesperimen dengan berbagai cara menangani XSS Non-Presistent. Have a fun coding season!</p>
<p>Bacaan lanjutan:</p>
<ul>
<li><a href="http://web.mit.edu/Saltzer/www/publications/protection/">http://web.mit.edu/Saltzer/www/publications/protection/</a></li>
<li><a href="http://htmlpurifier.org/docs">http://htmlpurifier.org/docs</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bertzzie.wordpress.com/179/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bertzzie.wordpress.com/179/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bertzzie.wordpress.com/179/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=179&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bertzzie.wordpress.com/2011/04/13/keamanan-sistem-white-list-bukan-black-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e6be601920301c6c1070fa29304452a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertzzie</media:title>
		</media:content>
	</item>
		<item>
		<title>Rubber Duck Debugging</title>
		<link>http://bertzzie.wordpress.com/2011/03/22/rubber-duck-debugging/</link>
		<comments>http://bertzzie.wordpress.com/2011/03/22/rubber-duck-debugging/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 08:03:05 +0000</pubDate>
		<dc:creator>bertzzie</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://bertzzie.wordpress.com/?p=173</guid>
		<description><![CDATA[I seldom typing code in front of people, and when I do, the code quality degrade massively. Most of the time, the code just don&#8217;t work or have an obvious bug. I can&#8217;t even debug when there&#8217;s people around me. Many people always ask me why, because when I&#8217;m alone, I tend to write an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=173&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I seldom typing code in front of people, and when I do, the code quality degrade massively. Most of the time, the code just don&#8217;t work or have an obvious bug. I can&#8217;t even debug when there&#8217;s people around me. Many people always ask me why, because when I&#8217;m alone, I tend to write an okay-code: a code that works. So why?</p>
<p>Because most of the time when I&#8217;m coding, I use what people call <a title="Wikipedia page for Rubber duck debugging" href="http://en.wikipedia.org/wiki/Rubber_duck_debugging">Rubber Duck Debugging</a>, and I&#8217;m addicted to it, so I can&#8217;t code well when I&#8217;m not doing it. So what is this rubber duck debugging? It&#8217;s a technique where we do debugging while eating a rubber duck. *AHEM* Okay, seriously. It&#8217;s a technique of debugging where while debugging, a programmer read the code, line by line, aloud, to something. And because a great software developer loves rubber duck, that &#8220;something&#8221; is a rubber duck. Hence, the name.</p>
<p>What&#8217;s so special in rubber duck debugging, aside from it makes people think you&#8217;re a freak? It forces you <strong>to think</strong>, to explain your code line by line to the duck, because you know if you&#8217;re doing something wrong &#8211; some silly, deadly, sinful code &#8211; the duck will <a title="I love XKCD!" href="http://xkcd.com/292/" target="_blank">turn into a raptor</a> and eats you. I don&#8217;t use a rubber duck by the way, I use a pencil, a pen, or whatever item within my reach. It&#8217;s a great way to debug, and it helps me more that Visual Studio or Eclipse ever did. I&#8217;ve done programming this way since I&#8217;m a kid and I&#8217;m also forced to do it when teaching, so I can&#8217;t just leave the habit. But it&#8217;s a great alternative way to debug when your IDE can&#8217;t help you. Trust me.</p>
<p>Another reason why I&#8217;m not so good when people surrounds me is I can&#8217;t get my mind to work when I&#8217;m not in trance. More on that in the next post. Meanwhile, happy debugging <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bertzzie.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bertzzie.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bertzzie.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bertzzie.wordpress.com&amp;blog=5596034&amp;post=173&amp;subd=bertzzie&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://bertzzie.wordpress.com/2011/03/22/rubber-duck-debugging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0e6be601920301c6c1070fa29304452a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertzzie</media:title>
		</media:content>
	</item>
	</channel>
</rss>
