<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.netindonesia.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">&amp;lt;paulus /&amp;gt;</title><subtitle type="html">Another .NET newbie</subtitle><id>http://geeks.netindonesia.net/blogs/paulus/atom.aspx</id><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/default.aspx" /><link rel="self" type="application/atom+xml" href="http://geeks.netindonesia.net/blogs/paulus/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2008-03-11T16:43:00Z</updated><entry><title>jQuery</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx" /><id>http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx</id><published>2008-05-17T18:57:00Z</published><updated>2008-05-17T18:57:00Z</updated><content type="html">&lt;p&gt;Malam minggu ini saya mencoba sebuah framework di lingkungan client scripting yaitu jQuery. Tadinya saya menebak jQuery adalah framework atau tool di lingkungan Java karena ada embel-embel huruf J di depannya (walaupun bukan huruf J kapital), seperti JUnit, JPedal, JRoller, dan sebagainya. Ternyata jQuery adalah framework yang dapat digunakan di JavaScript. Dilihat dari fungsi teknisnya, jQuery mirip dengan ASP.NET AJAX Client Library yang dapat digunakan bukan hanya untuk membangun aplikasi dengan ASP.NET, yaitu memperluas fungsionalitas JavaScript sehingga developer dapat membangun code JavaScript dengan relatif lebih cepat karena code JavaScript yang perlu dituliskan lebih sedikit dan lebih memfokuskan pada fungsi apa yang ingin dilakukan oleh code JavaScript tersebut.

&lt;/p&gt;&lt;p&gt;jQuery didistribusikan secara gratis dengan lisensi MIT dan GPL dan dapat di download di &lt;a href="http://www.jquery.com" title="http://www.jquery.com"&gt;http://www.jquery.com&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;Sebenarnya jQuery hanyalah sebuah file JavaScript yang harus disertakan dalam sebuah halaman HTML (atau XHTML) melalui tag script seperti berikut :

&lt;span style="font-family:Courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;script language=&amp;quot;JavaScript&amp;quot; type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;path/to/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;/p&gt;&lt;p&gt;Setelah itu kemudian saya bisa menggunakan semua kekuatan dari jQuery.
Misalkan saya ingin membuat alert yang bertuliskan &amp;quot;Hello jQuery&amp;quot; menggunakan HTML button:

