<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kevin.Gao.Blog() &#187; Programming</title>
	<atom:link href="http://www.kevingao.net/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.kevingao.net</link>
	<description>SourceSafe, Source Control, Software Development</description>
	<lastBuildDate>Tue, 27 Jul 2010 12:26:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SourceAnywhere for VSS 5.4 and SourceOffSite 4.2 Comparison</title>
		<link>http://www.kevingao.net/programming/sourceanywhere-for-vss-and-sourceoffsite-comparison.html</link>
		<comments>http://www.kevingao.net/programming/sourceanywhere-for-vss-and-sourceoffsite-comparison.html#comments</comments>
		<pubDate>Mon, 20 Jul 2009 04:14:36 +0000</pubDate>
		<dc:creator>Kevin Gao</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.kevingao.net/?p=702</guid>
		<description><![CDATA[As the architect of SourceAnywhere for VSS, I was asked by many users about the performance of SourceAnywhere for VSS compared with other products.
Recently, I did the test. Now I am posting the result here with the hope that it can save your time evaluating different SourceSafe remote access tools. I mainly focus on the [...]]]></description>
			<content:encoded><![CDATA[<p>As the architect of SourceAnywhere for VSS, I was asked by many users about the performance of SourceAnywhere for VSS compared with other products.</p>
<p>Recently, I did the test. Now I am posting the result here with the hope that it can save your time evaluating different SourceSafe remote access tools. I mainly focus on the features and remote-access performance comparison.</p>
<p> </p>
<p><strong>Below is the result:</strong></p>
<h3>Feature Comparison</h3>
<table border="1" width="100%">
<tbody>
<tr>
<td><strong>Features</strong></td>
<td align="center"><a href="http://www.dynamsoft.com/Products/SAW_Overview.aspx" target="_blank"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/logo_SAWV.gif" alt="Visual SourceSafe (VSS) Remote Access Tool Recommended by Microsoft" /></a></td>
<td align="center"><strong>SourceOffSite</strong></td>
</tr>
<tr>
<td colspan="3"><em><strong>Performance Features</strong></em></td>
</tr>
<tr>
<td>Data compression</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Client/Server architecture</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Cache Server</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Delta Transfer</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Multithread file transfer</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td colspan="3">　</td>
</tr>
<tr>
<td colspan="3"><em><strong>Security Features</strong></em></td>
</tr>
<tr>
<td>Client/Server Architecture</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Blowfish encryption</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>128 SSL</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Password policy</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Independent VSS database access control</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td colspan="3">　</td>
</tr>
<tr>
<td colspan="3"><em><strong>IDE Integration</strong></em></td>
</tr>
<tr>
<td>Visual Studio 6/2003/2005/2008</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>SQL Server 2005</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Eclipse Plug-in</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Dreamweaver</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td colspan="3">　</td>
</tr>
<tr>
<td colspan="3"><em><strong>Cross Platform</strong></em></td>
</tr>
<tr>
<td>Windows</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Linux</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Mac</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
</tr>
<tr>
<td>Solaris</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>AIX</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>SCO</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
<tr>
<td>Any Java compatible platform</td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/yes.gif" alt="Yes" /></td>
<td align="center"><img src="http://www.kevingao.net/wp-content/uploads/2009/07/no.gif" alt="No" /></td>
</tr>
</tbody>
</table>
<p> </p>
<h3>Performance Test</h3>
<p><strong>Result:</strong> (Unit: second)</p>
<table border="1" width="100%">
<tbody>
<tr>
<td>　</td>
<td><strong>SourceAnywhere for VSS with cache server</strong></td>
<td><strong>SourceAnywhere for VSS without cache server</strong></td>
<td><strong>SourceOffSite (no cache server is available)</strong></td>
</tr>
<tr>
<td><strong>Add</strong></td>
<td>195</td>
<td>193</td>
<td>408</td>
</tr>
<tr>
<td><strong>Get (no local file exists)</strong></td>
<td>175</td>
<td>213</td>
<td>1256</td>
</tr>
<tr>
<td><strong>Check out (no local file exists)</strong></td>
<td>189</td>
<td>232</td>
<td>1409</td>
</tr>
<tr>
<td><strong>Check out (all local files exist)</strong></td>
<td>79</td>
<td>90</td>
<td>160</td>
</tr>
<tr>
<td><strong>Check in (no file is changed)</strong></td>
<td>177</td>
<td>189</td>
<td>723</td>
</tr>
<tr>
<td><strong>Check in (All files are changed)</strong></td>
<td>259</td>
<td>273</td>
<td>842</td>
</tr>
</tbody>
</table>
<p> </p>
<p><strong>Test Environment:</strong><br />
There are 3 machines used in the test:</p>
<p>Server : CPU Intel P4 2.66G, 256M RAM, Win 2003 Std sp1; SourceAnywhere for VSS Server 5.3.1; SourceOffSite Server 4.2</p>
<p>Client: CPU Intel P4 3.0G, 512M RAM, 160GB 5400RPM HD, Win XP sp2; SourceAnywhere for VSS Server 5.3.1; SourceOffSite Client 4.2</p>
<p>Cache server: CPU Intel Celeron 2.66G, 512M RAM, 160GB 5400RPM HD, Win2003 Std SP1; SourceAnywhere for VSS Cache Server 5.3.1</p>
<p>Broadband connection is used between the client and server machine.</p>
<p>The cache server and client are on the same LAN, which connects to the server through office ADSL.</p>
<p> </p>
<p><strong>Test Software:</strong></p>
<p>SourceAnywhere for VSS 5.4, SourceAnywhere for VSS 5.4 Cache Server 5.4, SourceAnywhere for VSS Client 5.4.</p>
<p>SourceOffSite Server 4.2, SourceOffSite Client 4.2.</p>
<p> </p>
<p><strong>Test Data:</strong></p>
<p>1. A project with 1,500 files; Total size is 17.1 MB.<br />
2. 1,000 changed files (used for check-in).<br />
3. Server and Client machines are restarted before each test.</p>
<p>I attached the test data I used here. You can <a href="http://www.kevingao.net/wp-content/uploads/sawforvss-sos-comparison/TestData.zip">download it</a> and do the test in your own environment if you like.</p>
<p> </p>
<p><strong>Test method:</strong></p>
<p>Every operation is carried out 5 times. The highest and lowest results are eliminated. The average value is calculated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kevingao.net/programming/sourceanywhere-for-vss-and-sourceoffsite-comparison.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft released Silverlight 3 Beta !</title>
		<link>http://www.kevingao.net/programming/microsoft-released-silverlight-3-beta.html</link>
		<comments>http://www.kevingao.net/programming/microsoft-released-silverlight-3-beta.html#comments</comments>
		<pubDate>Fri, 27 Mar 2009 20:12:07 +0000</pubDate>
		<dc:creator>Kevin Gao</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.kevingao.net/?p=510</guid>
		<description><![CDATA[Microsoft has just released Silverlight 3 Beta. There are big improvements in this release. It is good news for us, since we are developing a Silverlight 2 application. As a professional software development company developing tools for software development teams, we are not very interested in the rich media part of the new features. The [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has just released Silverlight 3 Beta. There are big improvements in this release. It is good news for us, since we are developing a Silverlight 2 application. As a professional software development company developing tools for software development teams, we are not very interested in the rich media part of the new features. The parts that we are interested in are: 60+ controls with source code and out-of-browser capability. With the out-of-browser support, the applications built with Silverlight 3 can run both within and outside a browser. The auto update feature is also nice since the new version of our software can be downloaded and installed automatically on the client side.</p>
<p>You can read more at this page:<br />
<a href="http://silverlight.net/getstarted/silverlight3/default.aspx">http://silverlight.net/getstarted/silverlight3/default.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kevingao.net/programming/microsoft-released-silverlight-3-beta.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today, we reached the ZBB milestone for SourceAnywhere 3.0</title>
		<link>http://www.kevingao.net/general/today-we-reached-the-zbb-milestone-for-sourceanywhere-30.html</link>
		<comments>http://www.kevingao.net/general/today-we-reached-the-zbb-milestone-for-sourceanywhere-30.html#comments</comments>
		<pubDate>Fri, 19 Sep 2008 06:18:19 +0000</pubDate>
		<dc:creator>Kevin Gao</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.kevingao.net/?p=235</guid>
		<description><![CDATA[I am very excited to announce that today at 5:25PM Pacific Time, 18th September 2008, our SourceAnywhere 3.0 team reached the Zero Bug Bounce (ZBB) milestone for the SourceAnywhere 3.0 cross-platform client. All together, we created 3362 issues, including bugs, tasks and notifications for the project.
In the coming 2 weeks, our team will continue to [...]]]></description>
			<content:encoded><![CDATA[<p>I am very excited to announce that today at 5:25PM Pacific Time, 18th September 2008, our SourceAnywhere 3.0 team reached the Zero Bug Bounce (ZBB) milestone for the SourceAnywhere 3.0 cross-platform client. All together, we created 3362 issues, including bugs, tasks and notifications for the project.</p>
<p>In the coming 2 weeks, our team will continue to work on the cross-platform client to further improve the product quality. 2 weeks later, our testing team will start to do release testing for the client and our coding team will start to work on the Visual Studio IDE integration client.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kevingao.net/general/today-we-reached-the-zbb-milestone-for-sourceanywhere-30.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The difference between &#8220;Start with debugging&#8221; and &#8220;Start without debugging&#8221;</title>
		<link>http://www.kevingao.net/programming/the-difference-between-start-with-debugging%e2%80%9d-and-%e2%80%9cstart-without-debugging.html</link>
		<comments>http://www.kevingao.net/programming/the-difference-between-start-with-debugging%e2%80%9d-and-%e2%80%9cstart-without-debugging.html#comments</comments>
		<pubDate>Thu, 18 Sep 2008 05:37:14 +0000</pubDate>
		<dc:creator>Kevin Gao</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.kevingao.net/?p=227</guid>
		<description><![CDATA[Today when I was browsing the MSDN VC++ forum, I saw a post asking the differences between &#8220;Start with debugging&#8221; and &#8220;Start without debugging&#8221;.
The original post is:
I&#8217;m having a problem with a network application I&#8217;m coding. I have this connection between a client and a server that only works when I start my application with [...]]]></description>
			<content:encoded><![CDATA[<p>Today when I was browsing the MSDN VC++ forum, I saw a post asking the differences between &#8220;Start with debugging&#8221; and &#8220;Start without debugging&#8221;.</p>
<p>The original post is:</p>
<blockquote><p>I&#8217;m having a problem with a network application I&#8217;m coding. I have this connection between a client and a server that only works when I start my application with &#8220;Start with debugging&#8221; and never with &#8220;Start without debugging&#8221;, both in Debug and Release configuration.</p>
<p>So my question is : what&#8217;s the differences with &#8220;Start with debugging&#8221; and &#8220;Start without debugging&#8221; that could possibly change the behaviour of a program? Because I don&#8217;t have a clue as of where to search for the problem&#8230; If it can help, my program is multi-threaded.</p></blockquote>
<p> </p>
<p>I also had the same question several years ago.</p>
<p>This issue is caused by the different variable initialization behavior of differnt run modes.</p>
<p>In the &#8220;Start with debugging&#8221; mode, the un-initialized variables are set to the default values. But in the &#8220;Start without debugging&#8221;, the variables are left random.</p>
<p>For example, you have:<br />
int iHowMany;</p>
<p>In the &#8220;Start with debugging&#8221; mode, iHowMany is initialized to 0. But in the &#8220;Start without debugging&#8221; mode, the value of iHowMany is random.</p>
<p>It is easy to find all the un-initialized variables. The VC compiler generates a warning for using an un-initialized variable. Just go through the compiler warning list, find them and initialize them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kevingao.net/programming/the-difference-between-start-with-debugging%e2%80%9d-and-%e2%80%9cstart-without-debugging.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
