<?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 : help</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/tags/help/default.aspx</link><description>Tags: help</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>Asus R50A UMPC review</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/11/13/asus-r50a-umpc-review.aspx</link><pubDate>Thu, 13 Nov 2008 18:26:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:165513</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>2</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/asus-r50a-umpc-review/"&gt;http://khason.net/blog/asus-r50a-umpc-review/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;So, I got new branded &lt;a href="http://www.asus.com/products.aspx?l1=5&amp;amp;l2=25&amp;amp;l3=722&amp;amp;l4=0&amp;amp;model=2295&amp;amp;modelmenu=1" target="_blank"&gt;Asus R50A UMPC&lt;/a&gt; for test. This ultra mobile machine with 5.6&amp;quot; WSVGA (1024x768) 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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://www.flickr.com/photos/dedjo/3027945780/" target="_blank"&gt;&lt;img src="http://farm4.static.flickr.com/3034/3027945780_697d7fff14.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.flickr.com/photos/dedjo/3027224451/" target="_blank"&gt;&lt;img src="http://farm4.static.flickr.com/3191/3027224451_296000114b.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;What in the box? Power adapter (110/220V), compact keyboard, bunch of cables, extra stilus and handling strap.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.flickr.com/photos/dedjo/3027970572" target="_blank"&gt;&lt;img src="http://farm4.static.flickr.com/3007/3027970572_feba1fdcc8.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;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 - first took more, then 15 minutes).&lt;/p&gt; &lt;p&gt;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&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.flickr.com/photos/dedjo/3027956200/" target="_blank"&gt;&lt;img src="http://farm4.static.flickr.com/3140/3027956200_c13d658754.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Also it has no drivers for strange device, named &amp;quot;Mini Card&amp;quot; (with factory branded Asus OS installation)&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.flickr.com/photos/dedjo/3027130301/" target="_blank"&gt;&lt;img src="http://farm4.static.flickr.com/3026/3027130301_fb08e0b099.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Well, it&amp;#39;s probably because I&amp;#39;m still not connected to internet... Let&amp;#39;s connect office WiFi... Err... It has some troubles with wireless network discovery - 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&amp;#39;s connect it. Hm, &amp;quot;unable to connect&amp;quot;... 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 &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx" target="_blank"&gt;vista battery saver&lt;/a&gt; it extended to 3, while this device does not support aero interface).&lt;/p&gt; &lt;p&gt;But the final accord was this one (one again - this is branded Asus installation):&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/AsusR50AUMPCreview_11F63/image_dcd4f35d-1091-4cd4-a3da-81d8da693e6d.png" alt="image" width="529" border="0" height="397" /&gt; &lt;/p&gt; &lt;p&gt;Bottom line: 0&lt;b&gt;/5. I paid $360 for my wife&amp;#39;s pink &lt;a href="http://www.amazon.com/gp/product/B001DL2BUM?ie=UTF8&amp;amp;tag=israkniga-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B001DL2BUM"&gt;Acer Aspire One&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=israkniga-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B001DL2BUM" style="margin:0px;" alt="" width="1" border="0" height="1" /&gt; and got much better computer (it even has camera).&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://twitpic.com/photos/tamir"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/AsusR50AUMPCreview_11F63/image_4.png" alt="image" width="529" border="0" height="397" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The only thing remains enigma for me is &lt;u&gt;why, the hell, this piece of crap costs more, then €1,000&lt;/u&gt;&lt;u&gt;?&lt;/u&gt;&lt;/p&gt; &lt;p&gt;Have a nice day and be good people - do not buy this machine!&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=165513" width="1" height="1"&gt;</description><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/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/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/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Hardware/default.aspx">Hardware</category></item><item><title>For all those, who have problems with running WPF Performance Profiling tool – Microsoft cares</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/09/29/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-microsoft-cares.aspx</link><pubDate>Mon, 29 Sep 2008 06:00:50 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:147527</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>2</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/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/"&gt;http://khason.net/blog/for-all-those-who-have-problems-with-running-wpf-performance-profiling-tool-%e2%80%93-microsoft-cares/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Three days ago, &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2008/09/26/the-new-version-of-wpf-performance-profiling-tool-is-available-for-download.aspx"&gt;I announced the new release of WPF Performance Profiling Tool&lt;/a&gt;. 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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;I’ll update you as soon as the patch will be available.&lt;/p&gt;  &lt;p&gt;Thank you and Shana Tova!&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="display:inline;" height="318" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/image_77B73E21.png" width="320" border="0" /&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=147527" 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/Performance/default.aspx">Performance</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/tools/default.aspx">tools</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/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/TECH/default.aspx">TECH</category></item><item><title>Visual Studio snippet designer</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/09/22/visual-studio-snippet-designer.aspx</link><pubDate>Mon, 22 Sep 2008 08:48:12 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:143415</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>5</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/visual-studio-snippet-designer/"&gt;http://khason.net/blog/visual-studio-snippet-designer/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/israel/openup/"&gt;Chicks love CodePlex&lt;/a&gt; as well as Microsoft loves it too and today they release extremely useful tool, that was internal for more, then three years. It named: “&lt;a href="http://www.codeplex.com/SnippetDesigner"&gt;Visual Studio Snippet Designer&lt;/a&gt;”.&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="display:inline;" height="515" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/image_27A4AC29.png" width="765" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;As you can, probably, understand. This tools is used to create and manage VS time savers - snippet files (introduced in VS2005)&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="display:inline;" height="520" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/image_53E1330D.png" width="430" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This is great tool, that will help you a lot to save your time during regular everyday development. Any other word is unnecessary. &lt;a href="http://www.codeplex.com/SnippetDesigner/Release/ProjectReleases.aspx"&gt;Download, install and use it!&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=143415" 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/Tips+and+Tricks/default.aspx">Tips and Tricks</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/promo/default.aspx">promo</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/download/default.aspx">download</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/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+general/default.aspx">blogging general</category></item><item><title>A little bit about batteries</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/09/20/a-little-bit-about-batteries.aspx</link><pubDate>Sat, 20 Sep 2008 09:16:52 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:142589</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>5</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/a-little-bit-about-batteries/"&gt;http://khason.net/blog/a-little-bit-about-batteries/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;I tired to write about programming, code and similar nerd stuff. So today I’ll write about … batteries. How is it? :)&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;h3&gt;How to measure batteries&lt;/h3&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;&lt;img title="image" style="display:inline;" height="318" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/image_5FDCA8A8.png" width="297" border="0" /&gt; &lt;/p&gt;  &lt;h3&gt;What does “steady current” means? &lt;/h3&gt;  &lt;p&gt;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:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;W = V * A&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;h3&gt;Types of batteries&lt;/h3&gt;  &lt;p&gt;There are various batteries, however the most famous are following:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Li-ION&lt;/strong&gt; (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. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Pros&lt;/em&gt;: Good energy to weight ration – the battery rather small in compare to the current because of their high energy density.    &lt;br /&gt;No memory effect (no loss of maximum energy capacity on repeatedly recharge after partial discharge)    &lt;br /&gt;Slow loss of charge when not in use&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cons&lt;/em&gt;: Those batteries might explode under certain conditions.    &lt;br /&gt;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.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NiCd&lt;/strong&gt; (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.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Pros&lt;/em&gt;: Tolerate to deep discharge for long period.    &lt;br /&gt;High energy density     &lt;br /&gt;Low self-discharge rate – about 20%/month&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cons&lt;/em&gt;: Cadmium is toxic material    &lt;br /&gt;Memory effect – wrong usage pattern may cause to “false bottom” effect. The battery will stop charging, before the total capacity gathered.    &lt;br /&gt;Negative temperature coefficient – As the cell temperature rose, the internal resistance fell.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NiMH&lt;/strong&gt; (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. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Pros&lt;/em&gt;: Less toxic, price effective and have higher capacity then NiCd    &lt;br /&gt;Memory effect&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cons&lt;/em&gt;: High self discharge rate    &lt;br /&gt;High application discharge rate    &lt;br /&gt;Voltage drop near as it nears full discharge&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Li-Pol&lt;/strong&gt; (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. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Pros&lt;/em&gt;: Energy density is over 20% higher, then that of Li-ION.    &lt;br /&gt;High charge rate, about 1-3 minutes for cell    &lt;br /&gt;Greater life cycle degradation rate in comparison to Li-ION    &lt;br /&gt;Very efficient current per size ration    &lt;br /&gt;Non explosive&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Cons&lt;/em&gt;: High cost    &lt;br /&gt;Low charge-discharge rate&lt;/p&gt;  &lt;h3&gt;Bottom line&lt;/h3&gt;  &lt;p&gt;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.&amp;#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. &lt;/p&gt;  &lt;p&gt;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 - full discharge – full charge”, else you’ll suffer from the “memory effect”, I spoke earlier. &lt;/p&gt;  &lt;h3&gt;Chargers&lt;/h3&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;h3&gt;How to prolong battery life time?&lt;/h3&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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 &lt;a href="http://www.codeplex.com/vistabattery"&gt;Vista Battery Saver&lt;/a&gt; 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. &lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;Do not store your battery empty. Charge it unto 40%-50% of nominal capacity and store in 15C (60F) in fridge.&amp;#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.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=142589" width="1" height="1"&gt;</description><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/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/blogging+general/default.aspx">blogging general</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/Work+process/default.aspx">Work process</category></item><item><title>Choosing new notebook</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/07/22/choosing-new-notebook.aspx</link><pubDate>Tue, 22 Jul 2008 20:07:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:123984</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/choosing-new-notebook/"&gt;http://khason.net/blog/choosing-new-notebook/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Hi, Community Brain. It’s time for me to change my old good &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Dell/default.aspx"&gt;Dell Latitude D820&lt;/a&gt;. 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.&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0"&gt;