&lt;/p&gt;&lt;p&gt;Code HTML:&lt;br /&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;btnHello&amp;quot; value=&amp;quot;Hello jQuery&amp;quot; /&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;/p&gt;&lt;p&gt;&lt;br style="font-family:Courier;" /&gt;Code jQuery:&lt;br /&gt;&lt;span style="font-family:Courier;"&gt;&lt;br style="font-family:Courier;" /&gt;&lt;/span&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp; $(function() {&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(&amp;quot;input#btnHello&amp;quot;).click( function() { alert(&amp;#39;Hello jQuery&amp;#39;); });&lt;/span&gt;&lt;span style="font-family:Courier;"&gt;&lt;br /&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;
Penggunaan tanda &lt;font face="courier new,courier"&gt;$&lt;/font&gt; di sini sangat mengingatkan saya dengan ASP.NET AJAX Client Library, walaupun dengan jQuery saya bisa mengganti &lt;font face="courier new,courier"&gt;$&lt;/font&gt; dengan token lain, misalnya dengan &lt;font face="courier new,courier"&gt;$jquery&lt;/font&gt;.

&lt;/p&gt;&lt;p&gt;Contoh yang lebih rumit: Saya ingin membuat sebuah efek tulisan fade in dan fade out secara bergantian.
&lt;/p&gt;&lt;p&gt;Misalnya untuk code HTML berikut ini:

&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier;"&gt;&lt;span&gt;&amp;lt;h5&amp;gt;YOU&amp;#39;LL NEVER WALK ALONE&amp;lt;/h5&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;p id=&amp;quot;verse&amp;quot;&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; When you walk through a storm,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; Hold your head up high,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; And don&amp;#39;t be afraid of the dark.&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; At the end of a storm,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; There&amp;#39;s a golden sky,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; And the sweet silver song of a lark.&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; Walk on through the wind, Walk on through the rain,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; Though your dreams be tossed and blown..&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;a href=&amp;quot;#&amp;quot; id=&amp;quot;linkChorus&amp;quot;&amp;gt;Hide Chorus&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;p id=&amp;quot;chorus&amp;quot;&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; Walk on, walk on, with hope in your heart,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; And you&amp;#39;ll never walk alone.......&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; You&amp;#39;ll never walk alone. &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; Walk on, walk on, with hope in your heart,&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; And you&amp;#39;ll never walk alone.......&amp;lt;br/&amp;gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; You&amp;#39;ll never walk alone.&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;/p&gt;&lt;p&gt;Code jQuery:
&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier;"&gt;&lt;span&gt;$(function() {&lt;/span&gt;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; $(&amp;quot;a#linkChorus&amp;quot;).click( function() {&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;  &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if($(&amp;quot;a#linkChorus&amp;quot;).get(0).innerText == &amp;quot;Hide Chorus&amp;quot;)&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $(&amp;quot;#chorus&amp;quot;).hide(&amp;quot;slow&amp;quot;);&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $(&amp;quot;a#linkChorus&amp;quot;)[0].innerText = &amp;quot;Show Chorus&amp;quot;;&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else if($(&amp;quot;a#linkChorus&amp;quot;)[0].innerText == &amp;quot;Show Chorus&amp;quot;)&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $(&amp;quot;#chorus&amp;quot;).show(&amp;quot;slow&amp;quot;);&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $(&amp;quot;a#linkChorus&amp;quot;)[0].innerText = &amp;quot;Hide Chorus&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;&amp;nbsp;&amp;nbsp; } ); &lt;/span&gt;&lt;br style="font-family:Courier;" /&gt;&lt;span style="font-family:Courier;"&gt;});&lt;/span&gt;

&lt;/p&gt;&lt;p&gt;Di sinilah kelebihan jQuery. Saya tidak perlu mendeteksi browser apa yang digunakan, karena framework jQuery yang nantinya akan berusaha mengenali browser dan menyesuaikan code JavaScript yang digunakan sesuai dengan fungsi yang saya inginkan. Code yang saya tulispun jauh lebih singkat daripada saya harus menuliskan code JavaScript secara keseluruhan. 
&lt;/p&gt;&lt;p&gt;Dan yang terpenting: jQuery menyediakan akses ke DOM yang lebih baik yaitu memungkinkan developer memfokuskan diri pada fungsionalitas yang ingin dibangun, persis seperti kalimat yang dituliskan di website jQuery: &lt;span style="font-style:italic;"&gt;jQuery is designed to change the way that you write JavaScript&lt;/span&gt;.

&lt;span style="font-weight:bold;font-style:italic;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight:bold;font-style:italic;"&gt;jQuery: The Write Less, Do More, JavaScript Library&lt;/span&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx&amp;amp;subject=jQuery" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx&amp;amp;t=jQuery" target="_blank" title="Submit jQuery to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx&amp;amp;title=jQuery" target="_blank" title="Submit jQuery to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx&amp;amp;phase=2" target="_blank" title="Submit jQuery to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/05/18/jquery.aspx&amp;amp;title=jQuery" target="_blank" title="Add jQuery to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=47964" width="1" height="1"&gt;</content><author><name>paulus</name><uri>http://geeks.netindonesia.net/members/paulus.aspx</uri></author><category term="JavaScript" scheme="http://geeks.netindonesia.net/blogs/paulus/archive/tags/JavaScript/default.aspx" /></entry><entry><title>Failed to install .NET Framework 2.0</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx" /><id>http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx</id><published>2008-03-25T10:00:00Z</published><updated>2008-03-25T10:00:00Z</updated><content type="html">&lt;p&gt;Tadi siang asisten bos laptopnya minta diinstall .NET Framework 2.0 (hanya runtime bukan SDK) karena ada aplikasi yang menggunakan .NET Framework. Namun entah kenapa selalu saja failed saat installer baru mulai dan muncul pesan:&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;&amp;quot;Error opening installation log file. Verify that the specified
				log file location exists and is writable.&amp;quot;&lt;/font&gt; &lt;/p&gt;&lt;p&gt;Hmmm.....mungkin hanya perlu restart Windows, tapi setelah restart pun hasilnya sama.&lt;/p&gt;&lt;p&gt;Coba install .NET Framework 3.5, gagal juga saat installer baru mulai.&lt;/p&gt;&lt;p&gt;Coba tanya uncle Google, ternyata ada beberapa kemungkinan:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Space hard disk tinggal sedikit: Ini ga mungkin, free space hard disk masih di kisaran 70 GB.&lt;/li&gt;&lt;li&gt;Temporary directory harus dibersihkan: Semua file di temporary sudah dihapus, tapi pesan error di atas tetap muncul. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Udah hampir nyerah, tapi masih ada waktu, si pemilik laptop mau meeting pukul 2 siang, sekarang masih pukul 13.30.&lt;/p&gt;&lt;p&gt;Saya coba masuk ke Command Prompt, lalu semua isi environment ditampilkan dengan perintah &lt;b&gt;set&lt;/b&gt;, ternyata ada keanehan. Value dari variabel TEMP dan TMP isinya aneh.&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier"&gt;TEMP=%USERPROFILE%\User\LOCALS~1\Temp&lt;br /&gt;TMP=%USERPROFILE%\User\LOCALS~1\Temp&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Lalu saya coba lakukan hal yang sama di komputer saya, hasilnya:&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier"&gt;TEMP=C:\DOCUME~1\Paul\LOCALS~1\Temp&lt;br /&gt;TMP=C:\DOCUME~1\Paul\LOCALS~1\Temp&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Tampak variabel %USERPROFILE% diterjemahkan menjadi value variabel. Tapi yang di laptop ini kenapa variabel %USERPROFILE% tidak diterjemahkan menjadi value variabelnya? Padahal beberapa baris di bawahnya saya lihat variabel %USERPROFILE% juga ada:&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier"&gt;USERPROFILE=C:\Documents and Settings\User&lt;/font&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Wah, kayaknya ga sempat lagi untuk mencari tahu kenapa ini bisa terjadi, saya coba hapus variabel TMP dan TEMP dari environment di System Properties - Advanced - User Variables, lalu coba install lagi .NET Framework 2.0. Ternyata, pesan error tidak muncul lagi, instalasi berhasil. Variabel TMP dan TEMP saya kembalikan ke kondisi semula dan laptop harus segera dikembalikan ke pemiliknya karena sudah pukul 13.50.&lt;/p&gt;&lt;p&gt;Whew....Koq bisa begitu ya?&lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx&amp;amp;subject=Failed to install .NET Framework 2.0" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx&amp;amp;t=Failed+to+install+.NET+Framework+2.0" target="_blank" title="Submit Failed to install .NET Framework 2.0 to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx&amp;amp;title=Failed+to+install+.NET+Framework+2.0" target="_blank" title="Submit Failed to install .NET Framework 2.0 to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx&amp;amp;phase=2" target="_blank" title="Submit Failed to install .NET Framework 2.0 to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/25/failed-to-install-net-framework-2-0.aspx&amp;amp;title=Failed+to+install+.NET+Framework+2.0" target="_blank" title="Add Failed to install .NET Framework 2.0 to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=43112" width="1" height="1"&gt;</content><author><name>paulus</name><uri>http://geeks.netindonesia.net/members/paulus.aspx</uri></author><category term=".NET" scheme="http://geeks.netindonesia.net/blogs/paulus/archive/tags/.NET/default.aspx" /><category term="Windows" scheme="http://geeks.netindonesia.net/blogs/paulus/archive/tags/Windows/default.aspx" /></entry><entry><title>Silverlight dan Nokia</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx" /><id>http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx</id><published>2008-03-11T11:11:00Z</published><updated>2008-03-11T11:11:00Z</updated><content type="html">&lt;p&gt;Nokia akan mengimplementasikan Silverlight pada ponselnya. Baca selengkapnya di &lt;a href="http://blogs.msdn.com/roberdan/archive/2008/03/04/nokia-to-bring-microsoft-silverlight-powered-experiences-to-millions-of-mobile-users.aspx"&gt;sini&lt;/a&gt;. &lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx&amp;amp;subject=Silverlight dan Nokia" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx&amp;amp;t=Silverlight+dan+Nokia" target="_blank" title="Submit Silverlight dan Nokia to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx&amp;amp;title=Silverlight+dan+Nokia" target="_blank" title="Submit Silverlight dan Nokia to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx&amp;amp;phase=2" target="_blank" title="Submit Silverlight dan Nokia to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/silverlight-dan-nokia.aspx&amp;amp;title=Silverlight+dan+Nokia" target="_blank" title="Add Silverlight dan Nokia to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=42019" width="1" height="1"&gt;</content><author><name>paulus</name><uri>http://geeks.netindonesia.net/members/paulus.aspx</uri></author><category term="Silverlight" scheme="http://geeks.netindonesia.net/blogs/paulus/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Embedded web resource</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx" /><id>http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx</id><published>2008-03-11T09:51:00Z</published><updated>2008-03-11T09:51:00Z</updated><content type="html">&lt;p&gt;Ini post saya yang pertama membahas tentang .NET, mohon maaf jika ada kesalahan (maklum langsung code di sini, ga pakai Visual Studio).&lt;/p&gt;&lt;p&gt;Ketika membuat aplikasi ASP.NET kadang saya membuat project Web Control Library yang isinya user controls yang tidak ingin saya expose code nya ke developer lain. User control tersebut membutuhkan code javascript yang ada pada file terpisah, atau file-file image. Jika user control ini digunakan dalam web form yang ada pada project terpisah atau pada solution yang lain, file-file javascript atau image tersebut harus diikutsertakan juga. Hal ini sepertinya agak merepotkan (setidaknya untuk saya).&lt;/p&gt;&lt;p&gt;Supaya yang dideploy hanya single file assembly, file javascript dan image tersebut dapat di-embed sebagai embedded resource ke dalam assembly.&amp;nbsp; Caranya adalah:&lt;/p&gt;&lt;p&gt;Untuk setiap file yang akan di-embed sebagai embedded resource, di Visual Studio ubah property Build Action dari file tersebut menjadi &lt;span style="font-weight:bold;"&gt;Embedded Resource&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;Kemudian daftarkan file tersebut pada AssemblyInfo.cs supaya HTTP handler dapat mengaksesnya melalui WebResource.axd, dengan syntax:&lt;/p&gt;&lt;p&gt;&lt;font face="courier new,courier"&gt;[assembly:WebResource(&amp;quot;&lt;span style="font-style:italic;"&gt;namespace&lt;/span&gt;.&lt;span style="font-style:italic;"&gt;filename&lt;/span&gt;&amp;quot;, &amp;quot;&lt;span style="font-style:italic;"&gt;content-type&lt;/span&gt;&amp;quot;)]&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Misalnya untuk namespace MyWebControl.Validator dan nama file javascript yang akan di-embed adalah LengthValidator.js, maka penulisannya menjadi:&lt;/p&gt;&lt;p style="font-family:courier new,courier;"&gt;[assembly:WebResource(&amp;quot;MyWebControl.Validator.LengthValidator.js&amp;quot;, &amp;quot;text/javascript&amp;quot;)]&lt;/p&gt;&lt;p&gt;Sampai di sini, jika project web control library di-build akan menghasilkan satu file DLL yang di dalamnya sudah di-embed file javascript yang disebutkan tadi. Misalkan nama file DLL yang dihasilkan adalah &lt;span style="font-weight:bold;"&gt;LengthValidator.dll&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Untuk meng-consume resource, dilakukan dengan cara seperti halnya meng-inject sebuah file javascript ke dalam web form dengan memanggil method &lt;span style="font-family:courier new,courier;"&gt;Page.ClientScript.RegisterClientScriptInclude&lt;/span&gt;: &lt;/p&gt;&lt;p style="font-family:courier new,courier;"&gt;Page.ClientScript.RegisterClientScriptInclude(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;LengthValidator&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.ClientScript.GetWebResourceUrl(typeof(LengthValidator),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;MyWebControl.Validator.LengthValidator.js&amp;quot;));&lt;/p&gt;&lt;p&gt;Kalau diperhatikan di atas, perbedaan antara meng-inject sebuah file javascript biasa dengan file javascript sebagai embedded resource adalah pada parameter kedua dari method &lt;span style="font-family:courier new,courier;"&gt;RegisterClientScriptInclude&lt;/span&gt;. Biasanya untuk meng-inject sebuah file javascript, parameter ini diisi dengan nama file javascript, tetapi karena yang di-inject adalah embedded resource, maka gunakan method &lt;span style="font-family:courier new,courier;"&gt;GetWebResourceUrl&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Jika file javascript yang akan di-embed berada dalam folder lain (bukan folder root project), sebutkan nama folder tersebut ketika file tersebut didaftarkan di AssemblyInfo.cs. Misalkan file javascript LengthValidator.js berada dalam folder bernama scripts:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;[assembly: WebResource(&amp;quot;LengthValidator.scripts.LengthValidator.js&amp;quot;, &amp;quot;text/javascript&amp;quot;)]&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Serupa dengan di atas, untuk mengambil javascript yang sudah di-embed tersebut dengan menyebutkan nama folder tadi:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new,courier;"&gt;Page.ClientScript.RegisterClientScriptInclude(&lt;/span&gt;&lt;br style="font-family:courier new,courier;" /&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;LengthValidator&amp;quot;,&lt;/span&gt;&lt;br style="font-family:courier new,courier;" /&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.ClientScript.GetWebResourceUrl(this.GetType(), &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;LengthValidator.scripts.LengthValidator.js&amp;quot;));&lt;/span&gt;&lt;br style="font-family:courier new,courier;" /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx&amp;amp;subject=Embedded web resource" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx&amp;amp;t=Embedded+web+resource" target="_blank" title="Submit Embedded web resource to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx&amp;amp;title=Embedded+web+resource" target="_blank" title="Submit Embedded web resource to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx&amp;amp;phase=2" target="_blank" title="Submit Embedded web resource to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/web-resource.aspx&amp;amp;title=Embedded+web+resource" target="_blank" title="Add Embedded web resource to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=41997" width="1" height="1"&gt;</content><author><name>paulus</name><uri>http://geeks.netindonesia.net/members/paulus.aspx</uri></author><category term="ASP.NET" scheme="http://geeks.netindonesia.net/blogs/paulus/archive/tags/ASP.NET/default.aspx" /></entry><entry><title>{Hello:World}</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx" /><id>http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx</id><published>2008-03-11T09:43:00Z</published><updated>2008-03-11T09:43:00Z</updated><content type="html">&lt;p&gt;Hello .NET-ers,&lt;/p&gt;&lt;p&gt;Sebenarnya udah lama punya blog di INDC tapi baru sekarang mau coba say hello untuk semua penghuni di sini. Kalau mau jujur, saya agak minder untuk posting tulisan karena setelah lihat judul-judul blog di sini ilmu .NET nya pasti sudah lebih tinggi dari saya.&lt;/p&gt;&lt;p&gt;Semoga kita bisa sharing ilmu di sini.&lt;/p&gt;&lt;p&gt;Maju terus komunitas developer .NET Indonesia !!&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx&amp;amp;subject={Hello:World}" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx&amp;amp;t=%7bHello%3aWorld%7d" target="_blank" title="Submit {Hello:World} to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx&amp;amp;title=%7bHello%3aWorld%7d" target="_blank" title="Submit {Hello:World} to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx&amp;amp;phase=2" target="_blank" title="Submit {Hello:World} to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/paulus/archive/2008/03/11/hello-world.aspx&amp;amp;title=%7bHello%3aWorld%7d" target="_blank" title="Add {Hello:World} to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=41991" width="1" height="1"&gt;</content><author><name>paulus</name><uri>http://geeks.netindonesia.net/members/paulus.aspx</uri></author></entry></feed>