<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Just code - Tamir Khason : thoughts, WPF</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/WPF/default.aspx</link><description>Tags: thoughts, WPF</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>New year – new blog or how to migrate Community Server to any other engine, supports XML-RPC</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2009/01/01/new-year-new-blog-or-how-to-migrate-community-server-to-any-other-engine-supports-xml-rpc.aspx</link><pubDate>Fri, 02 Jan 2009 02:33:04 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:205248</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Please update your bookmarks, because the new url of this blog is &lt;a href="http://khason.net/"&gt;http://khason.net/&lt;/a&gt; (you have not update RSS feeds, it will be done automatically). Why I did it? Why I decided to go to “stand-alone”… Well. there are some reasons. Generally, I do not want to explain all those here, but trust me, there are some. The main reason is, that there is no responsible person in charge for this blog platform in Microsoft Israel. This why, if your blog is popular and you have a respect to your blog visitors, you cannot host it here… Take a look into new comments notifications in my inbox. Would you answer your readers with such “small amount” of SPAM and capcha, that cannot be fixed already for three years in this platform? This how my inbox looks like for last three years. So now, you should not ask me, why I not answered your email or comments. Aren’t you? :)&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Capture" border="0" alt="Capture" src="http://blogs.microsoft.co.il/blogs/tamir/Capture_1D7350A7.jpg" width="354" height="397" /&gt; &lt;/p&gt;  &lt;p&gt;Currently, all comments in this blog are disabled, so if you want to comment, please use new url of posts (this will appear shortly in the beginning of each post). Also, this post will not be syndicated in RSS.&lt;/p&gt;  &lt;p&gt;So, this post is the last. I loved this platform, and loved people started it. But, unfortunately, it seemed, that bloggers community is not important enough for new platform managers. &lt;/p&gt;  &lt;p&gt;Also, If you want to learn &lt;a target="_blank" href="http://khason.net/dev/how-to-migrate-from-cs2007-to-wordpress-movable-type-or-any-other-blog-engine-supports-xml-rpc-with-c/"&gt;how to use C# and XML-RCP to migrate from CS2007, used in this platform, visit my new home&lt;/a&gt; :)&lt;/p&gt;  &lt;p&gt;Have a great year and, as always, be good people. This post marked with all possible tags automatically. Sorry.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=205248" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/soft/default.aspx">soft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+tools/default.aspx">blogging tools</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tutorial/default.aspx">tutorial</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF+crossbow/default.aspx">WPF crossbow</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/source/default.aspx">source</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/help/default.aspx">help</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Gadgets/default.aspx">Windows Gadgets</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/promo/default.aspx">promo</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tools/default.aspx">tools</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/events/default.aspx">events</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/demos/default.aspx">demos</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF_2F00_E/default.aspx">WPF/E</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/download/default.aspx">download</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/jobs/default.aspx">jobs</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Accessibility/default.aspx">Accessibility</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Blogging+rules/default.aspx">Blogging rules</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+general/default.aspx">blogging general</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/fun/default.aspx">fun</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx">Vista Battery Saver</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SkyDrive/default.aspx">SkyDrive</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Live+Writer/default.aspx">Windows Live Writer</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Live/default.aspx">Windows Live</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Dell/default.aspx">Dell</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DevAcademy2/default.aspx">DevAcademy2</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF+quiz/default.aspx">WPF quiz</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/x64/default.aspx">x64</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SVG/default.aspx">SVG</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XPS/default.aspx">XPS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/TechedIsrael2008/default.aspx">TechedIsrael2008</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/teched/default.aspx">teched</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/PLINQ/default.aspx">PLINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Micro+Framework/default.aspx">Micro Framework</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SAP/default.aspx">SAP</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XLINQ/default.aspx">XLINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DirectX/default.aspx">DirectX</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Work+process/default.aspx">Work process</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Linux/default.aspx">Linux</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mono/default.aspx">Mono</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DevAcademy3/default.aspx">DevAcademy3</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Math/default.aspx">Math</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/GIS/default.aspx">GIS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Algorithms/default.aspx">Algorithms</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Charity/default.aspx">Charity</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Hardware/default.aspx">Hardware</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Interop/default.aspx">Interop</category></item><item><title>Consultants for charity</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/11/12/consultants-for-charity.aspx</link><pubDate>Wed, 12 Nov 2008 21:50:38 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:165049</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>6</slash:comments><description>&lt;h3&gt;[This blog was migrated. You will not be able to comment here.&lt;br /&gt;The new URL of this post is &lt;a href="http://khason.net/blog/consultants-for-charity/"&gt;http://khason.net/blog/consultants-for-charity/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;As you, probably, know, &lt;a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/archive/2008/08/19/i-m-leaving-consulting-field-joined-new-project-for-full-time.aspx"&gt;I left consulting field&lt;/a&gt;. However, it does not mean, that I quit helping developers community with client application development. Also, every day I&amp;#39;m getting between 50 and 300 emails with questions (I&amp;#39;m trying to answer all of those) and sometimes proposals for consulting. Currently I&amp;#39;m refusing all those, because I do not want to engage to it. However, there are too much people, who really need professional developers help and there are very few good development consultants in our area. Thus I decided &lt;strong&gt;to keep consulting&lt;/strong&gt;, but this time &lt;strong&gt;only for charity&lt;/strong&gt;. &lt;/p&gt; &lt;p&gt;&lt;img border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Consultantsforcharity_14F3F/image_f5fe52c8-df4c-4a91-b48a-ffba7b736822.png" width="506" height="337" /&gt; &lt;br /&gt;&lt;font size="1"&gt;© &lt;/font&gt;&lt;a target="_blank" href="http://www.thecolorblindphotographer.com/"&gt;&lt;font size="1"&gt;ColorBlind photographers&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;How does it work?&lt;/h3&gt; &lt;ol&gt; &lt;li&gt;You want me to help you with your development. &lt;/li&gt; &lt;li&gt;I have free time for it. &lt;/li&gt; &lt;li&gt;We decide together about the fee.&lt;/li&gt; &lt;li&gt;You get consulting and you are happy with it.&lt;/li&gt; &lt;li&gt;I tell you what charity organization to transfer &lt;u&gt;all&lt;/u&gt; amount, you should pay (except TBL, if there are).&lt;/li&gt; &lt;li&gt;You transfer it.&lt;/li&gt; &lt;li&gt;We made the world a bit better!&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;To clarify things: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;It&amp;#39;s not charity foundation - you will transfer the money directly to organization, that need it&lt;/li&gt; &lt;li&gt;I&amp;#39;m not doing it for free - I feel, that finally I&amp;#39;m able to do something really big for those, who need it&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;strong&gt;So, if you are one of those, who want me to consult, &lt;/strong&gt;&lt;strong&gt;contact&lt;/strong&gt; &lt;strong&gt;me via &lt;a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/contact.aspx"&gt;this form&lt;/a&gt; or &lt;a target="_blank" href="http://twitter.com/tamir"&gt;Twitter&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;If you&amp;#39;re good consultant and want to join me, &lt;/strong&gt;&lt;strong&gt;&lt;strong&gt;contact&lt;/strong&gt; &lt;strong&gt;me via &lt;a target="_blank" href="http://blogs.microsoft.co.il/blogs/tamir/contact.aspx"&gt;this form&lt;/a&gt; or &lt;a target="_blank" href="http://twitter.com/tamir"&gt;Twitter&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;and we&amp;#39;ll make the world better together.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I still had no chance to speak with my ex-engagement manager, however I believe, that he will not have a problem with this kind of payment to me. If so (and you have open PO in Microsoft Israel with him), you&amp;#39;ll be able to use it.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Spear the world with this news!&lt;/em&gt; Post in your blogs, &lt;a target="_blank" href="http://twitter.com/home/?status=Consultants%20for%20charity%20http%3A//tinyurl.com/5btbsv%20via%20@tamir"&gt;twitters&lt;/a&gt;, &lt;a target="_blank" href="http://www.facebook.com/share.php?u=http%3A//blogs.microsoft.co.il/blogs/tamir/archive/2008/11/12/consultants-for-charity.aspx"&gt;facebook&lt;/a&gt;, any other community stuff or just join me :)&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=165049" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/promo/default.aspx">promo</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+general/default.aspx">blogging general</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Charity/default.aspx">Charity</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category></item><item><title>Action required: Smart client users group</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/05/22/action-required-smart-client-users-group.aspx</link><pubDate>Fri, 23 May 2008 01:44:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:91573</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>8</slash:comments><description>&lt;h3&gt;[This blog was migrated. You will not be able to comment here.&lt;br /&gt;The new URL of this post is &lt;a href="http://khason.net/blog/action-required-smart-client-users-group/"&gt;http://khason.net/blog/action-required-smart-client-users-group/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Recently I browsed &lt;a href="http://ineta.org" target="_blank"&gt;INETA&lt;/a&gt; to seek for some group and was really surprising. There is no Smart Client user group registered there. Maybe there is a reason? Let’s understand what Smart Client is? &lt;/p&gt;  &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Smart_client" target="_blank"&gt;According wikipedia&lt;/a&gt;, the term &amp;quot;Smart Client&amp;quot; is meant to refer to simultaneously capturing the benefits of a &amp;quot;&lt;a href="http://en.wikipedia.org/wiki/Thin_client"&gt;thin client&lt;/a&gt;&amp;quot; (zero-install, auto-update) and a &amp;quot;&lt;a href="http://en.wikipedia.org/wiki/Fat_client"&gt;fat client&lt;/a&gt;&amp;quot; (high performance, high productivity). However, I think, that this term is much wider. It is not only thin-fat client application, it’s also most of applications we’re using today. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/ActionrequiredSmartclientusersgroup_13148/image_9b0168ec-d360-436a-a934-f287471e7222.png" title="image" alt="image" border="0" height="315" width="453" /&gt; &lt;/p&gt;  &lt;h3&gt;Thick Client&lt;/h3&gt;  &lt;p&gt;We always want to provide our users with best experience and increase their performance. However we are (as developers) want to avoid complicated development and deployment. This why we should know as much as possible about user’s system, when users do not want to have real footprint in their systems. That’s dilemma. Is it possible to solve it? Let’s look deeper…&lt;/p&gt;  &lt;p&gt;Are we really need installation? Most of old software installations put things in registry. It because you were never sure what client has in his system and were our application can put files or temporary data. Today, when we have local application or user isolated storage, so we not really need to use registry. Maybe only for our own ego – this is cool to have something like “HKLM/Software/MYNAME” in 1,000,000 user’s computers…&lt;/p&gt;  &lt;p&gt;No installation is good, but what to me with maintenance. We want our system connected…&lt;/p&gt;  &lt;h3&gt;Thin Client&lt;/h3&gt;  &lt;p&gt;Could you imagine your user to visit product site twice a week to see what’s going on? I can not. However I know, that if I’ll ask him first about automatic updates and he’ll agree to forget about application maintenance, his experience will be much better.&lt;/p&gt;  &lt;p&gt;So,we are connected. What now? I want to make time reporting system. Web service? Maybe some kind of distributed application. Maybe, even &lt;a href="http://twitter.com/tamir" target="_blank"&gt;Twitter&lt;/a&gt;? This way we can be sure, that our data is safe and if user reinstall whole system, he do not really need to care about backups. &lt;/p&gt;  &lt;p&gt;But users not always have internet access. Sometimes they are offline. How to solve the problem of occasionally connected users? I do not want him every lunch want for two minutes, until I realize, that there is no internet connection and will not even give him a chance to use the application?&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/ActionrequiredSmartclientusersgroup_13148/image_10278991-02bf-4f23-9df9-d51332414509.png" title="image" alt="image" border="0" height="412" width="632" /&gt; &lt;/p&gt;  &lt;p&gt;So, we also want our system to be useful offline. But what’s up with Web 10.0? We want millions. We want very broad reach for our application. Also we want to be able to manage application updates remotely?&lt;/p&gt;  &lt;p&gt;Let’s take a look into other pan of application development. Do you like JavaScript? I do not! I think it’s too complicated to develop things for web. We should invest into at least 50% of coverage and integration tests, while giving customers pretty poor user experience. What is we want to provide the same look and feel everywhere? In web, desktop, mobile and other devices? Our customers want the application everywhere?&lt;/p&gt;  &lt;h3&gt;Summary&lt;/h3&gt;  &lt;p&gt;This is exactly what Smart client designed for. Technologies such as .NET, WPF, Silverlight from Microsoft, Flex, Thermo from Adobe and others tries to make you to be there with your application. But how to do it? How to answer all those hard questions, I asked?&lt;/p&gt;  &lt;p&gt;I want to announce new (currently virtual) user group, dedicated to Smart Client development. I do not want to restrict this group geographically, due to fact, that current infrastructures allows us to forget about distances and be together. Join today “Smart Client development” user group.&lt;/p&gt;  &lt;p&gt;In order to join, just send me an email to &lt;i&gt;tamir [at] khason.biz&lt;/i&gt; with information about you. I put the request to create this user group in INETA. Once it will be opened, I’ll send everyone email to register and connect them selves to this group.&lt;/p&gt;  &lt;p&gt;Be in touch.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=91573" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/promo/default.aspx">promo</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+general/default.aspx">blogging general</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Live/default.aspx">Windows Live</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category></item><item><title>Software is sucks? Probably it really is!</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/12/03/software-is-sucks-probably-it-really-is.aspx</link><pubDate>Tue, 04 Dec 2007 00:57:03 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:39373</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>15</slash:comments><description>&lt;h3&gt;[This blog was migrated. You will not be able to comment here.&lt;br /&gt;The new URL of this post is &lt;a href="http://khason.net/blog/software-is-sucks-probably-it-really-is/"&gt;http://khason.net/blog/software-is-sucks-probably-it-really-is/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Remember &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/11/18/how-to-make-your-code-completely-unreadable-with-net-3-5.aspx"&gt;new features, that make your code unreadable&lt;/a&gt;? A couple of days ago, &lt;a href="http://blogs.msdn.com/pfxteam/"&gt;CLR team&lt;/a&gt; &lt;a href="http://blogs.msdn.com/pfxteam/archive/2007/11/29/6558413.aspx"&gt;released&lt;/a&gt; first preview of &lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=516"&gt;Parallel Computing for .NET&lt;/a&gt;. Isn&amp;#39;t it really cool, that now you can use full power of your computer? I decided to test the extension and wrote simple routine, that throttles your CPU.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;static int i=0;     &lt;br /&gt;static void MessMe()      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for (;;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i ++;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (Console.KeyAvailable)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey(true);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; break;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Cool, now let&amp;#39;s run it (with measurement) on my Dual Core 2 processor.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MessMe();&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img height="54" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_fbc469a0-5f19-4136-a0a7-c8b6e357f02f.png" width="322" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Nice, 54K simple math operations per second with half of each of my cores&lt;/p&gt;  &lt;p&gt;&lt;img height="88" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_4fdad49e-0a30-443f-8f52-291dd6b33e40.png" width="243" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;It&amp;#39;s already works (maybe because of &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/11/29/as-promised-i-reinstall-my-laptop-with-windows-vista-64bit.aspx"&gt;my super OS&lt;/a&gt;?), but I still did not used it. Let&amp;#39;s try to use the Parallel Computing extension.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Parallel.Do(MessMe);&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img height="49" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_688e5aab-6c90-41ba-9fd8-16211cb404d4.png" width="324" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;What&amp;#39;s going on with CPU?&lt;/p&gt;  &lt;p&gt;&lt;img height="73" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_32bfe84c-160d-47c3-8257-210d88345151.png" width="253" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Looks the same? Probably. Now the question is why the application performance &lt;u&gt;degraded&lt;/u&gt;? Maybe it should know how much cycles I need?&lt;/p&gt;  &lt;p&gt;&lt;img height="48" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_4a3a976d-5803-433a-9230-ca5ad7f92a94.png" width="331" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;And now with the Extension&lt;/p&gt;  &lt;p&gt;&lt;img height="46" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_b0426605-6955-4b51-ba15-daef4c7bd4e3.png" width="325" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Well, not really works. Let&amp;#39;s try another method&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Parallel.For(1, int.MaxValue, delegate(int k)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i = k;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (Console.KeyAvailable)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey(true);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;img height="46" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/SoftwareissucksProbablyitreallyis_1187F/image_d6aa20e4-54cb-4e70-ba82-ce5fb6bb8153.png" width="334" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Hmmm, it looks much better now, but still I do not understand that&amp;#39;s going on here. &lt;/p&gt;  &lt;p&gt;Yes, I know, this is stupid way to test framework and it&amp;#39;s very early stage to judge, however, please someone can explain me what exactly wrong I&amp;#39;m doing?&lt;/p&gt;  &lt;p&gt;Download &lt;a href="http://msdn2.microsoft.com/en-us/concurrency/default.aspx"&gt;Parallel Computing December CTP&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=39373" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tutorial/default.aspx">tutorial</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/source/default.aspx">source</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category></item><item><title>The first full time WPF training is over</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/06/07/The-first-full-time-WPF-training-is-over.aspx</link><pubDate>Fri, 08 Jun 2007 00:41:21 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:14263</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>1</slash:comments><description>[This blog was migrated. You will not be able to comment here. The new URL of this post is http://khason.net/blog/the-first-full-time-wpf-training-is-over/ ] Today, for the first time since Hi-Tech college days about seven years ago, I teaches full day dev session. It was about WPF and covered all information from fundamentals to interop. I can tag this session as &amp;quot;Learn to understand and write WPF in eight ours&amp;quot; (cool name, indeed). Here the list of topics were covered: Fundamentals (30...(&lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/06/07/The-first-full-time-WPF-training-is-over.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=14263" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category></item><item><title>DataGrid or not?</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/01/26/DataGrid-or-not_3F00_.aspx</link><pubDate>Fri, 26 Jan 2007 18:31:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:7267</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>1</slash:comments><description>[This blog was migrated. You will not be able to comment here. The new URL of this post is http://khason.net/blog/datagrid-or-not/ ] Are WPF developers really need DataGrid component (as like the awful one in VB, .NET 1.1 and 2). My opinion - no , but there are those who want it. Generally, Microsoft is not &amp;quot;Component Provider&amp;quot;. This place is saved for 3 d parties like Infragistics , Xceed etc. They are doing great work by saving valuable time for companies. From the other hand, GridView...(&lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/01/26/DataGrid-or-not_3F00_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=7267" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category></item></channel></rss>