&lt;tr&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;b&gt;Dell Precision M6300&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;b&gt;HP 8710W&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;b&gt;Lenovo T61p&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Choosingnewnotebook_E298/image_1aa51aaf-c62f-4871-a259-14c54fe767f7.png" title="image" alt="image" width="265" border="0" height="183" /&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Choosingnewnotebook_E298/image_dd3c7018-421d-4fef-9b69-9f136d805bb3.png" title="image" alt="image" width="256" border="0" height="198" /&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Choosingnewnotebook_E298/image_0027ce88-57b1-4622-bc74-a6eee63e1e47.png" title="image" alt="image" width="258" border="0" height="185" /&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Processor&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)&lt;/td&gt;
&lt;td valign="top"&gt;Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)&lt;/td&gt;
&lt;td valign="top"&gt;Intel® Core 2 Duo T9500 (2.6GHz, 6Mb, L2 cache, 800MHz FSB)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Memory&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;4GB 667MHz DDR2 SDRAM (2x2048)&lt;/td&gt;
&lt;td valign="top"&gt;4GB 667MHz DDR2 SDRAM (2x2048)&lt;/td&gt;
&lt;td valign="top"&gt;4GB 667MHz DDR2 SDRAM (2x2048)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Video Card&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;NVidia® Quadro® FX 3600M (512MB dedicated)&lt;/td&gt;
&lt;td valign="top"&gt;NVidia® Quadro® FX 3600M (512MB dedicated)&lt;/td&gt;
&lt;td valign="top"&gt;NVidia® Quadro® FX 570M (256MB dedicated)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Hard Drive&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;200GB SATA (7,200RPM) + fall sensor&lt;/td&gt;
&lt;td valign="top"&gt;200GB SATA (7,200RPM)&lt;/td&gt;
&lt;td valign="top"&gt;200GB SATA (7,200RPM) + disk encryption&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Optical device&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;8X DVD +/- RW&lt;/td&gt;
&lt;td valign="top"&gt;8X DVD +/- RW Blue-ray&lt;/td&gt;
&lt;td valign="top"&gt;8X DVD +/- RW&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Modem&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;56.6k v.92&lt;/td&gt;
&lt;td valign="top"&gt;56.6k v.92&lt;/td&gt;
&lt;td valign="top"&gt;--&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Wireless Networking&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;Intel PROWireless 4965 802.11 a/g/Draft-n&lt;/td&gt;
&lt;td valign="top"&gt;Intel® Wireless LAN 802.11a/b/g/n&lt;/td&gt;
&lt;td valign="top"&gt;Intel Wireless WiFi Link 4965AGN&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Bluetooth&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;Dell Wireless 360&lt;/td&gt;
&lt;td valign="top"&gt;Intel Bluetooth‏&lt;/td&gt;
&lt;td valign="top"&gt;Integrated Bluetooth PAN&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Primary battery&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;9 Cell Li-Ion (80 Whr)&lt;/td&gt;
&lt;td valign="top"&gt;9 Cell Li-Ion w/XPP 3 yr warranty&lt;/td&gt;
&lt;td valign="top"&gt;9 cell Li-Ion Battery&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;LCD&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;17” WUXGA (1920x1200) UltraSharp + anti-glare&lt;/td&gt;
&lt;td valign="top"&gt;17” WUXGA+WVA (1920x1200) anti-glare&lt;/td&gt;
&lt;td valign="top"&gt;15.4” WSXGA+&amp;nbsp; (1920x1200)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Weight&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;8.5 lbs/3.8 kg&lt;/td&gt;
&lt;td valign="top"&gt;7.4 lbs/3.4 kg&lt;/td&gt;
&lt;td valign="top"&gt;7.3 lbs / 3.3 kg&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Dimensions&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;1.6”(H) x 15.5”(W) x 11.3”(D)&lt;/td&gt;
&lt;td valign="top"&gt;1.3”(H) x 15.4”(W) x 10.8”(D)&lt;/td&gt;
&lt;td valign="top"&gt;1.4”(H) x 14.1”(W) x 10.4”(D)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Cons&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;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) &lt;/td&gt;
&lt;td valign="top"&gt;Everyone I asked, tell me, that HP machines are not reliable enough&lt;/td&gt;
&lt;td valign="top"&gt;Keyboard layout is absolutely awful. It impossible to work with Fn and Ctrl swapped. &lt;br /&gt;Graphic card is not strong enough &lt;br /&gt;It’s 15.4”&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;b&gt;Pros&lt;/b&gt;&lt;/td&gt;
&lt;td valign="top"&gt;It is very reliable&lt;/td&gt;
&lt;td valign="top"&gt;Very good performance &lt;br /&gt;Much lighter &lt;br /&gt;Good battery life&lt;/td&gt;
&lt;td valign="top"&gt;Absolutely reliable &lt;br /&gt;Great performance &lt;br /&gt;Outstanding battery life&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;What to do? What to choose? Please advice!
&lt;p&gt;Thank you&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=123984" width="1" height="1"&gt;</description><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/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/Dell/default.aspx">Dell</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Work+process/default.aspx">Work process</category></item><item><title>Arabic and Hebrew languages bidirectional support for Silverlight 2.0 beta 2</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/07/17/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-2-0-beta-2.aspx</link><pubDate>Thu, 17 Jul 2008 14:27:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:119417</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>34</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/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/"&gt;http://khason.net/blog/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-20-beta-2/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;
&lt;p&gt;Those days, I’m, together with guys from Microsoft Egypt and &lt;a href="http://santeon.com"&gt;Santeon&lt;/a&gt;, finishing development of bidirectional input and output support for Silverlight. I want you to take part in alpha testing of this solution. Please see the test form here and try it.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://silverlight.services.live.com/invoke/17226/BidiTest2/iframe.html" style="width:500px;height:400px;" scrolling="no" frameborder="0"&gt;&amp;amp;amp;lt;noframes&amp;amp;amp;gt;Visit &amp;amp;amp;lt;a href=&amp;quot;http://blogs.microsoft.co.il/blogs/tamir/archive/2008/07/17/arabic-and-hebrew-languages-bidirectional-support-for-silverlight-2-0-beta-2.aspx&amp;quot;&amp;amp;amp;gt;original article&amp;amp;amp;lt;/a&amp;amp;amp;gt; to test&amp;amp;amp;lt;/noframes&amp;amp;amp;gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Also, you can download &lt;a href="http://www.codeplex.com/SilverlightRTL/SourceControl/ListDownloadableCommits.aspx"&gt;latest development build&lt;/a&gt; or &lt;a href="http://www.codeplex.com/SilverlightRTL/Release/ProjectReleases.aspx"&gt;compiled binary version with debug symbols&lt;/a&gt; and try it yourself. Please, if you’re in any issue, report it, by using &lt;a href="http://www.codeplex.com/SilverlightRTL/WorkItem/List.aspx"&gt;issue tracker in CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In order to use it, all you have to do is to use custom namespace within your project and then, you’ll be able to get almost all controls, you know, but with Arabic and Hebrew RTL and LTR support. You have to set one property: FlowDirection to change the rendering method (exactly as in WPF). Here an example of usage.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;UserControl x:Class=&amp;quot;BidiTest2.Page&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml%22"&gt;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:l=&amp;quot;clr-namespace:System.Windows.BidiControls;assembly=BidiControls&amp;quot;&amp;gt; &lt;br /&gt;… &lt;br /&gt;&amp;lt;l:TextBlock FlowDirection=&amp;quot;LeftToRight&amp;quot; Text=&amp;quot;שלום עולם&amp;quot;/&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;l:TextBox FlowDirection=&amp;quot;RightToLeft&amp;quot; Text=&amp;quot;{Binding Text, Mode=TwoWay}&amp;quot;/&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;That’s all. Thank you for your cooperation.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/ArabicandHebrewlanguagesbidirecti.0beta2_92E8/image_160565ad-72a1-4fed-8640-a3d2142a2b95.png" title="image" alt="image" width="258" border="0" height="184" /&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=119417" 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/source/default.aspx">source</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/promo/default.aspx">promo</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/demos/default.aspx">demos</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/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/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>Quick Silverlight Tip: How to access HTML DOM from Silverlight and Silverlight managed objects from HTML?</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/07/01/quick-silverlight-tip-how-to-access-html-dom-from-silverlight-and-silverlight-managed-objects-from-html.aspx</link><pubDate>Tue, 01 Jul 2008 16:56:33 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:110526</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>3</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/quick-silverlight-tip-how-to-access-html-dom-from-silverlight-and-silverlight-managed-objects-from-html/"&gt;http://khason.net/blog/quick-silverlight-tip-how-to-access-html-dom-from-silverlight-and-silverlight-managed-objects-from-html/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;After &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2008/06/30/printouts-of-the-slides-presented-on-silverlight-2-0-open-house-today.aspx"&gt;my session yesterday&lt;/a&gt;, I got number of email from people, who have a problem to access HTML DOM from Silverlight and vice verse. I want to answer to all of you by this post.&lt;/p&gt;  &lt;h3&gt;Access HTML from Silverlight&lt;/h3&gt;  &lt;p&gt;You have not do anything special in Silverlight to access it.&amp;#160; Your friend is &lt;strong&gt;HtmlPage.Window&lt;/strong&gt; object. For example, if I want to execute &lt;em&gt;window.open&lt;/em&gt; JavaScript method from Silverlight, all I have to do is to call:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;public void OpenWindow()&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;HtmlPage.Window.Invoke(&amp;quot;open&amp;quot;, new object[] { &amp;quot;&lt;a href="http://blogs.microsoft.co.il/blogs/tamir"&gt;http://blogs.microsoft.co.il/blogs/tamir&lt;/a&gt;&amp;quot;, &amp;quot;login&amp;quot;, &amp;quot;resizable=1,width=646,height=436&amp;quot; });&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;HtmlPage.Window.Invoke also returns Object – this is the response of function executed.&lt;/p&gt;  &lt;h3&gt;Access Silverlight Managed Objects from HTML&lt;/h3&gt;  &lt;p&gt;Here you should remember two things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You should mark &lt;u&gt;both&lt;/u&gt;&lt;strong&gt; class&lt;/strong&gt; and &lt;strong&gt;member&lt;/strong&gt; you want to access with special attributes &lt;strong&gt;ScriptableType &lt;/strong&gt;(for class) and &lt;strong&gt;ScriptableMember&lt;/strong&gt; (for member)&lt;/li&gt;    &lt;li&gt;Register Scriptable object anywhere (for example in Constructor).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So, if you want OpenWindow method to be exposed from the Page class to HTML, you should use following code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; [ScriptableType]     &lt;br /&gt;public partial class Page : UserControl&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt; public Page() {      &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; InitializeComponent();      &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; HtmlPage.RegisterScriptableObject(&amp;quot;Page&amp;quot;, this);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt; [ScriptableMember]     &lt;br /&gt;public void OpenWindow() {      &lt;br /&gt;object o = HtmlPage.Window.Invoke(&amp;quot;open&amp;quot;, new object[] { &amp;quot;&lt;a href="http://blogs.microsoft.co.il/blogs/tamir"&gt;http://blogs.microsoft.co.il/blogs/tamir&lt;/a&gt;&amp;quot;, &amp;quot;login&amp;quot;, &amp;quot;resizable=1,width=646,height=436&amp;quot; });      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }      &lt;br /&gt; }&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That’s all, folks. Be good people and have a nice day. &lt;/p&gt;  &lt;p&gt;Here the script of test application:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Page.xaml&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;UserControl x:Class=&amp;quot;DomAccessDemo.Page&amp;quot;&lt;/p&gt;    &lt;p&gt; xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/a&gt;&amp;quot;&lt;/p&gt;    &lt;p&gt; xmlns:x=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;&amp;quot;&lt;/p&gt;    &lt;p&gt; Height=&amp;quot;20&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;Grid x:Name=&amp;quot;LayoutRoot&amp;quot; Background=&amp;quot;White&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;Button Click=&amp;quot;Button_Click&amp;quot; Content=&amp;quot;Fun!&amp;quot;/&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/Grid&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/UserControl&amp;gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Page.xaml.cs&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;using System.Windows;&lt;/p&gt;    &lt;p&gt;using System.Windows.Controls;&lt;/p&gt;    &lt;p&gt;using System.Windows.Documents;&lt;/p&gt;    &lt;p&gt;using System.Windows.Input;&lt;/p&gt;    &lt;p&gt;using System.Windows.Media;&lt;/p&gt;    &lt;p&gt;using System.Windows.Media.Animation;&lt;/p&gt;    &lt;p&gt;using System.Windows.Shapes;&lt;/p&gt;    &lt;p&gt;using System.Windows.Browser;&lt;/p&gt;    &lt;p&gt;using System.ComponentModel;&lt;/p&gt;    &lt;p&gt;namespace DomAccessDemo&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; [ScriptableType]&lt;/p&gt;    &lt;p&gt;public partial class Page : UserControl&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;public Page()&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; InitializeComponent();&lt;/p&gt;    &lt;p&gt;HtmlPage.RegisterScriptableObject(&amp;quot;Page&amp;quot;, this);&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt;private void Button_Click(object sender, RoutedEventArgs e)&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OpenWindow();&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [ScriptableMember]&lt;/p&gt;    &lt;p&gt;public void OpenWindow()&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;object o = HtmlPage.Window.Invoke(&amp;quot;open&amp;quot;, new object[] { &amp;quot;&lt;a href="http://blogs.microsoft.co.il/blogs/tamir"&gt;http://blogs.microsoft.co.il/blogs/tamir&lt;/a&gt;&amp;quot;, &amp;quot;login&amp;quot;, &amp;quot;resizable=1,width=646,height=436&amp;quot; });&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;&lt;b&gt;DomAccessDemoTestPage.aspx&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;html xmlns=&amp;quot;&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&amp;quot; style=&amp;quot;height:100%;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;title&amp;gt;Test Page For DomAccessDemo&amp;lt;/title&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;function testSL()&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p&gt;var xaml = document.getElementById(&amp;quot;Xaml1&amp;quot;); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; xaml.Content.Page.OpenWindow(); &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;body style=&amp;quot;height:100%;margin:0;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot; style=&amp;quot;height:100%;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:ScriptManager ID=&amp;quot;ScriptManager1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:ScriptManager&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div style=&amp;quot;height:100%;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Silverlight ID=&amp;quot;Xaml1&amp;quot; runat=&amp;quot;server&amp;quot; Source=&amp;quot;~/ClientBin/DomAccessDemo.xap&amp;quot; MinimumVersion=&amp;quot;2.0.30523&amp;quot; Width=&amp;quot;100%&amp;quot; Height=&amp;quot;100%&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/form&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;button onmouseup=&amp;quot;testSL();&amp;quot;&amp;gt;Test&amp;lt;/button&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/body&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=110526" width="1" height="1"&gt;</description><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/source/default.aspx">source</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/WPF_2F00_E/default.aspx">WPF/E</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></item><item><title>My XBAP deployment fails on user account, while administrators can run it well - what to do?</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/03/11/my-xbap-deployment-fails-on-user-account-while-administrators-can-run-it-well-what-to-do.aspx</link><pubDate>Wed, 12 Mar 2008 00:19:40 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:65401</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>1</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/my-xbap-deployment-fails-on-user-account-while-administrators-can-run-it-well-what-to-do/"&gt;http://khason.net/blog/my-xbap-deployment-fails-on-user-account-while-administrators-can-run-it-well-what-to-do/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;I know only one person, who has following problem, however it makes sense to post all steps to perform in order to solve the problem. Let&amp;#39;s start from the &lt;u&gt;error&lt;/u&gt;:&lt;/p&gt;  &lt;p&gt;While trying to run XBAP application with user&amp;#39;s account on my machine, I get following error: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;System.UnauthorizedAccessException was unhandled Message=&amp;quot;Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))&amp;quot; Source=&amp;quot;System.Deployment&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;while administrators on the same machine have no problem to run the same XBAPs.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Side note&lt;/em&gt;: Similar problems might be while running XPS viewer directly from Internet Explorer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Declaimer:&lt;/strong&gt; &lt;em&gt;This posting is provided &amp;quot;AS IS&amp;quot; with no warranties, and confers no rights. Following methods are not an officially supported feature. You can use it strictly for debugging purposes.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Following steps you should take in order to find the root of the problem&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Check it your users able to get cookies (they should be able to write into isolated storage)     &lt;br /&gt;in order to do it, repair simple HTML page on web server in the same security zone and put following code there      &lt;br /&gt;      &lt;br /&gt;&lt;em&gt;document.cookie = &amp;quot;testxbapcookie=whatever;expires=&lt;code&gt;12/12/2999 00:00:00&lt;/code&gt;&amp;quot;;        &lt;br /&gt;var c = &lt;/em&gt;&lt;code&gt;&lt;em&gt;document.cookie.match ( &amp;#39;(^|;) ?testxbapcookie=([^;]*)(;|$)&amp;#39; );         &lt;br /&gt;if(c)&lt;/em&gt;&lt;/code&gt;&lt;/li&gt;   &lt;em&gt;document.cookie = &amp;quot;testxbapcookie=whatever;expires=&lt;code&gt;12/12/1999 00:00:00&lt;/code&gt;&amp;quot;;      &lt;br /&gt;else      &lt;br /&gt;alert(&amp;quot;cannot set cookie&amp;quot;);&lt;/em&gt;    &lt;br /&gt;    &lt;br /&gt;If you see alert - enable cookie support for this security zone    &lt;br /&gt;    &lt;li&gt; Next step is to check if the user able to write into storage. To do it try to copy and then read some file into &amp;quot;&lt;em&gt;documents and settings\[USERNAME]\Local Settings\Apps\2.0&lt;/em&gt;&amp;quot; directory. If you cannot - ask the administrator to give full access to the user to this directory - it&amp;#39;s the user&amp;#39;s own directory&lt;/li&gt;    &lt;li&gt;Next step is to check ability of the user to write into some registry key. Try to write something into &lt;em&gt;HKCU\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\SideBySide\2.0&lt;/em&gt; if you cannot - ask administrator to give right for this node. Alternatively, you can run simple .NET program.      &lt;br /&gt;      &lt;br /&gt;Guid ri = new Guid(&amp;quot;a5c62f6d-5e3e-4cd9-b345-6b281d7a1d1e&amp;quot;);      &lt;br /&gt;object o = GetUserStore(0,IntPtr.Zero, ref ri);      &lt;br /&gt;      &lt;br /&gt;if it failed, enable the access for this node. If you want to me&amp;#160; general, check whether client can read &lt;em&gt;HKCU\Software\Classes &lt;/em&gt;before. Also you can check and access to &lt;em&gt;HKCR\Interface\{79EAC9C9-BAF9-11CE-8C82-00AA004BA90B}&lt;/em&gt; registry node.&lt;/li&gt;    &lt;li&gt;If the problem still exists, ask administrator to go to &lt;em&gt;HKLM\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\Hosting &lt;/em&gt;node in registry and create DWORD RunUnrestricted=1 value. This will force PresentationHost to restart itself might solve the problem. Please note, setting RunUnrestricted value might have side effects&lt;/li&gt;    &lt;li&gt;If you still have a problem - try to delete and recreate the user or reinstall your operation system.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Have a nice day and don&amp;#39;t fall with problem - if you do not really need XBAP - do not use it!&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=65401" 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/Tips+and+Tricks/default.aspx">Tips and Tricks</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/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XPS/default.aspx">XPS</category></item><item><title>How to merge help files to appear inside Visual Studio?</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/01/09/how-to-merge-help-files-to-appear-inside-visual-studio.aspx</link><pubDate>Wed, 09 Jan 2008 17:08:18 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:49408</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>0</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/how-to-merge-help-files-to-appear-inside-visual-studio/"&gt;http://khason.net/blog/how-to-merge-help-files-to-appear-inside-visual-studio/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;How many times after an installation of some SDK, you saw, that nothing has been merged into Visual Studio help. You press F1 and nothing happens? What to do? Actually, the answer is really stupid. You should go into Visual Studio Documentation (Programs-&amp;gt;Visual Studio [number]-&amp;gt;Visual Studio [number] documentation), go to Index and set filter by property to (unfiltered) and then look for &lt;strong&gt;collection manager-&amp;gt;help&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img height="525" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/HowtomergehelpfilestoappearinsideVisualS_AAA4/image_36b41111-1f33-419f-a7cf-0a9072d83a51.png" width="506" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;There you will find all help files installed in your system and now, you can merge (or unmerge) them manually by marking relevant checkboxes and clicking &amp;quot;Update VSCC&amp;quot; button.&lt;/p&gt;  &lt;p&gt;This is really simple, but for me it looks a bit strange, that in order to do it, you should not go to any of options, but search into help context. However, this is the real live :)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;Declaimer&lt;/u&gt;: this is not internal or private information of Microsoft Corporation. You can reference to online MSDN library to find small information pieces about this issue. &lt;a href="http://msdn2.microsoft.com/en-us/library/ms174038.aspx"&gt;Here one of such pieces&lt;/a&gt; (look for note section)&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=49408" width="1" height="1"&gt;</description><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/help/default.aspx">help</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/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/Accessibility/default.aspx">Accessibility</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Is it Dell in Israel or x5 prices of Dell accessories</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/10/30/is-it-dell-in-israel-or-x5-prices-of-dell-accessories.aspx</link><pubDate>Tue, 30 Oct 2007 17:12:21 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:30667</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>11</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/is-it-dell-in-israel-or-x5-prices-of-dell-accessories/"&gt;http://khason.net/blog/is-it-dell-in-israel-or-x5-prices-of-dell-accessories/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Those, who remember &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/11/Israel_3F00_-It_2700_s-beside-our-propose_2E002E002E00_-The-Dell-story.aspx"&gt;my&lt;/a&gt; &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/13/Dell-story-_2D00_-part-II.aspx"&gt;posts&lt;/a&gt; about Dell Israel, probably know what I&amp;#39;m going to talk about. How much costs &lt;a href="http://accessories.us.dell.com/sna/productdetail.aspx?c=us&amp;amp;l=en&amp;amp;s=dhs&amp;amp;cs=19&amp;amp;sku=UC172"&gt;Dell Latitude D820 keyboard (part number: UC172)&lt;/a&gt; in Israel? &lt;/p&gt;  &lt;p&gt;&lt;img height="101" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/IsitDellinIsraelorx5pricesofDellaccessor_B4DD/image_5a297b50-566b-4a4c-bf6c-289f21c2a58d.png" width="578" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Well, shipping, handling, etc... Let&amp;#39;s say another 20$ (it&amp;#39;s almost twice). So, &lt;strong&gt;$13.59 + $20 = $33.59&lt;/strong&gt;. Well, they should be profitable, so another 10% = $1.36. You know what, 25% = $3.4. OK, ok, this is little money, so &lt;strong&gt;$40&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;I just received the proposal from the &lt;a href="http://omnitech.co.il/"&gt;well known company&lt;/a&gt;, which is authorized distribute of Dell in Israel as following &lt;strong&gt;$135&lt;/strong&gt; (+VAT). &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="207" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/IsitDellinIsraelorx5pricesofDellaccessor_B4DD/image_3.png" width="578" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;I called general manager of the company and asked him the simple question: &amp;quot;WHY?&amp;quot;. He responded: $75 - the keyboard + work. Well, 65$ for keyboard installation (even in laptop) takes about 15 minutes. So their technicians earns much more then software architects and consulters, about 260$/hour. Maybe I got a wrong job? &lt;/p&gt;  &lt;p&gt;But, let&amp;#39;s leave technicians alone and see their earn margins - it&amp;#39;s &lt;strong&gt;500%. &lt;/strong&gt;Pretty good, isn&amp;#39;t it?&lt;/p&gt;  &lt;p&gt;I tried to call &lt;a href="http://dell.co.il/"&gt;Dell Israel&lt;/a&gt; to get answers, but &lt;u&gt;no one&lt;/u&gt;&amp;amp;#xA0; (of 10 extensions) did not even poke a phone. I&amp;#39;ll send them and their parent company an email to ask about their price policy. Maybe this way I&amp;#39;ll be less surprised about such prices... &lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=30667" width="1" height="1"&gt;</description><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/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/Dell/default.aspx">Dell</category></item><item><title>WPF perf sessions is over and results are coming. What's new (in performance case) in .NET 3.5 and 3.0 SP1</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/10/11/wpf-perf-sessions-is-over-and-results-are-coming-what-s-new-in-performance-case-in-net-3-5-and-3-0-sp1.aspx</link><pubDate>Thu, 11 Oct 2007 14:40:57 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:27030</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>1</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/wpf-perf-sessions-is-over-and-results-are-coming-whats-new-in-performance-case-in-net-35-and-30-sp1/"&gt;http://khason.net/blog/wpf-perf-sessions-is-over-and-results-are-coming-whats-new-in-performance-case-in-net-35-and-30-sp1/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;After &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/09/25/wpf-performance-labs.aspx" target="_blank"&gt;WPF performance sessions&lt;/a&gt; is over, one of WPF performance PMs, Josef Goldberg &lt;a href="http://blogs.msdn.com/jgoldb/archive/2007/10/10/performance-improvements-in-wpf-in-net-3-5-3-0-sp1.aspx" target="_blank"&gt;discovered in his blog&lt;/a&gt; about what are good news, will come with WPF (3.5 and 3.0/SP1). Here come the list:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Animation smoothing improvements (finally, it&amp;#39;ll use DWM engines)&lt;/li&gt;    &lt;li&gt;Layered Windows Improvements - fix was released about three months ago. This one will be included as well in SP1&lt;/li&gt;    &lt;li&gt;Data Binding improvements - XMLDataSource will work faster&lt;/li&gt;    &lt;li&gt;Coldstart time (hmmm, sounds strange, due to fact, that delays mostly come from CLR, not from WPF. But who knows)&lt;/li&gt;    &lt;li&gt;Workset - less (or more???) space for future possibilities?&lt;/li&gt;    &lt;li&gt;Software rendering improvements. We&amp;#39;ll finally be able to do it manually.&lt;/li&gt;    &lt;li&gt;Battery life improvements - well, not sounds good :)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;But the real good news, that we where sounded. And this is the real value of this event.&lt;/p&gt;  &lt;p&gt;Tnx, &lt;a href="http://blogs.msdn.com/jgoldb/" target="_blank"&gt;Yossi&lt;/a&gt; :) &lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=27030" 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/help/default.aspx">help</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/promo/default.aspx">promo</category></item><item><title>Hack read only properties and fields using reflection</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/07/22/Hack-read-only-properties-and-fields-using-reflection.aspx</link><pubDate>Sun, 22 Jul 2007 18:50:59 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:20414</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>1</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/hack-read-only-properties-and-fields-using-reflection/"&gt;http://khason.net/blog/hack-read-only-properties-and-fields-using-reflection/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Today I got really confusing question: &amp;quot;Is it possible to change readonly property?&amp;quot;. The first question, I asked is: &amp;quot;Why to do it?&amp;quot;. The next thought was: &amp;quot;This is dammed interesting, whether is possible&amp;quot;. Let&amp;#39;s see...&lt;/p&gt;  &lt;p&gt;One thing is sure - we can not do it regular way, but we can do it for sure by using reflection. Let&amp;#39;s create the class itself&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#00ff00;"&gt;TestReadOnly &lt;/span&gt;&lt;span style="color:#0000ff;"&gt; { 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; ReadOnlyField = 10; 
      &lt;br /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;readonly&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; m_readOnlyProperty = 20; 
      &lt;br /&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; ReadOnlyProperty { &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;get&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; { &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;&lt;span style="color:#0000ff;"&gt; m_readOnlyProperty; } } }&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, let&amp;#39;s see what values we have&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;/p&gt;

  &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;TestReadOnly&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; tro1 = &lt;/span&gt;&lt;span style="color:#a31515;"&gt;new&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;TestReadOnly&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;(); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Console&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;&amp;quot;Field value: {0}, Property value: {1}&amp;quot;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;,tro1.ReadOnlyField, tro1.ReadOnlyProperty);&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;

  &lt;p&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, the results are as expected: 10 and 20. The next step is to change them from external class. Is it possible? Yes, it is. The magic word is &amp;quot;reflection&amp;quot;. We&amp;#39;ll read the read only field by using reflection&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Type&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; t = &lt;/span&gt;&lt;span style="color:#a31515;"&gt;typeof&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;TestReadOnly&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;FieldInfo&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; fi = t.GetField(&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;&amp;quot;ReadOnlyField&amp;quot;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;);&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, we&amp;#39;ll just set its value.&lt;/p&gt;

