<?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; DEV</title>
	<atom:link href="http://khason.net/tag/dev/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>Quick IT tip: How to build bootable USB stick</title>
		<link>http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/</link>
		<comments>http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 11:55:12 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[ITPRO]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Embedded]]></category>
		<category><![CDATA[Work process]]></category>

		<guid isPermaLink="false">http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/</guid>
		<description><![CDATA[Because of my main job and lack of human resources there, I invest less and less in community. Thus I lost my MVP title. Sorry, guys. Also a ton of management tasks in big company prevents me from actual coding. However I am still able to find some time for doing “real” things such as [...]

<p/>]]></description>
			<content:encoded><![CDATA[<p>Because of my main job and <a href="/tag/better-place/" target="_blank">lack of human resources</a> there, I invest less and less in community. Thus I <a href="http://twitter.com/tamir/status/4638500894" target="_blank">lost my MVP title</a>. Sorry, guys. Also a ton of management tasks in big company prevents me from actual coding. However I am still able to find some time for doing “real” things such as <a href="http://connect.microsoft.com/windowsembedded" target="_blank">Windows Embedded Standard 2011</a> image building. Thus today I will explain how to build <a href="http://www.bootdisk.com/pendrive.htm" target="_blank">bootable flash USB disk</a> with a couple of simple commands and without <a href="http://www.askvg.com/a-bootable-usb-utility-to-create-bootable-usb-drive-to-install-windows-vista-server-2008-and-7/" target="_blank">using special utilities</a>. </p>
<p>&#160;<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="World first USB drive by Trek Technology" border="0" alt="World first USB drive by Trek Technology" src="http://khason.net/images/2009/10/image.png" width="186" height="150" /> </p>
<p>Why to use bootable USB instead of regular <a href="http://en.wikipedia.org/wiki/Polycarbonate" target="_blank">CD or DVD ROM</a>? Well, it is more convenience, takes less storage, faster and fully recycle. So let’s start.</p>
<p>1. Insert USB flash drive <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />     <br />2. Run command prompt shell as Administrator (just in case the keyboard shortcut for “Run as Administrator” is Ctrl+Alt+Shift)     <br />3. Type “<strong>diskpart</strong>” to run Microsoft DiskPart utility. </p>
<blockquote><p>C:\Windows\system32&gt;diskpart </p>
<p>Microsoft DiskPart version 6.1.7600      <br />Copyright (C) 1999-2008 Microsoft Corporation.       <br />On computer: TAMIRK-DEV</p>
</blockquote>
<p>4. List your disks by typing in “<strong>list disk</strong>” or for those who like it shorter (like me) “<strong>list dis</strong>”</p>
<blockquote><p>DISKPART&gt; lis dis </p>
<p>&#160; Disk ###&#160; Status&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Size&#160;&#160;&#160;&#160; Free&#160;&#160;&#160;&#160; Dyn&#160; Gpt      <br />&#160; &#8212;&#8212;&#8211;&#160; &#8212;&#8212;&#8212;&#8212;-&#160; &#8212;&#8212;-&#160; &#8212;&#8212;-&#160; &#8212;&#160; &#8212;       <br />&#160; Disk 0&#160;&#160;&#160; Online&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 149 GB&#160; 1024 KB       <br />&#160; Disk 1&#160;&#160;&#160; Online&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 75 GB&#160;&#160;&#160;&#160; 2 GB       <br />&#160; Disk 2&#160;&#160;&#160; Online&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 3814 MB&#160;&#160;&#160;&#160;&#160; 0 B       <br />&#160; Disk 3&#160;&#160;&#160; No Media&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160;&#160;&#160;&#160;&#160; 0 B       <br />&#160; Disk 4&#160;&#160;&#160; No Media&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160;&#160;&#160;&#160;&#160; 0 B       <br />&#160; Disk 5&#160;&#160;&#160; Online&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 14 GB&#160;&#160;&#160;&#160;&#160; 0 B</p>
</blockquote>
<p>5. Identify your flash drive (in my case it is Disk 5)    <br />6. Select this drive to mark it for work by using “<strong>select disk</strong> 5” or “<strong>sel dis</strong> 5” command</p>
<blockquote><p>DISKPART&gt; sel dis 5</p>
<p>Disk 5 is now the selected disk.</p>
</blockquote>
<p>7. Clean it (this will delete everything on your disk drive, so be careful) by using “<strong>clean</strong>” or “<strong>cle</strong>” command.</p>
<blockquote><p>DISKPART&gt; cle</p>
<p>DiskPart succeeded in cleaning the disk.</p>
</blockquote>
<p>8. Create primary partition &#8211; “<strong>create partition primary</strong>” or “<strong>cre par pri</strong>”</p>
<blockquote><p>DISKPART&gt; cre par pri</p>
<p>DiskPart succeeded in creating the specified partition.</p>
</blockquote>
<p>9. Select new partition &#8211; “<strong>select partition 1</strong>” or “<strong>sel par 1</strong>”</p>
<blockquote><p>DISKPART&gt; sel par 1</p>
<p>Partition 1 is now the selected partition.</p>
</blockquote>
<p>10. Mark it as Active partition &#8211; “<strong>active</strong>” or “<strong>act</strong>”</p>
<blockquote><p>DISKPART&gt; act</p>
<p>DiskPart marked the current partition as active.</p>
</blockquote>
<p>11. Format &#8211; “<strong>format fs=ntfs quick</strong>” or “<strong>for fs=ntfs quick</strong>”</p>
<blockquote><p>DISKPART&gt; for fs=ntfs quick</p>
<p>&#160; 100 percent completed </p>
<p>DiskPart successfully formatted the volume.</p>
</blockquote>
<p>12. And finally my favorite command &#8211; “<strong>assign</strong>” or “<strong>ass</strong>” to mark it ready and create mount point</p>
<blockquote><p>DISKPART&gt; ass</p>
<p>DiskPart successfully assigned the drive letter or mount point.</p>
</blockquote>
<p>13. Exit &#8211; “exit” or “exi” to return to command shell</p>
<blockquote><p>DISKPART&gt; exi</p>
<p>Leaving DiskPart&#8230;</p>
</blockquote>
<p>Now your thumb drive is ready and bootable. So you can start copying files from ISO image into it.</p>
<p>Other option is to work with volumes rather than with disks. The all difference is in steps 4-6. Instead of “<strong>lis dis</strong>” use “<strong>lis vol</strong>” and instead of “<strong>sel dis</strong>” use “<strong>sel vol</strong>”. Maybe it is more convenience way of work because in this case you can identify partitions by labels and sizes rather than by sizes only.</p>
<blockquote><p>DISKPART&gt; lis vol </p>
<p>&#160; Volume ###&#160; Ltr&#160; Label&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fs&#160;&#160;&#160;&#160; Type&#160;&#160;&#160;&#160;&#160;&#160;&#160; Size&#160;&#160;&#160;&#160; Status&#160;&#160;&#160;&#160; Info      <br />&#160; &#8212;&#8212;&#8212;-&#160; &#8212;&#160; &#8212;&#8212;&#8212;&#8211;&#160; &#8212;&#8211;&#160; &#8212;&#8212;&#8212;-&#160; &#8212;&#8212;-&#160; &#8212;&#8212;&#8212;&#160; &#8212;&#8212;&#8211;       <br />&#160; Volume 0&#160;&#160;&#160;&#160; E&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DVD-ROM&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160; No Media       <br />&#160; Volume 1&#160;&#160;&#160;&#160; G&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DVD-ROM&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160; No Media       <br />&#160; Volume 2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System Rese&#160; NTFS&#160;&#160; Partition&#160;&#160;&#160; 100 MB&#160; Healthy&#160;&#160;&#160; System       <br />&#160; Volume 3&#160;&#160;&#160;&#160; C&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NTFS&#160;&#160; Partition&#160;&#160;&#160;&#160; 68 GB&#160; Healthy&#160;&#160;&#160; Boot       <br />&#160; Volume 4&#160;&#160;&#160;&#160; D&#160;&#160; DATA&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NTFS&#160;&#160; Partition&#160;&#160;&#160;&#160; 80 GB&#160; Healthy       <br />&#160; Volume 5&#160;&#160;&#160;&#160; F&#160;&#160; READYBOOST&#160;&#160; FAT&#160;&#160;&#160; Removable&#160;&#160; 3812 MB&#160; Healthy       <br />&#160; Volume 6&#160;&#160;&#160;&#160; H&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Removable&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160; No Media       <br />&#160; Volume 7&#160;&#160;&#160;&#160; I&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Removable&#160;&#160;&#160;&#160;&#160;&#160; 0 B&#160; No Media       <br />&#160; Volume 8&#160;&#160;&#160;&#160; K&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NTFS&#160;&#160; Removable&#160;&#160;&#160;&#160; 14 GB&#160; Healthy</p>
</blockquote>
<p>If you already copied your image into disk, you can mark MBR by using special utility called <a href="http://technet.microsoft.com/en-us/library/cc749177(WS.10).aspx" target="_blank">BootSect.exe</a> shipped with WAIK. In our case (with Windows 7 embedded), you’ll have to update master boot code to use BOOTMGR (Vista and up) rather than NTLDR (XP and down)</p>
<blockquote><p>BOOTSECT.EXE /NT60 K: /mbr</p>
</blockquote>
<p>We done, have a good day and be good people. Additional information regarding USB core guys from MS can be archived from <a href="http://blogs.msdn.com/usbcoreblog/" target="_blank">their brand new blog</a> (hope it will be up to date).</p>
<p>At the end, just you to know how are CDs make by Discovery Channel    </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/O3FQzwNzUE4&amp;hl=en&amp;fs=1&amp;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/O3FQzwNzUE4&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>


<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/itpro/quick-it-tip-how-to-build-bootable-usb-stick/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<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>&#8220;Zone of Pain vs. Zone of Uselessness&#8221; or code analysis with NDepend</title>
		<link>http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/</link>
		<comments>http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 19:41:31 +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[download]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[soft]]></category>

		<guid isPermaLink="false">http://khason.net/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/</guid>
		<description><![CDATA[As for me, there are only two kinds of projects – hobbyist’s nifty tools and systems (scale may wary). The main difference between those is the easiness of making changes and refactoring. Other words, how many other developers I should persuade to do it just because “In the final analysis, it’s their war” – JFK. [...]


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/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>As for me, there are only two kinds of projects – hobbyist’s nifty tools and systems (scale may wary). The main difference between those is the easiness of making changes and refactoring. Other words, how many other developers I should persuade to do it just because “In the final analysis, it’s their war” – <em>JFK</em>. But what can be <strong>the</strong> good reason for such fast talk? &#8211; “You code sucks or at least it ought to”.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AbstractnessVSInstability" border="0" alt="AbstractnessVSInstability" src="http://khason.net/images/2009/07/AbstractnessVSInstability.png" width="250" height="250" /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AbstractnessVSInstability[10]" border="0" alt="AbstractnessVSInstability[10]" src="http://khason.net/images/2009/07/AbstractnessVSInstability10.png" width="250" height="250" />     <br />“Every generation needs a new revolution” – <em>Thomas Jefferson</em></p>
<p>So, in order to win such revolution for “systems” you absolutely need static analysis tools like <a href="http://www.ndepend.com/" target="_blank">NDepend</a>. Those tools are not intended for being your advocates, but those intended to help you to understand all risks and approximate the amount of work should be done to fulfill another revolution.</p>
<p>Unfortunately, you cannot use such tools for fair measuring of code quality because of Computer Science rules of thumb. How to decide whether “methods is too big” or “method is too complex”? However you can (and should) use it for dependencies risk detection. For example, in following illustration you can clear understand that any change inside BetterPlace.Core or BetterPlace.Model assemblies (and namespaces) can be painful.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Dependencies diagram" border="0" alt="Dependencies diagram" src="http://khason.net/images/2009/07/image1.png" width="387" height="230" /> </p>
<p>Now the only question is who is responsible of modules, using it and how long will it take to convince them to make a revolution.</p>
<p>&#160;<img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Dependency Matrix" border="0" alt="Dependency Matrix" src="http://khason.net/images/2009/07/image2.png" width="659" height="129" /> </p>
<p>From here you can start using CQL (<a href="http://www.ndepend.com/CQL.htm" target="_blank">Code Query Language</a>) which is SQL like language invented by <a href="http://www.smacchia.com/" target="_blank">Patrick</a>, the author of NDepend, for querying code elements and sections. By using it, you can define what “method is too big” means in terms of your project.</p>
<blockquote dir="ltr"><p>SELECT METHODS WHERE NbLinesOfCode &gt; 300 ORDER BY NbLinesOfCode DESC</p>
</blockquote>
<p>Or see where you should replace method overloads by default arguments, introduced in .NET 4.0</p>
<blockquote><p>SELECT METHODS WHERE NbOverloads &gt; 1 ORDER BY NbOverloads DESC</p>
</blockquote>
<p>Then, when you marked all places and human targets for revolution, you can start it. After you done, you can even compare builds and measure the amount of work and quality of results achieved.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Application metrix" border="0" alt="Application metrix" src="http://khason.net/images/2009/07/image3.png" width="252" height="120" /> <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Application metrix" border="0" alt="Application metrix" src="http://khason.net/images/2009/07/image4.png" width="250" height="123" /> </p>
<p>To finalize, I just touched the tip of what <a href="http://www.ndepend.com/" target="_blank">good static analysis tool</a> can be used for. So <a href="http://www.ndepend.com/NDependDownload.aspx" target="_blank">get it</a>, <a href="http://www.ndepend.com/GettingStarted.aspx" target="_blank">learn it</a> and use it not only when you need to make a revolutions, but also during your application design and build process to be aware about how the new monster created will looks like.</p>
<h4><a href="http://www.ndepend.com/NDependDownload.aspx" target="_blank">Download NDepend &gt;&gt;</a></h4>
<p><em>Proper disclosure: Apr 15, Patrick, the author of NDepend, asked me to review his tool and offer one license for evaluation. I told him, that do not need to evaluate it because I’m using it for a while (also I had the license of my own) and I’ll be happy to write a review once I’ll have a bit time for it. Now it happened. Thank you, Patrick, for such good work!</em></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/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/tech/zone-of-pain-vs-zone-of-uselessness-or-code-analysis-with-ndepend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some new in-mix downloads</title>
		<link>http://khason.net/tech/some-new-in-mix-downloads/</link>
		<comments>http://khason.net/tech/some-new-in-mix-downloads/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 14:19:18 +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[download]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://khason.net/tech/some-new-in-mix-downloads/</guid>
		<description><![CDATA[There are some very cool downloads suddenly appear on MSDN download site due to all new technologies, presented at Mix ‘09. So let’s start

Silverlight 3 SDK beta 1 
If you do not want to install full SDK, you can install only runtime for Windows or Mac. Then, you can read documentation online. You do not [...]


Related posts:<ol><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>There are some very cool downloads suddenly appear on MSDN download site due to all new technologies, presented at Mix ‘09. So let’s start</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4#tm" target="_blank">Silverlight 3 SDK beta 1</a> </li>
<li>If you do not want to install full SDK, you can install only runtime for <a href="http://go.microsoft.com/fwlink/?LinkID=143433" target="_blank">Windows</a> or <a href="http://go.microsoft.com/fwlink/?LinkID=143434" target="_blank">Mac</a>. Then, you can <a href="http://go.microsoft.com/fwlink/?LinkId=111305" target="_blank">read documentation online</a>. You do not need it, if you’re going to install </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=11dc7151-dbd6-4e39-878f-5081863cbb5d#tm" target="_blank">Silverlight 3 tools beta 1 for VS2008 SP1</a>. After you have all this, go to <a href="http://silverlight.net/getstarted/silverlight3/default.aspx" target="_blank">the official Silverlight web site</a> and start working. </li>
<li>If you re “in” .NET RIA Services, you can <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#tm" target="_blank">download March ‘09 preview of it</a> also to use with new Silverlight. It also makes sense to read about what is it <a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx" target="_blank">in Brad’s blog</a>. </li>
<li>Also <a href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=20430" target="_blank">new Silverlight toolkit was released</a> with SL3 support and a bunch of new up/down controls, LayoutTransformer, Accordion and TransitioningContentControl. </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=a04aa0ae-87be-4201-a65e-e792859122fc#tm" target="_blank">Microsoft Expression Blend 3 Preview</a>. It includes SL3 and WPF3.5 SP1 support, but excludes SketchFlow by now. </li>
</ul>
<p>To learn more about Silverlight 3.0 and Blend 3.0, you can see <a href="http://sessions.visitmix.com/MIX09/KEY01" target="_blank">first day keynotes at mix 09</a>, Rollup of <a href="http://sessions.visitmix.com/MIX09/T14F" target="_blank">what’s new in Silverlight 3</a> by <a href="http://blogs.msdn.com/jstegman/" target="_blank">Joe Stegman</a>. This includes <a href="http://sessions.visitmix.com/MIX09/T45F" target="_blank">offline mode support</a> by <a href="http://blogs.msdn.com/mharsh/" target="_blank">Mike Harsh</a>. I’ll write another separate post for this topic, due to the fact, that I’m a desktop guy, so wary about the future of WPF. </p>
<p>To learn more about how to use new Expression Blend, it worth to see <a href="http://sessions.visitmix.com/MIX09/C27M" target="_blank">this session</a> by <a href="http://blois.us/blog/" target="_blank">Pete Blois</a>. Another good sessions are also <a href="http://www.hanselman.com/blog/Mix09FirstHalfRollupAndSessionVideos.aspx" target="_blank">wrapped for you by Scott Hanselman</a>. </p>
<p>After we done with all web stuff, let’s speak about a client</p>
<ul>
<li><a href="https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=f851122a-4925-4788-bc39-409644ce0f9b" target="_blank">Microsoft MultiPoint SDK</a>. Do you want to use multitouch in your application? This SDK provides you with ability to use up to 250 individual mouse devices simultaneously. And yes, it works with Windows XP SP2 too <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li>
<li>Internet Explorer 8 for Windows <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=341c2ad5-8c3d-4347-8c03-08cdecd8852b#tm" target="_blank">XP x32</a>, <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=d044402c-84ce-472e-b3ac-9531f4feef47#tm" target="_blank">XP x64</a>, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=79154fb4-c610-4a1e-811d-dfe0f1dd84d1&amp;displaylang=en" target="_blank">Vista x32</a>, <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=3aeda9db-b318-408a-860b-bc37bd6ab70c#tm" target="_blank">Vista x64</a> </li>
<li>In case, that you do no have Windows Vista or Windows Server 2008, you can <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=c2c27337-d4d1-4b9b-926d-86493c7da1aa#tm" target="_blank">download 30-day evaluation virtual hard disk of Windows Vista</a> or <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=86fa1bda-763b-4a1b-8e88-426228ed5c81#tm" target="_blank">Windows Server 2008 Enterprise</a> and see how it works <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </li>
<li>Also a small present for my old friends (from my <a href="http://khason.net/blog/im-leaving-consulting-field-joined-new-project-for-full-time/" target="_blank">military consulting era</a>) – <a href="http://resources.esri.com/arcgisserver/apis/silverlight/" target="_blank">WPF and Silverlight APIs for GIS engine of ESRI</a>. Have a fun!</li>
</ul>
<p>That’s all by now, going to write a review for new book and will publish it soon (probably even before, you’ll finish with all those downloads and readings). So, stay tuned and be good people.</p>


<p>Related posts:<ol><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/some-new-in-mix-downloads/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WPF Line-Of-Business labs and Silverlight vs. Flash</title>
		<link>http://khason.net/tech/wpf-line-of-business-labs-and-silverlight-vs-flash/</link>
		<comments>http://khason.net/tech/wpf-line-of-business-labs-and-silverlight-vs-flash/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 10:27:50 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[TECH]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[demos]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/tech/wpf-line-of-business-labs-and-silverlight-vs-flash/</guid>
		<description><![CDATA[Small update today (mostly interesting links)… During my last “Smart Client” session I was asked about WPF LOB application development labs. So, there are two full labs, I noticed about:

Southridge, which comes from Redmond team 
Order Manager, which comes from Swiss DPE team 

Both labs include WPF ribbon and DataGrid, Southridge also come with M-VV-M [...]


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>Small update today (mostly interesting links)… During my last “<a href="http://khason.net/blog/slides-and-desks-from-smart-client-development-session/" target="_blank">Smart Client</a>” session I was asked about WPF LOB application development labs. So, there are two full labs, I noticed about:</p>
<ul>
<li><a href="http://www.codeplex.com/wpf/Wiki/View.aspx?title=Southridge%20Lab" target="_blank">Southridge</a>, which <a href="http://codeplex.com/wpf" target="_blank">comes from Redmond team</a> </li>
<li><a href="http://www.microsoft.com/switzerland/msdn/de/presentationfinder/detail.mspx?id=106160" target="_blank">Order Manager</a>, which <a href="http://blogs.msdn.com/swiss_dpe_team/archive/2009/02/18/windows-presentation-foundation-line-of-business-hands-on-lab-material.aspx" target="_blank">comes from Swiss DPE team</a> </li>
</ul>
<p>Both labs include <a href="http://www.codeplex.com/wpf/Wiki/View.aspx?title=WPF%20Ribbon%20Preview" target="_blank">WPF ribbon</a> and <a href="http://windowsclient.net/wpf/wpf35/wpf-35sp1-toolkit-datagrid-feature-walkthrough.aspx" target="_blank">DataGrid</a>, Southridge also come with <a href="http://marlongrech.wordpress.com/2008/03/20/more-than-just-mvc-for-wpf/" target="_blank">M-VV-M design</a> sample and some other interesting features. As for me, it seemed, like some parts of those labs can be easily used “as-is” for production level applications, like it was done with <a href="http://windowsclient.net/wpf/starter-kits/sce-get-started.aspx" target="_blank">SCE starter</a>, which turned into <a href="http://select.nytimes.com/gst/timesreader.html?trial=1#" target="_blank">TimesReader</a> (by the way, it has free version again). </p>
<p><img title="Line of Business Hands-On-Lab Material" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="400" alt="Line of Business Hands-On-Lab Material" src="http://khason.net/images/2009/02/image3.png" width="606" border="0" /> </p>
<p>For those, who still trying to consider what to use for their next killer app, I propose to read <a href="http://blog.webjak.net/2009/02/11/evangelising-silverlight/" target="_blank">following article</a> from Jordan, which compares between Silverlight and Flash. And then see <a href="http://msdn.microsoft.com/en-us/library/dd458809.aspx" target="_blank">composite application guidance to use Prism for Silverlight development</a>. <a href="http://channel9.msdn.com/shows/Continuum/Prismv2/" target="_blank">Here the video</a> of it usage by Adam Kinney from Channel 9</p>
<p><img title="Prism for Silverlight" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="385" alt="Prism for Silverlight" src="http://khason.net/images/2009/02/image4.png" width="573" border="0" /> </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/tech/wpf-line-of-business-labs-and-silverlight-vs-flash/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Slides and desks from Smart Client Development session</title>
		<link>http://khason.net/blog/slides-and-desks-from-smart-client-development-session/</link>
		<comments>http://khason.net/blog/slides-and-desks-from-smart-client-development-session/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 09:59:57 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/?p=2104</guid>
		<description><![CDATA[Great thank to everybody attended yesterday at &#8220;Smart Client development&#8221; session. As promises, please see slides and desks from this session
Smart Client Development
View more presentations from tamirk. (tags: wpf israel)



Related posts:Some new in-mix downloads



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>Great thank to everybody attended yesterday at <a href="http://khason.net/blog/action-required-smart-client-development-present-and-future/">&#8220;Smart Client development&#8221; session</a>. As promises, please see slides and desks from this session</p>
<div id="__ss_1019853" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Smart Client Development" href="http://www.slideshare.net/tamirk/smart-client-development?type=presentation">Smart Client Development</a><object width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=0802-smart-client-development-1234429782979672-1&amp;stripped_title=smart-client-development" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=0802-smart-client-development-1234429782979672-1&amp;stripped_title=smart-client-development" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/tamirk">tamirk</a>. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/wpf">wpf</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/israel">israel</a>)</div>
</div>


<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/slides-and-desks-from-smart-client-development-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bootstrapper for .NET framework version detector</title>
		<link>http://khason.net/tech/bootstrapper-for-net-framework-version-detector/</link>
		<comments>http://khason.net/tech/bootstrapper-for-net-framework-version-detector/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 17:22:26 +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[download]]></category>
		<category><![CDATA[Interop]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[VSTS]]></category>
		<category><![CDATA[Work process]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://khason.net/tech/bootstrapper-for-net-framework-version-detector/</guid>
		<description><![CDATA[You wrote your .NET program, that can be used as stand alone portable application (such as it should be for Smart Client Apps), however you have to be sure, that necessary prerequisites (such as .NET framework) are installed on client’s machine. What to do? How to detect .NET framework version installed on target machine before [...]


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>You wrote your .NET program, that can be used as stand alone portable application (such as it should be for Smart Client Apps), however you have to be sure, that necessary prerequisites (such as .NET framework) are installed on client’s machine. What to do? How to detect .NET framework version installed on target machine before running .NET application. The answer is – to use unmanaged C++ bootstrapper, that invoke your application if correct version of framework is installed.</p>
<p><a title=".NET Framework Detector" href="http://khason.net/images/2009/02/whoooot.exe" target="_blank" rel="enclosure"><img title=".NET framework vrsion detector" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="212" alt=".NET framework vrsion detector" src="http://khason.net/images/2009/02/image.png" width="310" border="0" /></a> </p>
<p>Until now there are 15 possible .NET frameworks can be installed on client’s machine. Here the table of possible and official supported versions, <a href="http://support.microsoft.com/kb/318785" target="_blank">as appears in Q318785</a></p>
<table cellspacing="0" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="200">.NET version</td>
<td valign="top" width="200">Actual version</td>
</tr>
<tr>
<td valign="top" width="200">3.5 SP1</td>
<td valign="top" width="200">3.5.30729.1</td>
</tr>
<tr>
<td valign="top" width="200">3.5</td>
<td valign="top" width="200">3.5.21022.8</td>
</tr>
<tr>
<td valign="top" width="200">3.0 SP2</td>
<td valign="top" width="200">3.0.4506.2152</td>
</tr>
<tr>
<td valign="top" width="200">3.0 SP1</td>
<td valign="top" width="200">3.0.4506.648</td>
</tr>
<tr>
<td valign="top" width="200">3.0</td>
<td valign="top" width="200">3.0.4506.30</td>
</tr>
<tr>
<td valign="top" width="200">2.0 SP2</td>
<td valign="top" width="200">2.0.50727.3053</td>
</tr>
<tr>
<td valign="top" width="200">2.0 SP1</td>
<td valign="top" width="200">2.0.50727.1433</td>
</tr>
<tr>
<td valign="top" width="200">2.0</td>
<td valign="top" width="200">2.0.50727.42</td>
</tr>
<tr>
<td valign="top" width="200">1.1 SP1</td>
<td valign="top" width="200">1.1.4322.2032</td>
</tr>
<tr>
<td valign="top" width="200">1.1 SP1 (in 32 bit version of Windows 2003)</td>
<td valign="top" width="200">1.1.4322.2300</td>
</tr>
<tr>
<td valign="top" width="200">1.1</td>
<td valign="top" width="200">1.1.4322.573</td>
</tr>
<tr>
<td valign="top" width="200">1.0 SP3</td>
<td valign="top" width="200">1.0.3705.6018</td>
</tr>
<tr>
<td valign="top" width="200">1.0 SP2</td>
<td valign="top" width="200">1.0.3705.288</td>
</tr>
<tr>
<td valign="top" width="200">1.0 SP1</td>
<td valign="top" width="200">1.0.3705.209</td>
</tr>
<tr>
<td valign="top" width="200">1.0</td>
<td valign="top" width="200">1.0.3705.0</td>
</tr>
</tbody>
</table>
<p>All of those versions are detectible by queering specific registry keys. However, in some cases, you need to load mscoree.dll and call “GETCOREVERSION” API to determine whether specific version of .NET is installed. You can read more about it <a href="http://msdn2.microsoft.com/library/ydh6b3yb.aspx" target="_blank">in MSDN</a>.</p>
<p>So it’s really simple to write small C++ application (or PowerShell applet), that queries registry and invoke your managed application. How to do this? You can either read about it in outstanding blog of <a href="http://blogs.msdn.com/astebner/archive/2009/01/31/9387659.aspx" target="_blank">Aaron Stebner</a>, who is Project Manager in XNA platform deployment team or <a href="http://khason.net/blog/action-required-smart-client-development-present-and-future/" target="_blank">attend my session next week</a> to learn do it yourself. We’ll speak about nifty ways to do it also. </p>
<p>Anyway, by now, you can use small stand alone program, I wrote a while ago, that will tell you all versions of .NET frameworks installed in target machine without any prerequisites. It can be run even from shared network location <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://khason.net/images/2009/02/whoooot.exe" target="_blank"><strong>Download whoooot.exe (13K) &gt;&gt;</strong></a></p>
<p>See you next week. </p>
<p>PS: Do not forget to <a href="http://www.codeplex.com/SnippetEditor/" target="_blank">download and install the new version</a> of <a href="http://khason.net/blog/visual-studio-snippet-designer/" target="_blank">Visual Studio Snippet Designer</a>, which is extremely useful tool by MVP <a href="http://msmvps.com/blogs/bill/" target="_blank">Bill McCarthy</a>, you’ll need it later next week…</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/tech/bootstrapper-for-net-framework-version-detector/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>Open Source licenses comparison table</title>
		<link>http://khason.net/blog/open-source-licenses-comparison-table/</link>
		<comments>http://khason.net/blog/open-source-licenses-comparison-table/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 16:21:10 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[DEV]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://khason.net/blog/open-source-licenses-comparison-table/</guid>
		<description><![CDATA[I have a number of projects, released with OS licenses. However, each time I’m about to release new project, I think once again about under what license to release it. So, today I decided to create small comparison table of most popular free licenses to simplify a process of licensing choose you all of us.
&#160; [...]


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>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have a number of projects, released with OS licenses. However, each time I’m about to release new project, I think once again about under what license to release it. So, today I decided to create small comparison table of most popular free licenses to simplify a process of licensing choose you all of us.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://khason.net/images/2009/01/image17.png" width="500" height="263" />&#160; <br /><font size="1">© <a href="http://flickr.com/photos/dedjo/" target="_blank">Myself</a> <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </font></p>
<table border="1" cellspacing="1" cellpadding="2" width="939">
<tbody>
<tr>
<td valign="top" width="273">License name</td>
<td valign="top" width="126">Can give my name for derived work?</td>
<td valign="top" width="169">Should derived work remains open source?</td>
<td valign="top" width="209">Can change license type for derived work?</td>
<td valign="top" width="154">Can sell derived work?</td>
</tr>
<tr>
<td valign="top" width="272"><a href="http://www.opensource.org/licenses/apache2.0.php" target="_blank">Apache License 2.0</a></td>
<td valign="top" width="129">yes</td>
<td valign="top" width="168">no</td>
<td valign="top" width="209">yes</td>
<td valign="top" width="153">yes</td>
</tr>
<tr>
<td valign="top" width="271"><a href="http://www.opensource.org/licenses/cddl1.php" target="_blank">Common Development and Distribution License (CDDL)</a></td>
<td valign="top" width="132">yes</td>
<td valign="top" width="168">no</td>
<td valign="top" width="208">yes to compatible</td>
<td valign="top" width="153">yes</td>
</tr>
<tr>
<td valign="top" width="270"><a href="http://www.opensource.org/licenses/gpl-2.0.php" target="_blank">GNU General Public License 2.0 (GPLv2)</a></td>
<td valign="top" width="134">yes, but should mark changes</td>
<td valign="top" width="168">yes, only if published</td>
<td valign="top" width="208">yes to compatible or by owner agreement</td>
<td valign="top" width="152">yes</td>
</tr>
<tr>
<td valign="top" width="269"><a href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">GNU Library General Public License (LGPL)</a></td>
<td valign="top" width="136">yes</td>
<td valign="top" width="167">same as in GPL, but can link compiled libraries as-is into non-open source software (please reference for more info)</td>
<td valign="top" width="207">yes for compatible</td>
<td valign="top" width="152">yes</td>
</tr>
<tr>
<td valign="top" width="269"><a href="http://www.opensource.org/licenses/ms-pl.html" target="_blank">Microsoft Public License (Ms-PL)</a></td>
<td valign="top" width="138">yes, but cannot use owner’s trademarks</td>
<td valign="top" width="167">no</td>
<td valign="top" width="207">no</td>
<td valign="top" width="152">yes</td>
</tr>
<tr>
<td valign="top" width="268"><a href="http://www.opensource.org/licenses/ms-rl.html" target="_blank">Microsoft Reciprocal License (Ms-RL)</a></td>
<td valign="top" width="139">yes, same as for Ms-PL</td>
<td valign="top" width="167">yes</td>
<td valign="top" width="207">no</td>
<td valign="top" width="151">yes</td>
</tr>
<tr>
<td valign="top" width="268"><a href="http://www.opensource.org/licenses/mozilla1.1.php" target="_blank">Mozilla Public License 1.1 (MPL)</a></td>
<td valign="top" width="140">yes</td>
<td valign="top" width="167">no</td>
<td valign="top" width="206">no</td>
<td valign="top" width="151">yes</td>
</tr>
<tr>
<td valign="top" width="268"><a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">BSD License</a></td>
<td valign="top" width="141">yes</td>
<td valign="top" width="167">no</td>
<td valign="top" width="206">yes</td>
<td valign="top" width="151">yes</td>
</tr>
<tr>
<td valign="top" width="267"><a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT License</a></td>
<td valign="top" width="142">yes</td>
<td valign="top" width="167">no</td>
<td valign="top" width="207">yes</td>
<td valign="top" width="153">yes</td>
</tr>
</tbody>
</table>
<p>It’s unnecessary to mark, that all copyrights must retain in original and derived work. Also it’s good manner to notice about original authors of open source software also in derived binary work. So if you’re using <a href="http://khason.net/#stuff" target="_blank">my OSS</a> in any of your work, please mark it <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Please pay attention, that except MIT and MS licenses, derived work cannot use authors’ names and origin for derived software promotions.</p>
<p>Another common question is about <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Creative Common attribution</a> under which licensed all content in this blog. It is not really license. In spite of this, you can use this attribution to mark your work. CC is all about copyright of owner attributes in derived works, but not about distribution or restrictions of any kind.</p>
<p>Also neither of OS licenses provide responsibility or any kind of assurance for those, who use this software as a part of derived work or in binary format. </p>
<p>Have a nice day, be good people, release open software to push the industry forward and show the world what you worth. </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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/open-source-licenses-comparison-table/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>USB FM radio library was published on CodePlex</title>
		<link>http://khason.net/dev/usb-fm-radio-library-was-published-on-codeplex/</link>
		<comments>http://khason.net/dev/usb-fm-radio-library-was-published-on-codeplex/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 20:48:30 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Interop]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://khason.net/dev/usb-fm-radio-library-was-published-on-codeplex/</guid>
		<description><![CDATA[I just published a part of my latest project – dynamic library to work with FM receivers on CodePlex under MS-PL. So, feel free do download, test and use it. 
Note, that this release is preliminary and has a lot of bugs. Also, RDS is not fully implements as well as recording capabilities with Direct [...]


Related posts:<ol><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><a target="_blank" href="http://www.codeplex.com/FM">I just published</a> a part of my latest project – dynamic library to work with <a target="_blank" href="http://www.codeplex.com/FM">FM receivers on CodePlex</a> under MS-PL. So, feel free do download, test and use it. </p>
<p>Note, that this release is preliminary and has a lot of bugs. Also, RDS is not fully implements as well as recording capabilities with Direct Sound. </p>
<p>I’m keep working to provide WPF UI for this library to “productize” it.</p>
<p>So, what are you waiting for? <a target="_blank" href="http://www.codeplex.com/FM/Release/ProjectReleases.aspx">Download</a> and Spear the word with this news! This is the first and only fully managed library (as far as I know) to work with RDS, TMC and FM data. Also, there are not a lot of information about HID usage as FM receiver in managed code.</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/01/image.png" width="405" height="405" /> </p>
<p><a target="_blank" href="http://www.codeplex.com/FM/Release/ProjectReleases.aspx"><strong>Download latest release of USBFM.DLL &gt;&gt;</strong></a></p>


<p>Related posts:<ol><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/dev/usb-fm-radio-library-was-published-on-codeplex/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
