<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6358895</id><updated>2012-02-12T21:39:44.752-05:00</updated><title type='text'>Elegant coding</title><subtitle type='html'>Expert in Oracle, Java and c#. 
&lt;br&gt;
I am Sun certified java programmer since 2000, Oracle certified DBA since 2001, and MS certified DotNet application developer since 2004. I also won the Borland Asia AIM programming contest in 2003, and RSA(Security Division of EMC) Act Now Honorable Mention Award in 2007, Excellence Award in 2008, and High Impact Award in 2009.
&lt;br&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default?start-index=101&amp;max-results=100'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>432</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6358895.post-9129803790101725087</id><published>2010-02-15T15:26:00.001-05:00</published><updated>2010-02-15T15:26:17.924-05:00</updated><title type='text'>Tools for making the vedio demo</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;1. CamStudio - Free Streaming Video Software &lt;br/&gt;&lt;br/&gt;2. Subtitle Workshop - The most complete, efficient and convenient freeware subtitle editing tool.&lt;br/&gt;&lt;br/&gt;3. AutoGK -  THE tool for XviD / DivX conversion&lt;br/&gt;&lt;br/&gt;4. WinAVI Vedio Converter - A complete solution for video-file converting &lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=229c43d7-60de-8651-9fdd-6ae15411e14b' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-9129803790101725087?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/9129803790101725087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=9129803790101725087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/9129803790101725087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/9129803790101725087'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2010/02/tools-for-making-vedio-demo.html' title='Tools for making the vedio demo'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-5782211104579978146</id><published>2010-02-06T22:02:00.001-05:00</published><updated>2010-02-06T22:02:51.023-05:00</updated><title type='text'>Some tools to speeding up the productivity</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;1. Powerpro - A windows tool to imitate the key typing with a keyboard shortcut.&lt;br/&gt;&lt;br/&gt;http://powerpro.webeddie.com/&lt;br/&gt;&lt;br/&gt;2. AutoFill forms - A Firefox Add-on that enables you to fill out web forms with a keyboard shortcut. &lt;br/&gt;&lt;br/&gt;3. Ubiquity -  A Firefox Add-on that lets you give commands to Firefox by entering command words into a special input box.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=08d1500d-3330-8070-a8bc-3c5460ff0f5b' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-5782211104579978146?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/5782211104579978146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=5782211104579978146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5782211104579978146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5782211104579978146'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2010/02/some-tools-to-speeding-up-productivity.html' title='Some tools to speeding up the productivity'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-6075901955795374724</id><published>2009-07-16T10:03:00.001-04:00</published><updated>2009-07-16T10:03:35.784-04:00</updated><title type='text'>sqlplus tip</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;1. DEFINE_EDITOR=vi  - define the vi editor&lt;br/&gt;2. EDIT - edit the sql statement in current buffer with using vi editor&lt;br/&gt;3. save file &amp;lt;filename&amp;gt; - save the sql statement in current buffer to a file&lt;br/&gt;4. get file &amp;lt;filename&amp;gt; - load the sql statement from file to current buffer&lt;br/&gt;5. / - execute the sql statement in current buffer&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-6075901955795374724?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/6075901955795374724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=6075901955795374724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/6075901955795374724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/6075901955795374724'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/07/sqlplus-tip.html' title='sqlplus tip'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-3616762503568593132</id><published>2009-07-15T14:01:00.006-04:00</published><updated>2009-12-21T15:43:27.570-05:00</updated><title type='text'>Some tools</title><content type='html'>Ganglia - a tools to monitor the system performance&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ganglia.info/"&gt;http://ganglia.info/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hudson - A tools to perform the build and automation functional test&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hudson.com/"&gt;http://hudson.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;nmon - a tools to monitor the Linux performance&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.csdn.net/chinalinuxzend/archive/2009/06/03/4238526.aspx"&gt;http://blog.csdn.net/chinalinuxzend/archive/2009/06/03/4238526.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Selenium - a tool to do the web automation test&lt;br /&gt;&lt;br /&gt;&lt;a href="http://seleniumhq.org/"&gt;http://seleniumhq.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-3616762503568593132?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/3616762503568593132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=3616762503568593132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3616762503568593132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3616762503568593132'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/07/some-tools_15.html' title='Some tools'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-7254233486718124375</id><published>2009-07-09T14:55:00.001-04:00</published><updated>2009-07-09T14:55:11.009-04:00</updated><title type='text'>Some sql tips</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;sequence and streams&lt;br/&gt;&lt;br/&gt;CREATE SEQUENCE some_sequence&lt;br/&gt;  START WITH -1&lt;br/&gt;  INCREMENT BY -100&lt;br/&gt;&lt;br/&gt;Convert the delimited string to list&lt;br/&gt;&lt;br/&gt;select (column_value).getstringval() &lt;br/&gt;from xmltable('"a","b","c"');&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-7254233486718124375?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/7254233486718124375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=7254233486718124375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/7254233486718124375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/7254233486718124375'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/07/some-sql-tips.html' title='Some sql tips'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-1483359542129130656</id><published>2009-06-29T15:35:00.001-04:00</published><updated>2009-06-29T16:07:25.114-04:00</updated><title type='text'>Recreate capture process</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;font face='sans-serif'&gt;select * from dba_queue_tables&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;BEGIN&lt;br/&gt;&lt;br/&gt;  dbms_capture_adm.drop_capture(capture_name          =&amp;gt; 'RSA_STREAMS_CAPTURE',&lt;br/&gt;                                drop_unused_rule_sets =&amp;gt; TRUE);&lt;br/&gt;&lt;br/&gt;END;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;BEGIN&lt;br/&gt;  dbms_streams_adm.add_schema_rules(queue_name         =&amp;gt; 'RSA_STREAMS_CAPTURE_Q',&lt;br/&gt;                                    streams_type       =&amp;gt; 'CAPTURE',&lt;br/&gt;                                    streams_name       =&amp;gt; 'RSA_STREAMS_CAPTURE',&lt;br/&gt;                                    schema_name        =&amp;gt; 'RSA_REP',&lt;br/&gt;                                    include_dml        =&amp;gt; TRUE,&lt;br/&gt;                                    include_ddl        =&amp;gt; FALSE,&lt;br/&gt;                                    include_tagged_lcr =&amp;gt; TRUE,&lt;br/&gt;                                    inclusion_rule     =&amp;gt; TRUE);&lt;br/&gt;&lt;br/&gt;END;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-1483359542129130656?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/1483359542129130656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=1483359542129130656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/1483359542129130656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/1483359542129130656'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/06/recreate-capture-process.html' title='Recreate capture process'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-8772345976622584633</id><published>2009-06-29T11:20:00.001-04:00</published><updated>2009-06-29T11:20:43.655-04:00</updated><title type='text'>list Opatch on non-default folder</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;/opatch lsinventory -invPtrloc /export/home/qeuser/AuthMgr/db/oraInst.loc  &lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-8772345976622584633?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/8772345976622584633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=8772345976622584633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8772345976622584633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8772345976622584633'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/06/list-opatch-on-non-default-folder.html' title='list Opatch on non-default folder'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-3648969483428021130</id><published>2009-06-26T21:30:00.001-04:00</published><updated>2009-06-26T21:30:55.270-04:00</updated><title type='text'>Using RMAN to deregister the missing archived log files</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;rman&lt;br/&gt;&lt;br/&gt;connect target sys/&amp;lt;&amp;gt;&lt;br/&gt;crosscheck archivelog all&lt;br/&gt;delete expired archivelog all&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-3648969483428021130?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/3648969483428021130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=3648969483428021130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3648969483428021130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3648969483428021130'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/06/using-rman-to-deregister-missing.html' title='Using RMAN to deregister the missing archived log files'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-654692362223970996</id><published>2009-04-16T20:29:00.001-04:00</published><updated>2009-04-16T20:29:40.916-04:00</updated><title type='text'>My first GAE java application</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Here is the site &lt;a href='http://test-java.appspot.com/' target='_blank'&gt;http://test-java.appspot.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I developed it with using GWT and JPA which are two very popular technology. &lt;br/&gt;&lt;br/&gt;Google provides a Eclipse PlugIn for GAE, that allows to debug the web application include both server and client side.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=8dd0318c-1033-8429-b118-6d123abbcec9' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-654692362223970996?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/654692362223970996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=654692362223970996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/654692362223970996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/654692362223970996'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/04/my-first-gae-java-application.html' title='My first GAE java application'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-4806996504257736546</id><published>2009-02-17T14:29:00.001-05:00</published><updated>2009-02-17T14:29:25.255-05:00</updated><title type='text'>Debug java application</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;export _JAVA_OPTIONS="-Dlax.debug.level=3 -Dlax.debug.all=true"&lt;br/&gt;export LAX_DEBUG=true&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-4806996504257736546?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/4806996504257736546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=4806996504257736546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/4806996504257736546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/4806996504257736546'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/02/debug-java-application.html' title='Debug java application'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-9102068788524446607</id><published>2009-01-25T23:27:00.001-05:00</published><updated>2009-01-25T23:27:30.269-05:00</updated><title type='text'>The issue with using 'ALTER DATABASE BACKUP CONTROLFILE TO TRACE'</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;There are some issues with recover control files in RESETLOGS mode after executing 'ALTER DATABASE BACKUP CONTROLFILE TO TRACE', &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;According to instruction, we need to register log files with using the following comamnd &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ALTER DATABASE REGISTER LOGFILE ''&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;But sometimes the following error occurred &lt;br/&gt;&lt;br/&gt;&lt;code class='km'&gt;&lt;code class='km'&gt;ORA-00604: error occurred at recursive SQL level" error on "ALTER DATABASE REGISTER LOGFILE '/&amp;lt;path&amp;gt;/1_234_636797930.dbf'&lt;/code&gt;&lt;/code&gt;" &lt;br/&gt;&lt;br/&gt;And the work around is using the following command instead&lt;br/&gt;&lt;br/&gt;ALTER DATABASE REGISTER PHYSICAL LOGFILE&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-9102068788524446607?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/9102068788524446607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=9102068788524446607' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/9102068788524446607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/9102068788524446607'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2009/01/issue-with-using-database-backup.html' title='The issue with using &amp;#39;ALTER DATABASE BACKUP CONTROLFILE TO TRACE&amp;#39;'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-1723991119292071750</id><published>2008-12-03T23:09:00.001-05:00</published><updated>2008-12-03T23:09:30.784-05:00</updated><title type='text'>Linux renew ip command</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;The &lt;span style='color: rgb(255, 0, 0);'&gt;-r &lt;/span&gt;flag explicitly&lt;br /&gt;releases the current lease, and once the lease has been released, the&lt;br /&gt;client exits. For example, open terminal and type the command:&lt;br/&gt;&lt;br /&gt;&lt;code&gt;$ sudo dhclient -r&lt;/code&gt;&lt;br/&gt;&lt;br /&gt;Now obtain fresh IP:&lt;br/&gt;&lt;br /&gt;&lt;code&gt;$ sudo dhclient &lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There is no need to restart network service. Above command should&lt;br /&gt;work with any Linux distro such as RHEL, Fedora, CentOS, Ubuntu and&lt;br /&gt;others. On a related note you can also try out the following commands:&lt;br/&gt;&lt;br /&gt;&lt;code&gt;# ifdown eth0&lt;br/&gt;&lt;br /&gt;# ifup eth0&lt;br/&gt;&lt;br /&gt;# /etc/init.d/network restart &lt;/code&gt;&lt;br/&gt;&lt;br /&gt;OR&lt;br/&gt;&lt;br /&gt;&lt;code&gt;# /etc/init.d/networking restart &lt;/code&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-1723991119292071750?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/1723991119292071750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=1723991119292071750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/1723991119292071750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/1723991119292071750'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/12/linux-renew-ip-command.html' title='Linux renew ip command'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-6584724277607019906</id><published>2008-09-09T09:03:00.003-04:00</published><updated>2008-09-09T09:04:36.244-04:00</updated><title type='text'>Some tech books read recently</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Troubleshooting Oracle Performance&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Very comprehensive.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Effective Java Second Edition&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Provide some simple and nice programming tips&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Scrum and XP from the Trenches&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Introductory book&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ask Tom 2007&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Too many contents&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-6584724277607019906?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/6584724277607019906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=6584724277607019906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/6584724277607019906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/6584724277607019906'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/09/some-tech-books-i-read-recently_09.html' title='Some tech books read recently'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-8462888707292487943</id><published>2008-08-28T15:48:00.000-04:00</published><updated>2008-08-28T15:49:00.202-04:00</updated><title type='text'>The web security tools</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;netcat -  a featured networking utility which reads and writes data across&lt;br /&gt;network connections, using the TCP/IP protocol.&lt;br/&gt;&lt;br/&gt;http://netcat.sourceforge.net/&lt;br/&gt;&lt;br/&gt;nmap - &lt;a name='intro'&gt;a free and open source (&lt;/a&gt;&lt;a href='http://nmap.org/data/COPYING'&gt;license&lt;/a&gt;) utility for network exploration or&lt;br /&gt;security auditing&lt;br/&gt;&lt;br/&gt;http://nmap.org/&lt;br/&gt;&lt;br/&gt;paros - a web proxy &lt;font color='#000000'&gt; &lt;br /&gt;                    for people who need to evaluate the security of their web &lt;br /&gt;                    applications&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;http://www.parosproxy.org/index.shtml&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-8462888707292487943?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/8462888707292487943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=8462888707292487943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8462888707292487943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8462888707292487943'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/08/web-security-tools.html' title='The web security tools'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-5852260602885539989</id><published>2008-07-30T02:15:00.002-04:00</published><updated>2008-07-30T02:16:28.638-04:00</updated><title type='text'>Develop the web application running on google app engine</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;My Example&lt;br /&gt;&lt;a href="http://yyang-hhong.appspot.com/"&gt;&lt;br /&gt;http://yyang-hhong.appspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Required libraries&lt;br /&gt;&lt;br /&gt;1. simplejson&lt;br /&gt;   setup.py install&lt;br /&gt;2. prototype javascript library&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-5852260602885539989?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/5852260602885539989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=5852260602885539989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5852260602885539989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5852260602885539989'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/07/develop-web-application-running-on.html' title='Develop the web application running on google app engine'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-8718373900182820414</id><published>2008-07-27T16:16:00.003-04:00</published><updated>2008-07-27T20:08:29.647-04:00</updated><title type='text'>How to view PDF file in windows mobile</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Most of PDF files are non-tagged files which text cannot be wrapped automatically, but you can use Adobe Acrobat to convert them to tagged file, and here is the instruction.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.essex.ac.uk/wag/guides/accessibility/pdf-files2.htm'&gt;Guide to Creating Accessible PDF Files with Adobe Acrobat 5&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-8718373900182820414?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/8718373900182820414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=8718373900182820414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8718373900182820414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/8718373900182820414'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/07/how-to-view-pdf-file-in-windows-mobile.html' title='How to view PDF file in windows mobile'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-2249888152632265484</id><published>2008-07-18T23:48:00.010-04:00</published><updated>2009-12-15T11:14:05.929-05:00</updated><title type='text'>Setup the automation test in windows with using CYGWIN</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Some required libraries:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://pigtail.net/LRP/printsrv/cygwin-sshd.html" target="_blank"&gt;openssh&lt;/a&gt; &lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;    &lt;a href="http://www.netadmintools.com/art516.html"&gt;http://www.netadmintools.com/art516.html&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://httpd.apache.org/docs/1.3/cygwin.html" target="_blank"&gt;apache http&lt;/a&gt;&lt;a href="http://httpd.apache.org/docs/1.3/cygwin.html"&gt;d&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.geocities.com/win32mutt/cygwin-ssmtp.html" target="_blank"&gt;sendmail&lt;/a&gt; - ssmtp, mutt&lt;br /&gt;4. &lt;a href="http://www.nabble.com/Cron-on-Cygwin-to3890766.html"&gt;cron &lt;/a&gt;&lt;br /&gt;5. cygrunsrv&lt;br /&gt;6. vim&lt;br /&gt;&lt;br /&gt;Tips:&lt;br /&gt;1. For launching the ANT windows version, use dos2unix to convert the file $ANT_HOME/bin/ant&lt;br /&gt;&lt;br /&gt;2. use ' od -c &lt;file_name&gt; more ' to check if the file contains invisible characters&lt;br /&gt;&lt;br /&gt;3. use tr to remove the invalid character, such as DOS escape character&lt;br /&gt;&lt;br /&gt;echo `p4 counter $BRANCH_COUNTER_NAME` &gt; $UNIX_TEMP_HOME/output-$BRANCH_COUNTER_NAME&lt;br /&gt;DAS_COUNTER=`tr -d '\r' &lt; $UNIX_TEMP_HOME/output-$BRANCH_COUNTER_NAME` 4. start and stop Apache httpd /usr/sbin/httpd.exe kill -TEAM 'cat /var/run/httpd.pid' 5. install cron and view logs cron-config /usr/bin/cronevents.exe 6. solve the cron error like 'can't switch user context' change the owner for all of files used by cron 7. ssh client can not access the windows network drive, but Cygwin can. the reason is because sshd service is running as LOCAL SYSTEM ACCOUNT. &lt;/file_name&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;8. cron job cannot access the existing windows network drive, but you can mount it at the beginning of the cron scripts, for instance&lt;br /&gt;&lt;br /&gt;net use l: //test_machine/folder /user:test_user test_password&lt;br /&gt;&lt;br /&gt;9. Cygwin Doesn't Register All Environment Variables When Using SSH, and here is a solution&lt;br /&gt;&lt;br /&gt;http://smithii.com/node/44&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-2249888152632265484?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/2249888152632265484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=2249888152632265484' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/2249888152632265484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/2249888152632265484'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/07/setup-automation-test-in-windows-with_486.html' title='Setup the automation test in windows with using CYGWIN'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-5036930142009481815</id><published>2008-07-18T00:16:00.003-04:00</published><updated>2008-07-18T01:35:06.266-04:00</updated><title type='text'>Some good tools for Windows Mobile</title><content type='html'>I think the best reader for Windows Mobile is IE since it can display the html content with one column  layout so user don’t have to move the content horizontally.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;I have tried a couple of other reader such as Adobe reader, Text Reader, but unfortunately both&lt;br /&gt;of them don’t support one column layout very well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And there are a couple of tools that could convert the documents to html doc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PDF2HTML - convert PDF to html&lt;br /&gt;&lt;br /&gt;CHMUNPACKER - convert CHM to html&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-5036930142009481815?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/5036930142009481815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=5036930142009481815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5036930142009481815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/5036930142009481815'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/07/some-good-tools-for-windows-mobile.html' title='Some good tools for Windows Mobile'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-3091935990000032225</id><published>2008-07-18T00:04:00.002-04:00</published><updated>2008-07-18T00:50:50.283-04:00</updated><title type='text'>posting blog with using scribeFire</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;cool firefox addon!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-3091935990000032225?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/3091935990000032225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=3091935990000032225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3091935990000032225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/3091935990000032225'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2008/07/posting-blog-with-using-scribefire.html' title='posting blog with using scribeFire'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-114531174650140552</id><published>2006-04-17T18:06:00.000-04:00</published><updated>2006-04-17T18:09:06.510-04:00</updated><title type='text'>Danny jumped to M$</title><content type='html'>Now M$ got three of best borland's chief architect .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-114531174650140552?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/dthorpe/archive/2006/04/14/576171.aspx' title='Danny jumped to M$'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/114531174650140552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=114531174650140552' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/114531174650140552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/114531174650140552'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2006/04/danny-jumped-to-m.html' title='Danny jumped to M$'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-114435728669318898</id><published>2006-04-06T17:01:00.001-04:00</published><updated>2008-07-18T00:57:33.515-04:00</updated><title type='text'>A interest query</title><content type='html'>we have a table items which miss some price for some weeks&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;Week&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;Item&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;null&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;null&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;7&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;null&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;null&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-family:Arial;"&gt;null&lt;/span&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;we want to have a query to replace the missed price with last available price&lt;br /&gt;&lt;br /&gt;SELECT i_item,&lt;br /&gt;i_week,&lt;br /&gt;i_price,&lt;br /&gt;SUM(i_price) over(PARTITION BY new_price) new_price2&lt;br /&gt;FROM (&lt;br /&gt;&lt;br /&gt;SELECT i.item AS i_item,&lt;br /&gt;i.week AS i_week,&lt;br /&gt;i.price AS i_price,&lt;br /&gt;SUM(i.price) over(ORDER BY i.item, i.week) new_price&lt;br /&gt;FROM items i)&lt;br /&gt;ORDER BY 1,&lt;br /&gt;2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-114435728669318898?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/114435728669318898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=114435728669318898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/114435728669318898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/114435728669318898'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2006/04/interest-query.html' title='A interest query'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-113806466292867457</id><published>2006-01-23T20:04:00.000-05:00</published><updated>2006-01-23T20:08:40.696-05:00</updated><title type='text'>adopts dbms_rls to restrict the table access</title><content type='html'>oracle provides a powerful feature that allows developer to audit the table access with user_customized function, here is the sample&lt;br /&gt;&lt;br /&gt;create or replace function GEORGEY_SECURITY_FUNCTION return boolean is&lt;br /&gt;Result boolean;&lt;br /&gt;begin&lt;br /&gt;             raise_application_error(-20101, 'illegal access');&lt;br /&gt;&lt;br /&gt;             return(Result);&lt;br /&gt;end GEORGEY_SECURITY_FUNCTION;&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;dbms_rls.add_policy(object_schema =&gt; 'GEORGEY',&lt;br /&gt;             object_name =&gt; 'PEOPLE',&lt;br /&gt;             policy_name =&gt; 'GEORGEY_POLICY',&lt;br /&gt;             function_schema =&gt; 'GEORGEY',&lt;br /&gt;             policy_function =&gt; 'GEORGEY_SECURITY_FUNCTION',&lt;br /&gt;             statement_types =&gt; 'SELECT,UPDATE,INSERT,DELETE',&lt;br /&gt;             update_check =&gt; TRUE,&lt;br /&gt;             enable =&gt; TRUE,&lt;br /&gt;             static_policy =&gt; FALSE);&lt;br /&gt;&lt;br /&gt;END;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-113806466292867457?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/113806466292867457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=113806466292867457' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113806466292867457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113806466292867457'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2006/01/adopts-dbmsrls-to-restrict-table.html' title='adopts dbms_rls to restrict the table access'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-113272224789884139</id><published>2005-11-23T00:04:00.000-05:00</published><updated>2005-11-23T00:04:07.940-05:00</updated><title type='text'>java.net: Sprinkle Some AJAX Magic in Your Struts Web Application</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-113272224789884139?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://today.java.net/pub/a/today/2005/10/27/sprinkle-ajax-magic-into-struts-webapp.html?page=1' title='java.net: Sprinkle Some AJAX Magic in Your Struts Web Application'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/113272224789884139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=113272224789884139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113272224789884139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113272224789884139'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/11/javanet-sprinkle-some-ajax-magic-in.html' title='java.net: Sprinkle Some AJAX Magic in Your Struts Web Application'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-113157747591660366</id><published>2005-11-09T18:04:00.000-05:00</published><updated>2005-11-09T18:04:35.966-05:00</updated><title type='text'>Visual Studio:Microsoft dev tools roadmap</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-113157747591660366?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://www.microsoft.com/china/msdn/library/langtool/vs2005/vstudioproductinforoadmap.mspx?pf=true#' title='Visual Studio:Microsoft dev tools roadmap'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/113157747591660366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=113157747591660366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113157747591660366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/113157747591660366'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/11/visual-studiomicrosoft-dev-tools.html' title='Visual Studio:Microsoft dev tools roadmap'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112912842881738172</id><published>2005-10-12T10:47:00.000-04:00</published><updated>2005-10-12T10:47:08.880-04:00</updated><title type='text'>bobbyvandersluis.com | Ten good practices for writing JavaScript in 2005</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112912842881738172?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.blogger.com/blog-this-login.do' title='bobbyvandersluis.com | Ten good practices for writing JavaScript in 2005'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112912842881738172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112912842881738172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112912842881738172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112912842881738172'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/10/bobbyvandersluiscom-ten-good-practices.html' title='bobbyvandersluis.com | Ten good practices for writing JavaScript in 2005'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112904355383199708</id><published>2005-10-11T11:12:00.000-04:00</published><updated>2005-10-11T11:12:33.880-04:00</updated><title type='text'>WWW SQL Designer</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112904355383199708?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ondras.praha12.net/sql/' title='WWW SQL Designer'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112904355383199708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112904355383199708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112904355383199708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112904355383199708'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/10/www-sql-designer.html' title='WWW SQL Designer'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112899923359052879</id><published>2005-10-10T22:53:00.000-04:00</published><updated>2005-10-10T22:53:53.626-04:00</updated><title type='text'>meebo.com</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112899923359052879?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www4.meebo.com/' title='meebo.com'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112899923359052879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112899923359052879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112899923359052879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112899923359052879'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/10/meebocom.html' title='meebo.com'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112869720760041809</id><published>2005-10-07T11:00:00.000-04:00</published><updated>2005-10-07T11:00:07.933-04:00</updated><title type='text'>Ajax for Java developers: Java object serialization for Ajax</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112869720760041809?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-128.ibm.com/developerworks/java/library/j-ajax2/' title='Ajax for Java developers: Java object serialization for Ajax'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112869720760041809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112869720760041809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112869720760041809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112869720760041809'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/10/ajax-for-java-developers-java-object.html' title='Ajax for Java developers: Java object serialization for Ajax'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112735564479659971</id><published>2005-09-21T22:20:00.000-04:00</published><updated>2005-09-21T22:20:44.876-04:00</updated><title type='text'>MSDN .NET Framework Developer Center: The LINQ Project</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112735564479659971?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/netframework/future/linq/' title='MSDN .NET Framework Developer Center: The LINQ Project'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112735564479659971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112735564479659971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112735564479659971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112735564479659971'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/msdn-net-framework-developer-center.html' title='MSDN .NET Framework Developer Center: The LINQ Project'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112700337686926032</id><published>2005-09-17T20:29:00.000-04:00</published><updated>2005-09-17T20:29:36.870-04:00</updated><title type='text'>TheServerSide.NET - 10 Ways to Make Your Code More Testable</title><content type='html'>&lt;a href="http://www.theserverside.net/articles/showarticle.tss?id=10WaysTestableCode"&gt;TheServerSide.NET - 10 Ways to Make Your Code More Testable&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112700337686926032?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.net/articles/showarticle.tss?id=10WaysTestableCode' title='TheServerSide.NET - 10 Ways to Make Your Code More Testable'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112700337686926032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112700337686926032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700337686926032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700337686926032'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/theserversidenet-10-ways-to-make-your.html' title='TheServerSide.NET - 10 Ways to Make Your Code More Testable'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112700319550418212</id><published>2005-09-17T20:26:00.000-04:00</published><updated>2005-09-17T20:26:35.510-04:00</updated><title type='text'>frogware.com: custom .NET and Delphi programming</title><content type='html'>&lt;a href="http://www.frogware.com/weblog/archives/200407.aspx"&gt;frogware.com: custom .NET and Delphi programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112700319550418212?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.frogware.com/weblog/archives/200407.aspx' title='frogware.com: custom .NET and Delphi programming'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112700319550418212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112700319550418212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700319550418212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700319550418212'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/frogwarecom-custom-net-and-delphi.html' title='frogware.com: custom .NET and Delphi programming'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112700189970242197</id><published>2005-09-17T20:04:00.000-04:00</published><updated>2005-09-17T20:04:59.756-04:00</updated><title type='text'>Windows Workflow Foundation </title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112700189970242197?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://msdn.microsoft.com/windowsvista/building/workflow/?_r=1' title='Windows Workflow Foundation '/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112700189970242197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112700189970242197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700189970242197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112700189970242197'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/windows-workflow-foundation.html' title='Windows Workflow Foundation '/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112661738316956236</id><published>2005-09-13T09:16:00.000-04:00</published><updated>2005-09-13T09:16:23.220-04:00</updated><title type='text'>Raible's Wiki: AppFuseQuickStart</title><content type='html'>&lt;a href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseQuickStart"&gt;Raible's Wiki: AppFuseQuickStart&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112661738316956236?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseQuickStart' title='Raible&apos;s Wiki: AppFuseQuickStart'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112661738316956236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112661738316956236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112661738316956236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112661738316956236'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/raibles-wiki-appfusequickstart.html' title='Raible&apos;s Wiki: AppFuseQuickStart'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112655236985845732</id><published>2005-09-12T15:12:00.000-04:00</published><updated>2005-09-12T15:12:49.900-04:00</updated><title type='text'>Home - Confluence</title><content type='html'>&lt;a href="http://opensource2.atlassian.com/confluence/spring/display/NET/Home"&gt;Home - Confluence&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112655236985845732?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://opensource2.atlassian.com/confluence/spring/display/NET/Home' title='Home - Confluence'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112655236985845732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112655236985845732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112655236985845732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112655236985845732'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/home-confluence.html' title='Home - Confluence'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112632329963129651</id><published>2005-09-09T23:34:00.000-04:00</published><updated>2005-09-09T23:34:59.683-04:00</updated><title type='text'>WebHostingTalk - Web Hosting Forum</title><content type='html'>&lt;a href="http://www.webhostingtalk.com/archive/thread/244362-1.html"&gt;WebHostingTalk - Web Hosting Forum&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112632329963129651?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.webhostingtalk.com/archive/thread/244362-1.html' title='WebHostingTalk - Web Hosting Forum'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112632329963129651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112632329963129651' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112632329963129651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112632329963129651'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/webhostingtalk-web-hosting-forum.html' title='WebHostingTalk - Web Hosting Forum'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112603506848303720</id><published>2005-09-06T15:31:00.000-04:00</published><updated>2005-09-06T15:31:11.103-04:00</updated><title type='text'>Setup the transaction in spring</title><content type='html'>&lt;a href="http://forum.javaeye.com/viewtopic.php?t=9258&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=0"&gt;Setup the transaction in spring&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112603506848303720?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://forum.javaeye.com/viewtopic.php?t=9258&amp;postdays=0&amp;postorder=asc&amp;start=0' title='Setup the transaction in spring'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112603506848303720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112603506848303720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112603506848303720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112603506848303720'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/setup-transaction-in-spring.html' title='Setup the transaction in spring'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112603159342081291</id><published>2005-09-06T14:33:00.000-04:00</published><updated>2005-09-06T14:33:13.473-04:00</updated><title type='text'>� Introducing Spring JDBC - frequently the best introduction of Spring in an organization</title><content type='html'>&lt;a href="http://technology.amis.nl/blog/index.php?p=757"&gt;� Introducing Spring JDBC - frequently the best introduction of Spring in an organization&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112603159342081291?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://technology.amis.nl/blog/index.php?p=757' title='� Introducing Spring JDBC - frequently the best introduction of Spring in an organization'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112603159342081291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112603159342081291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112603159342081291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112603159342081291'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/introducing-spring-jdbc-frequently.html' title='� Introducing Spring JDBC - frequently the best introduction of Spring in an organization'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112589414711707412</id><published>2005-09-05T00:22:00.000-04:00</published><updated>2005-09-05T00:22:27.170-04:00</updated><title type='text'>del.icio.us direc.tor: Delivering A High-Performance AJAX Web Service Broker :: Johnvey</title><content type='html'>&lt;a href="http://johnvey.com/features/deliciousdirector/"&gt;del.icio.us direc.tor: Delivering A High-Performance AJAX Web Service Broker :: Johnvey&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112589414711707412?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://johnvey.com/features/deliciousdirector/' title='del.icio.us direc.tor: Delivering A High-Performance AJAX Web Service Broker :: Johnvey'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112589414711707412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112589414711707412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112589414711707412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112589414711707412'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/delicious-director-delivering-high.html' title='del.icio.us direc.tor: Delivering A High-Performance AJAX Web Service Broker :: Johnvey'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112576109116868487</id><published>2005-09-03T11:24:00.000-04:00</published><updated>2005-09-03T11:24:54.960-04:00</updated><title type='text'>clone object in dotnet</title><content type='html'> private static void TestClone()&lt;br /&gt;        {&lt;br /&gt;            Person p1 = new Person();&lt;br /&gt;            p1.Age = 26;&lt;br /&gt;            p1.UserName = "yyanghhong";&lt;br /&gt;&lt;br /&gt;            Person p2 = (Person)CloneObjectEx(p1);&lt;br /&gt;            p2.UserName = "unruledboy";&lt;br /&gt;&lt;br /&gt;            Console.WriteLine(p1.UserName);&lt;br /&gt;            Console.WriteLine(p2.UserName);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static Person CloneObject(Person ObjectInstance)&lt;br /&gt;        {&lt;br /&gt;            BinaryFormatter bFormatter = new BinaryFormatter();&lt;br /&gt;            MemoryStream stream = new MemoryStream();&lt;br /&gt;            bFormatter.Serialize(stream, ObjectInstance);&lt;br /&gt;            stream.Seek(0, SeekOrigin.Begin);&lt;br /&gt;            Person newObject = (Person)bFormatter.Deserialize(stream);&lt;br /&gt;            return newObject;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static object CloneObjectEx(object ObjectInstance)&lt;br /&gt;        {&lt;br /&gt;            BinaryFormatter bFormatter = new BinaryFormatter();&lt;br /&gt;            MemoryStream stream = new MemoryStream();&lt;br /&gt;            bFormatter.Serialize(stream, ObjectInstance);&lt;br /&gt;            stream.Seek(0, SeekOrigin.Begin);&lt;br /&gt;            return bFormatter.Deserialize(stream);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    [Serializable]&lt;br /&gt;    public class Person&lt;br /&gt;    {&lt;br /&gt;        private int age;&lt;br /&gt;        private string userName;&lt;br /&gt;&lt;br /&gt;        public Person()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public int Age&lt;br /&gt;        {&lt;br /&gt;            get{return age;}&lt;br /&gt;            set{age = value;}&lt;br /&gt;        }&lt;br /&gt;        public string UserName&lt;br /&gt;        {&lt;br /&gt;            get{return userName;}&lt;br /&gt;            set{userName = value;}&lt;br /&gt;        }&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112576109116868487?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112576109116868487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112576109116868487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112576109116868487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112576109116868487'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/clone-object-in-dotnet.html' title='clone object in dotnet'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112575875180172030</id><published>2005-09-03T10:45:00.000-04:00</published><updated>2005-09-03T10:45:51.866-04:00</updated><title type='text'>Google Code</title><content type='html'>&lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112575875180172030?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.google.com/' title='Google Code'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112575875180172030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112575875180172030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112575875180172030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112575875180172030'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/google-code.html' title='Google Code'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112571006594316437</id><published>2005-09-02T21:14:00.000-04:00</published><updated>2005-09-02T21:14:26.003-04:00</updated><title type='text'>Google AJAXSLT</title><content type='html'>&lt;a href="http://goog-ajaxslt.sourceforge.net/"&gt;Google AJAXSLT&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112571006594316437?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://goog-ajaxslt.sourceforge.net/' title='Google AJAXSLT'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112571006594316437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112571006594316437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112571006594316437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112571006594316437'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/09/google-ajaxslt.html' title='Google AJAXSLT'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112550870958297651</id><published>2005-08-31T13:18:00.000-04:00</published><updated>2005-08-31T13:18:29.636-04:00</updated><title type='text'>design-nation.blog/en: An example of the Extension Objects pattern ( the java version )</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112550870958297651?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.design-nation.net/en/archives/000489.php' title='design-nation.blog/en: An example of the Extension Objects pattern ( the java version )'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112550870958297651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112550870958297651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112550870958297651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112550870958297651'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/design-nationblogen-example-of.html' title='design-nation.blog/en: An example of the Extension Objects pattern ( the java version )'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112517038938434427</id><published>2005-08-27T15:19:00.000-04:00</published><updated>2005-08-27T15:19:49.390-04:00</updated><title type='text'>Use AOP in permission management (chinese)</title><content type='html'>&lt;a href="http://blog.csdn.net/zhuweisky/archive/2005/08/23/462966.aspx"&gt;Use AOP in permission management &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112517038938434427?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.csdn.net/zhuweisky/archive/2005/08/23/462966.aspx' title='Use AOP in permission management (chinese)'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112517038938434427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112517038938434427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112517038938434427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112517038938434427'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/use-aop-in-permission-management.html' title='Use AOP in permission management (chinese)'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112516961771133848</id><published>2005-08-27T15:06:00.000-04:00</published><updated>2005-08-27T15:06:57.710-04:00</updated><title type='text'>The Code Project - How to Test Private and Protected methods in .NET - C# Programming</title><content type='html'>&lt;a href="http://www.codeproject.com/csharp/TestNonPublicMembers.asp"&gt;The Code Project - How to Test Private and Protected methods in .NET - C# Programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112516961771133848?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/csharp/TestNonPublicMembers.asp' title='The Code Project - How to Test Private and Protected methods in .NET - C# Programming'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112516961771133848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112516961771133848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112516961771133848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112516961771133848'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/code-project-how-to-test-private-and.html' title='The Code Project - How to Test Private and Protected methods in .NET - C# Programming'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112516926888953998</id><published>2005-08-27T15:01:00.000-04:00</published><updated>2005-08-27T15:01:08.936-04:00</updated><title type='text'>DBAzine.com: Trees in SQL: Nested Sets and Materialized Path</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112516926888953998?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dbazine.com/oracle/or-articles/tropashko4' title='DBAzine.com: Trees in SQL: Nested Sets and Materialized Path'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112516926888953998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112516926888953998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112516926888953998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112516926888953998'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/dbazinecom-trees-in-sql-nested-sets.html' title='DBAzine.com: Trees in SQL: Nested Sets and Materialized Path'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112482602696377628</id><published>2005-08-23T15:40:00.000-04:00</published><updated>2005-08-23T15:40:27.020-04:00</updated><title type='text'>TheServerSide.com - Building Custom JSF UI Components</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112482602696377628?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/articles/article.tss?l=BuildingCustomJSF' title='TheServerSide.com - Building Custom JSF UI Components'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112482602696377628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112482602696377628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112482602696377628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112482602696377628'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/theserversidecom-building-custom-jsf.html' title='TheServerSide.com - Building Custom JSF UI Components'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112481767884386946</id><published>2005-08-23T13:21:00.000-04:00</published><updated>2005-08-23T13:21:18.903-04:00</updated><title type='text'>Finding warez using Google | The days start here</title><content type='html'>interesting article&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112481767884386946?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112481767884386946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112481767884386946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112481767884386946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112481767884386946'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/finding-warez-using-google-days-start.html' title='Finding warez using Google | The days start here'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112467795224275894</id><published>2005-08-21T22:32:00.000-04:00</published><updated>2005-08-21T22:32:32.243-04:00</updated><title type='text'>Ajax.NET - The free library for .NET (C#)</title><content type='html'>&lt;a href="http://ajax.schwarz-interactive.de/csharpsample/default.aspx"&gt;Ajax.NET - The free library for .NET (C#)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112467795224275894?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ajax.schwarz-interactive.de/csharpsample/default.aspx' title='Ajax.NET - The free library for .NET (C#)'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112467795224275894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112467795224275894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112467795224275894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112467795224275894'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/ajaxnet-free-library-for-net-c.html' title='Ajax.NET - The free library for .NET (C#)'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-112467737424632182</id><published>2005-08-21T22:22:00.000-04:00</published><updated>2005-08-21T22:29:55.586-04:00</updated><title type='text'>Undocumented Keywords in C#</title><content type='html'>http://www.cnblogs.com/flier/archive/2004/07/08/22405.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-112467737424632182?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cnblogs.com/linkcd/archive/2005/08/18/217952.html' title='Undocumented Keywords in C#'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/112467737424632182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=112467737424632182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112467737424632182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/112467737424632182'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/08/undocumented-keywords-in-c.html' title='Undocumented Keywords in C#'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111808353405288528</id><published>2005-06-06T14:45:00.000-04:00</published><updated>2005-06-06T14:45:34.096-04:00</updated><title type='text'>High-performance XML (V): Increase performance on message-based web services by avoiding XmlDocument creation when using XmlSerializer</title><content type='html'>&lt;a href="http://weblogs.asp.net/cazzu/archive/2005/05/28/XmlMessagePerformance.aspx"&gt;High-performance XML (V): Increase performance on message-based web services by avoiding XmlDocument creation when using XmlSerializer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111808353405288528?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/cazzu/archive/2005/05/28/XmlMessagePerformance.aspx' title='High-performance XML (V): Increase performance on message-based web services by avoiding XmlDocument creation when using XmlSerializer'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111808353405288528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111808353405288528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111808353405288528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111808353405288528'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/06/high-performance-xml-v-increase.html' title='High-performance XML (V): Increase performance on message-based web services by avoiding XmlDocument creation when using XmlSerializer'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111755366394199109</id><published>2005-05-31T11:34:00.000-04:00</published><updated>2005-05-31T11:34:23.996-04:00</updated><title type='text'>File: README</title><content type='html'>&lt;a href="http://ap.rubyonrails.com/files/README.html"&gt;Action Pack in  ruby on rails &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111755366394199109?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ap.rubyonrails.com/files/README.html' title='File: README'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111755366394199109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111755366394199109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111755366394199109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111755366394199109'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/05/file-readme.html' title='File: README'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111711907816233397</id><published>2005-05-26T10:51:00.000-04:00</published><updated>2005-05-26T10:51:18.193-04:00</updated><title type='text'>Rico Mariani's Performance Tidbits : How To Do A Good Performance Investigation</title><content type='html'>&lt;a href="https://blogs.msdn.com/ricom/archive/2005/05/23/421205.aspx"&gt;Rico Mariani's Performance Tidbits : How To Do A Good Performance Investigation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111711907816233397?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://blogs.msdn.com/ricom/archive/2005/05/23/421205.aspx' title='Rico Mariani&apos;s Performance Tidbits : How To Do A Good Performance Investigation'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111711907816233397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111711907816233397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111711907816233397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111711907816233397'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/05/rico-marianis-performance-tidbits-how.html' title='Rico Mariani&apos;s Performance Tidbits : How To Do A Good Performance Investigation'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111704423076302641</id><published>2005-05-25T14:03:00.001-04:00</published><updated>2005-05-25T14:03:50.763-04:00</updated><title type='text'>Service Station: Contract-First Service Development -- MSDN Magazine, May 2005</title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/05/ServiceStation/default.aspx"&gt;Service Station: Contract-First Service Development -- MSDN Magazine, May 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111704423076302641?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/msdnmag/issues/05/05/ServiceStation/default.aspx' title='Service Station: Contract-First Service Development -- MSDN Magazine, May 2005'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111704423076302641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111704423076302641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111704423076302641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111704423076302641'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/05/service-station-contract-first-service.html' title='Service Station: Contract-First Service Development -- MSDN Magazine, May 2005'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111704421336325936</id><published>2005-05-25T14:03:00.000-04:00</published><updated>2005-05-25T14:03:33.390-04:00</updated><title type='text'>Cutting Edge: Collections and Data Binding -- MSDN Magazine, May 2005</title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/05/CuttingEdge/default.aspx"&gt;Cutting Edge: Collections and Data Binding -- MSDN Magazine, May 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111704421336325936?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/msdnmag/issues/05/05/CuttingEdge/default.aspx' title='Cutting Edge: Collections and Data Binding -- MSDN Magazine, May 2005'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111704421336325936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111704421336325936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111704421336325936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111704421336325936'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/05/cutting-edge-collections-and-data.html' title='Cutting Edge: Collections and Data Binding -- MSDN Magazine, May 2005'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111408528782339715</id><published>2005-04-21T08:05:00.000-04:00</published><updated>2005-04-21T08:38:36.363-04:00</updated><title type='text'>InternalsVisibleTo in c#2.0</title><content type='html'>It is a very useful attribute, especially good for unit test. but it will lead to some security issue, it is better to adopt strong name or add conditional constants to restrict it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111408528782339715?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/nunitaddin/archive/2004/08/13/214130.aspx' title='InternalsVisibleTo in c#2.0'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111408528782339715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111408528782339715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111408528782339715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111408528782339715'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/04/internalsvisibleto-in-c20.html' title='InternalsVisibleTo in c#2.0'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111393096354063361</id><published>2005-04-19T13:16:00.000-04:00</published><updated>2005-04-19T13:16:03.540-04:00</updated><title type='text'>Team Room</title><content type='html'>&lt;a href="http://www.scissor.com/resources/teamroom/"&gt;XP Team Room&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111393096354063361?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.scissor.com/resources/teamroom/' title='Team Room'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111393096354063361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111393096354063361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111393096354063361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111393096354063361'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/04/team-room.html' title='Team Room'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111293050271186638</id><published>2005-04-07T23:21:00.000-04:00</published><updated>2005-04-07T23:21:42.710-04:00</updated><title type='text'>Useful Developer Tools - Confluence</title><content type='html'>&lt;a href="http://www.mertner.com/confluence/display/Gentle/Useful+Developer+Tools"&gt;Useful Developer Tools for Dotnet developer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111293050271186638?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mertner.com/confluence/display/Gentle/Useful+Developer+Tools' title='Useful Developer Tools - Confluence'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111293050271186638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111293050271186638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111293050271186638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111293050271186638'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/04/useful-developer-tools-confluence.html' title='Useful Developer Tools - Confluence'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111288021820031599</id><published>2005-04-07T09:23:00.000-04:00</published><updated>2005-04-08T08:33:48.413-04:00</updated><title type='text'>Castle Active Record</title><content type='html'>&lt;a href="http://www.castleproject.org/castle/show/ActiveRecord"&gt;Castle Active Record&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;this OR mapping framework is based on nhibernate, but it doen't require XML mapping file. it use attributes instead&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111288021820031599?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.castleproject.org/castle/show/ActiveRecord' title='Castle Active Record'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111288021820031599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111288021820031599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111288021820031599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111288021820031599'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/04/castle-active-record.html' title='Castle Active Record'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111287935614390348</id><published>2005-04-07T09:09:00.000-04:00</published><updated>2005-04-07T09:09:16.143-04:00</updated><title type='text'>The Code Project - Castle's DynamicProxy for .NET - C# Programming</title><content type='html'>&lt;a href="http://www.codeproject.com/csharp/hamiltondynamicproxy.asp"&gt;The Code Project - Castle's DynamicProxy for .NET - C# Programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111287935614390348?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/csharp/hamiltondynamicproxy.asp' title='The Code Project - Castle&apos;s DynamicProxy for .NET - C# Programming'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111287935614390348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111287935614390348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111287935614390348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111287935614390348'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/04/code-project-castles-dynamicproxy-for.html' title='The Code Project - Castle&apos;s DynamicProxy for .NET - C# Programming'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111207106772044735</id><published>2005-03-28T23:37:00.000-05:00</published><updated>2005-04-08T08:31:39.030-04:00</updated><title type='text'>Feature comparison between HA-JDBC and C-JDBC</title><content type='html'>&lt;a href="http://ha-jdbc.sourceforge.net/faq.html#faq-N1002B"&gt;Feature comparison between HA-JDBC and C-JDBC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A cheap method to implement database cluster(s) with multiple JVMs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111207106772044735?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ha-jdbc.sourceforge.net/faq.html#faq-N1002B' title='Feature comparison between HA-JDBC and C-JDBC'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111207106772044735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111207106772044735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111207106772044735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111207106772044735'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/feature-comparison-between-ha-jdbc-and.html' title='Feature comparison between HA-JDBC and C-JDBC'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111176785377877634</id><published>2005-03-25T11:24:00.000-05:00</published><updated>2005-04-08T08:33:12.333-04:00</updated><title type='text'>How the Runtime Locates Assemblies</title><content type='html'>&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhowruntimelocatesassemblies.asp"&gt;How the Runtime Locates Assemblies&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111176785377877634?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhowruntimelocatesassemblies.asp' title='How the Runtime Locates Assemblies'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111176785377877634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111176785377877634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111176785377877634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111176785377877634'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/how-runtime-locates-assemblies.html' title='How the Runtime Locates Assemblies'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111175730866732954</id><published>2005-03-25T08:28:00.000-05:00</published><updated>2005-03-25T08:28:28.666-05:00</updated><title type='text'>Design for Performance vs. Tune for performance</title><content type='html'>&lt;a href="http://blogs.msdn.com/ericgu/archive/2005/03/23/401057.aspx"&gt;Design for Performance vs. Tune for performance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are some good points inside this article, I like using agile methods to deal with performance tuning, it requires a detailed unit testing case, and an agile way to amend the code, such as adopting AOP methods to put some business rules and logic into configuation file for ignoring re-compiling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111175730866732954?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/ericgu/archive/2005/03/23/401057.aspx' title='Design for Performance vs. Tune for performance'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111175730866732954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111175730866732954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111175730866732954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111175730866732954'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/design-for-performance-vs-tune-for.html' title='Design for Performance vs. Tune for performance'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111169680646557495</id><published>2005-03-24T15:40:00.000-05:00</published><updated>2005-03-24T15:40:06.466-05:00</updated><title type='text'>Microsoft HowTo's QuickStarts Tutorial</title><content type='html'>&lt;a href="http://samples.gotdotnet.com/quickstart/howto/doc/Interop/Interop_Overview.aspx"&gt;Microsoft HowTo's QuickStarts Tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111169680646557495?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://samples.gotdotnet.com/quickstart/howto/doc/Interop/Interop_Overview.aspx' title='Microsoft HowTo&apos;s QuickStarts Tutorial'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111169680646557495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111169680646557495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111169680646557495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111169680646557495'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/microsoft-howtos-quickstarts-tutorial.html' title='Microsoft HowTo&apos;s QuickStarts Tutorial'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111152362303155594</id><published>2005-03-22T15:33:00.000-05:00</published><updated>2005-03-22T15:33:43.033-05:00</updated><title type='text'>Apartments and Pumping in the CLR</title><content type='html'>&lt;a href="http://blogs.msdn.com/cbrumme/archive/2004/02/02/66219.aspx"&gt;Apartments and Pumping in the CLR&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111152362303155594?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/cbrumme/archive/2004/02/02/66219.aspx' title='Apartments and Pumping in the CLR'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111152362303155594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111152362303155594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111152362303155594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111152362303155594'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/apartments-and-pumping-in-clr.html' title='Apartments and Pumping in the CLR'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111103513538960150</id><published>2005-03-16T23:52:00.000-05:00</published><updated>2005-03-16T23:52:15.390-05:00</updated><title type='text'>Responding to Richard Grimes article on .NET</title><content type='html'>&lt;a href="http://blogs.msdn.com/danielfe/archive/2005/02/22/378343.aspx"&gt;Responding to Richard Grimes article on .NET&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111103513538960150?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/danielfe/archive/2005/02/22/378343.aspx' title='Responding to Richard Grimes article on .NET'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111103513538960150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111103513538960150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111103513538960150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111103513538960150'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/responding-to-richard-grimes-article.html' title='Responding to Richard Grimes article on .NET'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111103300942255348</id><published>2005-03-16T23:16:00.000-05:00</published><updated>2005-04-08T08:35:01.016-04:00</updated><title type='text'>AOP Fun with JavaScript</title><content type='html'>&lt;a href="http://www.jroller.com/page/deep/20030701"&gt;AOP everywhere, Javascript, PHP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111103300942255348?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jroller.com/page/deep/20030701' title='AOP Fun with JavaScript'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111103300942255348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111103300942255348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111103300942255348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111103300942255348'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/aop-fun-with-javascript.html' title='AOP Fun with JavaScript'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111102701164888671</id><published>2005-03-16T21:36:00.000-05:00</published><updated>2005-03-16T21:36:51.650-05:00</updated><title type='text'>TheServerSide.com - Velocity: A template engine OR A Rule engine OR Both?</title><content type='html'>&lt;a href="http://www.theserverside.com/articles/article.tss?l=VelocityEngine"&gt;TheServerSide.com - Velocity: A template engine OR A Rule engine OR Both?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111102701164888671?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/articles/article.tss?l=VelocityEngine' title='TheServerSide.com - Velocity: A template engine OR A Rule engine OR Both?'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111102701164888671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111102701164888671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111102701164888671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111102701164888671'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/theserversidecom-velocity-template.html' title='TheServerSide.com - Velocity: A template engine OR A Rule engine OR Both?'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111099018997329627</id><published>2005-03-16T11:23:00.000-05:00</published><updated>2005-03-16T11:23:09.973-05:00</updated><title type='text'>Software Factory Elevator Story</title><content type='html'>&lt;a href="http://blogs.msdn.com/keith_short/archive/2005/03/08/389777.aspx"&gt;Software Factory Elevator Story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111099018997329627?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/keith_short/archive/2005/03/08/389777.aspx' title='Software Factory Elevator Story'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111099018997329627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111099018997329627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111099018997329627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111099018997329627'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/software-factory-elevator-story.html' title='Software Factory Elevator Story'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111098837135993038</id><published>2005-03-16T10:52:00.000-05:00</published><updated>2005-03-16T10:52:51.360-05:00</updated><title type='text'>AskTom "what kind of analyze is best"</title><content type='html'>&lt;a href="http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5792247321358"&gt;AskTom "what kind of analyze is best"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111098837135993038?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5792247321358' title='AskTom &quot;what kind of analyze is best&quot;'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111098837135993038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111098837135993038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111098837135993038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111098837135993038'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/asktom-what-kind-of-analyze-is-best.html' title='AskTom &quot;what kind of analyze is best&quot;'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111089328853435148</id><published>2005-03-15T08:28:00.000-05:00</published><updated>2005-03-15T08:28:08.533-05:00</updated><title type='text'>Mainsoft, Visual MainWin for the J2EE platform</title><content type='html'>&lt;a href="http://www.mainsoft.com/products/vmw_j2ee.html"&gt;Mainsoft, Visual MainWin for the J2EE platform&lt;/a&gt;&lt;br /&gt;Visual MainWin brings the C# and Visual Basic .NET programming languages to the Java platform, enabling more than 2.5 million Microsoft-skilled developers to quickly and efficiently develop J2EE Web applications and Web services. it sounds too good to be true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111089328853435148?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mainsoft.com/products/vmw_j2ee.html' title='Mainsoft, Visual MainWin for the J2EE platform'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111089328853435148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111089328853435148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111089328853435148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111089328853435148'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/mainsoft-visual-mainwin-for-j2ee.html' title='Mainsoft, Visual MainWin for the J2EE platform'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111080976453720885</id><published>2005-03-14T09:16:00.000-05:00</published><updated>2005-03-14T09:16:04.536-05:00</updated><title type='text'>XenoCode 2005</title><content type='html'>&lt;a href="http://www.downlinx.com/proghtml/634/63421.htm"&gt;XenoCode 2005&lt;/a&gt;&lt;br /&gt;A good dotnet obfuscation tools, it supports a very nice feature of taking several assemblies and obfuscating them into one single assembly&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111080976453720885?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.downlinx.com/proghtml/634/63421.htm' title='XenoCode 2005'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111080976453720885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111080976453720885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111080976453720885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111080976453720885'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/xenocode-2005.html' title='XenoCode 2005'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111067597916368510</id><published>2005-03-12T20:06:00.000-05:00</published><updated>2005-03-12T20:06:19.163-05:00</updated><title type='text'>ASP.NET QuickStart Tutorial</title><content type='html'>&lt;a href="http://beta.asp.net/quickstart/aspnet/"&gt;ASP.NET QuickStart Tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111067597916368510?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://beta.asp.net/quickstart/aspnet/' title='ASP.NET QuickStart Tutorial'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111067597916368510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111067597916368510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111067597916368510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111067597916368510'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/aspnet-quickstart-tutorial.html' title='ASP.NET QuickStart Tutorial'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111038958220817710</id><published>2005-03-09T12:33:00.000-05:00</published><updated>2005-04-08T08:37:40.340-04:00</updated><title type='text'>why Dotnet guy step down?</title><content type='html'>&lt;a href="http://www.ddj.com/documents/s=9211/ddj050201dnn/"&gt;&lt;br /&gt;Richard is stepping down from his post of commenting on all things .NET.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111038958220817710?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ddj.com/documents/s=9211/ddj050201dnn/' title='why Dotnet guy step down?'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111038958220817710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111038958220817710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111038958220817710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111038958220817710'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/why-dotnet-guy-step-down.html' title='why Dotnet guy step down?'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-111023036169312454</id><published>2005-03-07T16:19:00.000-05:00</published><updated>2005-03-07T16:19:21.693-05:00</updated><title type='text'>The Code Project - Dynamic/Transparent Proxy using DynamicProxy.NET - .NET</title><content type='html'>&lt;a href="http://www.codeproject.com/dotnet/dynamicproxy.asp"&gt;The Code Project - Dynamic/Transparent Proxy using DynamicProxy.NET - .NET&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-111023036169312454?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.codeproject.com/dotnet/dynamicproxy.asp' title='The Code Project - Dynamic/Transparent Proxy using DynamicProxy.NET - .NET'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/111023036169312454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=111023036169312454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111023036169312454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/111023036169312454'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/code-project-dynamictransparent-proxy.html' title='The Code Project - Dynamic/Transparent Proxy using DynamicProxy.NET - .NET'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110986403663131650</id><published>2005-03-03T10:33:00.000-05:00</published><updated>2005-03-03T10:33:56.630-05:00</updated><title type='text'>Open letter to the Borland community regarding our eclipse.org announcement</title><content type='html'>&lt;a href="http://bdn.borland.com/article/0,1410,32987,00.html"&gt;Open letter to the Borland community regarding our eclipse.org announcement&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110986403663131650?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bdn.borland.com/article/0,1410,32987,00.html' title='Open letter to the Borland community regarding our eclipse.org announcement'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110986403663131650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110986403663131650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110986403663131650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110986403663131650'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/03/open-letter-to-borland-community.html' title='Open letter to the Borland community regarding our eclipse.org announcement'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110836074443420993</id><published>2005-02-14T00:59:00.000-05:00</published><updated>2005-02-14T00:59:04.433-05:00</updated><title type='text'>Using distributed transactions in .Net 1.x without deriving from ServicedComponent</title><content type='html'>&lt;a href="http://blogs.msdn.com/florinlazar/archive/2004/07/24/194199.aspx"&gt;Using distributed transactions in .Net 1.x without deriving from ServicedComponent&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110836074443420993?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/florinlazar/archive/2004/07/24/194199.aspx' title='Using distributed transactions in .Net 1.x without deriving from ServicedComponent'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110836074443420993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110836074443420993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110836074443420993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110836074443420993'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/02/using-distributed-transactions-in-net.html' title='Using distributed transactions in .Net 1.x without deriving from ServicedComponent'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110835967679651556</id><published>2005-02-14T00:41:00.000-05:00</published><updated>2005-02-14T00:41:16.796-05:00</updated><title type='text'>Seattle Weekly: News: Microsoft's Sacred Cash Cow by Jeff Reifman</title><content type='html'>&lt;a href="http://www.seattleweekly.com/features/0422/040602_news_microsoft.php"&gt;Seattle Weekly: News: Microsoft's Sacred Cash Cow by Jeff Reifman&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110835967679651556?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.seattleweekly.com/features/0422/040602_news_microsoft.php' title='Seattle Weekly: News: Microsoft&apos;s Sacred Cash Cow by Jeff Reifman'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110835967679651556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110835967679651556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835967679651556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835967679651556'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/02/seattle-weekly-news-microsofts-sacred.html' title='Seattle Weekly: News: Microsoft&apos;s Sacred Cash Cow by Jeff Reifman'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110835753684858915</id><published>2005-02-14T00:05:00.000-05:00</published><updated>2005-02-14T00:05:36.846-05:00</updated><title type='text'>.NET Architecture Center: Choosing the Right Presentation Layer Architecture</title><content type='html'>&lt;a href="http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnmaj/html/choosing_presentation_layer.asp"&gt;.NET Architecture Center: Choosing the Right Presentation Layer Architecture&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110835753684858915?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnmaj/html/choosing_presentation_layer.asp' title='.NET Architecture Center: Choosing the Right Presentation Layer Architecture'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110835753684858915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110835753684858915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835753684858915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835753684858915'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/02/net-architecture-center-choosing-right.html' title='.NET Architecture Center: Choosing the Right Presentation Layer Architecture'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110835744613972641</id><published>2005-02-14T00:04:00.000-05:00</published><updated>2005-02-14T00:04:52.690-05:00</updated><title type='text'>MSDN .NET Framework Developer Center:</title><content type='html'>&lt;a href="http://msdn.microsoft.com/netframework/programming/classlibraries/membertypes/"&gt;Designing .NET Class Libraries: Member Types&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110835744613972641?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/netframework/programming/classlibraries/membertypes/' title='MSDN .NET Framework Developer Center:'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110835744613972641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110835744613972641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835744613972641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835744613972641'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/02/msdn-net-framework-developer-center.html' title='MSDN .NET Framework Developer Center:'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110835688287977985</id><published>2005-02-13T23:54:00.000-05:00</published><updated>2005-02-13T23:54:42.880-05:00</updated><title type='text'>EIF vs log4net</title><content type='html'>&lt;a href="http://weblogs.asp.net/cazzu/archive/2004/05/17/133196.aspx"&gt;EIF vs log4net&lt;/a&gt;&lt;br /&gt;I love Log4net&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110835688287977985?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblogs.asp.net/cazzu/archive/2004/05/17/133196.aspx' title='EIF vs log4net'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110835688287977985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110835688287977985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835688287977985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110835688287977985'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2005/02/eif-vs-log4net.html' title='EIF vs log4net'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110444476414981022</id><published>2004-12-30T13:06:00.000-05:00</published><updated>2004-12-30T17:12:44.150-05:00</updated><title type='text'>Yet Another 2005 Prediction List </title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110444476414981022?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://pluralsight.com/blogs/dbox/archive/2004/12/29/4113.aspx' title='Yet Another 2005 Prediction List '/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110444476414981022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110444476414981022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110444476414981022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110444476414981022'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/12/yet-another-2005-prediction-list.html' title='Yet Another 2005 Prediction List '/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110410980473871062</id><published>2004-12-26T20:09:00.000-05:00</published><updated>2004-12-26T20:10:04.740-05:00</updated><title type='text'>Flex overview</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110410980473871062?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.macromedia.com/software/flex/productinfo/brz_overview/' title='Flex overview'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110410980473871062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110410980473871062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110410980473871062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110410980473871062'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/12/flex-overview.html' title='Flex overview'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110410912212099792</id><published>2004-12-26T19:57:00.000-05:00</published><updated>2004-12-26T20:10:43.176-05:00</updated><title type='text'>From OOP to Service-Oriented - Do you get it yet? </title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110410912212099792?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dasblonde.net/PermaLink.aspx?guid=54990f16-445a-47ce-91b1-5d46b24e567a' title='From OOP to Service-Oriented - Do you get it yet? '/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110410912212099792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110410912212099792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110410912212099792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110410912212099792'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/12/from-oop-to-service-oriented-do-you.html' title='From OOP to Service-Oriented - Do you get it yet? '/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110295579816805351</id><published>2004-12-13T11:36:00.000-05:00</published><updated>2004-12-23T13:56:55.016-05:00</updated><title type='text'>developerWorks : Blogs</title><content type='html'>&lt;a href="http://www-106.ibm.com/developerworks/blogs/dw_blog_comments.jspa?blog=317&amp;amp;entry=67637&amp;amp;ca=dgr-jw22MSrejectsUML"&gt;Microsoft and Domain Specific Languages&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;M$ just issued the concept of software factory and Domain Specific Languages that will be a big impact to some existed design language such as UML, the author of this article is one of 3 founder of UML &amp; Rose, he said that he is quite disappointed with it.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110295579816805351?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-106.ibm.com/developerworks/blogs/dw_blog_comments.jspa?blog=317&amp;entry=67637&amp;ca=dgr-jw22MSrejectsUML' title='developerWorks : Blogs'/><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110295579816805351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110295579816805351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110295579816805351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110295579816805351'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/12/developerworks-blogs.html' title='developerWorks : Blogs'/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110183750695463275</id><published>2004-11-30T13:58:00.000-05:00</published><updated>2004-12-02T13:27:08.866-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://systemwebmail.com/"&gt;systemwebmail.com&lt;/a&gt;&lt;br /&gt; good site to introduce the webmail in .net framework&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110183750695463275?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110183750695463275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110183750695463275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110183750695463275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110183750695463275'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/systemwebmail.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110167190878638531</id><published>2004-11-28T14:58:00.000-05:00</published><updated>2004-11-28T15:06:24.306-05:00</updated><title type='text'></title><content type='html'>Some delphi guys complain that there are no class reference in java and .net, such as&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#3366ff;"&gt;type&lt;br /&gt;BaseClass = class &lt;/span&gt;&lt;span style="font-size:85%;color:#3366ff;"&gt;constructor Create; virtual;&lt;br /&gt;...&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;BaseClassRef = class of BaseClass&lt;br /&gt;&lt;br /&gt;DerivedClass1 = class (BaseClass )&lt;br /&gt;&lt;br /&gt;DerivedClass2 = class (BaseClass )&lt;br /&gt;&lt;br /&gt;RegisterClass(DerivedClass1);&lt;br /&gt;RegisterClass(DerivedClass2);&lt;br /&gt;...&lt;br /&gt;var&lt;br /&gt;AClassRef : BaseClassRef ;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;//the class name can be stored in a configuration profile&lt;br /&gt;AClassRef := BaseClassRef(FindClass('DerivedClass1'));&lt;br /&gt;...&lt;br /&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, we could do the similar thing with a java IOC framework PicoContainer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#3366ff;"&gt;Interface BaseIntf&lt;br /&gt;&lt;br /&gt;class DerivedClass1 implements BaseIntf&lt;br /&gt;&lt;br /&gt;class DerivedClass2 implements BaseIntf&lt;br /&gt;&lt;br /&gt;public void () {&lt;br /&gt;MutablePicoContainer pico = createPicoContainer(null);&lt;br /&gt;pico.registerComponentImplementation("DerivedClass1",DerivedClass1.class);&lt;br /&gt;pico.registerComponentImplementation("DerivedClass2",DerivedClass2.class);&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;//the class name can be stored in a configuration profile&lt;br /&gt;BaseIntf t = (BaseIntf) pico.getComponentInstance("DerivedClass2");&lt;br /&gt;assertNotNull(t);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;PicoContainer has .net portion too. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110167190878638531?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110167190878638531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110167190878638531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110167190878638531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110167190878638531'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/some-delphi-guys-complain-that-there.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110125981165962043</id><published>2004-11-23T20:30:00.000-05:00</published><updated>2004-11-23T20:30:11.660-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/01/ASPNETPerformance/"&gt;ASP.NET: 10 Tips for Writing High-Performance Web Applications -- MSDN Magazine, January 2005&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110125981165962043?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110125981165962043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110125981165962043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110125981165962043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110125981165962043'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/asp.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110124339257912086</id><published>2004-11-23T15:56:00.000-05:00</published><updated>2004-11-23T15:56:32.580-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.mygenerationsoftware.com/"&gt;MyGeneration - Home&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A very good open source code generation tools for DotNet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110124339257912086?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110124339257912086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110124339257912086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110124339257912086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110124339257912086'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/mygeneration-home-very-good-open.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110109721552870895</id><published>2004-11-21T23:20:00.000-05:00</published><updated>2004-11-21T23:20:15.526-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www-900.ibm.com/developerWorks/cn/java/j-hibern/index.shtml"&gt;a good chinese article about hibernate and spring&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110109721552870895?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110109721552870895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110109721552870895' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110109721552870895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110109721552870895'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/good-chinese-article-about-hibernate.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110087561521187618</id><published>2004-11-19T09:46:00.000-05:00</published><updated>2004-11-19T09:46:55.210-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.oracle.com/technology/tech/windows/odpnet/tom.html"&gt;ODP.NET Tip of the Month&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110087561521187618?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110087561521187618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110087561521187618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110087561521187618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110087561521187618'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/odp.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110065313822460867</id><published>2004-11-16T19:58:00.000-05:00</published><updated>2004-11-16T20:04:24.686-05:00</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;a href="http://www.springframework.net/index.html"&gt;Spring.NET - Application Framework&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.springframework.net/doc/reference/index.html"&gt;http://www.springframework.net/doc/reference/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This release contains a lightweight container with IoC / Dependency Injection functionality comparable to that found in the Java based Spring framework. Highlights include&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Constructor and Setter based Dependency Injection &lt;/li&gt;&lt;li&gt;Factory method creation &lt;/li&gt;&lt;li&gt;Inheritance of object definitions &lt;/li&gt;&lt;li&gt;Support for .NET application configuration files &lt;/li&gt;&lt;li&gt;Event wiring &lt;/li&gt;&lt;li&gt;Autowiring of collaborators &lt;/li&gt;&lt;li&gt;Singleton/Prototype creation modes &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110065313822460867?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110065313822460867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110065313822460867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110065313822460867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110065313822460867'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/spring.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110032138302629619</id><published>2004-11-12T23:49:00.000-05:00</published><updated>2004-11-14T16:51:16.660-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.pinvoke.net/"&gt;pinvoke.net: the interop wiki!&lt;/a&gt;&lt;br /&gt;It is a site that attempts to address the difficulty of calling Win32 or other unmanaged APIs in managed code &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110032138302629619?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110032138302629619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110032138302629619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110032138302629619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110032138302629619'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/pinvoke.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110023128194449617</id><published>2004-11-11T22:48:00.000-05:00</published><updated>2004-11-14T16:57:32.236-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://dev.csdn.net/article/article/48/article/48/article/48/48622.shtm"&gt;use IOCP in thread&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.csdn.net/kendiv/archive/2004/11/10/175051.aspx"&gt;use IOCP in socket&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IOCP is most efficient method in Win32 thread and Socket programming, but it requires much more work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110023128194449617?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110023128194449617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110023128194449617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110023128194449617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110023128194449617'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/use-iocp-in-thread-use-iocp-in-socket.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110022857904639697</id><published>2004-11-11T22:02:00.000-05:00</published><updated>2004-11-11T22:02:59.046-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/issues/03/03/contextsinnet/"&gt;Contexts in .NET: Decouple Components by Injecting Custom Services into Your Object's Interception Chain -- MSDN Magazine, March 2003&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/02/03/AOP/default.aspx"&gt;Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ContextBoundObject is a nice way to implement AOP in DotNet, but it is a little expensive.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110022857904639697?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110022857904639697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110022857904639697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110022857904639697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110022857904639697'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/contexts-in.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110021917349102848</id><published>2004-11-11T19:26:00.000-05:00</published><updated>2004-11-11T19:26:13.493-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://webfx.eae.net/dhtml/dhtmlmenu4/menu4.html"&gt;DHTML Menu 4 (WebFX)&lt;/a&gt;&lt;br /&gt;version 3 allowed menus to cover windowed controls,&lt;br /&gt;version 4 can be displayed outside the physical boundaries of the browser window.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110021917349102848?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110021917349102848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110021917349102848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110021917349102848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110021917349102848'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/dhtml-menu-4-webfx-version-3-allowed.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110019493205641773</id><published>2004-11-11T13:42:00.000-05:00</published><updated>2004-11-11T12:50:01.933-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.myxaml.com/"&gt;MyXaml - Home&lt;/a&gt;&lt;br /&gt;a Open source XAML framework, it is based on Winform. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110019493205641773?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110019493205641773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110019493205641773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110019493205641773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110019493205641773'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/myxaml-home-open-source-xaml-framework.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-110014400344398858</id><published>2004-11-10T22:33:00.000-05:00</published><updated>2004-11-11T12:13:12.060-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGch02.asp?frame=true"&gt;Debugging Memory Problems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconPerformanceCountersForASPNET.asp"&gt;Performance Counters for ASP.NET&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-110014400344398858?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/110014400344398858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=110014400344398858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110014400344398858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/110014400344398858'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/debugging-memory-problems-performance.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-109997383726362597</id><published>2004-11-08T23:17:00.000-05:00</published><updated>2004-11-08T23:17:17.263-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/moniker/reference/functions/urldownloadtocachefile.asp"&gt;URLDownloadToCacheFile&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A very useful Windows platform API, it Downloads data into the Internet cache and returns the file name of the cache location for retrieving the bits. it is widely used by auto-upgrade of rich client application. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-109997383726362597?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/109997383726362597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=109997383726362597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109997383726362597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109997383726362597'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/urldownloadtocachefile-very-useful.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-109993700594180652</id><published>2004-11-08T13:03:00.000-05:00</published><updated>2004-11-08T13:03:25.940-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.manageability.org/blog/stuff/workflow_in_java/view"&gt;Manageability - Open Source Workflow Engines Written in Java&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-109993700594180652?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/109993700594180652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=109993700594180652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109993700594180652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109993700594180652'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/manageability-open-source-workflow.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6358895.post-109987720333497233</id><published>2004-11-07T20:26:00.000-05:00</published><updated>2004-11-07T20:33:50.093-05:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.activewidgets.com/"&gt;ActiveWidgets :: dhtml grid, javascript tables, .net datagrid, asp controls, php widgets&lt;/a&gt;&lt;br /&gt;This controls set includes a scrollable javascript grid that looks like win 32 grid, it could be used in open source project for free, but not in commercial project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6358895-109987720333497233?l=yyanghhong.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yyanghhong.blogspot.com/feeds/109987720333497233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6358895&amp;postID=109987720333497233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109987720333497233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6358895/posts/default/109987720333497233'/><link rel='alternate' type='text/html' href='http://yyanghhong.blogspot.com/2004/11/activewidgets-dhtml-grid-javascript.html' title=''/><author><name>george yang</name><uri>http://www.blogger.com/profile/13915257490274997051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