&lt;div&gt;
  &lt;blockquote&gt;
    &lt;pre&gt;fi.SetValue(tro1, 50);&lt;/pre&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;pre&gt;&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;pre&gt;&amp;amp;#xA0;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Well, well, well. It works. Just works. You can change field value by using reflection, even if the field is read only (actually, it is not a lot of sense to du such thing).&lt;/p&gt;

&lt;p&gt;Now, the next step of our challenge. Change the read only property. This might be tricky, &amp;#39;cos actually, there is no setter at all in IL level. Let&amp;#39;s try&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PropertyInfo&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; pi = t.GetProperty(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;ReadOnlyProperty&amp;quot;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;[] arg = &lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;new&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;[0]; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;pi.SetValue(tro1, 60, args); &lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Too bad, we caught ArgumentException. It&amp;#39;s clear, &amp;#39;cos there are actually no code we can execute this way. But, if we&amp;#39;ll look into Reflector, we can find the private read only field and set it as we did in our previous example.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;PropertyInfo&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; pi = t.GetProperty(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;ReadOnlyProperty&amp;quot;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;[] arg = &lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;new&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;[0]; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;try &lt;/span&gt;&lt;span style="color:#2b91af;"&gt; { pi.SetValue(tro1, 60, args); } 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;catch&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; (&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;ArgumentException&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; e) { &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;font color="#2b91af"&gt; 
        &lt;br /&gt;&lt;/font&gt;FieldInfo&lt;/span&gt;&lt;span style="color:#2b91af;"&gt; fi1 = t.GetField(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;quot;m_readOnlyProperty&amp;quot;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;, 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;BindingFlags&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;.Instance | &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;BindingFlags&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;.NonPublic); 
      &lt;br /&gt;fi1.SetValue(tro1, 60); 

      &lt;br /&gt;}&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now it works. Cool, we changed read only property of managed object. And what&amp;#39;s about unmanaged code? Let&amp;#39;s try to do the same thing with Outlook Appointment. &lt;/p&gt;

