<?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">Yet another blog</title><subtitle type="html">Explorer</subtitle><id>http://geeks.netindonesia.net/blogs/omwok/atom.aspx</id><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/default.aspx" /><link rel="self" type="application/atom+xml" href="http://geeks.netindonesia.net/blogs/omwok/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2005-07-05T23:48:00Z</updated><entry><title>Something wrong with the airline system ? or is it just plain pain in the a**....(part I)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx</id><published>2006-11-14T07:20:00Z</published><updated>2006-11-14T07:20:00Z</updated><content type="html">I wrote this because it actually happen to me..&lt;img src="http://geeks.netindonesia.net/emoticons/emotion-15.gif" alt="Geeked" /&gt;&lt;br /&gt;As a guy in IT line of work....I could never understand this problem. This is the history&lt;br /&gt;For a job in Chennai (India), company had bought me a round ticket&amp;nbsp;from&amp;nbsp;MA* airlines.&lt;br /&gt;On the day I should flight this&amp;nbsp;airline&amp;nbsp;told&amp;nbsp;the&amp;nbsp;passenger&amp;nbsp;that&amp;nbsp;it&amp;nbsp;was&amp;nbsp;delayed&amp;nbsp;(being&amp;nbsp;an&amp;nbsp;Indonesian&amp;nbsp;this&amp;nbsp;should&amp;nbsp;be&amp;nbsp;regular....no problem).&lt;br /&gt;After 1 hour of delayed I finally flight to Kuala Lumpur first (it was the route). &lt;br /&gt;Upon arrival at KLIA I suppose to took a fligth again to Chennai, but that&amp;#39;s not the case. &lt;br /&gt;The connecting flight that suppose to took me has flewn because of the delay in jakarta I missed the flight.....&lt;img src="http://geeks.netindonesia.net/emoticons/emotion-12.gif" alt="Angry" /&gt;, &lt;br /&gt;but that&amp;#39;s ok the airlines try to put me in the hotel along with 2 other passenger that has stucked with me. &lt;br /&gt;When&amp;nbsp;we&amp;nbsp;arrived&amp;nbsp;at&amp;nbsp;the&amp;nbsp;hotel&amp;nbsp;the&amp;nbsp;front&amp;nbsp;desk&amp;nbsp;told&amp;nbsp;us&amp;nbsp;they&amp;nbsp;would&amp;nbsp;gave&amp;nbsp;us&amp;nbsp;single&amp;nbsp;room&amp;nbsp;for&amp;nbsp;three&amp;nbsp;of&amp;nbsp;us&amp;nbsp;(what&amp;nbsp;the&amp;nbsp;he**).&amp;nbsp;&lt;br /&gt;Of&amp;nbsp;course&amp;nbsp;three&amp;nbsp;of&amp;nbsp;us&amp;nbsp;got&amp;nbsp;rage, we hardly know each other but they want to put us in one room?, this guy should be out of his mind. &lt;br /&gt;We told him to call to MA*&amp;nbsp;and&amp;nbsp;he&amp;nbsp;eventually&amp;nbsp;gave&amp;nbsp;us&amp;nbsp;separate&amp;nbsp;room.&lt;br /&gt; On the next day in the morning we rushed to the KLIA to get checked in....&lt;br /&gt;MA* told us we have to switch airlines because there are no MA* flight till evening..., &lt;br /&gt;we then got switched to a local&amp;nbsp;indian&amp;nbsp;airways&amp;nbsp;which&amp;nbsp;is&amp;nbsp;eventually&amp;nbsp;had&amp;nbsp;flight&amp;nbsp;to&amp;nbsp;KLIA.&amp;nbsp;&lt;br /&gt;This&amp;nbsp;MA*&amp;nbsp;personel&amp;nbsp;then&amp;nbsp;collect&amp;nbsp;our&amp;nbsp;ticket&amp;nbsp;and&amp;nbsp;change&amp;nbsp;it&amp;nbsp;to&amp;nbsp;a&amp;nbsp;boarding&amp;nbsp;pass....,&amp;nbsp;&lt;br /&gt;the&amp;nbsp;bad&amp;nbsp;thing&amp;nbsp;was&amp;nbsp;I&amp;nbsp;forgot&amp;nbsp;that&amp;nbsp;my&amp;nbsp;ticket&amp;nbsp;is&amp;nbsp;also&amp;nbsp;a&amp;nbsp;return&amp;nbsp;ticket and the MA* personel also forgot to return my ticket....&lt;br /&gt;so&amp;nbsp;by&amp;nbsp;the&amp;nbsp;time&amp;nbsp;I&amp;nbsp;realized&amp;nbsp;it&amp;nbsp;I&amp;nbsp;already&amp;nbsp;at&amp;nbsp;chennai&amp;nbsp;airport.&lt;br /&gt; I rushed into a MA* personel in chennai airport and tell them the problem....&lt;br /&gt;they said I only had to go to centrall office in downtown chennai and I will get it back.&lt;br /&gt;I went to the MA* Chennai office and they told me they cannot reissue the ticket until there&amp;#39;s some confirmation from KLIA or Jakarta office.&lt;br /&gt; So I told them to make the call, and still yet they were not make the call &lt;br /&gt;(my thought was a single international call is too expensive for this airlines).&lt;br /&gt; I call my colleque to help me on this problem through jakarta, but still the problem goes on and on until 5th day .... &lt;br /&gt;(heck we live in a communication age...but for this time the communication still becomes burden to this airlines..).&lt;br /&gt;On the 5th day....my office colleque told me that they already had MA* Jakarta Office to send a telex to&amp;nbsp;MA*&amp;nbsp;Chennai&amp;nbsp;office,&amp;nbsp;&lt;br /&gt;I&amp;nbsp;wait&amp;nbsp;for&amp;nbsp;couple&amp;nbsp;of&amp;nbsp;hours&amp;nbsp;to&amp;nbsp;make&amp;nbsp;sure&amp;nbsp;that&amp;nbsp;MA*&amp;nbsp;Chennai&amp;nbsp;office&amp;nbsp;got&amp;nbsp;the telex&amp;nbsp;and&amp;nbsp;made&amp;nbsp;the&amp;nbsp;call.....&lt;br /&gt;I&amp;nbsp;call&amp;nbsp;the&amp;nbsp;MA*&amp;nbsp;Chennai&amp;nbsp;office&amp;nbsp;and&amp;nbsp;they&amp;nbsp;told&amp;nbsp;me&amp;nbsp;still&amp;nbsp;haven&amp;#39;t&amp;nbsp;got&amp;nbsp;the&amp;nbsp;telex&amp;nbsp;&lt;br /&gt;(by&amp;nbsp;GOD&amp;nbsp;a&amp;nbsp;telex&amp;nbsp;travel&amp;nbsp;more&amp;nbsp;than&amp;nbsp;2&amp;nbsp;hours&amp;nbsp;!!!,&amp;nbsp;its&amp;nbsp;imposible), this is one thing for sure the MA* personel in Jakarta had not send it. &lt;br /&gt;So I ordered my colleque to went&amp;nbsp;to&amp;nbsp;MA*&amp;nbsp;Jakarta&amp;nbsp;Office&amp;nbsp;on 6th day and&amp;nbsp;assist&amp;nbsp;the&amp;nbsp;MA*&amp;nbsp;officer&amp;nbsp;to&amp;nbsp;send&amp;nbsp;the&amp;nbsp;telex&amp;nbsp;(heck&amp;nbsp;they&amp;nbsp;even&amp;nbsp;don&amp;#39;t&amp;nbsp;know&amp;nbsp;how&amp;nbsp;to&amp;nbsp;send&amp;nbsp;it&amp;nbsp;probably...grrrr).&lt;br /&gt;On 6th day I got fully conform that the telex has been sent with the assistant of my colleque, &lt;br /&gt;so I made the call to MA* office and they said they already got the telex and I can get my ticket.&lt;br /&gt;&lt;br /&gt;After&amp;nbsp;all said and done....it has worn out everything from me, my colleque for this simple problem..., &lt;br /&gt;I already made a resolution to my company....nerver use MA* anymore.....because we&amp;#39;ve come to the conclusion that &lt;br /&gt;MA* is a screwed company of the first order even an international call is way to expensive for them.&lt;br /&gt;&lt;br /&gt;&lt;br /&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/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx&amp;amp;subject=Something wrong with the airline system ? or is it just plain pain in the a**....(part I)" 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/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx&amp;amp;t=Something+wrong+with+the+airline+system+%3f+or+is+it+just+plain+pain+in+the+a**....(part+I)" target="_blank" title="Submit Something wrong with the airline system ? or is it just plain pain in the a**....(part I) 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/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx&amp;amp;title=Something+wrong+with+the+airline+system+%3f+or+is+it+just+plain+pain+in+the+a**....(part+I)" target="_blank" title="Submit Something wrong with the airline system ? or is it just plain pain in the a**....(part I) 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/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx&amp;amp;phase=2" target="_blank" title="Submit Something wrong with the airline system ? or is it just plain pain in the a**....(part I) 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/omwok/archive/2006/11/14/Something-wrong-with-airline-system-_3F00_-or-is-it-just-plain-pain-in-the-as_2E002E002E002E00_.aspx&amp;amp;title=Something+wrong+with+the+airline+system+%3f+or+is+it+just+plain+pain+in+the+a**....(part+I)" target="_blank" title="Add Something wrong with the airline system ? or is it just plain pain in the a**....(part I) 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=13056" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Life" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Life/default.aspx" /></entry><entry><title>Object Pool</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/21/9047.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/21/9047.aspx</id><published>2006-03-21T00:26:00Z</published><updated>2006-03-21T00:26:00Z</updated><content type="html">&lt;P&gt;a simple thread safe lock free object pool with custom object creation &lt;A href="http://blogs.netindonesia.net/omwok/articles/9046.aspx"&gt;http://blogs.netindonesia.net/omwok/articles/9046.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;u can use it on your own risk...:D&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/omwok/archive/2006/03/21/9047.aspx&amp;amp;subject=Object Pool" 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/omwok/archive/2006/03/21/9047.aspx&amp;amp;t=Object+Pool" target="_blank" title="Submit Object Pool 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/omwok/archive/2006/03/21/9047.aspx&amp;amp;title=Object+Pool" target="_blank" title="Submit Object Pool 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/omwok/archive/2006/03/21/9047.aspx&amp;amp;phase=2" target="_blank" title="Submit Object Pool 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/omwok/archive/2006/03/21/9047.aspx&amp;amp;title=Object+Pool" target="_blank" title="Add Object Pool 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=9047" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>ThreadSafe, Synchronization and Performance (part III)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/20/9045.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/20/9045.aspx</id><published>2006-03-20T16:11:00Z</published><updated>2006-03-20T16:11:00Z</updated><content type="html">&lt;P&gt;Ternyata banyak pendekatan thd suatu masalah ya? (&lt;A href="http://blogs.netindonesia.net/zeddy/archive/2006/03/19/9042.aspx"&gt;http://blogs.netindonesia.net/zeddy/archive/2006/03/19/9042.aspx&lt;/A&gt;). Itulah indahnya dunia ini....&lt;/P&gt;
&lt;P&gt;Bagaimana kalo satu pendekatan lagi? pendekatan berikut ini memakai synchronization atomic di .NET yaitu System.Threading.Interlocked, class ini tidak baru tapi mengalami penambahan method2 generic di .net 2.0, yg kita harap dpt ngebust performance. &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass4&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass4&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; SingletonClass4() { }&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass4&lt;/FONT&gt;&lt;FONT size=2&gt; Instance&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;get&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt; == _instance)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;System.Threading.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Interlocked&lt;/FONT&gt;&lt;FONT size=2&gt;.CompareExchange&amp;lt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass4&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ref&lt;/FONT&gt;&lt;FONT size=2&gt; _instance, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass4&lt;/FONT&gt;&lt;FONT size=2&gt;(), &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;Hasil yang didapat di laptop saya Pentium 4 Mobile (Code Sonoma) RAM 512 dgn release build (kemaren emang debug...blame me...:p)sbb:&lt;/P&gt;
&lt;P&gt;Pendekatan I = 0.162031766607208&lt;BR&gt;Pendekatan II = 0.140241287649687&lt;BR&gt;Pendekatan III = 0.115098427314086&lt;BR&gt;Pendekatan IV = 0.0396698463072821&lt;/P&gt;
&lt;P&gt;bust up 3 times ya?, walaupun code-nya agak2 ribet, code utk performance biasanya punya tendensi utk menjadi code yg agak sukar di mengerti..;)&lt;/P&gt;
&lt;P&gt;Spt yg kita lihat banyak cara meminimalisir penggunaan lock, yg penting dari sini adalah mengetahui dgn jelas domain problem yg dihadapi kemudian act something dgn itu....cheers&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/omwok/archive/2006/03/20/9045.aspx&amp;amp;subject=ThreadSafe, Synchronization and Performance (part III)" 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/omwok/archive/2006/03/20/9045.aspx&amp;amp;t=ThreadSafe%2c+Synchronization+and+Performance+(part+III)" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part III) 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/omwok/archive/2006/03/20/9045.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance+(part+III)" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part III) 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/omwok/archive/2006/03/20/9045.aspx&amp;amp;phase=2" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part III) 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/omwok/archive/2006/03/20/9045.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance+(part+III)" target="_blank" title="Add ThreadSafe, Synchronization and Performance (part III) 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=9045" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>ThreadSafe, Synchronization and Performance (part II)</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/18/9027.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/18/9027.aspx</id><published>2006-03-17T22:31:00Z</published><updated>2006-03-17T22:31:00Z</updated><content type="html">&lt;P&gt;Saya mencoba untuk &lt;FONT face=Arial&gt;melakukan&lt;/FONT&gt; performance counting dari suatu code tanpa lock(.net internals)&amp;nbsp;dan dengan lock untuk mendapatkan synchronisasi.&lt;/P&gt;
&lt;P&gt;Performance counting ini dilakukan dengan menggunakan Zeddy's&amp;nbsp;TimerAkurat &lt;A href="http://blogs.netindonesia.net/zeddy/articles/csvscppnet.aspx"&gt;http://blogs.netindonesia.net/zeddy/articles/csvscppnet.aspx&lt;/A&gt;&amp;nbsp;(Thanks Z) mendapatkan instance dari singleton sebanyak 10000 kali. Saya tahu bahwa ini tidak menggambarkan real-production experience tapi kita setidaknya mendapatkan gambaran kasar yg terjadi&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Collections.Generic;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Text;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Diagnostics;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;namespace&lt;/FONT&gt;&lt;FONT size=2&gt; TestSingleton&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; SingletonClass1()&lt;BR&gt;{&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt; Instance()&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt; == _instance)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;lock&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt;))&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt; == _instance)&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;_instance = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT size=2&gt;//this do-nothing private constructor here just to protect the class not instantiated using new&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; SingletonClass2()&lt;BR&gt;{&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; SingletonClass2()&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;_instance = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt; Instance&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;get&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P dir=ltr&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; _instance;&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;}&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Program&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; Main(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;[] args)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt; i = 10000;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;// Pemanasan dari pendekatan I agar framework dapat melakukan optimasi&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (--i &amp;gt; 0)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt; instance = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance();&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;i = 10000;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//pemanasan dari pendekatan II&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (--i &amp;gt; 0)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt; instance = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;i = 10000;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//pendekatan I&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;Zedilabs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TimerAkurat&lt;/FONT&gt;&lt;FONT size=2&gt; timer = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; Zedilabs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TimerAkurat&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;BR&gt;timer.Mulai();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (--i &amp;gt; 0)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt; instance = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass1&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance();&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;timer.Berhenti();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.Out.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Pendekatan I (with lock) = {0}"&lt;/FONT&gt;&lt;FONT size=2&gt;,timer.HasilDlmMilliDetik);&lt;BR&gt;&lt;BR&gt;i = 10000;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//pendekatan II&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;timer = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; Zedilabs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TimerAkurat&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;BR&gt;timer.Mulai(); &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (--i &amp;gt; 0)&lt;BR&gt;{&lt;BR&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt; instance = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SingletonClass2&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance;&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;timer.Berhenti();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.Out.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Pendekatan II (with internals)= {0}"&lt;/FONT&gt;&lt;FONT size=2&gt;, timer.HasilDlmMilliDetik);&lt;BR&gt;&lt;/BLOCKQUOTE&gt;}&lt;BR&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;}&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/FONT&gt;Hasil yang saya dapatkan di laptop saya sbb : (hasil ini akan berbeda tergantung spec system)&lt;/P&gt;
&lt;P&gt;Pendekatan I (with lock)&amp;nbsp;= 0.528000067047628&lt;BR&gt;Pendekatan II (with internals)= 0.164825417755609&lt;/P&gt;
&lt;P&gt;seperti kita lihat yg memakai synchronization internal lebih cepat 3-4 kali-nya synchronization dgn menggunakan lock. Bisa dibayangkan bhw code kita bisa lebih cepat 3-4 kali dengan hanya menghilangkan penggunaan lock ini.&lt;/P&gt;
&lt;P&gt;Lock is bad? ya dan tidak, untuk beberapa kasus tertentu ketika kita tidak bisa lagi menggunakan synchronization object yang lain, lock sangat membantu karena sangat mudah menggunakannya. Tapi menurut pengalaman saya&amp;nbsp;selalu saja ada cara utk mereplace penggunaan lock.&lt;/P&gt;
&lt;P&gt;Makasih Om Agus utk contoh code yang nimbulkan ide nulis ini.&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/omwok/archive/2006/03/18/9027.aspx&amp;amp;subject=ThreadSafe, Synchronization and Performance (part II)" 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/omwok/archive/2006/03/18/9027.aspx&amp;amp;t=ThreadSafe%2c+Synchronization+and+Performance+(part+II)" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part II) 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/omwok/archive/2006/03/18/9027.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance+(part+II)" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part II) 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/omwok/archive/2006/03/18/9027.aspx&amp;amp;phase=2" target="_blank" title="Submit ThreadSafe, Synchronization and Performance (part II) 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/omwok/archive/2006/03/18/9027.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance+(part+II)" target="_blank" title="Add ThreadSafe, Synchronization and Performance (part II) 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=9027" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>ThreadSafe, Synchronization and Performance</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/18/9017.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/18/9017.aspx</id><published>2006-03-17T17:56:00Z</published><updated>2006-03-17T17:56:00Z</updated><content type="html">&lt;P&gt;Saya jadi teringat akan judul diatas ketika membaca blog-nya om agus &lt;A href="http://blogs.netindonesia.net/agus/archive/2006/03/15/8978.aspx"&gt;http://blogs.netindonesia.net/agus/archive/2006/03/15/8978.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Saya ada beberapa tip mengenai hal2 ini yaitu :&lt;/P&gt;
&lt;P&gt;1. Sebisa mungkin hindari pemakaian lock, pakailah yg lebih atomic, spt System.Threading.Interlocked&lt;BR&gt;2. Ketahui .net internal synchronization dgn belajar bagaimana .net framework menjalankan suatu code, sebisa mungkin pake .net internal tadi.&lt;/P&gt;
&lt;P&gt;Ambil contoh code Singleton-nya Om Agus, kumodifikasi spt ini&lt;BR&gt;public class MySingletonClass&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static MySingletonClass _instance;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //change private to static constructor&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static MySingletonClass()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _instance = new MySingletonClass();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // change method to property because property always inline when use by another class&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static MySingletonClass Instance&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get{&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; return _instance;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;spt yg kita lihat singleton ini jadinya lock free. Apakah thread safe? ya karena static constructor hanya akan dieksekusi oleh framework sekali (.net internal synchronization). Sayang saya belum buat komparasi antara kedua pendekatan ini mungkin ada yang bisa membantu?&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/omwok/archive/2006/03/18/9017.aspx&amp;amp;subject=ThreadSafe, Synchronization and Performance" 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/omwok/archive/2006/03/18/9017.aspx&amp;amp;t=ThreadSafe%2c+Synchronization+and+Performance" target="_blank" title="Submit ThreadSafe, Synchronization and Performance 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/omwok/archive/2006/03/18/9017.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance" target="_blank" title="Submit ThreadSafe, Synchronization and Performance 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/omwok/archive/2006/03/18/9017.aspx&amp;amp;phase=2" target="_blank" title="Submit ThreadSafe, Synchronization and Performance 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/omwok/archive/2006/03/18/9017.aspx&amp;amp;title=ThreadSafe%2c+Synchronization+and+Performance" target="_blank" title="Add ThreadSafe, Synchronization and Performance 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=9017" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>Cracking Visual Studio</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/17/9004.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/03/17/9004.aspx</id><published>2006-03-17T00:01:00Z</published><updated>2006-03-17T00:01:00Z</updated><content type="html">&lt;P&gt;Visual studio 2005 ok banget kan? apalagi dgn .NET 2.0 support seperti generics, anonymous method...dst.&lt;/P&gt;
&lt;P&gt;Well ternyata not so.....hehehe....saya nemuin satu bug ato limitation yang agak aneh, tapi sebenarnya masuk akal....&lt;/P&gt;
&lt;P&gt;Bug ini terjadi ketika saya lagi design suatu project yg make Web Service, trus terlintas di kepala....ini kan jamannya .NET 2.0, kira2 bisa gak ya...WebMethod di generic kan?...;). Seharusnya jawabannya gak bisa...., karena Web Service ada WSDL-nya yang mendeskripsikan WebService tadi, sehingga segala sesuatu yang di passing ke dan dari WebService tadi sudah harus didefenisikan dahulu dan tentu saja sesuatu tadi harus dapat di serialisasikan. Kalo kita passing T berarti WebMethod tadi gak terdefenisi secara jelas...&lt;/P&gt;
&lt;P&gt;Maka kemudian percobaan dimulai....saya buat web method spt ini&lt;/P&gt;
&lt;P&gt;[WebMethod]&lt;/P&gt;
&lt;P&gt;public T TestGeneric&amp;lt;T&amp;gt;(){&lt;/P&gt;
&lt;P&gt;return default(T);&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;Trus kucompile Web Service saya tadi hasilnya ternyata Visual Studio success melakukan compilasi...what da h*, apakah benar berhasil? saya coba buka asmx-nya lewat IE dan error yang diperkirakan keluar....ha ...ha...ha.&lt;/P&gt;
&lt;P&gt;Saya ternyata terlalu berharap banyak bahwa at some level Visual Studio harusnya bisa mendeteksi hal2 bodoh seperti ini.....:D. saya mengharapkan Visual Studio at least bisa deteksi bahwa feature ini gak bisa diterapkan pada kasus2 spt ini...dan memberikan error message ketika kompilasi dan bukannya runtime...:D&lt;/P&gt;
&lt;P&gt;Well tapi dengan segala feature-nya saya dapat memaklumi kalau ada beberapa yang miss...;). So guys jangan pernah berkecil hati ...bahkan msft pun bisa berbuat silap...keep optimist.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&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/omwok/archive/2006/03/17/9004.aspx&amp;amp;subject=Cracking Visual Studio" 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/omwok/archive/2006/03/17/9004.aspx&amp;amp;t=Cracking+Visual+Studio" target="_blank" title="Submit Cracking Visual Studio 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/omwok/archive/2006/03/17/9004.aspx&amp;amp;title=Cracking+Visual+Studio" target="_blank" title="Submit Cracking Visual Studio 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/omwok/archive/2006/03/17/9004.aspx&amp;amp;phase=2" target="_blank" title="Submit Cracking Visual Studio 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/omwok/archive/2006/03/17/9004.aspx&amp;amp;title=Cracking+Visual+Studio" target="_blank" title="Add Cracking Visual Studio 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=9004" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>Look no more....look always...</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/23/8759.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/23/8759.aspx</id><published>2006-02-22T18:58:00Z</published><updated>2006-02-22T18:58:00Z</updated><content type="html">&lt;P&gt;Dari waktu ke waktu saya selalu&amp;nbsp;mencari tahu perkembangan grid computing di dot net world. Dan effort2 yg gabungin SOA concept dgn segala buzz-nya dgn grid itu sendiri.&lt;/P&gt;
&lt;P&gt;Hasil-nya &lt;A href="http://www.cs.virginia.edu/~gsw2c/wsrf.net.html"&gt;WSRF.NET&lt;/A&gt;&amp;nbsp;initiative utk wrapping &lt;A href="http://www.globus.org/"&gt;Globus&lt;/A&gt;&amp;nbsp;dgn &lt;A href="http://www-128.ibm.com/developerworks/library/specification/ws-resource/"&gt;Web Service Resource Framework&lt;/A&gt;. Kewlnya mereka pake WSE 3.0 utk security mungkin juga MTOM (blum lihat lebih dalam....baru ngoprek)&lt;/P&gt;
&lt;P&gt;Bingung juga awalnya ......, mo dibawa kemana ini ya? kalo lihat ttg WCF dan perkembangannya..., apakah SOA di dotnet is WCF? ato ini dia? lebih bingung lagi begitu lihat sponsor researchnya ternyata MSFT....huaah...., berarti gak mungkin dong yg spt ginian lepas dari sightnya WCF team.&lt;/P&gt;
&lt;P&gt;Kesan saya ama WSRF, konsep yang sangat bagus, sedangkan mengenai WSRF.NET saya pasti make .....:D&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/omwok/archive/2006/02/23/8759.aspx&amp;amp;subject=Look no more....look always..." 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/omwok/archive/2006/02/23/8759.aspx&amp;amp;t=Look+no+more....look+always..." target="_blank" title="Submit Look no more....look always... 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/omwok/archive/2006/02/23/8759.aspx&amp;amp;title=Look+no+more....look+always..." target="_blank" title="Submit Look no more....look always... 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/omwok/archive/2006/02/23/8759.aspx&amp;amp;phase=2" target="_blank" title="Submit Look no more....look always... 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/omwok/archive/2006/02/23/8759.aspx&amp;amp;title=Look+no+more....look+always..." target="_blank" title="Add Look no more....look always... 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=8759" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Architecture" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Architecture/default.aspx" /></entry><entry><title>Mampus gue..:((</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/17/8699.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/17/8699.aspx</id><published>2006-02-16T19:10:00Z</published><updated>2006-02-16T19:10:00Z</updated><content type="html">&lt;P&gt;Salah satu kerjaan besar di t4 kerjaku skrg ini adalah ngerubah sebuah solusi dari vb6 ke .net. Dengan harapan bisa lebih scalable, reliable, robust, dst nya lah....Kendala so pasti ada, arsitektur udah beda sama sekali technology apalagi....so banyaklah tantangannya....&lt;/P&gt;
&lt;P&gt;Ternyata Msft barusan ini ngeluarin guide gimana ngerjain project convert spt ini (&lt;A href="http://msdn.microsoft.com/practices/default.aspx?pull=/library/en-us/dnpag2/html/vb6tovbnetupgrade.asp"&gt;http://msdn.microsoft.com/practices/default.aspx?pull=/library/en-us/dnpag2/html/vb6tovbnetupgrade.asp&lt;/A&gt;). Guidance ini dibuat berdasarkan real life experience, jadi bisa dijadikan referensi gitu loh..;). Guide ini punya tool yang menarik yaitu assesment tool, dengan assesment tool ini kita bisa mengestimasi kira2 berapa lama dan berapa banyak biaya yang dikeluarkan untuk kerjaan2 ngonvert2 spt ini....(hmmm kira2 berapa ya figures yang dikeluarkan tool ini utk kerjaan di company ini?)&lt;/P&gt;
&lt;P&gt;Setelah melakukan quick run thd modul2 untuk fungsi I (55 modul), iterasi berikut dari proses disini didapatlah figure2 spt ini...&lt;/P&gt;
&lt;P&gt;Total effort 17.6 months&lt;/P&gt;
&lt;P&gt;Total cost 182139 US$&lt;/P&gt;
&lt;P&gt;Kalo cost seh masih bisa berkelit...itu pasti pake rate org luar ..:D, tapi kalo effort?...alamak...:( mampus gue...:((.&lt;/P&gt;
&lt;P&gt;Look at the bright side....jadi ada bahan utk board meeting...:))&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/omwok/archive/2006/02/17/8699.aspx&amp;amp;subject=Mampus gue..:((" 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/omwok/archive/2006/02/17/8699.aspx&amp;amp;t=Mampus+gue..%3a((" target="_blank" title="Submit Mampus gue..:(( 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/omwok/archive/2006/02/17/8699.aspx&amp;amp;title=Mampus+gue..%3a((" target="_blank" title="Submit Mampus gue..:(( 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/omwok/archive/2006/02/17/8699.aspx&amp;amp;phase=2" target="_blank" title="Submit Mampus gue..:(( 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/omwok/archive/2006/02/17/8699.aspx&amp;amp;title=Mampus+gue..%3a((" target="_blank" title="Add Mampus gue..:(( 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=8699" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Architecture" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Architecture/default.aspx" /></entry><entry><title>Ide lama</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/14/8648.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/14/8648.aspx</id><published>2006-02-13T20:46:00Z</published><updated>2006-02-13T20:46:00Z</updated><content type="html">Pengen eh buat sesuatu yang academic banget spt nerapin neural network, genetic algorithm ama genetic programming.
Ide ada, jabaran ide juga udah ada, bahkan sebagian building block utk nerapin yang diatas juga udah dibuat..., yang blum cuma nyari waktu yang cukup utk realisasiin yang sisanya....
lagi2 waktu tersita ama kerjaan, susah banget ya?....
Pengen banget ngerjain ide2 ini.....


&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/omwok/archive/2006/02/14/8648.aspx&amp;amp;subject=Ide lama" 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/omwok/archive/2006/02/14/8648.aspx&amp;amp;t=Ide+lama" target="_blank" title="Submit Ide lama 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/omwok/archive/2006/02/14/8648.aspx&amp;amp;title=Ide+lama" target="_blank" title="Submit Ide lama 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/omwok/archive/2006/02/14/8648.aspx&amp;amp;phase=2" target="_blank" title="Submit Ide lama 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/omwok/archive/2006/02/14/8648.aspx&amp;amp;title=Ide+lama" target="_blank" title="Add Ide lama 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=8648" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Ide, personal project" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Ide_2C00_+personal+project/default.aspx" /></entry><entry><title>Software Factory</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/04/8553.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2006/02/04/8553.aspx</id><published>2006-02-03T20:38:00Z</published><updated>2006-02-03T20:38:00Z</updated><content type="html">&lt;P&gt;When heading back to home with &lt;A href="http://blogs.netindonesia.net/risman/"&gt;Om Risman&lt;/A&gt; after community session at msft. We talked about direction of software development, what problem that continuely occurs, and how my current company vision to solve it. At home still curious about the topic, I go through the vision, requirement, specification, googling, and some pre-design analysis of an internal project at my current company, i realized then the project share the same vision to the Software Factory Methodology envisioned by MSFT (&lt;A href="http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx?pull=/library/en-us/dnbda/html/softfact3.asp"&gt;Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools &lt;/A&gt;). In short the methodology combine existing software development methodogies, and product/system specific architecture. &lt;/P&gt;
&lt;P&gt;Great news also they already release CTP version of &lt;A href="http://msdn.microsoft.com/vstudio/DSLTools/"&gt;Domain Specific Language Tools&lt;/A&gt;. The tools not mean to be one stop solution, but we have to customized/extend it to suit&amp;nbsp;the application architecture and design. &lt;/P&gt;
&lt;P&gt;It was a great relief reading the article that my current company initiative going to the right direction. With the capability to integrate with Visual Studio and VSTS, we are sure to maximized investment on development tools. &lt;/P&gt;
&lt;P&gt;I think the methodology will have major impact on the future, for Enterprises they can manage, control the customization or adding feature to their existing system, for ISV they can manage their product better and faster. Although it still in early stage but the future looks promising. Effort surely being put to make it happen. Now get back to work !...;)&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/omwok/archive/2006/02/04/8553.aspx&amp;amp;subject=Software Factory" 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/omwok/archive/2006/02/04/8553.aspx&amp;amp;t=Software+Factory" target="_blank" title="Submit Software Factory 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/omwok/archive/2006/02/04/8553.aspx&amp;amp;title=Software+Factory" target="_blank" title="Submit Software Factory 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/omwok/archive/2006/02/04/8553.aspx&amp;amp;phase=2" target="_blank" title="Submit Software Factory 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/omwok/archive/2006/02/04/8553.aspx&amp;amp;title=Software+Factory" target="_blank" title="Add Software Factory 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=8553" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Architecture" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Architecture/default.aspx" /></entry><entry><title>Object Oriented Database ... Getting my feet wet ...yet again </title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2005/12/10/8105.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2005/12/10/8105.aspx</id><published>2005-12-09T22:24:00Z</published><updated>2005-12-09T22:24:00Z</updated><content type="html">This past 1 week, I've been playing around (yet again) with &lt;a href="www.db4o.com"&gt;db4o&lt;/a&gt; ...in .NET (yeee...haaa).
After almost 2 years ago play with the same brand of OODB in java, I found the same exact excitement in .NET especially the
Native Query (genius ... that can be compared to LINQ to so me extend...but hey this is all done in .NET 2.0 and C# 2.0).

I already made up my mind to use the db4o in our in-house application. Maybe I got the time to add and update the article here about the use of db4o and how to use it.

&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/omwok/archive/2005/12/10/8105.aspx&amp;amp;subject=Object Oriented Database ... Getting my feet wet ...yet again " 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/omwok/archive/2005/12/10/8105.aspx&amp;amp;t=Object+Oriented+Database+...+Getting+my+feet+wet+...yet+again+" target="_blank" title="Submit Object Oriented Database ... Getting my feet wet ...yet again  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/omwok/archive/2005/12/10/8105.aspx&amp;amp;title=Object+Oriented+Database+...+Getting+my+feet+wet+...yet+again+" target="_blank" title="Submit Object Oriented Database ... Getting my feet wet ...yet again  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/omwok/archive/2005/12/10/8105.aspx&amp;amp;phase=2" target="_blank" title="Submit Object Oriented Database ... Getting my feet wet ...yet again  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/omwok/archive/2005/12/10/8105.aspx&amp;amp;title=Object+Oriented+Database+...+Getting+my+feet+wet+...yet+again+" target="_blank" title="Add Object Oriented Database ... Getting my feet wet ...yet again  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=8105" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Architecture" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Architecture/default.aspx" /></entry><entry><title>&lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt;</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2005/07/06/5182.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2005/07/06/5182.aspx</id><published>2005-07-05T17:09:00Z</published><updated>2005-07-05T17:09:00Z</updated><content type="html">Kenapa .NET terasa lambat sekali dalam nerapin standard2x bagus spt ini...&lt;br/&gt;
Emang ada Open Source .NET &lt;a href="http://mvpos.sourceforge.net/"&gt;project&lt;/a&gt; utk ini tapi.....:p&lt;br/&gt;
Aku sendiri lebih cenderung melihat implementasi XACML di &lt;a href="http://sunxacml.sourceforge.net/"&gt;Java&lt;/a&gt; lebih bagus dan bener&lt;br/&gt;
Aku udah porting Java XACML Implementation ke .NET tapi blom ku test ama conformance test-nya oasis....&lt;br/&gt;
Let see by tomorow I got full result of testing....
&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/omwok/archive/2005/07/06/5182.aspx&amp;amp;subject=&lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt;" 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/omwok/archive/2005/07/06/5182.aspx&amp;amp;t=%3ca+href%3d%22http%3a%2f%2fwww.oasis-open.org%2fspecs%2findex.php%23xacmlv2.0%22%3eXACML%3c%2fa%3e" target="_blank" title="Submit &lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt; 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/omwok/archive/2005/07/06/5182.aspx&amp;amp;title=%3ca+href%3d%22http%3a%2f%2fwww.oasis-open.org%2fspecs%2findex.php%23xacmlv2.0%22%3eXACML%3c%2fa%3e" target="_blank" title="Submit &lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt; 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/omwok/archive/2005/07/06/5182.aspx&amp;amp;phase=2" target="_blank" title="Submit &lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt; 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/omwok/archive/2005/07/06/5182.aspx&amp;amp;title=%3ca+href%3d%22http%3a%2f%2fwww.oasis-open.org%2fspecs%2findex.php%23xacmlv2.0%22%3eXACML%3c%2fa%3e" target="_blank" title="Add &lt;a href="http://www.oasis-open.org/specs/index.php#xacmlv2.0"&gt;XACML&lt;/a&gt; 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=5182" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Code" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Code/default.aspx" /></entry><entry><title>New job...new world</title><link rel="alternate" type="text/html" href="http://geeks.netindonesia.net/blogs/omwok/archive/2005/07/05/5180.aspx" /><id>http://geeks.netindonesia.net/blogs/omwok/archive/2005/07/05/5180.aspx</id><published>2005-07-05T16:48:00Z</published><updated>2005-07-05T16:48:00Z</updated><content type="html">Dapat kerjaan baru sebulan lalu yg memaksa aku utk lebih mature dari sisi pribadi..., thank you om ris..;)

Howdy, tuk temen2x cartenzku...hope everything run in your way....

Ya Allah, Ya Allah Keith packard has a &lt;a href="http://keithp.com/blog/"&gt;blog&lt;/a&gt;, and I love it...:D
&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/omwok/archive/2005/07/05/5180.aspx&amp;amp;subject=New job...new 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/omwok/archive/2005/07/05/5180.aspx&amp;amp;t=New+job...new+world" target="_blank" title="Submit New job...new 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/omwok/archive/2005/07/05/5180.aspx&amp;amp;title=New+job...new+world" target="_blank" title="Submit New job...new 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/omwok/archive/2005/07/05/5180.aspx&amp;amp;phase=2" target="_blank" title="Submit New job...new 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/omwok/archive/2005/07/05/5180.aspx&amp;amp;title=New+job...new+world" target="_blank" title="Add New job...new 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=5180" width="1" height="1"&gt;</content><author><name>omwok</name><uri>http://geeks.netindonesia.net/members/omwok.aspx</uri></author><category term="Life" scheme="http://geeks.netindonesia.net/blogs/omwok/archive/tags/Life/default.aspx" /></entry></feed>