<?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; help</title>
	<atom:link href="http://khason.net/tag/help/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>Wed, 25 Jan 2012 16:37:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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 [...]<p/>]]></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/>]]></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>19</slash:comments>
		</item>
		<item>
		<title>Math world, simple mental calculations or what&#8217;s going on with education?</title>
		<link>http://khason.net/blog/math-world-simple-mental-calculations-or-whats-going-on-with-education/</link>
		<comments>http://khason.net/blog/math-world-simple-mental-calculations-or-whats-going-on-with-education/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 13:07:55 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://khason.net/blog/math-world-simple-mental-calculations-or-whats-going-on-with-education/</guid>
		<description><![CDATA[Today, I want to write blog post which is absolutely not related to programming. It related to math and education in general those days. During work interviews, I see a lot of people, who was absolutely unable to calculate mentally. They just can’t understand, that it’s possible to do without calculators. When my kids (2nd, [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>Today, I want to write blog post which is absolutely not related to programming. It related to math and education in general those days. During <a href="http://khason.net/tech/brilliant-yet-simple-technical-questions-can-be-used-for-work-interview/" target="_blank">work interviews</a>, I see a lot of people, who was absolutely unable to calculate mentally. They just can’t understand, that it’s possible to do without calculators. When my kids (2nd, 6th and 7th grade) were small I taught them to play with numbers, and until 4th grade (bigger kids) they were able do it. but then school teachers “killed” this ability. Why people should use calculator for simple math operations, if he can do it mentally? Shame you, the modern educational system. Let’s go back and try to understand how people were able to live without devil devices, such as calculators…</p>
<p>Following the paint of <a href="http://en.wikipedia.org/wiki/Nikolai_Bogdanov-Belsky" target="_blank">Nikolai Bogdanov-Belsky</a> “Counting in their heads”. This painting is dated 1895.</p>
<p><img title="Богданов Бельский - Устный счёт" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="570" alt="Богданов Бельский - Устный счёт" src="http://khason.net/images/2009/02/image1.png" width="714" border="0" /> </p>
<p>As you can see at the painting, peasant kids trying to solve following exercise mentally:</p>
<blockquote><p>(10<sup>2</sup> + 11<sup>2</sup> + 12<sup>2</sup> + 13<sup>2</sup> + 14<sup>2</sup>) / 365</p>
</blockquote>
<p>This is not very simple exercise, especially when should be solved without your favorite calculator. However, when I was 4th grade I learned to square two-digit numbers mentally (my, and I think, yours too): <strong>First, find the nearest multiple of ten, by raising or lowering your number, then add and remove the rest to each of numbers and add the square of oddment</strong>. For example</p>
<blockquote><p>45 * 45 = (45+5) * (45-5) + (5 * 5) = 50 * 40 + 25 = (5 * 4) * 100 + 25 = 20 * 100 + 25 = 2000 + 25 = 2025      <br />14 * 14 = (14+4) * (14-4) + (4 * 4) = 18 * 10 + 16 = 180 + 16 = 196</p>
</blockquote>
<p>So, now it can be solved easily:</p>
<blockquote><p>10<sup>2</sup> = 100       <br />11<sup>2</sup>= (11+1) * (11-1) + 1 = 12 * 10 + 1 = 121      <br />12<sup>2</sup>= (12+2) * (12-2) + 4 = 14 * 10 + 4 = 144      <br />13<sup>2</sup>= (13+3) * (13-3) + 9 = 16 * 10 + 9 = 169      <br />14<sup>2</sup>= (14+4) * (14-4) + 16 = 18 * 10 + 16 = 196</p>
</blockquote>
<p>And so on… but wait, 100+121+144 already equals 365, which is our denominator. Next sequence will bring us 169+196, which is also 365. So the answer to this black board brain teaser is 2.</p>
<p>However, it can be rather complicated to calculate 86<sup>2</sup> for instance:</p>
<blockquote><p>86<sup>2</sup> = (86 + 4) * (86 – 4) + (4 * 4) = 90 * 82 + 16…</p>
</blockquote>
<p>Let’s try another way – <strong>multiple the difference between the number and 25 by 100, then add the square of the difference or excess of the number and 50</strong>. For example</p>
<blockquote><p>86<sup>2</sup> = (86 – 25) * 100 + (86 – 50)<sup>2</sup> = 61 * 100 +&#160; 36<sup>2</sup> = 6100 + (36 – 25) * 100 + (50 &#8211; 36)<sup>2</sup> = 6100 + 1100 + 14<sup>2</sup> = 7200 + 196 = 7396</p>
</blockquote>
<p>Isn’t it really simple and fun to calculate squares of numbers?</p>
<p><em>Bonus</em>: how to calculate multiple of two digit numbers with the sum of its unity digits equals to 10? </p>
<ol>
<li>Multiply first digit of the first number by 10</li>
<li>Add 1 to first digit of second number and multiply the result by 10</li>
<li>Multiply results of step 1 and step 2</li>
<li>Deduct second number and the result of step 1</li>
<li>Multiply second digit of the first number by the result of step 4</li>
<li>Add results of steps 3 and 5</li>
</ol>
<p>Looks complicated? Let’s make it easier. Assuming that first number is X = 10x + z and second number is Y = 10y + (10 – z), the formula for quick multiplication calculation is: <strong>100 * x * (y + 1) + z * (Y – 10 * x)</strong>. For example:</p>
<blockquote><p>96 * 84 = 100 * 9 * (8+1) + 6 * (84-10 * 9) = 100 * 9 * 9 + 6 * (84 – 90) = 8100 – 6 * 6 = 8100 – 36 = 8064     <br />37 * 93 = 100 * 3 * (9+1) + 7 * (93 – 10 * 3) = 3000 + 7 * 63 = 3000 + (100 * 6 * 1 + 3 * (7 – 60)) = 3000 + 600 – 3 * 53 = 3600 – 159 = 3441</p>
</blockquote>
<p>Have a nice day and be good people. Also, throw out all hardware calculators and uninstall all software <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/math-world-simple-mental-calculations-or-whats-going-on-with-education/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Brilliant, yet simple technical questions, can be used for work interview</title>
		<link>http://khason.net/tech/brilliant-yet-simple-technical-questions-can-be-used-for-work-interview/</link>
		<comments>http://khason.net/tech/brilliant-yet-simple-technical-questions-can-be-used-for-work-interview/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 12:24:21 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[TECH]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Work process]]></category>

		<guid isPermaLink="false">http://khason.net/tech/brilliant-yet-simple-technical-questions-can-be-used-for-work-interview/</guid>
		<description><![CDATA[Few days ago, a friend of mine, sent me set of demonstration questions for 11th grade computer science students from Russia. I throw eye on this exam and decided to use some of those questions to test candidates in my company for hardware engineer position (we’re looking for). If you’re good candidate for this position, [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>Few days ago, a friend of mine, sent me set of demonstration questions for <a href="http://www.fipi.ru/" target="_blank">11th grade computer science students from Russia</a>. I throw eye on this exam and decided to use some of those questions to test candidates in my company for hardware engineer position (we’re looking for). If you’re good candidate for this position, you should be able to answer all those questions without even think a minute.</p>
<p><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" src="http://khason.net/images/2009/01/image29.png" border="0" alt="image" width="374" height="255" /></p>
<p><em>Following those questions</em>:</p>
<p>Automatic system recoded informational message in Russian from Unicode (16-bit) into KOI-8 (8 bit). After recoding the length of the message decreased by 480 bits. What was the length of the original message in characters?<br />
1) 30          2) 60          3) 120          4) 480</p>
<p>There are 119 participants in bicycle race. Special designed system registers cyclers passing waypoint by writing his serial number with minimum possible number of bits. What will be the size of temporary message, recorded by the system after 70 cyclers passed the waypoint?<br />
1) 70 bits          2) 70 bytes          3) 490 bits          4) 119 bytes</p>
<p><strong>а</strong>=D7<sub>16</sub>, <strong>b</strong>=331<sub>8</sub>. What the value of <strong>c</strong> if <strong>a&lt;c&lt;b</strong>?<br />
1) 11011001          2) 11011100          3) 11010111          4) 11011000</p>
<p>Please calculate 43<sub>8</sub>+56<sub>16</sub>?<br />
1) 121<sub>8</sub> 2) 171<sub>8</sub> 3) 69<sub>16</sub> 4) 1000001<sub>2</sub></p>
<p>What logical expression equals to: &amp; !( !B | C ), while &amp;: logical AND, !: logical NOT and |:logical OR<br />
1) !A | !B | !C          2) A &amp; !B &amp; !C          3) A &amp; B &amp; !C          4) A &amp; !B &amp;C</p>
<p>F is a result of logical expression execution with arguments A, B and C</p>
<table border="1" cellspacing="0" cellpadding="2" width="102">
<tbody>
<tr>
<td width="21" valign="top">A</td>
<td width="26" valign="top">B</td>
<td width="27" valign="top">C</td>
<td width="26" valign="top">F</td>
</tr>
<tr>
<td width="21" valign="top">1</td>
<td width="26" valign="top">0</td>
<td width="27" valign="top">0</td>
<td width="26" valign="top">1</td>
</tr>
<tr>
<td width="21" valign="top">0</td>
<td width="26" valign="top">0</td>
<td width="27" valign="top">0</td>
<td width="26" valign="top">1</td>
</tr>
<tr>
<td width="21" valign="top">1</td>
<td width="26" valign="top">1</td>
<td width="27" valign="top">1</td>
<td width="26" valign="top">0</td>
</tr>
</tbody>
</table>
<p>What is the expression for F?<br />
1) !A &amp; !B &amp; !C          2) A &amp; B &amp; C         3) A | B | C         4) !A | !B | !C</p>
<p>For encoding characters A, B, C and D we decided to use two bits numbers sequence (from 00 to 11). What was the result of coding sequence <strong>BACD</strong> on base 16?<br />
1) 4A          2) 411          3) BACD          4) 1023</p>
<p>Led table contains of number of leds. Each led can be in one of following states: “On”, “Off”, “Blinking”. What is the minimal number of leds should be on table in order to display 18 difference signals?</p>
<p>Please calculate 25<sub>14</sub> + 11<sub>-4</sub> – 21<sub>10</sub>?</p>
<p>To calculator there are only two commands 1: “add 3”, 2: “multiply by 4”. Please write down the sequence of the calculator command in order to convert number <strong>3</strong> to number <strong>57</strong> while using not more, then <strong>6</strong> commands. For example to convert 2 into 50 you should write following: “21211” (X4,+3,X4,+3,+3)</p>
<p>The speed of data transfer over network is 128000 bits/sec. Please calculate the time (in seconds) will take to transfer 625 kBytes in this network.</p>
<p>Write a simple program (by using your favorite programming language) to convert the array of 30 integers into array of modulus of items from input array without using modulus calculation special function.</p>
<hr />Good luck!</p>
<p>For people, currently employed in my company (hardware devs) it took less, then10 minutes to solve all those questions. However, I was shocked, that at least half of new candidates, come to interview failed to solve it.</p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/tech/brilliant-yet-simple-technical-questions-can-be-used-for-work-interview/feed/</wfw:commentRss>
		<slash:comments>19</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. [...]<p/>]]></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/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/open-source-licenses-comparison-table/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Nifty time savers for WPF development</title>
		<link>http://khason.net/dev/nifty-time-savers-for-wpf-development/</link>
		<comments>http://khason.net/dev/nifty-time-savers-for-wpf-development/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 18:23:04 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[DEV]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Work process]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/dev/nifty-time-savers-for-wpf-development/</guid>
		<description><![CDATA[I just published an article on Code Project, that explains how to use my latest FM USB library for building real world software radio receiver with WPF. There I referenced to some nifty WPF time savers, I’m using for everyday development. So, today I want to share those code pieces with you. Binding time savers [...]
Related posts:<ol>
<li><a href='http://khason.net/dev/rsa-private-key-import-from-pem-format-in-c/' rel='bookmark' title='RSA private key import from PEM format in C#'>RSA private key import from PEM format in C#</a></li>
<li><a href='http://khason.net/dev/video-encoder-and-metadata-reading-by-using-windows-media-foundation/' rel='bookmark' title='Video encoder and metadata reading by using Windows Media Foundation'>Video encoder and metadata reading by using Windows Media Foundation</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.codeproject.com/KB/WPF/fmradio.aspx">I just published an article</a> on Code Project, that explains how to use my latest <a target="_blank" href="http://www.codeplex.com/FM">FM USB library</a> for building real world software radio receiver with WPF. There I referenced to some nifty WPF time savers, I’m using for everyday development. So, today I want to share those code pieces with you.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Software radio reciever screenshot" border="0" alt="Software radio reciever screenshot" src="http://khason.net/images/2009/01/radio.jpg" width="500" height="199" /> </p>
<h3>Binding time savers</h3>
<p>Want to use following syntax for set binding in code?</p>
<blockquote><p>Presets.SetBinding(ListBox.ItemsSourceProperty, _device, &quot;Presets&quot;);</p>
</blockquote>
<p>This piece of code sets binding to Preset DependencyObject, which is Listbox and connects ListBox.ItemsSource dependency property with “Presets” property of CLR object _device. How it done? Simple, as usual</p>
<blockquote><p>[DebuggerStepThrough]     <br />public static BindingExpressionBase SetBinding(this DependencyObject target, DependencyProperty dp, object source, string path) {      <br />&#160;&#160; Binding b = new Binding(path);      <br />&#160;&#160; b.Source = source;      <br />&#160;&#160; return BindingOperations.SetBinding(target, dp, b);      <br />}</p>
</blockquote>
<p>But what to do when we need a converter? Simple:</p>
<blockquote><p>[DebuggerStepThrough]     <br />public static BindingExpressionBase SetBinding(this DependencyObject target, DependencyProperty dp, object source, string path, IValueConverter converter) {      <br />&#160;&#160; Binding b = new Binding(path);      <br />&#160;&#160; b.Source = source;      <br />&#160;&#160; b.Converter = converter;      <br />&#160;&#160; return BindingOperations.SetBinding(target, dp, b);      <br />}</p>
</blockquote>
<p>However to use this method, we need to create special object, which implements IValueConverter. Whey not to do it generically? Like this:</p>
<blockquote><p>SignalTransform.SetBinding(ScaleTransform.ScaleYProperty, _device.RDS,&quot;SignalStrength&quot;, new ValueConverter&lt;byte, double&gt;(b =&gt; { return 1-(b / 36d); }));</p>
</blockquote>
<p>But we need this special handy ValueConverter class. What’s the problem? Here come the king:</p>
<blockquote><p>public class ValueConverter&lt;TIN, TOUT&gt; : IValueConverter { </p>
<p>&#160;&#160; public ValueConverter(Func&lt;TIN, TOUT&gt; forwardConversion) {     <br />&#160;&#160;&#160;&#160;&#160; ForwardConversion = forwardConversion;      <br />&#160;&#160; } </p>
<p>&#160;&#160; public ValueConverter(Func&lt;TIN, TOUT&gt; forwardConversion, Func&lt;TOUT, TIN&gt; reverseConversion) {     <br />&#160;&#160;&#160;&#160;&#160; ForwardConversion = forwardConversion;      <br />&#160;&#160;&#160;&#160;&#160; ReverseConversion = reverseConversion;      <br />&#160;&#160; } </p>
<p>&#160;&#160; public Func&lt;TIN, TOUT&gt; ForwardConversion { get; set; } </p>
<p>&#160;&#160; public Func&lt;TOUT, TIN&gt; ReverseConversion { get; set; }     <br />&#160;&#160; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {      <br />&#160;&#160;&#160;&#160;&#160; try {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var in1 = Object.ReferenceEquals(value, DependencyProperty.UnsetValue) ? default(TIN) : (TIN)value;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return ForwardConversion(in1);      <br />&#160;&#160;&#160;&#160;&#160; } catch {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return Binding.DoNothing;      <br />&#160;&#160;&#160;&#160;&#160; }      <br />&#160;&#160; } </p>
<p>&#160;&#160; public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {     <br />&#160;&#160;&#160;&#160;&#160; try {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var out1 = Object.ReferenceEquals(value, DependencyProperty.UnsetValue) ? default(TOUT) : (TOUT)value;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return ReverseConversion(out1);      <br />&#160;&#160;&#160;&#160;&#160; } catch {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return Binding.DoNothing;      <br />&#160;&#160;&#160;&#160;&#160; }      <br />&#160;&#160; } </p>
<p>}</p>
</blockquote>
<p>Isn’t it really simple? But what to do with ugly App.Current.Dispatcher.BeginInvoke((SendOrPostCallback)delegate(object o)…? Use dispatcher time savers. </p>
<h3>Dispatcher time savers</h3>
<p>Don’t you ever want to do this in order to make context switching between UI thread and other application thread in WPF?</p>
<blockquote><p>this.Dispatch(() =&gt; {… DO SOMETHING IN UI THREAD …};</p>
</blockquote>
<p>Now you can (with default and preset DispatcherPriority:</p>
<blockquote><p>public static DispatcherOperation Dispatch(this DispatcherObject sender, Action callback) { return sender.Dispatch(DispatcherPriority.Normal, callback); } </p>
<p>public static DispatcherOperation Dispatch(this DispatcherObject sender,&#160; DispatcherPriority priority, Action callback) {     <br />&#160;&#160; if (sender.Dispatcher == null) return null;      <br />&#160;&#160; if (sender.Dispatcher.CheckAccess()) {      <br />&#160;&#160;&#160;&#160;&#160; callback();      <br />&#160;&#160;&#160;&#160;&#160; return null;      <br />&#160;&#160; } else {      <br />&#160;&#160;&#160;&#160;&#160; return sender.Dispatcher.BeginInvoke(priority, callback);      <br />&#160;&#160; }      <br />}</p>
</blockquote>
<p>Nice, isn’t it? But what to do if we do not want to set binding, but we do want to be notified about property change of dependency objects? </p>
<h3>Bindingless handlers time saver</h3>
<p>Let’s assume, that we have “Tune” UIelement, which has Angle property, but not exposes PropertyChanged event (like it done with <a target="_blank" href="http://blogs.msdn.com/expression/archive/2007/10/13/rotary-custom-control.aspx">Rotary custom control by Expression Blend team</a>… Designers, you know… <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>However I want to be able to add handler for Angle dependency property changed event and do something when it changed. Like this:</p>
<blockquote><p>Tune.AddValueChanged(RotaryControl.RotaryControl.AngleProperty, (s, ex) =&gt; {     <br />&#160;&#160; _device.Tune(Tune.Angle &gt; _prevTune);      <br />&#160;&#160; _prevTune = Tune.Angle;      <br />});</p>
</blockquote>
<p>Here comes our time saver for this purpose:</p>
<blockquote><p>public static void AddValueChanged(this DependencyObject sender, DependencyProperty property, EventHandler handler) {     <br />&#160;&#160; DependencyPropertyDescriptor.FromProperty(property, sender.GetType()).AddValueChanged(sender, handler);      <br />}</p>
</blockquote>
<p>But if we add handler we should be able to remove it too.</p>
<blockquote><p>public static void RemoveValueChanged(this DependencyObject sender, DependencyProperty property, EventHandler handler) {     <br />&#160;&#160; DependencyPropertyDescriptor.FromProperty(property, sender.GetType()).RemoveValueChanged(sender, handler);      <br />}</p>
</blockquote>
<p>Now we done with some of my nifty helpers. And last, but not the least: </p>
<h3>All times question: how to scale ranges</h3>
<p>Here is how <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>public static double ToRange(this double value, double minSource, double maxSource, double minTarget, double maxTarget) {     <br />&#160;&#160; var sr = maxSource &#8211; minSource;      <br />&#160;&#160; var tr = maxTarget &#8211; minTarget;      <br />&#160;&#160; var ratio = sr / tr;      <br />&#160;&#160; return minTarget+(value / ratio);      <br />}</p>
</blockquote>
<p>Now we can connect them and get something like this:</p>
<blockquote><p>Volume.AddValueChanged(RotaryControl.RotaryControl.AngleProperty, (s, ex) =&gt; {     <br />&#160;&#160; DirectSoundMethods.Volume = (int)Volume.Angle.ToRange(Volume.CounterClockwiseMostAngle, Volume.ClockwiseMostAngle, -4000, 0);      <br />});</p>
</blockquote>
<p>Isn’t it brilliant? </p>
<p>Have a good day and <a target="_blank" href="http://www.codeproject.com/KB/WPF/fmradio.aspx">be sure to read and rate my last article on Code Project</a> <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Be good people.</p>
<p>Related posts:<ol>
<li><a href='http://khason.net/dev/rsa-private-key-import-from-pem-format-in-c/' rel='bookmark' title='RSA private key import from PEM format in C#'>RSA private key import from PEM format in C#</a></li>
<li><a href='http://khason.net/dev/video-encoder-and-metadata-reading-by-using-windows-media-foundation/' rel='bookmark' title='Video encoder and metadata reading by using Windows Media Foundation'>Video encoder and metadata reading by using Windows Media Foundation</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://khason.net/dev/nifty-time-savers-for-wpf-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Asus R50A UMPC review</title>
		<link>http://khason.net/blog/asus-r50a-umpc-review/</link>
		<comments>http://khason.net/blog/asus-r50a-umpc-review/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 13:26:00 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[OFFTOPIC]]></category>
		<category><![CDATA[promo]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Vista Battery Saver]]></category>

		<guid isPermaLink="false">http://khason.net/blog/asus-r50a-umpc-review/</guid>
		<description><![CDATA[So, I got new branded Asus R50A UMPC for test. This ultra mobile machine with 5.6&#8243; WSVGA (1024&#215;768) screen, based on Intel US15W chipset, comes with Intel Atom Z520 (1.33 Ghz, 533Mhz) processor, 1Gb of RAM and 20GB SSD. Also it has 3.5G mobile unit, integrated 802.11b/g network card and GPS. First impression was very [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>So, I got new branded <a href="http://www.asus.com/products.aspx?l1=5&amp;l2=25&amp;l3=722&amp;l4=0&amp;model=2295&amp;modelmenu=1" target="_blank" mce_href="http://www.asus.com/products.aspx?l1=5&amp;l2=25&amp;l3=722&amp;l4=0&amp;model=2295&amp;modelmenu=1">Asus R50A UMPC</a> for test. This ultra mobile machine with 5.6&#8243; WSVGA (1024&#215;768) screen, based on Intel US15W chipset, comes with Intel Atom Z520 (1.33 Ghz, 533Mhz) processor, 1Gb of RAM and 20GB SSD. Also it has 3.5G mobile unit, integrated 802.11b/g network card and GPS. First impression was very cool. Slick design, big screen build in fingerprint reader.</p>
<p>&nbsp;<a href="http://www.flickr.com/photos/dedjo/3027945780/" target="_blank" mce_href="http://www.flickr.com/photos/dedjo/3027945780/"><img src="http://farm4.static.flickr.com/3034/3027945780_697d7fff14.jpg" mce_src="http://farm4.static.flickr.com/3034/3027945780_697d7fff14.jpg"/></a> </p>
<p><a href="http://www.flickr.com/photos/dedjo/3027224451/" target="_blank" mce_href="http://www.flickr.com/photos/dedjo/3027224451/"><img src="http://farm4.static.flickr.com/3191/3027224451_296000114b.jpg" mce_src="http://farm4.static.flickr.com/3191/3027224451_296000114b.jpg"/></a> </p>
<p>What in the box? Power adapter (110/220V), compact keyboard, bunch of cables, extra stilus and handling strap.</p>
<p><a href="http://www.flickr.com/photos/dedjo/3027970572" target="_blank" mce_href="http://www.flickr.com/photos/dedjo/3027970572"><img src="http://farm4.static.flickr.com/3007/3027970572_feba1fdcc8.jpg" mce_src="http://farm4.static.flickr.com/3007/3027970572_feba1fdcc8.jpg"/></a> </p>
<p>What else this machine has? Microcard reader, three mini-usb sockets, one regular USB and camera. Looks like pretty fine machine, but not for €1K+ price tag. But who cares when we buy real good gadget? However, my euphoria disappears during 6 minutes startup (this was not first startup &#8211; first took more, then 15 minutes).</p>
<p>It was preinstalled with Windows Vista SP1 Ultimate (for this tiny machine) aside with huge amount of Asus junkware, so it was was even unable even to calculate Vista experience score</p>
<p><a href="http://www.flickr.com/photos/dedjo/3027956200/" target="_blank" mce_href="http://www.flickr.com/photos/dedjo/3027956200/"><img src="http://farm4.static.flickr.com/3140/3027956200_c13d658754.jpg" mce_src="http://farm4.static.flickr.com/3140/3027956200_c13d658754.jpg"/></a> </p>
<p>Also it has no drivers for strange device, named &#8220;Mini Card&#8221; (with factory branded Asus OS installation)</p>
<p><a href="http://www.flickr.com/photos/dedjo/3027130301/" target="_blank" mce_href="http://www.flickr.com/photos/dedjo/3027130301/"><img src="http://farm4.static.flickr.com/3026/3027130301_fb08e0b099.jpg" mce_src="http://farm4.static.flickr.com/3026/3027130301_fb08e0b099.jpg"/></a> </p>
<p>Well, it&#8217;s probably because I&#8217;m still not connected to internet&#8230; Let&#8217;s connect office WiFi&#8230; Err&#8230; It has some troubles with wireless network discovery &#8211; 2 bars for 12 feet distance from access point (my W500 has all 5) and no other networks (with 4 and less bars on another machine). Let&#8217;s connect it. Hm, &#8220;unable to connect&#8221;&#8230; Weird. Leave it by now. This is multimedia device, so, probably, video will play better? Well, it failed also with playback of Windows sample movie. So maybe it has great battery life? Not really. Without doing anything new 2 cells, 2600mAh battery enough for less, then two hours (with <a href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx" target="_blank" mce_href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx">vista battery saver</a> it extended to 3, while this device does not support aero interface).</p>
<p>But the final accord was this one (one again &#8211; this is branded Asus installation):</p>
<p>&nbsp;<img src="http://khason.net/images/2008/12/image-dcd4f35d-1091-4cd4-a3da-81d8da693e6d.png" alt="image" mce_src="http://khason.net/images/2008/12/image-dcd4f35d-1091-4cd4-a3da-81d8da693e6d.png" width="529" border="0" height="397"/> </p>
<p>Bottom line: 0<b>/5. I paid $360 for my wife&#8217;s pink <a href="http://www.amazon.com/gp/product/B001DL2BUM?ie=UTF8&amp;tag=israkniga-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001DL2BUM" mce_href="http://www.amazon.com/gp/product/B001DL2BUM?ie=UTF8&amp;tag=israkniga-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001DL2BUM">Acer Aspire One</a><img src="http://www.assoc-amazon.com/e/ir?t=israkniga-20&amp;l=as2&amp;o=1&amp;a=B001DL2BUM" style="border-style: none ! important; margin: 0px;" alt="" mce_src="http://www.assoc-amazon.com/e/ir?t=israkniga-20&amp;l=as2&amp;o=1&amp;a=B001DL2BUM" width="1" border="0" height="1"/> and got much better computer (it even has camera).</b></p>
<p><a href="http://twitpic.com/photos/tamir" mce_href="http://twitpic.com/photos/tamir"><img src="http://khason.net/images/2008/12/image-4.png" alt="image" mce_src="http://khason.net/images/2008/12/image-4.png" width="529" border="0" height="397"/></a> </p>
<p>The only thing remains enigma for me is <u>why, the hell, this piece of crap costs more, then €1,000</u><u>?</u></p>
<p>Have a nice day and be good people &#8211; do not buy this machine!</p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/asus-r50a-umpc-review/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>For all those, who have problems with running WPF Performance Profiling tool – Microsoft cares</title>
		<link>http://khason.net/blog/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/</link>
		<comments>http://khason.net/blog/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 02:00:50 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[My tools]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://khason.net/blog/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/</guid>
		<description><![CDATA[Three days ago, I announced the new release of WPF Performance Profiling Tool. A couple hours after this was announced, I got a number of comments from you, readers. It was about issues with running this tool. I checked the issue and forwarded it to development team from Microsoft. The problem was in bad parsing [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>Three days ago, <a href="http://khason.net/blog/the-new-version-of-wpf-performance-profiling-tool-is-available-for-download/">I announced the new release of WPF Performance Profiling Tool</a>. A couple hours after this was announced, I got a number of comments from you, readers. It was about issues with running this tool. I checked the issue and forwarded it to development team from Microsoft. The problem was in bad parsing of comma and point characters in this tool, when using it on non-US locale. Dev team took care about it and hopefully they will provide a fix soon.</p>
<p>Thank you for reading my blog, reporting and your awareness of such issues. This is very important to me and I’m really appreciate your efforts to help us to develop WPF community.</p>
<p>I’ll update you as soon as the patch will be available.</p>
<p>Thank you and Shana Tova!</p>
<p><img title="image" style="display: inline" height="318" alt="image" src="http://khason.net/images/2008/12/image-77b73e21.png" width="320" border="0" /></p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/feed/</wfw:commentRss>
		<slash:comments>3</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 [...]<p/>]]></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/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/visual-studio-snippet-designer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A little bit about batteries</title>
		<link>http://khason.net/blog/a-little-bit-about-batteries/</link>
		<comments>http://khason.net/blog/a-little-bit-about-batteries/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 05:16:52 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Vista Battery Saver]]></category>
		<category><![CDATA[Work process]]></category>

		<guid isPermaLink="false">http://khason.net/blog/a-little-bit-about-batteries/</guid>
		<description><![CDATA[I tired to write about programming, code and similar nerd stuff. So today I’ll write about … batteries. How is it? Today, batteries are in use all over our life. We have a battery in our mobile phone, computer, camera, mp3 player, even microwave, alarm and hand clock. So, the main problem with batteries, scientists [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>I tired to write about programming, code and similar nerd stuff. So today I’ll write about … batteries. How is it? <img src='http://khason.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Today, batteries are in use all over our life. We have a battery in our mobile phone, computer, camera, mp3 player, even microwave, alarm and hand clock. So, the main problem with batteries, scientists all over the world work about is how to extend the working and life time. Let’s try to understand how to know whether the battery is good for us.</p>
<h3>How to measure batteries</h3>
<p>The number, can tell us whether the battery will work longer for us is charge (or actual). We measure charge in Ampere/hours (Ah). One ampere-hour is equals to 3600 coulombs (ampere-seconds) and represents an amount of charge, transferred by a steady current of one ampere for one hour. As higher this number is, your battery will work longer for the same consumer.</p>
<p><img title="image" style="display: inline" height="318" alt="image" src="http://khason.net/images/2008/12/image-5fdca8a8.png" width="297" border="0" /> </p>
<h3>What does “steady current” means? </h3>
<p>Steady current is the power in watts, associated with an amount of electricity, named voltage (V). So, constant voltage, associated with one Ah produces the power of the battery in Watts per hour (Wh). So, why we cannot measure batteries in Wh? The problem is, that the power vary during charge and discharge process. So, the exact energy is the integral over time of the instantaneous voltage time and the current. Calculation of those three parameters is simple:</p>
<blockquote><p>W = V * A</p>
</blockquote>
<p>Today’s battery contains large number of elements (cells) with different fillings. As higher the number of elements, this your battery will work longer. Total work time may vary because of different parameters: charging methods, temperature, the way we’re charging it, number of charge-discharge cycles, etc.</p>
<h3>Types of batteries</h3>
<p>There are various batteries, however the most famous are following:</p>
<p><strong>Li-ION</strong> (lithium-ion): Number of charge-discharge cycles is between 500 and 700. The number of it depends on the depth of discharge. As more the battery discharged, this less number of cycles the battery will provide. It necessary to make a number of cycles for 14-16 hours until the battery will provide its nominal capacity. Each cycle the battery’s current will be increased until the nominal. </p>
<p><em>Pros</em>: Good energy to weight ration – the battery rather small in compare to the current because of their high energy density.    <br />No memory effect (no loss of maximum energy capacity on repeatedly recharge after partial discharge)    <br />Slow loss of charge when not in use</p>
<p><em>Cons</em>: Those batteries might explode under certain conditions.    <br />Energy loss starts directly after first charge, thus don’t buy this battery if you need spare battery and will not use it directly after purchase.</p>
<p><strong>NiCd</strong> (Nickel-Cadmium): Number or charge-discharge cycles is between 1000-1500. This number might increase if you’re using the battery properly. However, you need to “train” this battery to assure maximum performance.</p>
<p><em>Pros</em>: Tolerate to deep discharge for long period.    <br />High energy density     <br />Low self-discharge rate – about 20%/month</p>
<p><em>Cons</em>: Cadmium is toxic material    <br />Memory effect – wrong usage pattern may cause to “false bottom” effect. The battery will stop charging, before the total capacity gathered.    <br />Negative temperature coefficient – As the cell temperature rose, the internal resistance fell.</p>
<p><strong>NiMH</strong> (Nickel-metal hydride): Number of charge-discharge cycles is under 1000 and depends on depth of discharging. Those batteries are very similar to NiCd, however those batteries can have two or three times the capacity of an equivalent size NiCd, but discharge rate is also higher. </p>
<p><em>Pros</em>: Less toxic, price effective and have higher capacity then NiCd    <br />Memory effect</p>
<p><em>Cons</em>: High self discharge rate    <br />High application discharge rate    <br />Voltage drop near as it nears full discharge</p>
<p><strong>Li-Pol</strong> (Lithium-polymer): Number of charge-discharge cycles is very low 100-150 and depends on depth of discharging. Newer Li-Pol batteries has higher cycle durability, however they are still expensive. This is successor of Li-ION batteries. </p>
<p><em>Pros</em>: Energy density is over 20% higher, then that of Li-ION.    <br />High charge rate, about 1-3 minutes for cell    <br />Greater life cycle degradation rate in comparison to Li-ION    <br />Very efficient current per size ration    <br />Non explosive</p>
<p><em>Cons</em>: High cost    <br />Low charge-discharge rate</p>
<h3>Bottom line</h3>
<p>Today, most of batteries are Li-ION, in spite of the fact, that it has high life cycle degradation rate. This is about two years by now for general user.&#160; Also, those batteries degrades, even when not in use inside devices. You cannot leave uncharged battery unattended, because of the fact, that recharge may become impossible if the current drops under certain level. Also, those batteries are sensitive to temperature changes. On very low or high temperature the current degrades. </p>
<p>Ni-Cad batteries provides the most optimal life cycle degradation rate, however it very sensitive to the way, you’re using it. The ideal pattern for such batteries is “full charge &#8211; full discharge – full charge”, else you’ll suffer from the “memory effect”, I spoke earlier. </p>
<h3>Chargers</h3>
<p>As you already understand, there is a wide range of battery types, so chargers are also different for those types of batteries. So, how to know if the charger we have is good for me and what to choose. </p>
<p>The best charger for your battery is the one, you got with the device. It tuned for the battery you have. But can we use 3rd party chargers? The answer is: yes, we can, however it’s very important to understand, that if you have Li-ION battery and slow charger, you might be unable to charge it, even if you’ll put it in forever. </p>
<p>Slow chargers works with current equals to about 1/10 of nominal battery current, thus it will take about 10-12 hours to full recharge cycle. Quick chargers uses 1/2-1 of nominal battery current, so recharge cycle can take between 1 to 3 hours.</p>
<p>In both cases, do not leave NiCd and NiMH batteries in charger for a long time after the end of charging process. Even after the end of charge, those batteries keep charging, thus the quality will degrade. The story is different for Li-ION and Li-Pol batteries, those types of batteries are indifferent for overcharging. They usually have controllers to stop charging process after full recharge.</p>
<p>Car chargers are not very healthy devices to charge batteries. Each time you’re turn your car on, it initiate new charge cycle, thus the quality of battery will degrade.</p>
<h3>How to prolong battery life time?</h3>
<p>Let’s assume, that most of devices have Li-ION battery. Once, you got a new device do not start using it with minimal capacity, also do not want to full discharge. Recharge it number of times until the capacity will be equal to almost equal to the nominal power.</p>
<p>Also, switch your device to turn into idle mode after reasonable amount of time. It’s better, if it possible to switch or hibernate the device, rather then turn it into idle. Turn off all unused modules (such as GPS, Wi-Fi, Blootooth for mobile phones). Large number of concurrently running processes are also degrade the power quickly, so you can use <a href="http://www.codeplex.com/vistabattery">Vista Battery Saver</a> to decrease this number in Windows Vista. In PDAs, almost all plugins for battery level and processes performance measurement usually only use the battery, rather then provide usable information. If you can, turn GPRS in your mobile phones and use only GSM, this might save about 30% of energy without QoS degradation. Also, in places without coverage mobile phones increase the level of signal, so decrease the time, you can use the device. </p>
<p>If during the charging process, the temperature of battery exceeds 60C (140F), stop charging immediately and recycle the charger. If the battery become swollen, recycle the battery. If Ni-MH battery discharges very quick, it’s possible to restore it, however restore is impossible for Li-ION batteries. If you’re feeling, that the capacity of Ni-MH battery degrades, you can calibrate it. Never train Li-ION batteries, the quality will degrade. </p>
<p>Do not store your battery empty. Charge it unto 40%-50% of nominal capacity and store in 15C (60F) in fridge.&#160; Also it worth to recharge unused batteries once a half-year. However, the best you can do is to use battery. This what it designed for.</p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/a-little-bit-about-batteries/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Choosing new notebook</title>
		<link>http://khason.net/blog/choosing-new-notebook/</link>
		<comments>http://khason.net/blog/choosing-new-notebook/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 16:07:00 +0000</pubDate>
		<dc:creator>Tamir</dc:creator>
				<category><![CDATA[BLOG]]></category>
		<category><![CDATA[blogging general]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[Work process]]></category>

		<guid isPermaLink="false">http://khason.net/blog/choosing-new-notebook/</guid>
		<description><![CDATA[Hi, Community Brain. It’s time for me to change my old good Dell Latitude D820. I need performant machine and following the results of my findings. It’s really important for me to know your opinion about those choices. Also, if you have additional choices, I’d be happy to hear about it. &#160; Dell Precision M6300 [...]<p/>]]></description>
			<content:encoded><![CDATA[<p>Hi, Community Brain. It’s time for me to change my old good <a href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Dell/default.aspx" mce_href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Dell/default.aspx">Dell Latitude D820</a>. I need performant machine and following the results of my findings. It’s really important for me to know your opinion about those choices. Also, if you have additional choices, I’d be happy to hear about it.</p>
<table width="600" border="0" cellpadding="2" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="150">&nbsp;</td>
<td valign="top" width="150"><b>Dell Precision M6300</b></td>
<td valign="top" width="150"><b>HP 8710W</b></td>
<td valign="top" width="150"><b>Lenovo T61p</b></td>
</tr>
<tr>
<td valign="top" width="150">&nbsp;</td>
<td valign="top" width="150"><img src="http://khason.net/images/2008/12/image-1aa51aaf-c62f-4871-a259-14c54fe767f7.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-1aa51aaf-c62f-4871-a259-14c54fe767f7.png" width="265" border="0" height="183"/> </td>
<td valign="top" width="150"><img src="http://khason.net/images/2008/12/image-dd3c7018-421d-4fef-9b69-9f136d805bb3.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-dd3c7018-421d-4fef-9b69-9f136d805bb3.png" width="256" border="0" height="198"/> </td>
<td valign="top" width="150"><img src="http://khason.net/images/2008/12/image-0027ce88-57b1-4622-bc74-a6eee63e1e47.png" title="image" alt="image" mce_src="http://khason.net/images/2008/12/image-0027ce88-57b1-4622-bc74-a6eee63e1e47.png" width="258" border="0" height="185"/> </td>
</tr>
<tr>
<td valign="top" width="150"><b>Processor</b></td>
<td valign="top" width="150">Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)</td>
<td valign="top" width="150">Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)</td>
<td valign="top" width="150">Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)</td>
</tr>
<tr>
<td valign="top" width="150"><b>Memory</b></td>
<td valign="top" width="150">4GB 667MHz DDR2 SDRAM (2&#215;2048)</td>
<td valign="top" width="150">4GB 667MHz DDR2 SDRAM (2&#215;2048)</td>
<td valign="top" width="150">4GB 667MHz DDR2 SDRAM (2&#215;2048)</td>
</tr>
<tr>
<td valign="top" width="150"><b>Video Card</b></td>
<td valign="top" width="150">NVidia® Quadro® FX 3600M (512MB dedicated)</td>
<td valign="top" width="150">NVidia® Quadro® FX 3600M (512MB dedicated)</td>
<td valign="top" width="150">NVidia® Quadro® FX 570M (256MB dedicated)</td>
</tr>
<tr>
<td valign="top" width="150"><b>Hard Drive</b></td>
<td valign="top" width="150">200GB SATA (7,200RPM) + fall sensor</td>
<td valign="top" width="150">200GB SATA (7,200RPM)</td>
<td valign="top" width="150">200GB SATA (7,200RPM) + disk encryption</td>
</tr>
<tr>
<td valign="top" width="150"><b>Optical device</b></td>
<td valign="top" width="150">8X DVD +/- RW</td>
<td valign="top" width="150">8X DVD +/- RW Blue-ray</td>
<td valign="top" width="150">8X DVD +/- RW</td>
</tr>
<tr>
<td valign="top" width="150"><b>Modem</b></td>
<td valign="top" width="150">56.6k v.92</td>
<td valign="top" width="150">56.6k v.92</td>
<td valign="top" width="150">&#8211;</td>
</tr>
<tr>
<td valign="top" width="150"><b>Wireless Networking</b></td>
<td valign="top" width="150">Intel PROWireless 4965 802.11 a/g/Draft-n</td>
<td valign="top" width="150">Intel® Wireless LAN 802.11a/b/g/n</td>
<td valign="top" width="150">Intel Wireless WiFi Link 4965AGN</td>
</tr>
<tr>
<td valign="top" width="150"><b>Bluetooth</b></td>
<td valign="top" width="150">Dell Wireless 360</td>
<td valign="top" width="150">Intel Bluetooth‏</td>
<td valign="top" width="150">Integrated Bluetooth PAN</td>
</tr>
<tr>
<td valign="top" width="150"><b>Primary battery</b></td>
<td valign="top" width="150">9 Cell Li-Ion (80 Whr)</td>
<td valign="top" width="150">9 Cell Li-Ion w/XPP 3 yr warranty</td>
<td valign="top" width="150">9 cell Li-Ion Battery</td>
</tr>
<tr>
<td valign="top" width="150"><b>LCD</b></td>
<td valign="top" width="150">17” WUXGA (1920&#215;1200) UltraSharp + anti-glare</td>
<td valign="top" width="150">17” WUXGA+WVA (1920&#215;1200) anti-glare</td>
<td valign="top" width="150">15.4” WSXGA+&nbsp; (1920&#215;1200)</td>
</tr>
<tr>
<td valign="top" width="150"><b>Weight</b></td>
<td valign="top" width="150">8.5 lbs/3.8 kg</td>
<td valign="top" width="150">7.4 lbs/3.4 kg</td>
<td valign="top" width="150">7.3 lbs / 3.3 kg</td>
</tr>
<tr>
<td valign="top" width="150"><b>Dimensions</b></td>
<td valign="top" width="150">1.6”(H) x 15.5”(W) x 11.3”(D)</td>
<td valign="top" width="150">1.3”(H) x 15.4”(W) x 10.8”(D)</td>
<td valign="top" width="150">1.4”(H) x 14.1”(W) x 10.4”(D)</td>
</tr>
<tr>
<td valign="top" width="150">&nbsp;</td>
<td valign="top" width="150">&nbsp;</td>
<td valign="top" width="150">&nbsp;</td>
<td valign="top" width="150">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="150"><b>Cons</b></td>
<td valign="top" width="150">I saw Precision series in work – performance is not good enough for such configuration (for comparison, my old Latitude with the same hardware configuration worked much better) </td>
<td valign="top" width="150">Everyone I asked, tell me, that HP machines are not reliable enough</td>
<td valign="top" width="150">Keyboard layout is absolutely awful. It impossible to work with Fn and Ctrl swapped. <br />Graphic card is not strong enough <br />It’s 15.4”</td>
</tr>
<tr>
<td valign="top" width="150"><b>Pros</b></td>
<td valign="top" width="150">It is very reliable</td>
<td valign="top" width="150">Very good performance <br />Much lighter <br />Good battery life</td>
<td valign="top" width="150">Absolutely reliable <br />Great performance <br />Outstanding battery life</td>
</tr>
</tbody>
</table>
<p mce_keep="true">&nbsp;</p>
<p>What to do? What to choose? Please advice!</p>
<p>Thank you</p>
<p/>]]></content:encoded>
			<wfw:commentRss>http://khason.net/blog/choosing-new-notebook/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