&lt;p&gt;To access System.__ComObject (the real object in underlying model), we can not use regular GetMember method (due to the fact, that, actually, there are no managed methods there). But, we can invoke methods (note, that property getters and setters are actually methods ued to set values). How to do it? Simple. First of all, let&amp;#39;s create boring outlook stuff &lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Application&lt;/span&gt;&lt;span style="color:#000000;"&gt; applicationObject = &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;ApplicationClass&lt;/span&gt;&lt;span style="color:#000000;"&gt;(); 
      &lt;br /&gt;Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;MAPIFolder&lt;/span&gt;&lt;span style="color:#000000;"&gt; calendarFolder = applicationObject.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;OlDefaultFolders&lt;/span&gt;&lt;span style="color:#000000;"&gt;.olFolderCalendar); 
      &lt;br /&gt;Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Items&lt;/span&gt;&lt;span style="color:#000000;"&gt; appointments = calendarFolder.Items;&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, let&amp;#39;s iterate appointments to get it&amp;#39;s underlying objects. For each appointment we&amp;#39;ll get read only LastModificationTime property&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#a31515;"&gt;AppointmentItem&lt;/span&gt;&lt;span style="color:#000000;"&gt; appointment = (Microsoft.Office.Interop.Outlook.&lt;/span&gt;&lt;span style="color:#a31515;"&gt;AppointmentItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;)item; 
      &lt;br /&gt;

      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Console&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;quot;COM Field: {0}&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;, appointment.LastModificationTime); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;//appointment.LastModificationTime is read only&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, let&amp;#39;s invoke it&amp;#39;s setter (that, actually does not exists)&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;appointment.GetType().InvokeMember(&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;&amp;quot;LastModificationTime&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;, 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;BindingFlags&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Default | &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;BindingFlags&lt;/span&gt;&lt;span style="color:#000000;"&gt;.SetProperty, &lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;, 
      &lt;br /&gt;appointment, &lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#ff00ff;"&gt;object&lt;/span&gt;&lt;span style="color:#000000;"&gt;[] 
      &lt;br /&gt;{ &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;DateTime&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Now });&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;As expected, we got an exception. But this time, it&amp;#39;s TargetInvokationException (we invoke it, remember). What to do? Not a lot. Look and seek OLEViewer to figure where set_LastModificationTime occurs and invoke it with new params. I have neither time, nor wish to do it, but you can. See the very beginning of this post. We should figure what actually happens in order to be able to change it. With unmanaged code it&amp;#39;s much harder, that with managed. But it&amp;#39;s possible. &lt;/p&gt;

