<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Jack Ma, a developer's random stuff</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jackma/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jackma/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 04:05:47 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>https://jackma.com</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/httpjackma-com</link>
      <pubDate>Thu, 10 Dec 2015 17:30:25 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/?p=222</guid>
      <description><![CDATA[This blog is now moved to https://jackma.com and will be renovated from there... :)]]></description>
      <content:encoded><![CDATA[<h1>This blog is now moved to <span style="color: #339966"><a style="color: #339966" href="https://jackma.com">https://jackma.com</a></span> and will be renovated from there... :)</h1>]]></content:encoded>
    </item>
    <item>
      <title>A list of readings on async programming</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/a-list-of-readings-on-async-programming</link>
      <pubDate>Tue, 16 Apr 2013 09:58:38 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2013/04/16/a-list-of-readings-on-async-programming/</guid>
      <description><![CDATA[Understanding the SynchronizationContext in...]]></description>
      <content:encoded><![CDATA[<p>Understanding the SynchronizationContext in ASP.NET<p><a title="https://vegetarianprogrammer.blogspot.com/2012/12/understanding-synchronizationcontext-in.html" href="https://vegetarianprogrammer.blogspot.com/2012/12/understanding-synchronizationcontext-in.html">https://vegetarianprogrammer.blogspot.com/2012/12/understanding-synchronizationcontext-in.html</a></p><p>It's All About the SynchronizationContext</p><p><a title="https://msdn.microsoft.com/en-us/magazine/gg598924.aspx" href="https://msdn.microsoft.com/en-us/magazine/gg598924.aspx">https://msdn.microsoft.com/en-us/magazine/gg598924.aspx</a></p><p>Don't Block on Async Code</p><p><a title="https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html" href="https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html">https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html</a></p><p>ExecutionContext vs SynchronizationContext</p><p><a title="https://blogs.msdn.com/b/pfxteam/archive/2012/06/15/executioncontext-vs-synchronizationcontext.aspx" href="https://blogs.msdn.com/b/pfxteam/archive/2012/06/15/executioncontext-vs-synchronizationcontext.aspx">https://blogs.msdn.com/b/pfxteam/archive/2012/06/15/executioncontext-vs-synchronizationcontext.aspx</a></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Something I should be aware of two years ago</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/something-i-should-be-aware-of-two-years-ago</link>
      <pubDate>Mon, 25 Feb 2013 22:12:33 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2013/02/25/something-i-should-be-aware-of-two-years-ago/</guid>
      <description><![CDATA[I really wish I have known about these changes two years ago. So I can save some hours for resolving...]]></description>
      <content:encoded><![CDATA[<p>I really wish I have known about these changes two years ago. So I can save some hours for resolving weird gacutil issue.<p><a title="https://blogs.msdn.com/b/mjeelani/archive/2010/06/07/top-2-things-you-should-know-about-the-global-assembly-cache-gac-in-net-4-0.aspx" href="https://blogs.msdn.com/b/mjeelani/archive/2010/06/07/top-2-things-you-should-know-about-the-global-assembly-cache-gac-in-net-4-0.aspx">https://blogs.msdn.com/b/mjeelani/archive/2010/06/07/top-2-things-you-should-know-about-the-global-assembly-cache-gac-in-net-4-0.aspx</a></p><p><a title="https://blogs.msdn.com/b/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx" href="https://blogs.msdn.com/b/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx">https://blogs.msdn.com/b/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx</a></p><p><a title="https://blogs.iis.net/davcox/archive/2009/07/14/where-is-gacutil-exe.aspx" href="https://blogs.iis.net/davcox/archive/2009/07/14/where-is-gacutil-exe.aspx">https://blogs.iis.net/davcox/archive/2009/07/14/where-is-gacutil-exe.aspx</a></p><p>Hope this helps,</p><p>-Jack</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>If you don’t want to use one input method for all</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/if-you-dont-want-to-use-one-input-method-for-all</link>
      <pubDate>Thu, 08 Nov 2012 23:22:35 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/11/08/if-you-dont-want-to-use-one-input-method-for-all/</guid>
      <description><![CDATA[I’m using Windows 8 system for my regular daily work. I’m using English as the display language and...]]></description>
      <content:encoded><![CDATA[<p>I’m using Windows 8 system for my regular daily work. I’m using English as the display language and most time I type English since it is the work language in this company. However, I’m a Chinese and it is pretty reasonable that I sometimes need to type Chinese in, for example, the IM message window to chat with my friends. So, of course I have Chinese language and its IMEs installed.</p>  <p>Not like in the previous versions of Windows, win 8 now uses Win+space hotkey to switch between the languages. So the beloved years of Ctrl+space disappears. And, another damn thing I really hate is, once I switch the IME, all running applications now are with that IME. Which means I have to switch again and again between English input and Chinese input always, once after I have to deal with a friend with whom I have to type Chinese.</p>  <p>So today I’m enough with this switch and spent some little more time on the language configurations of win 8 and it turns out I can get my comfortable ways back. <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/49/07/metablogapi/1067.wlEmoticon-smile_584D97E1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-49-07-metablogapi/1067.wlEmoticon_2D00_smile_5F00_584D97E1.png" /></p>  <p>Use the <strong>Change your language preferences </strong>windows, open the <strong>Advanced settings </strong>option, and turn on the <strong>Let me set a different input method for each app window </strong>option. Then log off and re-login, all the familiar behaviors are back and voilà!</p>]]></content:encoded>
    </item>
    <item>
      <title>LocalResource for Diagnostic, the size config matters</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/localresource-for-diagnostic-the-size-config-matters</link>
      <pubDate>Thu, 08 Nov 2012 23:19:08 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/11/08/localresource-for-diagnostic-the-size-config-matters/</guid>
      <description><![CDATA[In one of my Azure projects, we use local storage to temporarily store some logging data files and...]]></description>
      <content:encoded><![CDATA[<p>In one of my Azure projects, we use local storage to temporarily store some logging data files and then leverage the Windows Azure Diagnostic (WAD) to transfer/forward these files to a storage account.<p>We encountered a weird problem when we tried to configure the size for the abovementioned local resource. I&rsquo;ll call it LocalStorageLogDump as below. My initial thinking of this <strong>sizeInMB</strong> configuration is that as long as it is below the limit of the virtual machine&rsquo;s local storage size, which is about 200GB for a small instance, it should be ok. However, when I put a 5000MB (5GB) in the config, it failed to start the diagnostic monitor.</p><p>By reflectoring the diagnostic assembly and later reading the following article, I then realized, the local resource that is used for WAD, has to be less than the size of a local resource named <strong>DiagnosticStore </strong>which by default is 4GB and not in the .csdef file. Then after I explicitly added that configuration entry and gave it a larger value, WAD starts to work.</p><p><a title="https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.overallquotainmb.aspx" href="https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.overallquotainmb.aspx">https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.overallquotainmb.aspx</a></p><p>&lt;LocalResources&gt;    <br>&nbsp; &lt;LocalStorage name="LocalStorageLogDump" cleanOnRoleRecycle="true" sizeInMB="5000" /&gt;     <br>&nbsp; &lt;LocalStorage name="<strong>DiagnosticStore</strong>" cleanOnRoleRecycle="<strong><font color="#ff0000">false</font></strong>" sizeInMB="<strong>10000</strong>" /&gt;     <br>&lt;/LocalResources&gt;</p><p><strong>[Update: 9/16/2013]</strong></p><p>The cleanOnRoleRecycle attribute is better with a &ldquo;<strong>false</strong>&rdquo; value, according to this <a href="https://blogs.msdn.com/b/kwill/archive/2013/09/23/troubleshooting-scenario-6-role-recycling-after-running-for-some-time.aspx">post</a>, in case you encountered the same/similar issues.</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>A not-bad article on WinRT for .NET devs like me</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/a-not-bad-article-on-winrt-for-net-devs-like-me</link>
      <pubDate>Wed, 07 Nov 2012 09:37:42 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/11/07/a-not-bad-article-on-winrt-for-net-devs-like-me/</guid>
      <description><![CDATA[&nbsp;Turning to the past to power Windows' future: An in-depth look at...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;<p>Turning to the past to power Windows' future: An in-depth look at WinRT</p><p><a title="https://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again/" href="https://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again/">https://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again/</a></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>A tool to simplify and automate your SQL Azure database backup</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/a-tool-to-simplify-and-automate-your-sql-azure-database-backup</link>
      <pubDate>Sun, 04 Nov 2012 20:42:33 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/11/04/a-tool-to-simplify-and-automate-your-sql-azure-database-backup/</guid>
      <description><![CDATA[So you have one or more SQL Azure databases that have data stored you treat really seriously and...]]></description>
      <content:encoded><![CDATA[<p>So you have one or more SQL Azure databases that have data stored you treat really seriously and want to back them up on a regular basis like what you usually do for on-premises databases. However, the backup/restore story is different from on-premises environment. What you can do is to leverage the existing options provided by Azure platform. Following is a list of references you want to check out.<blockquote>   <p><em>Business Continuity in SQL Azure        <br></em><a href="https://msdn.microsoft.com/en-us/library/windowsazure/hh852669.aspx"><em>https://msdn.microsoft.com/en-us/library/windowsazure/hh852669.aspx</em></a></p>    <p><em>SQL Azure Backup and Restore Strategy        <br></em><a href="https://social.technet.microsoft.com/wiki/contents/articles/1792.sql-azure-backup-and-restore-strategy.aspx"><em>https://social.technet.microsoft.com/wiki/contents/articles/1792.sql-azure-backup-and-restore-strategy.aspx</em></a></p>    <p><em>How to Use Data-Tier Application Import and Export with SQL Azure        <br></em><a href="https://social.technet.microsoft.com/wiki/contents/articles/2639.aspx"><em>https://social.technet.microsoft.com/wiki/contents/articles/2639.aspx</em></a></p>    <p><em>Copying Databases in SQL Azure        <br></em><a href="https://msdn.microsoft.com/en-us/library/windowsazure/ff951624.aspx"><em>https://msdn.microsoft.com/en-us/library/windowsazure/ff951624.aspx</em></a></p> </blockquote><p>However, if you really want to automate the backup operation and save some manual efforts, you then need to write some codes/scripts to really orchestrate all these existing options and maximize the overall goodness that you can get from these options.</p><p>Now, here is the good news, a tool (<a href="https://sadp.codeplex.com/">SQL Azure Data Protector</a>) is created for you just to do all these things. What you only need to do is:</p><ul>   <li><a href="https://sadp.codeplex.com/releases/view/97097">Download</a> and install the little tool on a machine that usually schedules Ops tasks for you</li>    <li>Create a profile (configurations like server names, credentials, locations, storage account, etc.)</li>    <li>Schedule a periodic task using, for example, Windows Task Scheduler</li> </ul><p>If you want to understand more details about how this tool works, you can read the <a href="https://sadp.codeplex.com/wikipage?title=Concept%2fDataflow&amp;referringTitle=Home">documents</a>. Of course, you can also check out the <a href="https://sadp.codeplex.com/SourceControl/BrowseLatest">source codes</a> directly, as well.</p><p>Till next time,</p><p>-jackma</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>win 8 doesn’t like WEP Wi-Fi connection</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/win-8-doesnt-like-wep-wi-fi-connection</link>
      <pubDate>Sat, 27 Oct 2012 04:46:49 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/10/27/win-8-doesnt-like-wep-wi-fi-connection/</guid>
      <description><![CDATA[My newly installed win 8 system failed to connect to my home Wi-Fi without any useful information...]]></description>
      <content:encoded><![CDATA[<p>My newly installed win 8 system failed to connect to my home Wi-Fi without any useful information provided. I tried many times, and it always failed. Then I tried to re-configure my router to change the security type to WPA2-Personal and used AES algorithm for encryption type. and now win 8 can connect to my home Wi-Fi like a charm.<p>WEP is basically non-secure, so if you encountered the same issue as me, you can think of trying the same approach as I did to see if it would be the rescue.</p><p>&nbsp;</p><p>Till next time,</p><p>-jackma</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>A nice post from Jianshuo Wang</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/a-nice-post-from-jianshuo-wang</link>
      <pubDate>Sun, 29 Jul 2012 23:23:02 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/07/29/a-nice-post-from-jianshuo-wang/</guid>
      <description><![CDATA[Surrounded by the Crazy to be Normal&ldquo;I wrote an article on Weibo &ldquo;They...]]></description>
      <content:encoded><![CDATA[<p><a title="Surrounded by the Crazy to be Normal" href="https://home.wangjianshuo.com/archives/20120729_surrounded_by_the_crazy_to_be_normal.htm">Surrounded by the Crazy to be Normal</a><p><em>&ldquo;I wrote an article on Weibo &ldquo;</em><a href="https://page.renren.com/601106718/note/846341085?op=next&amp;curTime=1337126584000"><em>They Said&hellip;</em></a><em>&rdquo; (Chinese) by Lu Chunqing. A very nice article. She mentioned the pressure from &ldquo;They said&hellip;&rdquo; in mainland China. People tell you to be stable, to get a good job, and to marry quickly&hellip; The general opinion from the public just gradually change people, until they become different.&rdquo;</em></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>I like this statement: The 100% coverage practice is costly only when it forces substandard code to be well designed.</title>
      <link>https://docs.microsoft.com/archive/blogs/jackma/i-like-this-statement-the-100-coverage-practice-is-costly-only-when-it-forces-substandard-code-to-be-well-designed</link>
      <pubDate>Tue, 20 Mar 2012 00:47:10 GMT</pubDate>
      <dc:creator><![CDATA[Jack Ma]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jackma/2012/03/20/i-like-this-statement-the-100-coverage-practice-is-costly-only-when-it-forces-substandard-code-to-be-well-designed/</guid>
      <description><![CDATA[And it is from a post of Patrick Smacchia on simple-talk.Patrick wrote an essay about writing unit...]]></description>
      <content:encoded><![CDATA[<p>And it is from a <a href="https://www.simple-talk.com/dotnet/.net-framework/on-writing-unit-tests-for-c/" target="_blank">post</a> of <a href="https://www.simple-talk.com/author/patrick-smacchia/">Patrick Smacchia</a> on <a href="https://www.simple-talk.com/default.aspx" target="_blank">simple-talk</a>.<p>Patrick wrote an essay about writing unit testing code in c#, in which I personally found a lot of good points that I could not agree more. For example:</p><ul>   <li><strong>Not all classes need to be 100% covered by tests or even covered at all.</strong></li>    <li>T<strong>he 100% coverage practice is costly only when it forces </strong><strong>substandard</strong><strong> </strong><strong>code to be well designed</strong>.</li> </ul><p>And especially for the second one, I think it is inspirational and encouraging. I faced situations from time to time that for some certain piece of codes/logic, it was difficult to write a comprehensive test suite to cover all the branches. Honestly, most of time when I faced this, I will choose to leave the coverage not to 100% and accept the fact. But after reading this, knowing what, from now on, I will try my best to achieve the 100% coverage by not only writing comprehensive test cases, but also refactoring the &ldquo;difficult&rdquo; logic to the best designed, intuitive, and joyful to read codes.</p><p>And I mean it.</p></p>
]]></content:encoded>
    </item>
  </channel>
</rss>