<?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>Tamir Khason - Just code &#187; Visual Studio</title>
	<atom:link href="http://khason.net/tag/visual-studio/feed/" rel="self" type="application/rss+xml" />
	<link>http://khason.net</link>
	<description>Take care of the sense, and the sounds will take care of themselves.</description>
	<lastBuildDate>Sun, 08 Nov 2009 18:24:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?</title>
		<link>http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/</link>
		<comments>http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 17:41:54 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[ITPRO]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>

		<guid isPermaLink="false">http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/</guid>
		<description><![CDATA[Microsoft loves cumbersome licensing models . This is not because of their evil-heartedness, but because it make them possible to get more from bigger companies and less from smaller. However when you come into the real decision about how many and what kind of licenses you have to purchase, you stuck. Today we’ll try to [...]


Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
<li><a href='http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/' rel='bookmark' title='Permanent Link: Quick IT tip: How to build bootable USB stick'>Quick IT tip: How to build bootable USB stick</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft loves cumbersome licensing models . This is not because of their evil-heartedness, but because it make them possible to get more from bigger companies and less from smaller. However when you come into the real decision about how many and what kind of licenses you have to purchase, you stuck. Today we’ll try to make things clearer, at least for Team Foundation Server and Visual Studio, which is very base things for any software house develops things using Microsoft technologies.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Cumbersomeness of the TFS licening model" border="0" alt="Cumbersomeness of the TFS licening model" src="http://khason.net/images/2009/08/image.png" width="636" height="454" />     <br /><font size="1">© image for cumbersomeness proposal via </font><a href="http://dotnet.org.za/blogs/willy/" target="_blank"><font size="1">Willy-Peter Schaub</font></a><font size="1"> by </font><a href="http://www.saarchitect.net/" target="_blank"><font size="1">SA Architect</font></a></p>
<p>To make things even simpler, let’s assume that we do not need TFS Workgroup edition (which is special edition for TFS 5 users only) and we are not using TFS Device CAL (as opposed to User CAL this Client Access License permits one device to be used by any number of users. This kind of CAL is good for kiosks rather then for development environments). Also <a href="http://blogs.msdn.com/vstsloadtestblog/" target="_blank">Test Load Agent</a> needs it own license. So now, and under all those circumstances, let’s start.</p>
<p>To work with TFS we need:</p>
<ol>
<li>One or more Team Foundation Server</li>
<li>More then one Visual Studio Client (editions can vary)</li>
<li>Optional one or more <a href="http://www.microsoft.com/licensing/software-assurance/" target="_blank">Software Assurance</a>, which can be licenses separately or together with <a href="http://msdn.microsoft.com/en-us/subscriptions/" target="_blank">MSDN subscription</a></li>
<li>… and some other optional tools</li>
</ol>
<h3>TFS Licensing</h3>
<p><font size="3">Each instance of TFS needs it license. Even if you have mirrored deployment of TFS, you need a server license for each instance. Also you need separate license if you are using TFS Data Tier on SQL Server cluster or using TFS Proxy. I think it’s clear, that in addition to TFS license you’ll need Windows Server and SQL server licenses (if it used especially for TFS). You can also put Data Tier on existing SQL server in this case you need only another TFS license without SQL.</font></p>
<p><font size="3">You do not need additional Team Foundation Server license for the machine used for TF build services. Also this machine does not need another CAL, except one used for the system user used for initialize builds.</font></p>
<blockquote><p><font size="3"><strong>To summarize</strong>: each instance of TFS need server license in addition to CALs and other server licenses (such as Windows, SQL, SharePoint, IIS etc).</font></p>
</blockquote>
<h4>Client Access License</h4>
<p><font size="3">In addition to server license you need also CAL for each used reads and writes to TFS. There are different versions of Visual Studio includes CAL:</font></p>
<ul>
<li><font size="3">Visual Studio 2008 Team Suite</font></li>
<li><font size="3">Visual Studio 2008 Architecture edition</font></li>
<li><font size="3">Visual Studio 2008 Development edition</font></li>
<li><font size="3">Visual Studio 2008 Test edition</font></li>
<li><font size="3">Visual Studio 2008 Database edition</font></li>
</ul>
<p><font size="3">Visual Studio 2008 Professional <strong>does not</strong> includes CAL. So each one of contributes needs one of Visual Studios which includes CAL. The TFS clients might be installed on one of those editions and does requires additional license.</font></p>
<p><font size="3">You <strong>do not need</strong> additional license when you are using TFS for <strong>only</strong>:</font></p>
<ul>
<li><font size="3">Create work items, bugs, etc.</font></li>
<li><font size="3">Query for work items</font></li>
<li><font size="3">Update work items</font></li>
</ul>
<p><font size="3">Other words product definition, system analysts, managers and “bug fillers</font><font size="3">” do not required additional CAL. Note, that they will probably need proper Microsoft Office licenses to use Excel or Project to do this, however they can also use TFS web access (browser) or any other 3rd party tool without purchasing separate CAL.</font></p>
<p><font size="3">Also you need only one CAL for server software. Other words, if you are using TFS on Windows Server you do not need TFS and Windows Server CAL. Also those CALs covers all earlier versions of all products in use.</font></p>
<blockquote><p><font size="3"><strong>To summarize</strong>: Each TFS user <u>does not need</u> additional CAL when he has proper license for Visual Studio Team Suite or using TFS for only bug/issues tracking. </font></p>
</blockquote>
<h4>Software assurance vs. MSDN</h4>
<p><font size="3">MSDN is more expensive then SA (Software Assurance), however it includes SA and provides some benefits by allowing access to several Microsoft products for development and testing purposes. </font></p>
<p><font size="3">There are two different MSDN editions – professional and premium. The difference between those editions (except price) is that Premium editing includes Windows Server Systems and Microsoft Office. Thus with Professional edition you got software assurance for Visual Studio 2008 Professional while with Premium for all other versions.</font></p>
<h4>Let’s simulate the results</h4>
<p><font size="3">For small software house with 10 developers (two architects, 1 DBA and 3 QA), two product definition guys, and manager we’ll need (in addition to OS, other server and Office licenses):</font></p>
<ul>
<li><font size="3">1 TFS license</font></li>
<li><font size="3">2 Visual Studio 2008 Architecture edition</font></li>
<li><font size="3">1 Visual Studio 2008 Database edition</font></li>
<li><font size="3">3 Visual Studio 2008 Test edition</font></li>
<li><font size="3">4 Visual Studio 2008 Development edition</font></li>
<li><font size="3">1&lt;n&lt;10 MSDN Licenses Premium (as number of employees need it for testing or development purposes)</font></li>
<li><font size="3">10-n SA licenses (if SA required)</font></li>
<li><font size="3">Additional CAL for build machine</font></li>
</ul>
<p><font size="3">I think, that now it become a bit clearer. For additional information regarding TFS licensing model, please refer </font><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=CE194742-A6E8-4126-AA30-5C4E969AF2A3&amp;displaylang=en" target="_blank">Visual Studio Team System 2008 Licensing White Paper</a> or ask your local licensing expert at Microsoft.</p>


<p>Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
<li><a href='http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/' rel='bookmark' title='Permanent Link: Quick IT tip: How to build bootable USB stick'>Quick IT tip: How to build bootable USB stick</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Visual Studio debugger related attributes cheat sheet</title>
		<link>http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/</link>
		<comments>http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:20:54 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Work process]]></category>

		<guid isPermaLink="false">http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/</guid>
		<description><![CDATA[There are some debugger-oriented attributes in .Net, however 70% of developers not even know that they exist and 95% of them has no idea what they doing and how to use it. Today we’ll try to lid light on what those attributes doing and how to achieve the best of using it.
First of all let’s [...]


Related posts:<ol><li><a href='http://khason.net/dev/inotifypropertychanged-auto-wiring-or-how-to-get-rid-of-redundant-code/' rel='bookmark' title='Permanent Link: INotifyPropertyChanged auto wiring or how to get rid of redundant code'>INotifyPropertyChanged auto wiring or how to get rid of redundant code</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There are some debugger-oriented attributes in .Net, however 70% of developers not even know that they exist and 95% of them has no idea what they doing and how to use it. Today we’ll try to lid light on what those attributes doing and how to achieve the best of using it.</p>
<p>First of all let’s define what we want to get from debugger in VS</p>
<table border="1" cellspacing="1" cellpadding="2" width="600">
<tbody>
<tr>
<td valign="top" width="116">Term</td>
<td valign="top" width="484">What it actually does</td>
</tr>
<tr>
<td valign="top" width="116">Step Into</td>
<td valign="top" width="484">Steps into immediate child (that is what F11 does for standard VS layout)         <br /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://khason.net/images/2009/04/image1.png" width="240" height="17" /> </td>
</tr>
<tr>
<td valign="top" width="116">Step Over</td>
<td valign="top" width="484">Skips to any depth (that is what F10 does)         <br /><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://khason.net/images/2009/04/image2.png" width="238" height="19" /> </td>
</tr>
<tr>
<td valign="top" width="116">Step Deeper</td>
<td valign="top" width="484">Steps into bypassing code, using certain attribute</td>
</tr>
<tr>
<td valign="top" width="116">Run Through</td>
<td valign="top" width="484">Steps into, but only one level. All lower lavels will be Stepped Over</td>
</tr>
</tbody>
</table>
<p>Now, when we have our set of terms, we can learn what JMC means. It is not famous whisky brand or another car company. It Just My Code option, checked in or out in “Option” dialog inside Visual Studio</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://khason.net/images/2009/04/image3.png" width="749" height="437" /> </p>
<p> Next turn is for attributes, there are four (I know about) attributes, related to debugger and used by me for efficient programming: <a title="Read more in MSDN about this" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerhiddenattribute.aspx" target="_blank">DebuggerHidden</a>, <a title="Read more in MSDN about this attribute" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggernonusercodeattribute.aspx" target="_blank">DebuggerNonUserCode</a>, <a title="Read more in MSDN about this attribute" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx" target="_blank">DebuggerStepThrough</a> and <a title="Read more in MSDN about this attribute" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepperboundaryattribute.aspx" target="_blank">DebuggerStepperBoundary</a>. We will use only three first. DebuggerStepperBoundary is the most secret attribute, which is related to debugging only in multithreaded environment. It used to avoid delusive effect, might appears when a context switch is made on a <a title="Read MSDN documentation about System.Threading.Thread class" href="http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx" rel="tag" target="_blank">thread</a> within DebuggerNonUserCode applied. Other words, when you need to Step Through in Thread A and keep running at the same time in Thread B.</p>
<p>So let’s see the effects occurred when using those debugger attributes in case, you are trying to Step Into place, this attribute applied or set a Breakpoint there. When Just My Code (JMC) is checked all those attributes behaviors the same – they Step Deeper. However, when JMC is turned off (as in my picture) they begin to behavior differently.</p>
<table border="1" cellspacing="1" cellpadding="2" width="600">
<tbody>
<tr>
<td valign="top" width="200">Attribute</td>
<td valign="top" width="200">Step Into</td>
<td valign="top" width="200">Breakpoint</td>
</tr>
<tr>
<td valign="top" width="200">DebuggerHidden</td>
<td valign="top" width="200">Step Deeper</td>
<td valign="top" width="200">Step Deeper</td>
</tr>
<tr>
<td valign="top" width="200">DebuggerNonUserCode</td>
<td valign="top" width="200">Step Into</td>
<td valign="top" width="200">Step Into</td>
</tr>
<tr>
<td valign="top" width="200">DebuggerStepThrough</td>
<td valign="top" width="200">Step Deeper</td>
<td valign="top" width="200">Step Into</td>
</tr>
</tbody>
</table>
<p>As you can see, in this case </p>
<ul>
<li>DebuggerNonUserCode respects both for F11 (Step Into) and Breakpoints</li>
<li>DebuggerStepThrough respects only for Breakpoints</li>
<li>DebuggerHidden does not respects at all – just like when JMC is checked.</li>
</ul>
<p><strong>Bottom line</strong>: if you want people to manage whether to enter or not into your hidden methods – use DebuggerNonUserCode attribute. If you prefer them not to even know that those methods exists, use DebuggerHidden. If you want them to be able to put Breakpoints and stop on them, but keep running without explicit action – use&#160; DebuggerStepThrough</p>
<p>Have a nice day and be good people.&#160; Happy other developers friendly debugging.</p>
<p><em>Small bonus</em>: To visualize your struct, class, delegate, enum, field, property or even assembly for user debugger, you can use <a title="Read more on MSDN about this attribute" href="http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerdisplayattribute.aspx" target="_blank">DebuggerDisplay</a> attribute (you need to put executable code into {} for example (“Value = {X}:{Y}”)]</p>
<p><em>Thanks to <a title="Boris unleashed with huge passover gift" href="http://twitpic.com/2yivn" target="_blank">Boris</a> for deep investigation</em></p>


<p>Related posts:<ol><li><a href='http://khason.net/dev/inotifypropertychanged-auto-wiring-or-how-to-get-rid-of-redundant-code/' rel='bookmark' title='Permanent Link: INotifyPropertyChanged auto wiring or how to get rid of redundant code'>INotifyPropertyChanged auto wiring or how to get rid of redundant code</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Making TFS better or what is TITS?</title>
		<link>http://khason.net/tech/making-tfs-better-or-what-is-tits/</link>
		<comments>http://khason.net/tech/making-tfs-better-or-what-is-tits/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 17:42:07 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[TECH]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>

		<guid isPermaLink="false">http://khason.net/tech/making-tfs-better-or-what-is-tits/</guid>
		<description><![CDATA[Those days me and my team work very hard toward new version of “The System”. This includes massive refactoring of all solutions, hard work with TFS (which not restricted to only adding files, but also deleting, moving, etc. other words, all stuff, which TFS is not really love). Because of this, we need a bunch [...]


Related posts:<ol><li><a href='http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/' rel='bookmark' title='Permanent Link: TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?'>TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?</a></li>
<li><a href='http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/' rel='bookmark' title='Permanent Link: &ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend'>&ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Those days me and my team work very hard toward new version of “The System”. This includes massive refactoring of all solutions, hard work with TFS (which not restricted to only adding files, but also deleting, moving, etc. other words, all stuff, which TFS is not really love). Because of this, we need a bunch of handy tools to make our dreams come true and to decrease unnecessary number of clicks inside Team System Explorer and Visual Studio. You do not really think, that we have no tools to make our everyday job easier. We have. However, we never package and release it. Let me introduce “<strong>TITS” – T</strong>ools, <strong>I</strong>nvaluable for <strong>T</strong>eam <strong>S</strong>ystem. This suite I’m planning to release as another open source project within couple of months.</p>
<p><img title="TITS - Tools, Invaluable for Team System" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="498" alt="TITS - Tools, Invaluable for Team System" src="http://khason.net/images/2009/01/image19.png" width="632" border="0" /> </p>
<p>What “TITS” includes? First of all &#8211; </p>
<h3>“QOF” – Quick Open File</h3>
<p><img title="QOF - Quick Open File" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="550" alt="QOF - Quick Open File" src="http://khason.net/images/2009/01/image20.png" width="562" border="0" /> </p>
<p>This tools is absolutely invaluable if you have big solutions. While all it knows to do is to search. But, wait, what’s wrong with build-in search of Visual Studio? First of all, it does not search Solution items and files, are in solution directory, but not in project. Also it cannot fix your typos and errors. Also it does not know to move you quickly to found solution item in Solution Explorer or in Source Editor.</p>
<p>Basic set of QOF features:</p>
<ul>
<li>No mouse &#8211; open any file</li>
<li>No mouse – locate any file in solution explorer</li>
<li>Highlighting found items</li>
<li>Multiple files open</li>
<li>Filter by source files only, resources, owner or any other kind of filters</li>
<li>Search inside TFS, including history, changesets, shelves (either private and public)</li>
<li>…and much much more</li>
</ul>
<p>Next tool is:</p>
<h3>“WIBREW” – Who Is Breaking What</h3>
<p><img title="WIBREW - Who is breaking what" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="181" alt="WIBREW - Who is breaking what" src="http://khason.net/images/2009/01/image21.png" width="372" border="0" /> </p>
<p>Absolutely invaluable tool to know who actually breaking what file inside TFS. For example, I do not want to lock files, while I still want to know who holds what file. TFS provides such feature out-of-the-box, however from command prompt only. You can add it even as macro. Like this:</p>
<p><img title="WIBREW for poor people" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="451" alt="WIBREW for poor people" src="http://khason.net/images/2009/01/image22.png" width="464" border="0" /> </p>
<p>However it not user friendly and impossible for use, ‘cos it looks as following:</p>
<p><img title="WIBREW for poor people in action" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="308" alt="WIBREW for poor people in action" src="http://khason.net/images/2009/01/image23.png" width="387" border="0" /> </p>
<p>You do not know what actually developer doing, where and why. With “WIBREW”, you can know:</p>
<ul>
<li>When developer started to break files</li>
<li>What exactly he’s doing</li>
<li>Is the breaking file locked or now</li>
<li>Where the developer breaks it (workspace and computer name of the user)</li>
<li>…and much much more</li>
</ul>
<p>Another tool is:</p>
<h3>“WITCH” – What I have To Check-in</h3>
<p>If you ever worked with Team Force, you know what this tool is doing. It shows you a preview of all <strong>changed</strong> files, you’ll check-in. For some reason, TFS has no such feature. Let’s imagine, that your work method is to check out everything, change something and check-in only changed files. Until here TFS does everything, however if you want to preview changeset (for example in order to compare with “WIBREW” output), you can not. Here “WITCH” comes to help. </p>
<blockquote><p><em>[Here should be a screenshot of “WITCH”, but it looks exactly the same as “WIBREW” with shameless blurring]</em></p>
</blockquote>
<p>Another invaluable tool is:</p>
<h3>“VOCUS” – VOid CUstom Settings for check in</h3>
<p>This tool is absolutely UI-less. It allows developers to work with their own custom settings in Visual Studio, while for check-in and check-out it format all documents, according predefined custom settings (for example indentation). How many times, you tried to merge files, when all the difference is indentation it tab size? Well, this tool solves this problem.</p>
<p><img title="VOCUS – VOid CUstom Settings for check in" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="329" alt="VOCUS – VOid CUstom Settings for check in" src="http://khason.net/images/2009/01/image24.png" width="633" border="0" /> </p>
<p>It stores custom settings for each user (BTW, it also makes able for each developer to restore his settings fluently in any computer) and reformat documents on check-in action toward corporate settings, when on check-out toward custom developer’s setting.</p>
<h3>“SHMOC” – SHow MOre Code</h3>
<p>This is not actually tool, works with TFS. It rather works with your Visual Studio Development Environment. It’s UI-less as well and makes able to hide and restore all docking windows in VS. It makes you able to write in “Dark Room” mode (which is full screen, distraction free environment) and return to Visual Studio within one button press. It can also change VS color scheme, if required.</p>
<p><img title="“SHMOC” – SHow MOre Code" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="309" alt="“SHMOC” – SHow MOre Code" src="http://khason.net/images/2009/01/image25.png" width="639" border="0" /> </p>
<p>There are some other tools should be inside this suite, however, I still have no names for them <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Also, if you have something interesting, and you want to contribute it to this suite, you’re highly welcome.</p>
<p><em>PS</em>: This blog is about code, but this post is 6th in row without even one line of code, so I have to fix it as soon as possible. Thus, I’ll example how WIBREW works under the hood. Other words, small example of how to work with TFS API from Visual Studio plugin.</p>
<p>First of all, as in any VS plugin, you need to acquire DTE2 application object:</p>
<blockquote><p>_applicationObject = (DTE2)application;     <br />_addInInstance = (AddIn)addInInst;</p>
</blockquote>
<p>When you have it, you need to detect what TFS server you’re working with and what are user credentials for this session. The common problem of WIBREW for poor men, was how to work with this tool over VPN (when your connected session is only inside VS). So each time, you tried to run it, you had to enter your domain credentials – very inconvenience way of work. </p>
<p>In order to prevent it, let’s ask your environment about Team Foundation information:</p>
<blockquote><p>private TeamFoundationServerExt _tfsExt;     <br />…      <br />_tfsExt = (TeamFoundationServerExt)_applicationObject.GetObject(&quot;Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt&quot;);</p>
</blockquote>
<p>Also, you can be notified when your work project context was changed. To do this, just subscribe to ProjectContextChanged event and handle it inside:</p>
<blockquote><p>_tfsExt.ProjectContextChanged += OnProjectContextChanged;     <br />…      <br />public void OnProjectContextChanged(object sender, EventArgs e) {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (!string.IsNullOrEmpty(_tfsExt.ActiveProjectContext.ProjectName)) {</p>
</blockquote>
<p>Now when we know, that we have out active project context, all we have to do is to ask about changes</p>
<blockquote><p>private VersionControlExt _vcExt;     <br />…      <br />_vcExt = (VersionControlExt)_applicationObject.GetObject(&quot;Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt&quot;);</p>
</blockquote>
<p>Inside VersionControlExt object you have following self-descriptive properties and methods: FindChangeSet, History, PendingChanges, SolutionWorkspace etc. however it works only with TFS solution explorer. To handle pending changes for the project without tickling TFS, we can use it internal methods. All the difference is with references. To work with Visual Studio TFS explorer methods, you should reference:   <br />Microsoft.VisualStudio.TeamFoundation.dll, Microsoft.VisualStudio.TeamFoundation.Client.dll and Microsoft.VisualStudio.TeamFoundation.VersionControl.dll, while working with TFS API directly, use Microsoft.TeamFoundation.dll, Microsoft.TeamFoundation.Client.dll and Microsoft.TeamFoundation.VersionControl.dll from [PROGRAM FILES]\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\. Just like this:</p>
<blockquote><pre>VersionControlServer _vcs…_vcs = (VersionControlServer)_server.GetService(typeof(VersionControlServer));…var _sets = _vcs.QueryPendingSets( new[] { new ItemSpec(serverPath, RecursionType.Full) }, null, null);…foreach (PendingSet set in sets) {…
//Get everything you need here</pre>
</blockquote>
<p>We done. It’s very easy to work with Team System from inside Visual Studio. Also it’s very easy to build useful tools, not built by Microsoft for some reason <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Have a nice day, be good people and wait for me to beatify sources before releasing as another <a title="Open Source licenses comparison table" href="http://khason.net/blog/open-source-licenses-comparison-table/" target="_blank" rel="dofollow">Open Source</a> application. </p>


<p>Related posts:<ol><li><a href='http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/' rel='bookmark' title='Permanent Link: TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?'>TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?</a></li>
<li><a href='http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/' rel='bookmark' title='Permanent Link: &ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend'>&ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/tech/making-tfs-better-or-what-is-tits/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Programming for Windows 7</title>
		<link>http://khason.net/blog/programming-for-windows-7/</link>
		<comments>http://khason.net/blog/programming-for-windows-7/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 12:12:38 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[demos]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Vista Battery Saver]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[XPS]]></category>

		<guid isPermaLink="false">http://khason.net/blog/programming-for-windows-7/</guid>
		<description><![CDATA[Well, Windows 7 is going to be released by the end of next year. This is great news, because it seemed, that Microsoft finally understand how to get the best of Windows Vista and make it to work not only on monster machines. 
 
It even works on new brandy my wife&#8217;s pinky machine. And [...]


Related posts:<ol><li><a href='http://khason.net/blog/windows-7-dry-run-or-how-things-should-be-done-to-correct-old-mistakes/' rel='bookmark' title='Permanent Link: Windows 7 &ndash; dry run or how things should be done to correct old mistakes'>Windows 7 &ndash; dry run or how things should be done to correct old mistakes</a></li>
<li><a href='http://khason.net/blog/book-review-c-2008-and-2005-threaded-programming/' rel='bookmark' title='Permanent Link: Book review: C# 2008 and 2005 Threaded Programming'>Book review: C# 2008 and 2005 Threaded Programming</a></li>
<li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Well, Windows 7 is going to be released by the end of next year. This is great news, because it seemed, that Microsoft finally understand how to get the best of Windows Vista and make it to work not only on <a href="http://www.top500.org/">monster machines</a>. </p>
<p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://khason.net/images/2008/12/image-3.png" width="600" height="397"/> </p>
<p>It even works on new brandy my wife&#8217;s pinky machine. And if it works there and my wife is happy with it, this OS going to be very impressive.</p>
<p><img border="0" alt="image" src="http://khason.net/images/2008/12/image-58bf6973-bdc1-44d9-8649-f24e6255e65f.png" width="529" height="397"/> </p>
<p>But from the other hand, we, as developers should be ready today to developer Windows 7 ready application (by the way, <a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx">Vista Battery Saver</a> works for Windows 7 as well as for Windows Vista, in spite of the fact, that power management in Windows 7 was improved dramatically). So let&#8217;s start!</p>
<p>First thing we need is to read big <a target="_blank" href="http://code.msdn.microsoft.com/Win7DeveloperGuide/Release/ProjectReleases.aspx">Windows 7 Developer Guide</a>. This document will explain most of new features for developers to build applications right. What is includes?</p>
<h3>Windows Driver Kit (WDK) 3.0</h3>
<p>Basically, Windows 7 works with Vista drivers, however, hibernation, power management, networking, PREfast will work much better. You also will have new WMI access for reliability monitors and ACPI. </p>
<h3>Management and deployment</h3>
<p>By default Windows 7 uses PowerShell 2.0 and Windows Installer. For PowerShell it includes enhanced cmdlets to manage Active Directory, IIS, etc. For Windows Installer, you finally can build &#8220;chainers&#8221; by yourself (the same approach, used for latest deployment of Microsoft products such as <a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Silverlight/default.aspx">Silverlight</a>, <a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Visual+Studio/default.aspx">Visual Studio 2008 SP1</a> etc.) Also, you can get advantage by using Windows Filtering Platform (Firewall) and User Account Control (UAC) from inside your application by using new APIs. </p>
<h3>Performance</h3>
<p>The most significant change in Windows 7 for end-user point of view is improved performance. Windows 7 kernel is much smaller, that kernel of Windows Vista. Also it uses specific patterns to decrease background activities on low power, based on system triggers. New user-mode and kernel-mode APIs are used by Windows Drivers Foundation much more efficiently. Also system services are much smarter. For example, DCIA starts only when you connect new hardware. After drivers were installed the service shuts down. The same approach used by domain join, GP changes, new IP fetching etc. Windows 7 knows to run and stop services, based on system events, which decreases average work load and enhances whole system performance. </p>
<h3>Multi-touch gestures and Interia API and used interface in general</h3>
<p>Yes, you can use this API for your applications. Finally we can have more, then just mouse. And it is not only about multiple mouse devices. We can use single finder panning, raw touch input data, internal multitouch ink recognition, which is also supports math. Also it uses build-in MathML export feature. </p>
<p>There are a lot of other enhancements, such as smart bars, windows&#8217; stacking, gadget desktop (it does not eat battery as external process anymore), system ribbon menu integration. etc</p>
<h3>Graphics</h3>
<p>Direct 11, new Direct2D, DirectWrite (we can turn text anti-aliasing for small fonts, hurrah!), improved WIC, DX/GDI interoperability on system level with automatic fallback for weak hardware (yes, you should not be worry about it anymore). Also new video and audio format support with <u>human readable interfaces</u>. Yes, no more DirectDraw hacks. We can use new high level interfaces such as MFPlay to manage playbacks, Source Reader for decoding, Sink Writer for transcoders and re-coding compressions.</p>
<h3>Web and communication</h3>
<p>WCF is inside, as well as distributed routing table for peer-to-peer operations. BranchCache &#8211; new technology to reduce WAN traffic and latency. </p>
<p>Also Windows 7 is compatible with <a target="_blank" href="http://www.opensearch.org">OpenSearch</a> (I told, that Microsoft does not know to build search engines). Sharepoint integration and environment sensors platform, that can be used either for desktop and web applications. </p>
<p>There are much more features, that makes Windows 7 to pretend to be very good operation system. If you want to learn more about all those Windows 7 new features, I highly advice you to <a target="_blank" href="http://code.msdn.microsoft.com/Win7DeveloperGuide/Release/ProjectReleases.aspx">download and read this document</a>. It includes most of new features of new OS with explanations and screenshots to make your learn and understand what can your future application do with all those new features.</p>
<p>Have a nice day and be good people.</p>
<p>BTW, if you have PDC version of Windows 7 and want to unlock it for using of some cool features, <a target="_blank" href="http://channel9.msdn.com/pdc2008/KYN02/">introduced during keynotes</a>, it worth <a target="_blank" href="http://www.withinwindows.com/2008/11/02/flashy-windows-7-bits-protected-by-elaborate-scheme-workaround/">to visit here</a> and learn how to <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Download </strong><a href="http://code.msdn.microsoft.com/Win7DeveloperGuide"><strong>Windows 7 Developer Guide</strong></a><strong> and start programming.</strong></p>


<p>Related posts:<ol><li><a href='http://khason.net/blog/windows-7-dry-run-or-how-things-should-be-done-to-correct-old-mistakes/' rel='bookmark' title='Permanent Link: Windows 7 &ndash; dry run or how things should be done to correct old mistakes'>Windows 7 &ndash; dry run or how things should be done to correct old mistakes</a></li>
<li><a href='http://khason.net/blog/book-review-c-2008-and-2005-threaded-programming/' rel='bookmark' title='Permanent Link: Book review: C# 2008 and 2005 Threaded Programming'>Book review: C# 2008 and 2005 Threaded Programming</a></li>
<li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/programming-for-windows-7/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Silverlight Bidi Controls Library RC0 and movement from Beta 2 to RC0</title>
		<link>http://khason.net/blog/silverlight-bidi-controls-library-rc0-and-movement-from-beta-2-to-rc0/</link>
		<comments>http://khason.net/blog/silverlight-bidi-controls-library-rc0-and-movement-from-beta-2-to-rc0/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 12:31:23 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/blog/silverlight-bidi-controls-library-rc0-and-movement-from-beta-2-to-rc0/</guid>
		<description><![CDATA[Finally, I got free minute to convert Silverlight BiDi controls from Silverlight beta 2 to RC0 (you can download SL rc0 tools for VS2008 here) and as usual some breaking changes (the full list is here)

Calendar and DatePicker moved from System.Windows.Controls.Extended into System.Windows.Controls – Extended namespace is now deprecated.
CalendarButton is not inside System.Windows.Controls.Primitives
TypeConverter.CanConvertFrom(Type sourceType) was [...]


Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Finally, I got free minute to convert <a href="http://www.codeplex.com/SilverlightRTL/">Silverlight BiDi controls</a> from Silverlight beta 2 to RC0 (you can download SL rc0 tools for VS2008 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;displaylang=en">here</a>) and as usual some breaking changes (the full list is <a href="http://download.microsoft.com/download/6/f/e/6fe1f43d-9d0c-4346-ad08-602df9bcb3cf/BreakingChangesBetweenBeta2andRelease.doc">here</a>)</p>
<ul>
<li>Calendar and DatePicker moved from System.Windows.Controls.Extended into System.Windows.Controls – Extended namespace is now deprecated.</li>
<li>CalendarButton is not inside System.Windows.Controls.Primitives</li>
<li>TypeConverter.CanConvertFrom(Type sourceType) was changed and now it has new first parameter ITypeDescriptorContext context</li>
<li>TypeConverter.CanConvertFrom(object value) was changed and now it has new first parameter ITypeDescriptorContext context and second parameter System.Globalization.CultureInfo culture</li>
<li>TypeConverter.ConvertFromString is not virtual anymore</li>
<li>TextDecorationCollectionConverter was removed</li>
<li>generic.xaml should be placed into themes directory (as in WPF)</li>
<li>VisualTransition.Duration is not VisualTransition.GeneratedDuration</li>
<li>ContentPresenter has no HorizontalContentAlignment and VerticalContentAlignment. It has HorizontalAlignment and VerticalAlignment now. Also it has no Background, Padding,TextAlignment,TextDecorations and TextWrapping properties</li>
</ul>
<p>Those, basically, all changes done in Silverlight RTL support library. So, <a href="http://www.codeplex.com/SilverlightRTL/Release/ProjectReleases.aspx">you can download and use the latest version</a> within Silverlight RC0 version</p>
<p>Have a nice day and be good people.</p>


<p>Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/silverlight-bidi-controls-library-rc0-and-movement-from-beta-2-to-rc0/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Visual Studio snippet designer</title>
		<link>http://khason.net/blog/visual-studio-snippet-designer/</link>
		<comments>http://khason.net/blog/visual-studio-snippet-designer/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 04:48:12 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>

		<guid isPermaLink="false">http://khason.net/blog/visual-studio-snippet-designer/</guid>
		<description><![CDATA[Chicks love CodePlex as well as Microsoft loves it too and today they release extremely useful tool, that was internal for more, then three years. It named: “Visual Studio Snippet Designer”.
 
As you can, probably, understand. This tools is used to create and manage VS time savers &#8211; snippet files (introduced in VS2005)
 
This is [...]


Related posts:<ol><li><a href='http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/' rel='bookmark' title='Permanent Link: Visual Studio debugger related attributes cheat sheet'>Visual Studio debugger related attributes cheat sheet</a></li>
<li><a href='http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/' rel='bookmark' title='Permanent Link: &ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend'>&ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/israel/openup/">Chicks love CodePlex</a> as well as Microsoft loves it too and today they release extremely useful tool, that was internal for more, then three years. It named: “<a href="http://www.codeplex.com/SnippetDesigner">Visual Studio Snippet Designer</a>”.</p>
<p><img title="image" style="display: inline" height="515" alt="image" src="http://khason.net/images/2008/12/image-27a4ac29.png" width="765" border="0" /> </p>
<p>As you can, probably, understand. This tools is used to create and manage VS time savers &#8211; snippet files (introduced in VS2005)</p>
<p><img title="image" style="display: inline" height="520" alt="image" src="http://khason.net/images/2008/12/image-53e1330d.png" width="430" border="0" /> </p>
<p>This is great tool, that will help you a lot to save your time during regular everyday development. Any other word is unnecessary. <a href="http://www.codeplex.com/SnippetDesigner/Release/ProjectReleases.aspx">Download, install and use it!</a></p>


<p>Related posts:<ol><li><a href='http://khason.net/dev/visual-studio-debugger-related-attributes-cheat-sheet/' rel='bookmark' title='Permanent Link: Visual Studio debugger related attributes cheat sheet'>Visual Studio debugger related attributes cheat sheet</a></li>
<li><a href='http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/' rel='bookmark' title='Permanent Link: &ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend'>&ldquo;Zone of Pain vs. Zone of Uselessness&rdquo; or code analysis with NDepend</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/visual-studio-snippet-designer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>.NET 3.5 SP1 is RTM and available for download</title>
		<link>http://khason.net/blog/net-35-sp1-is-rtm-and-available-for-download/</link>
		<comments>http://khason.net/blog/net-35-sp1-is-rtm-and-available-for-download/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 11:12:48 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[WPF crossbow]]></category>

		<guid isPermaLink="false">http://khason.net/blog/net-35-sp1-is-rtm-and-available-for-download/</guid>
		<description><![CDATA[
For all those who asked, .NET 3.5 SP1 is final and available for download. What’s inside?

ASP.NET Dynamic data
Core improvements for CLR
A lot of performance improvements in WPF
ClickOnce enhancements
ADO.NET with Data Services and Entity Framework
LINQ2SQL and Data Provider for SQL Server 2008, that was released last week
WCF with easier DataContract serialization

Download it with Web Installation or [...]


Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[</p>
<p>For all those who asked, .NET 3.5 SP1 is final and available for download. What’s inside?</p>
<ul>
<li>ASP.NET Dynamic data</li>
<li>Core improvements for CLR</li>
<li>A lot of performance improvements in WPF</li>
<li>ClickOnce enhancements</li>
<li>ADO.NET with Data Services and Entity Framework</li>
<li>LINQ2SQL and Data Provider for SQL Server 2008, that was released last week</li>
<li>WCF with easier DataContract serialization</li>
</ul>
<p>Download it with <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;DisplayLang=en">Web Installation</a> or as <a href="http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe">Full Package</a></p>
<p>For more information, please see <a href="http://www.microsoft.com/downloads/info.aspx?na=40&amp;p=1&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkId%3d122089">Read Me</a> and <a href="http://www.microsoft.com/downloads/info.aspx?na=40&amp;p=2&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;u=http%3a%2f%2fsupport.microsoft.com%2fkb%2f951847">KB</a> about .NET 3.5 SP1 RTM. If you faced with any issue, please provide us with feedback <a href="https://connect.microsoft.com/VisualStudio">via MS Connect</a></p>


<p>Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/net-35-sp1-is-rtm-and-available-for-download/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Arabic and Hebrew languages bidirectional support for Silverlight 2.0 beta 2</title>
		<link>http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/</link>
		<comments>http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 10:27:00 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[demos]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows Live]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/</guid>
		<description><![CDATA[Those days, I’m, together with guys from Microsoft Egypt and Santeon, finishing development of bidirectional input and output support for Silverlight. I want you to take part in alpha testing of this solution. Please see the test form here and try it.
&#38;amp;lt;noframes&#38;amp;gt;Visit &#38;amp;lt;a href=&#8221;http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/&#8221;&#38;amp;gt;original article&#38;amp;lt;/a&#38;amp;gt; to test&#38;amp;lt;/noframes&#38;amp;gt;
Also, you can download latest development build or compiled [...]


Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Those days, I’m, together with guys from Microsoft Egypt and <a href="http://santeon.com" mce_href="http://santeon.com">Santeon</a>, finishing development of bidirectional input and output support for Silverlight. I want you to take part in alpha testing of this solution. Please see the test form here and try it.</p>
<p><iframe src="http://silverlight.services.live.com/invoke/17226/BidiTest2/iframe.html" style="width: 500px; height: 400px;" mce_src="http://silverlight.services.live.com/invoke/17226/BidiTest2/iframe.html" scrolling="no" frameborder="0">&amp;amp;lt;noframes&amp;amp;gt;Visit &amp;amp;lt;a href=&#8221;http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/&#8221;&amp;amp;gt;original article&amp;amp;lt;/a&amp;amp;gt; to test&amp;amp;lt;/noframes&amp;amp;gt;</iframe></p>
<p>Also, you can download <a href="http://www.codeplex.com/SilverlightRTL/SourceControl/ListDownloadableCommits.aspx" mce_href="http://www.codeplex.com/SilverlightRTL/SourceControl/ListDownloadableCommits.aspx">latest development build</a> or <a href="http://www.codeplex.com/SilverlightRTL/Release/ProjectReleases.aspx">compiled binary version with debug symbols</a> and try it yourself. Please, if you’re in any issue, report it, by using <a href="http://www.codeplex.com/SilverlightRTL/WorkItem/List.aspx" mce_href="http://www.codeplex.com/SilverlightRTL/WorkItem/List.aspx">issue tracker in CodePlex</a>.</p>
<p>In order to use it, all you have to do is to use custom namespace within your project and then, you’ll be able to get almost all controls, you know, but with Arabic and Hebrew RTL and LTR support. You have to set one property: FlowDirection to change the rendering method (exactly as in WPF). Here an example of usage.</p>
<blockquote>
<p>&lt;UserControl x:Class=&#8221;BidiTest2.Page&#8221; <br />&nbsp;&nbsp;&nbsp; xmlns=&#8221;<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22" mce_href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;</a> <br />&nbsp;&nbsp;&nbsp; xmlns:x=&#8221;<a href="http://schemas.microsoft.com/winfx/2006/xaml%22" mce_href="http://schemas.microsoft.com/winfx/2006/xaml&quot;">http://schemas.microsoft.com/winfx/2006/xaml&#8221;</a> <br />&nbsp;&nbsp;&nbsp; xmlns:l=&#8221;clr-namespace:System.Windows.BidiControls;assembly=BidiControls&#8221;&gt; <br />… <br />&lt;l:TextBlock FlowDirection=&#8221;LeftToRight&#8221; Text=&#8221;שלום עולם&#8221;/&gt;</p>
<p>&lt;l:TextBox FlowDirection=&#8221;RightToLeft&#8221; Text=&#8221;{Binding Text, Mode=TwoWay}&#8221;/&gt;</p>
</blockquote>
<p>That’s all. Thank you for your cooperation.</p>
<p><img src="http://khason.net/images/2008/12/image-160565ad-72a1-4fed-8640-a3d2142a2b95.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-160565ad-72a1-4fed-8640-a3d2142a2b95.png" width="258" border="0" height="184"/></p>


<p>Related posts:<ol><li><a href='http://khason.net/tech/some-new-in-mix-downloads/' rel='bookmark' title='Permanent Link: Some new in-mix downloads'>Some new in-mix downloads</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Silverlight controls library has been upgraded to Beta 2</title>
		<link>http://khason.net/blog/silverlight-controls-library-has-been-upgraded-to-beta-2/</link>
		<comments>http://khason.net/blog/silverlight-controls-library-has-been-upgraded-to-beta-2/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 17:35:51 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/blog/silverlight-controls-library-has-been-upgraded-to-beta-2/</guid>
		<description><![CDATA[Finally this weekend I got&#160; a time to upgrade one of my OpenUp submissions, Silverlight controls library to work with Silverlight 2.0 beta 2. It was very interesting to track changes between developer’s (beta 1) and production (beta 2) go-live licenses. Let’s try to understand what has need changed.

Syntax of DependencyProperty registration. Now instead of [...]

<p/>]]></description>
			<content:encoded><![CDATA[<p>Finally this weekend I got&#160; a time to upgrade one of my <a href="http://www.microsoft.com/israel/openup/index.htm">OpenUp</a> submissions, <a href="http://www.codeplex.com/SharpControls/">Silverlight controls library</a> to work with Silverlight 2.0 beta 2. It was very interesting to track changes between developer’s (beta 1) and production (beta 2) go-live licenses. Let’s try to understand what has need changed.</p>
<ol>
<li>Syntax of DependencyProperty registration. Now instead of DependencyProperty.Register(name, propertyType,ownerType,<strong>propertyChangedCallback</strong>) you should use DependencyProperty.Register(name, propertyType,ownerType,<strong>typeMetadata</strong>), which, actually receives only one parameter in constructor – propertyChangedCallback. This make Silverlight to be closer to WPF syntax and open it for future enhancements. <a href="http://blogs.microsoft.co.il/files/folders/64314/download.aspx">You can download</a> updated Visual Studio 2008 snippet for creation of Silverlight Dependency Properties.</li>
<li>OnApplyTemplate method of UserControl become public instead of protected</li>
<li>Thumb DragDelta event argument is not DragEventArg anymore. Now it’s DragDeltaEventArgs. So there is no HorizontalOffset and VerticalOffset attributes. They replaced by HorizontalChange and VerticalChange</li>
<li>DefaultStyleKey is not null anymore</li>
<li>Most of controls migrated from System.Windows.Controls into System.Windows namespace</li>
<li>Some changed to ToolTip service</li>
<li>Now Silverlight checks whether TargetType property of Style is really compatible with the control, you’re applying style to (this not happened in beta 1). Also DependencyObject.SetValue() method checks it’s type.</li>
<li>There is no InitializeFromXaml anymore. Now Silverlight works more “WPF style” with application services – Application.LoadComponent()</li>
<li>You cannot use x:Name and Name property together (someone did it?)</li>
</ol>
<p>There are a ton of other changed, that was not related to Silverlight Control Library. For example, changed within Storyboard class, networking, cross-domain policy, other controls (e.g. DataGrid), Templates of some controls (e.g. Button, TextBox, etc) and API.</p>
<p>Also I want to invite you to take part into development of <a href="http://www.codeplex.com/SharpControls">Silverlight controls library</a> not because of <a href="http://www.microsoft.com/israel/openup/winners.htm">complimentary ticket to PDC ‘08 or Mobile Memory Mouse 8000</a>, but because Open Source is not “one-men-show”. To get access to SVN, submit your work and begin development of next generation of Silverlight controls, <a href="http://www.codeplex.com/site/users/view/tamirk">contact me via CodePlex</a> and I’ll add you to the project as new contributor.</p>


<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/silverlight-controls-library-has-been-upgraded-to-beta-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Action required: Smart client users group</title>
		<link>http://khason.net/blog/action-required-smart-client-users-group/</link>
		<comments>http://khason.net/blog/action-required-smart-client-users-group/#comments</comments>
		<pubDate>Thu, 22 May 2008 21:44:00 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows Live]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/blog/action-required-smart-client-users-group/</guid>
		<description><![CDATA[Recently I browsed INETA to seek for some group and was really surprising. There is no Smart Client user group registered there. Maybe there is a reason? Let’s understand what Smart Client is? 
According wikipedia, the term &#8220;Smart Client&#8221; is meant to refer to simultaneously capturing the benefits of a &#8220;thin client&#8221; (zero-install, auto-update) and [...]


Related posts:<ol><li><a href='http://khason.net/blog/windows-7-dry-run-or-how-things-should-be-done-to-correct-old-mistakes/' rel='bookmark' title='Permanent Link: Windows 7 &ndash; dry run or how things should be done to correct old mistakes'>Windows 7 &ndash; dry run or how things should be done to correct old mistakes</a></li>
<li><a href='http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/' rel='bookmark' title='Permanent Link: TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?'>TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Recently I browsed <a href="http://ineta.org" mce_href="http://ineta.org" target="_blank">INETA</a> to seek for some group and was really surprising. There is no Smart Client user group registered there. Maybe there is a reason? Let’s understand what Smart Client is? </p>
<p><a href="http://en.wikipedia.org/wiki/Smart_client" mce_href="http://en.wikipedia.org/wiki/Smart_client" target="_blank">According wikipedia</a>, the term &#8220;Smart Client&#8221; is meant to refer to simultaneously capturing the benefits of a &#8220;<a href="http://en.wikipedia.org/wiki/Thin_client" mce_href="http://en.wikipedia.org/wiki/Thin_client">thin client</a>&#8221; (zero-install, auto-update) and a &#8220;<a href="http://en.wikipedia.org/wiki/Fat_client" mce_href="http://en.wikipedia.org/wiki/Fat_client">fat client</a>&#8221; (high performance, high productivity). However, I think, that this term is much wider. It is not only thin-fat client application, it’s also most of applications we’re using today. </p>
<p><img src="http://khason.net/images/2008/12/image-9b0168ec-d360-436a-a934-f287471e7222.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-9b0168ec-d360-436a-a934-f287471e7222.png" border="0" height="315" width="453"/> </p>
<h3>Thick Client</h3>
<p>We always want to provide our users with best experience and increase their performance. However we are (as developers) want to avoid complicated development and deployment. This why we should know as much as possible about user’s system, when users do not want to have real footprint in their systems. That’s dilemma. Is it possible to solve it? Let’s look deeper…</p>
<p>Are we really need installation? Most of old software installations put things in registry. It because you were never sure what client has in his system and were our application can put files or temporary data. Today, when we have local application or user isolated storage, so we not really need to use registry. Maybe only for our own ego – this is cool to have something like “HKLM/Software/MYNAME” in 1,000,000 user’s computers…</p>
<p>No installation is good, but what to me with maintenance. We want our system connected…</p>
<h3>Thin Client</h3>
<p>Could you imagine your user to visit product site twice a week to see what’s going on? I can not. However I know, that if I’ll ask him first about automatic updates and he’ll agree to forget about application maintenance, his experience will be much better.</p>
<p>So,we are connected. What now? I want to make time reporting system. Web service? Maybe some kind of distributed application. Maybe, even <a href="http://twitter.com/tamir" mce_href="http://twitter.com/tamir" target="_blank">Twitter</a>? This way we can be sure, that our data is safe and if user reinstall whole system, he do not really need to care about backups. </p>
<p>But users not always have internet access. Sometimes they are offline. How to solve the problem of occasionally connected users? I do not want him every lunch want for two minutes, until I realize, that there is no internet connection and will not even give him a chance to use the application?</p>
<p><img src="http://khason.net/images/2008/12/image-10278991-02bf-4f23-9df9-d51332414509.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-10278991-02bf-4f23-9df9-d51332414509.png" border="0" height="412" width="632"/> </p>
<p>So, we also want our system to be useful offline. But what’s up with Web 10.0? We want millions. We want very broad reach for our application. Also we want to be able to manage application updates remotely?</p>
<p>Let’s take a look into other pan of application development. Do you like JavaScript? I do not! I think it’s too complicated to develop things for web. We should invest into at least 50% of coverage and integration tests, while giving customers pretty poor user experience. What is we want to provide the same look and feel everywhere? In web, desktop, mobile and other devices? Our customers want the application everywhere?</p>
<h3>Summary</h3>
<p>This is exactly what Smart client designed for. Technologies such as .NET, WPF, Silverlight from Microsoft, Flex, Thermo from Adobe and others tries to make you to be there with your application. But how to do it? How to answer all those hard questions, I asked?</p>
<p>I want to announce new (currently virtual) user group, dedicated to Smart Client development. I do not want to restrict this group geographically, due to fact, that current infrastructures allows us to forget about distances and be together. Join today “Smart Client development” user group.</p>
<p>In order to join, just send me an email to <i>tamir [at] khason.biz</i> with information about you. I put the request to create this user group in INETA. Once it will be opened, I’ll send everyone email to register and connect them selves to this group.</p>
<p>Be in touch.</p>


<p>Related posts:<ol><li><a href='http://khason.net/blog/windows-7-dry-run-or-how-things-should-be-done-to-correct-old-mistakes/' rel='bookmark' title='Permanent Link: Windows 7 &ndash; dry run or how things should be done to correct old mistakes'>Windows 7 &ndash; dry run or how things should be done to correct old mistakes</a></li>
<li><a href='http://khason.net/itpro/tfs-licensing-model-demystification-or-what-should-i-buy-for-my-company-in-order-not-to-step-on-the-licensing-mine/' rel='bookmark' title='Permanent Link: TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?'>TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/action-required-smart-client-users-group/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