&lt;p&gt;Have a nice day.&lt;/p&gt;

&lt;p&gt;Ah, don&amp;#39;t you forgot to release all this stuff?&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;finally &lt;/span&gt;&lt;span style="color:#0000ff;"&gt; { 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Console&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;quot;COM Field: {0}&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;, appointment.LastModificationTime); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;//time to cleanup &lt;/span&gt;&lt;span style="color:#0000ff;"&gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Marshal&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.ReleaseComObject(appointment); } 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;//Just stop it from propagating &lt;/span&gt;&lt;span style="color:#0000ff;"&gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;; } 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Marshal&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.ReleaseComObject(item); } 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Marshal&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.ReleaseComObject(appointments); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Marshal&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.ReleaseComObject(calendarFolder); 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Marshal&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;.ReleaseComObject(applicationObject);&lt;/span&gt;

    &lt;p&gt;&lt;/p&gt;

    &lt;p&gt;&amp;amp;#xA0;&lt;/p&gt;
  &lt;/pre&gt;

  &lt;pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;:) Good programming.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=20414" width="1" height="1"&gt;</description><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/help/default.aspx">help</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>VS2005 SP1 update for Vista is rather pity</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/08/VS2005-SP1-update-for-Vista-is-rather-pity.aspx</link><pubDate>Thu, 08 Mar 2007 16:45:48 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:9724</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>0</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/vs2005-sp1-update-for-vista-is-rather-pity/ ] I was rather disappointed by the new patch for Visual Studio 2005 SP1 for Windows Vista . WTF, the most significant problems such as re-rendering, JIT and elevated account requirement were addressed, but not solved. So what the patch is really for ?...(&lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/08/VS2005-SP1-update-for-Vista-is-rather-pity.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=9724" 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/help/default.aspx">help</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/VSTS/default.aspx">VSTS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>האמנו לי - אתם לא ידעים כלום...</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2007/01/30/_D405D005DE05E005D505_-_DC05D905_-_2D00_-_D005EA05DD05_-_DC05D005_-_D905D305E205D905DD05_-_DB05DC05D505DD052E002E002E00_.aspx</link><pubDate>Wed, 31 Jan 2007 04:59:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:7400</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>0</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/%d7%94%d7%90%d7%9e%d7%a0%d7%95-%d7%9c%d7%99-%d7%90%d7%aa%d7%9d-%d7%9c%d7%90-%d7%99%d7%93%d7%a2%d7%99%d7%9d-%d7%9b%d7%9c%d7%95%d7%9d/ ] חברים יקרים, אין לכם מושג על מה ואיך אני הולך לדבר. ב-5 שעות אחרונות ה מצגת שלי השתנתה לחלוטין. ומי שקורא את הבלוג שלי - הרוויח כי הנה המצגת האחרונה (Attachment), אשר תופיע בכנס מחר היום. תהנו, אך דעו לכם, שהקצב המטורף וכמות החומר החדש שנלמד לא יאפשרו...(&lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/2007/01/30/_D405D005DE05E005D505_-_DC05D905_-_2D00_-_D005EA05DD05_-_DC05D005_-_D905D305E205D905DD05_-_DB05DC05D505DD052E002E002E00_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=7400" width="1" height="1"&gt;</description><enclosure url="http://blogs.microsoft.co.il/blogs/tamir/attachment/7400.ashx" length="4701795" type="application/x-zip-compressed" /><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/help/default.aspx">help</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/events/default.aspx">events</category></item></channel></rss>