<?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>Dor Rotman`s Blog</title><link>http://blogs.microsoft.co.il/blogs/dorr/</link><description>SharePoint, Office, Web and more...</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>כנסו כנסו! SharePoint Designer 2007 להורדה בחינם!</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/04/05/sharepoint-designer-2007.aspx</link><pubDate>Sun, 05 Apr 2009 16:44:30 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:264962</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=264962</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/04/05/sharepoint-designer-2007.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;זו לא מתיחה של 1 באפריל: Microsoft Office SharePoint Designer עכשיו ניתן להורדה בחינם, מאתר ההורדות של מיקרוסופט!&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;a href="http://office.microsoft.com/search/redir.aspx?AssetID=XT103616701033&amp;amp;Origin=HH103607651033&amp;amp;CTT=5"&gt;&lt;img title="Screenshot" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="322" alt="Screenshot" src="http://blogs.microsoft.co.il/blogs/dorr/image_qHKKcQ.png" width="543" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;   &lt;br /&gt;&lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/04/02/sharepoint-designer-available-as-a-free-download.aspx"&gt;&lt;strong&gt;ההודעה&lt;/strong&gt;&lt;/a&gt; פורסמה ביום חמישי, וכבר עכשיו ניתן להוריד את התוכנה &lt;a href="http://office.microsoft.com/search/redir.aspx?AssetID=XT103616701033&amp;amp;Origin=HH103607651033&amp;amp;CTT=5"&gt;בקישור הזה&lt;/a&gt;.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;המשמעות היא שמעתה כל לקוח שמעוניין בכך, יכול לעצב לעצמו Master Pages, Workflows, Page Layouts ועוד, בלי לרכוש רישוי בנפרד! (הרי SPD לא היה באף חבילת Office..)&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;זה צעד מצוין מצד מיקרוסופט, שאני בטוח שיגביר את מיצוי היכולות מ-MOSS ויאפשר למשתמשים לבצע קסטומיזציות יותר חזקות באתרים שלהם. בפרט, ה-Power Users ברחבי האירגון יוכלו לעבוד על האתרים הצוותיים\מחלקתיים שלהם דרך הכלי הזה, וכך התלות באדמיניסטרטור פורטל תוכל לקטון.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;למי שרוצה לשמוע קצת למה הם עושים את זה, הנה וידאו שבו מדבר תום ריזו (Product Manager) על הצעד:&lt;/div&gt;  &lt;div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:ae5715f5-d669-4e5c-b3d1-e947586583ed" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cvvVJamO3nQ&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cvvVJamO3nQ&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;מזל שההודעה פורסמה ב-2 באפריל, אחרת אף אחד לא היה מאמין.. :)&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;אז יאללה, רוצו להוריד!&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=264962" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/ITPRO/default.aspx">ITPRO</category></item><item><title>How to Force Redirection From HTTP to HTTPS – The Easy (ISA) Way!</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/14/how-to-force-redirection-from-http-to-https-the-easy-isa-way.aspx</link><pubDate>Thu, 15 Jan 2009 01:21:31 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:211360</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=211360</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/14/how-to-force-redirection-from-http-to-https-the-easy-isa-way.aspx#comments</comments><description>&lt;p&gt;Yesterday I wrote a post about &lt;a href="http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/13/how-to-force-redirection-from-http-to-https-on-iis-6-0.aspx"&gt;redirecting HTTP to HTTPS&lt;/a&gt;, which uses an IIS technique to perform the redirection. However, many IIS websites are connected to the internet using &lt;strong&gt;&lt;a href="http://www.microsoft.com/forefront/edgesecurity/isaserver/en/us/default.aspx"&gt;Microsoft ISA Server&lt;/a&gt;&lt;/strong&gt;. So here’s an even easier technique to perform this:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;Open the ISA Server snap-in in the Management Console, and open the the web server’s rules properties.     &lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Go to the &lt;em&gt;Bridging &lt;/em&gt;tab.     &lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Check the box that says &lt;em&gt;Redirect requests to SSL port.     &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;4. &lt;/strong&gt;Uncheck the box that says &lt;em&gt;Redirect requests to HTTP port&lt;/em&gt;.&amp;#160; &lt;br /&gt;&lt;strong&gt;5. &lt;/strong&gt;Click &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="isa-ssl" style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="469" alt="isa-ssl" src="http://blogs.microsoft.co.il/blogs/dorr/isa-ssl_3+pn7g.png" width="408" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;And that’s it!&lt;/p&gt;  &lt;p&gt;Note that on other versions of ISA Server this window might look different, but I assume you got the idea… :)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;     &lt;br /&gt;Dor Rotman.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=211360" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/English+Posts/default.aspx">English Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/IT/default.aspx">IT</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/IIS/default.aspx">IIS</category></item><item><title>How to Force Redirection From HTTP to HTTPS on IIS 6.0</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/13/how-to-force-redirection-from-http-to-https-on-iis-6-0.aspx</link><pubDate>Tue, 13 Jan 2009 23:04:54 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:210802</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>35</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=210802</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2009/01/13/how-to-force-redirection-from-http-to-https-on-iis-6-0.aspx#comments</comments><description>&lt;p&gt;Lets say your clients write &lt;a href="http://myserver.lab"&gt;HTTP://myserver.lab&lt;/a&gt; to get to your site, but you want to redirect them automatically to an SSL secured site: &lt;a href="https://myserver.lab"&gt;HTTPS://myserver.lab&lt;/a&gt;. Unfortunately, performing this redirection in IIS 6 not a regular feature, but there’s a nice trick to do it.&lt;/p&gt;  &lt;p align="center"&gt;&lt;/p&gt;  &lt;table align="center"&gt;     &lt;tr&gt;       &lt;td style="padding-right:4px;padding-left:4px;background:#cc3300;padding-bottom:4px;padding-top:4px;"&gt;         &lt;h4&gt;Note: &lt;/h4&gt;          &lt;ul&gt;           &lt;li&gt;This process will cause some downtime and disconnect all active user sessions on the website. &lt;/li&gt;            &lt;li&gt;If you have a server farm, make sure you perform this procedure on all servers. &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;   &lt;br /&gt;Instructions for making your site accept HTTPS only:&lt;/h4&gt;  &lt;p&gt;I assume you already have a website set up on port 80.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Open IIS and right click on your website. Click &lt;em&gt;Properties&lt;/em&gt; and go to the &lt;em&gt;Web Site &lt;/em&gt;tab.     &lt;br /&gt;You can see that it uses port 80. &lt;/p&gt;  &lt;p&gt;&lt;img title="Properties Dialog" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="462" alt="Properties Dialog" src="http://blogs.microsoft.co.il/blogs/dorr/image_IkI73w.png" width="476" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Now change the port to 81, or any other port you’d like your firewall to block.     &lt;br /&gt;That’s right, we’re blocking it since we don’t clients to ever reach our website on unsecured communications. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. &lt;/strong&gt;Now type in 443 for the SSL port. That’s the standard. Click &lt;em&gt;OK&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Create a new website in IIS. Call it “mydomain.lab Redirect” (for example) and map it to port 80. If you’re using a host header, use the same host header as your original site.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Wizard" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="378" alt="Wizard" src="http://blogs.microsoft.co.il/blogs/dorr/image_Uj3bDg.png" width="486" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This site is intended to be empty. We will use an IIS technique to redirect our clients.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. &lt;/strong&gt;This is how our IIS server looks like:&lt;/p&gt;  &lt;p&gt;&lt;img title="" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="89" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/image_S9M2lQ.png" width="268" border="0" /&gt;     &lt;br /&gt;The real site is on port 81 with SSL on, and the Redirect site is on port 80.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; Right click on the “mydomain.lab Redirect” website and click &lt;em&gt;Properties&lt;/em&gt;. Go to the &lt;em&gt;Home Directory &lt;/em&gt;tab.&lt;/p&gt;  &lt;p&gt;&lt;img title="" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="462" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/image_6WZHMA.png" width="476" border="0" /&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; Choose &lt;em&gt;A redirection to a URL&lt;/em&gt;. Type in the address of your website, with an HTTPS protocol.&lt;/p&gt;  &lt;p&gt;Now here are your choices:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;If you want to redirect to the same exact address, only on HTTPS – that’s all you need to do. &lt;/li&gt;    &lt;li&gt;If you want to redirect to a certain page, like a login page – check the “&lt;em&gt;The exact URL entered above&lt;/em&gt;” box. &lt;/li&gt;    &lt;li&gt;If this redirection is permanent – and I guess it is: Check the 3rd box. It will send a different HTTP Redirect response which will tell browsers to update their cookies accordingly. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Finally, click &lt;em&gt;OK &lt;/em&gt;and test the new configuration.     &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;So what did we do? &lt;/h4&gt;  &lt;p&gt;We changed the listening port of the website from 80 to something else, and created a different “redirector” website that listens to it. The redirector tells the browser to switch to SSL, and now the new HTTP request goes to the original website. &lt;/p&gt;  &lt;p&gt;Now just don’t forget to block the new port you chose for the website!&lt;/p&gt;  &lt;p&gt;Enjoy. :)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Dor Rotman.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=210802" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/English+Posts/default.aspx">English Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/IT/default.aspx">IT</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/ITPRO/default.aspx">ITPRO</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/IIS/default.aspx">IIS</category></item><item><title>My Developer Academy 3 experience</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/12/18/my-developer-academy-3-experience.aspx</link><pubDate>Thu, 18 Dec 2008 14:38:25 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:194700</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=194700</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/12/18/my-developer-academy-3-experience.aspx#comments</comments><description>&lt;table style="direction:rtl;"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="direction:rtl;text-align:right;"&gt;השבוע נכחתי ב-&lt;a href="http://www.microsoft.com/israel/msdn/devacademy3/default.aspx"&gt;DevAcademy3&lt;/a&gt;, ביום מרוכז במיוחד של טכנולוגיות ומלא בהרצאות.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;הכל התחיל בכלל &lt;a href="http://blogs.microsoft.co.il/blogs/michalnis/archive/2008/11/18/developer-academy-3.aspx"&gt;בהזמנה שפורסמה בבלוג של מיכל&lt;/a&gt; לקבוצת בלוגרים, איך אפשר לסרב? :)&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;ככל שמועד הכנס התקרב, שמענו עליו דברים מעניינים יותר ויותר, כולל &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/11/26/who-tweets-the-most-about-developer-academy-3.aspx"&gt;ניסוי שגיא בורשטיין החליט לעשות עם twitter&lt;/a&gt;. הבחירה ב-twitter היתה מאוד מגניבה, היות וזו מדיה חדשה ומסקרנת שמתחילה לצבור תאוצה בארץ.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;למי מכם שתוהה מה זה לכל הרוחות twitter, הנה הסבר:&lt;/div&gt;          &lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:bbaa7952-b72e-49ad-8a91-5132b3f06a1d" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;div id="ddb25354-6657-4fdb-a59f-ef97ecbfd9bc" style="margin:0px;padding:0px;display:inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=ddO9idmax0o&amp;amp;hl=en&amp;amp;fs=1&amp;amp;showsearch=0" target="_new"&gt;&lt;img src="http://blogs.microsoft.co.il/blogs/dorr/video623e5fa903f0_526F52E6.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;מה שהוידאו הזה לא מציין הוא יכולות התגובה של טוויטר – בעיניי זה יותר כמו חדר-צ’אט שמתנהל לאט לאט לאורך היום. ככל שכותבים יותר, כך מקבלים יותר תגובות, וכך מערוץ שידור חד-כיווני – זה הופך לערוץ תקשורת רב-כיווני.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;אז נחזור לכנס: הוא נפתח מוקדם מהרגיל – ב-9 בבוקר כבר התחילו ההרצאות, אולי כדי להימנע מהפקקים הקבועים ל-Airport City. אמנם הפקקים היו משמעותיים, אבל הצלחתי להגיע באיחור קל בלבד, ולצפות בחלק מהרצאתו המעניינת של פבל יוסיפוביץ’ על כוחה של שפת C#.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;תוך כדי ההרצאה התחלתי לבדוק מה קורה ב-twitter: אנשים מעדכנים איפה הם בהרצאות, מה אומרים בהן, ומה מעניין קורה בכנס.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;בהמשך התקבצנו אנשי ה-twitter באולם בו תעבור הרצאת ה-Silverlight של גיא. מצאנו לעצמנו שורה פנויה ופתחנו בה מיני-בלוגיה. :) כך נראה live twittering:&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;img title="live twittering" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="267" alt="live twittering" src="http://blogs.microsoft.co.il/blogs/dorr/image_22D655BC.png" width="404" border="0" /&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;לצערי הרב שכחתי את הטלפון המגניב שלי בבית, אז נאלצתי לכתוב מהנוקיה הפשוט שלקחתי מהאוטו דרך האינטרנט הסלולרי (WAP), ובזמן שכולם מקלידים לידי משפטים בקצב מסחרר, אני בקושי מקליד אות עם המקלדת הזו..&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;אז גיא העביר את ההרצאה שלו ובנה את &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/12/15/silverlight-2-demo-from-developer-academy-3-part-1-anatomy-of-a-silverlight-application.aspx"&gt;ה-Twitter Client באמצעות Silverlight&lt;/a&gt;, ואנחנו הקלדנו במרץ מגוון משפטים משועשעים, שחלקם אף הוקרנו על המסך. תוך כדי ההקלדות והחיפוש אחר תגית DevAcademy3 בטוויטר, גילינו שזה נהפך לטרנד מס’ 2 ברשת לזמן קצר: אלה הן המילים הטרנדיות ביותר ע”פ האלגוריתם של חיפוש טוויטר:&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;img title="TwitterTrend" height="266" alt="TwitterTrend" src="http://blogs.microsoft.co.il/blogs/bursteg/TwitterTrend_1CE9E4B6.jpg" width="179" border="0" /&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;כמובן שמהר מאוד הטרנד נעלם, אך בינתיים &lt;a href="http://twitter.com/magnezi/"&gt;קובי מגנזי&lt;/a&gt; הספיק להפציץ בהרבה טוויטים על הכנס, ולזכות בעכבר מגניב. :)&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;a href="http://search.twitter.com/search?q=%23devacademy3"&gt;מי שרוצה לראות את כל הטוויטים על הכנס מוזמן להסתכל כאן.&lt;/a&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;בהמשך כל אחד הלך להרצאות שעניינו אותו, תוך כדי עדכוני טוויטר כמובן. אני המשכתי משם להרצאה על תכנות מקבילי של סשה גולדשטיין, שהיתה מעניינת ומסובכת כאחד.. ומצד שני, למה אפשר לצפות כשמדברים על נושאים כאלה? &lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;לאחר מכן האזנתי לשי פרידמן מדבר על שפות דינמיות והקשר שלהן ל-.NET.. היה נחמד מצידו לתת עותקים של Vista לכל מי שאי פעם כתב ב-VB או שמפתח ב-Office. :)&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;לסיום, ניסיתי להבין מה בדיוק עומד מאחורי ה-ASP.NET MVC Framework, אך לקראת סופה, התשישות והצינון ניצחו אותי, אז הלכתי לראות מה קורה על ספות הבלוגרים בקומה התחתונה.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;img title="image" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="269" alt="image" src="http://blogs.microsoft.co.il/blogs/dorr/image_56CF0930.png" width="404" border="0" /&gt; &lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;בסוף היום הלכנו למסעדת Air Cafe, בלוגרים ומרצים, ונהנינו מארוחה מגניבה שאירגנה מכללת סלע. היה משעשע וטעים. :)&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;לסיכום – היה כנס כיפי ומעניין. התכנים היו מגוונים מאוד, והיה כיף לפגוש את כל האנשים – אלה שאני פוגש בדרך כלל בכל האירועים האלה, ואלה שמזמן לא פגשתי. :)&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;img title="" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="246" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/image_5693935E.png" width="404" border="0" /&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;תודה רבה למיקרוסופט על ההזמנה!&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;a href="http://cid-3a0ac2a826103723.skydrive.live.com/browse.aspx/DevAcademy3"&gt;אלבום התמונות המלא&lt;/a&gt; מהכנס זמין ב-Skydrive שלי.&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;          &lt;div style="direction:rtl;text-align:right;"&gt;&lt;/div&gt;       &lt;/td&gt;        &lt;td&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=194700" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DevAcademy3/default.aspx">DevAcademy3</category></item><item><title>דרושים מפתחי SharePoint!</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/18/wanted-sharepoint-developers.aspx</link><pubDate>Tue, 18 Nov 2008 10:34:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:169538</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=169538</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/18/wanted-sharepoint-developers.aspx#comments</comments><description>&lt;table class="" style="WIDTH:100%;DIRECTION:rtl;"&gt;

&lt;tr&gt;
&lt;td class="" style="WIDTH:100%;DIRECTION:rtl;TEXT-ALIGN:right;"&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;החברה בה אני עובד, &lt;a href="http://www.omnisys.co.il/"&gt;Omnisys&lt;/a&gt;, מחפשת מתכנתי .NET עם ניסיון פיתוח בטכנולוגיות SharePoint. &lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;דרוש ניסיון של שנתיים בפיתוח .NET, ידע ב-C#, ASP.NET, Web Services, ניסיון בעבודה עם טכנולוגיות SharePoint ורצוי ספציפית MOSS.&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;יחסי אנוש טובים – חובה. :)&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;מעוניינים? מעוניינות? שלחו אליי קורות חיים – &lt;a href="mailto:dorr@omnisys.co.il"&gt;dorr@omnisys.co.il&lt;/a&gt;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class="" valign="top" align="left"&gt;&lt;img title="Omnisys Logo" style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="91" alt="Omnisys Logo" src="http://blogs.microsoft.co.il/blogs/dorr/image_rM/Cw.png" width="124" border="0" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div style="DIRECTION:rtl;TEXT-ALIGN:right;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=169538" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/_E205D105D505D305D405_/default.aspx">עבודה</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/OffTopic/default.aspx">OffTopic</category></item><item><title>Converting Word 2007’s WdColor to .NET Color Class</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/16/converting-word-2007-s-wdcolor-to-net-color-class.aspx</link><pubDate>Sun, 16 Nov 2008 10:34:51 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:167184</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>101</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=167184</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/16/converting-word-2007-s-wdcolor-to-net-color-class.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Here’s a small snippet that I wrote for converting a Microsoft.Office.Interop.Word.WdColor object to a System.Drawing.Color object.&lt;/p&gt;  &lt;p&gt;The WdColor enum values are actually stored as BGR and not RGB. So you must parse the number and isolate the R,G and B elements to re-assemble them into a .NET Color class.&lt;/p&gt;  &lt;p&gt;Also, during runtime, sometimes a color object gets a value that isn’t listed in the enum. I don’t understand why this happens, but I’m guessing it’s either me being silly or the COM wrapper being silly. :)    &lt;br /&gt;The characteristic of the strange value is that it has an Alpha element as well as RGB elements. &lt;/p&gt;  &lt;p&gt;I wrote my code to fit both cases, yet you may choose to change it to fit only the enum values.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;So here’s the code:&lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;   &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;     &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Extensions&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;{&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// Converts a Microsoft.Office.Interop.Word.WdColor object to a &lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// System.Drawing.Color object.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// If Word&amp;#39;s color only contains RGB values without an alpha value,&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// the alpha value will be set to 255.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; Color ToColor(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; WdColor originalColor)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#008000;"&gt;// Cast to numeric value so we can isolate RGBA elements&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; wordColor = (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;)originalColor; &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#008000;"&gt;// Isolate alpha element. Shift right to set its range to [0-255].&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; alphaTemp = (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;)((wordColor &amp;amp; 0xFF000000) &amp;gt;&amp;gt; 24);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#008000;"&gt;// Check that it&amp;#39;s not completely transparent. If so, make it visible.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; alpha = (alphaTemp == 0) ? 255 : alphaTemp;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#008000;"&gt;// Isolate R,G,B elements.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; r = (wordColor &amp;amp; 0x000000FF);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; g = ((wordColor &amp;amp; 0x0000FF00) &amp;gt;&amp;gt; 8);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; b = ((wordColor &amp;amp; 0x00FF0000) &amp;gt;&amp;gt; 16);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; Color.FromArgb(alpha, r, g, b);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;}&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Please note that this is written as an Extension Method, which means it will look like a member of WdColor.&lt;/p&gt;

&lt;p&gt;Usage:&lt;/p&gt;

&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;
  &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#008000;"&gt;// Get the background color from the cell and convert it to Color class&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;WdColor backgroundColor = newRow.Cells[4].Shading.BackgroundPatternColor;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;Color myColor = backgroundColor.ToColor();&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;I would appreciate feedback regarding the Alpha strangeness. :)&lt;/p&gt;

&lt;p&gt;Enjoy..&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dor Rotman.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=167184" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/English+Posts/default.aspx">English Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Office+2007/default.aspx">Office 2007</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Word+2007/default.aspx">Word 2007</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category></item><item><title>Quick Tip: Displaying Hexadecimal Values in VS</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/12/quick-tip-displaying-hexadecimal-values-in-vs.aspx</link><pubDate>Wed, 12 Nov 2008 17:51:19 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:164953</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=164953</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/12/quick-tip-displaying-hexadecimal-values-in-vs.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;במצבים מסויימים הרבה יותר נוח לצפות בערכים מספריים בבסיס 16, כלומר Hexadecimal, במקום בבסיס 10 הדצימלי, שאנו רגילים אליו. יש לכך יתרון כשעוסקים בצבעים – מאוד קל להפריד את מרכיבי ה-RGB מתוך המספר המוצג.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;ניתן להגדיר ש-Visual Studio יציג מספרים ב-Quick Watch בבסיס זה בצורה מאוד פשוטה. במקרה גיליתי את זה היום וזה עשה לי את החיים הרבה יותר קלים :)&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;strong&gt;אז קדימה:&lt;/strong&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;1. דבגו את התוכנה להנאתכם והגיעו למשתנה מספרי כלשהו שאת ערכו אתם מעוניינים להציג&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;2. עמדו עם העכבר מעל המשתנה כך שיוצג ערכו ב-Tooltip &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;3. לחצו על ה-Tooltip באמצעות הלחצן הימני להצגת התפריט&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;4. בחרו את &lt;em&gt;Hexadecimal Display&lt;/em&gt; – וזה הכל!&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;img title="image" style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="232" alt="image" src="http://blogs.microsoft.co.il/blogs/dorr/image_znr5Zw.png" width="375" border="0" /&gt; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;באותה קלות אפשר תוך כדי debugging לעבור חזרה לבסיס הדצימלי וביניהם.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;איזה כיף :)&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=164953" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Quick+Tips/default.aspx">Quick Tips</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>SharePoint Performance Optimization Whitepaper</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/09/sharepoint-performance-optimization-whitepaper.aspx</link><pubDate>Sun, 09 Nov 2008 15:20:39 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:163480</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=163480</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/09/sharepoint-performance-optimization-whitepaper.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;ואם כבר &lt;a href="http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/03/sharepoint.aspx"&gt;אנו עוסקים בנושאי ביצועים&lt;/a&gt; של חוות SharePoint, כדאי מאוד ללמוד מנסיונם של אנשי ה-IT של מיקרוסופט: הם הקימו תשתית SharePoint פנימית המשרתת &lt;u&gt;154 אלף עובדים&lt;/u&gt;.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;פורסם לאחרונה Whitepaper המתאר את אופן בחינת הביצועים הנוכחיים, המסקנות, האופטימיזציות שנעשו, וכן הלקחים וההמלצות ללקוחות. &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;כדאי מאוד לקרוא: &lt;a href="http://download.microsoft.com/download/0/E/B/0EBA7263-A555-4279-B9DD-1720F0139A2E/SharePointOptimizationTWP.doc"&gt;להורדת ה-Whitepaper לחצו כאן.&lt;/a&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=163480" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/IT/default.aspx">IT</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/ITPRO/default.aspx">ITPRO</category></item><item><title>עבודה עם רשימות גדולות ב-SharePoint</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/03/sharepoint.aspx</link><pubDate>Mon, 03 Nov 2008 09:59:43 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:161355</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=161355</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/03/sharepoint.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;לאחרונה עלה אצלי בעבודה כבר כמה פעמים נושא הרשימות הגדולות ב-SharePoint. כמה פריטים מותר לשים ברשימה או בתיקיה ולשמור על ביצועים טובים?&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;אז הנה כמה המלצות בנושא:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;   &lt;ul&gt;     &lt;li&gt;לא לעבור את ה-2000 פריטים בתצוגה \ תיקיה &lt;/li&gt;      &lt;li&gt;לאנדקס עמודות שמבצעים עליהן סינונים תדירים &lt;/li&gt;      &lt;li&gt;בפיתוח, בשום אופן לא להשתמש ב-foreach, אלא להריץ שאילתת CAML. תמיד שאילתת CAML תהיה מהירה יותר מאנומרציה של אובייקטים. &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;הנה תמונה מתוך Whitepaper שאספר עליו בהמשך. היא מציגה הבדלי מהירות שאילתא בין השיטות השונות. מדובר על רשימה עם 100,000 פריטים, שרוצים לדלות ממנה 100 פריטים, תוך כדי שיש עומס על האתר, וללא עמודות מאונדקסות. ניתן לראות ששימוש בשאילתת CAML במסגרת SPQuery היא הרבה יותר מהירה מאשר foreach, שהזמן שלקח לו &lt;u&gt;חרג מהגרף&lt;/u&gt; ולכן כלל לא מופיע בו.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/dorr/image_dyHVfQ.png"&gt;&lt;img title="SharePoint Limits Graph, Copyright Microsoft" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="388" alt="SharePoint Limits Graph, Copyright Microsoft" src="http://blogs.microsoft.co.il/blogs/dorr/image_thumb_5Z419g.png" width="434" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;המסקנה היא פשוטה: מי שרוצה להשתמש ב-SharePoint כבסיס נתונים מרכזי ולאחסן ברשימה אחת כמות פריטים גדולה כל כך, חייב לכתוב ממשק תצוגה משלו, על מנת לשמור על ביצועים סבירים.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;למי שרוצה להתעמק, מומלץ לקרוא שני מסמכים חשובים:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;1. מאמר &lt;a href="http://technet.microsoft.com/en-us/library/cc262787.aspx"&gt;Plan for Software Boundaries&lt;/a&gt; ב-TechNet המפרט כמויות מומלצות&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;2. ה-Whitepaper המעולה &lt;a href="http://go.microsoft.com/fwlink/?LinkId=95450&amp;amp;clcid=0x409"&gt;Working with large lists in Office SharePoint Server 2007&lt;/a&gt;, שפורסמם ב-MSDN כבר לפני שנה וקצת, ומשם לקוח הגרף שלמעלה.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=161355" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/WSSv3/default.aspx">WSSv3</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category></item><item><title>Podcasting Kit for SharePoint</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/03/podcasting-kit-for-sharepoint.aspx</link><pubDate>Mon, 03 Nov 2008 08:34:23 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:161321</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=161321</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/11/03/podcasting-kit-for-sharepoint.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;החודש יצא Release חדש ל-&lt;a href="http://www.codeplex.com/pks"&gt;SharePoint Podcasting Kit&lt;/a&gt;, פרויקט ה-CodePlex עבור פלטפורמת MOSS. יעודו של הפרויקט הוא לספק תבנית אתר למדיה כגון סרטים, קבצי אודיו וכו’. &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;תמונה שווה אלף מילים:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;img title="" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="370" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/image_YCwjuA.png" width="454" border="0" /&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;הפרויקט לא סתם יושב ב-CodePlex, אלא הוא קוד-פתוח ואינו מוצר של מיקרוסופט, אלא של מספר חברות הפועלות יחד איתה בפיתוחו.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;מי שרוצה להקים אתר User Generated Content בתוך האירגון שלו לקבצי מדיה ירוויח מהמוצר החינמי הזה מאוד, כי הרי כבר קנה ושילם על MOSS, וזו עוד דרך מצויינת לנצל את יכולות המערכת.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;עם זאת, מי שרוצה להשתמש ב-Podcast Kit בקרוב צריך להתאזר בסבלנות רבה בעת יישומה, שכן המוצר עוד לא מוגמר: ההתקנה ידנית ברובה, והתיעוד לוקה בחסר. כל חודש יוצאת גרסה, כאשר ה-Major Release הבא מתוכנן לדצמבר.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;בכל אופן, הפתרון בהחלט מעורר השראה ושווה מבט, כולל לתוך הקוד שלו.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=161321" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/ITPRO/default.aspx">ITPRO</category></item><item><title>First Look: Office 14 for Web</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/10/29/first-look-office-14-for-web.aspx</link><pubDate>Wed, 29 Oct 2008 09:48:05 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:159651</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=159651</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/10/29/first-look-office-14-for-web.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;במסגרת כנס ה-PDC שמתקיים בימים אלה, מבוצעות המון חשיפות לטכנולוגיות ומוצרים חדשים. אז אם אתם פה בארץ, כמוני, ורוצים להתעדכן - הדרך הטובה ביותר היא לשים עין על דף הבית של &lt;a href="http://channel9.msdn.com/"&gt;Channel9&lt;/a&gt;.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;אמנם &lt;a href="http://blogs.microsoft.co.il/blogs/meronf/archive/2008/10/28/office-14-for-web.aspx"&gt;מירון כבר קישר לוידאו&lt;/a&gt;, אבל חשוב לי לציין שאנחנו סוף סוף רואים תגובה מצד מיקרוסופט לכל יישומי המשרד הממוחשב מבוססי Web 2.0 למיניהם, ובמיוחד לגוגל. נכון שכבר ראינו את Office Live, אבל הפעם מדובר על יכולות הרבה יותר חזקות.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;בין הדברים המגניבים שבוידאו:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;   &lt;ul&gt;     &lt;li&gt;גרסאות Web למוצרי Office המאפשרים עריכה של המסמכים &lt;/li&gt;      &lt;li&gt;תמיכה בריבוי דפדפנים, כגון Firefox – נקווה שמלאה &lt;/li&gt;      &lt;li&gt;יכולת עריכה מקבילית לאותו מסמך (סוף סוף!) &lt;/li&gt;      &lt;li&gt;הטמעת מצגות בבלוג (embed, כמו הסרט שלמטה) &lt;/li&gt;      &lt;li&gt;רינדור מסמכים באמצעות Silverlight (אני מניח שזו התשתית ל-embedding) &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;יש בסרט צילומי מסך והדגמות, שווה לראות:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;iframe src="http://channel9.msdn.com/posts/PDCNews/435973/player/" frameborder="0" width="320" scrolling="no" height="325"&gt;&lt;/iframe&gt;     &lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/PDCNews/First-Look-Office-14-for-Web/"&gt;First Look: Office 14 for Web&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;זהו, רשמית פתחתי תגית Office 14 בבלוג. מקווה שייצאו עוד הכרזות מעניינות בקרוב.. :)    &lt;br /&gt;חבל רק &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/10/27/pdc-2008-announcing-azure-services-platform-and-microsoft-sharepoint-services.aspx"&gt;שעוד לא נתנו תאריך&lt;/a&gt; ל-SharePoint Services של Azure. זה צריך להיות מאוד מעניין..     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=159651" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Tech/default.aspx">Tech</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Office+14/default.aspx">Office 14</category></item><item><title>דרושים תותחי ווב!</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/09/15/139887.aspx</link><pubDate>Mon, 15 Sep 2008 13:43:03 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:139887</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=139887</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/09/15/139887.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;   &lt;table cellspacing="0" cellpadding="2"&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="direction:rtl;text-align:right;"&gt;&lt;strong&gt;לחברת &lt;/strong&gt;&lt;a href="http://www.omnisys.co.il/"&gt;&lt;strong&gt;Omnisys&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; בה אני עובד, דרושים תותחי Web למשרת Professional Services.&lt;/strong&gt;&lt;/div&gt;            &lt;div style="direction:rtl;text-align:right;"&gt;             &lt;br /&gt;מי ש-HTML ו-CSS הן לא מילים גסות עבורו, ושיש לו היכרות עם SPS או MOSS, ימצא כאן אתגר מקצועי וחבר’ה שכיף לעבוד איתם. :)&lt;/div&gt;            &lt;div style="direction:rtl;text-align:right;"&gt;             &lt;br /&gt;המשרה כוללת בעיקר פעילויות הטמעה ויישום של MOSS 2007 ומערכות קשורות, ומתבצעת במשרדי החברה ואצל הלקוחות.&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;&lt;img title="Omnisys Logo" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="97" alt="Omnisys Logo" src="http://blogs.microsoft.co.il/blogs/dorr/WindowsLiveWriter/1eca0ebd109f_DEE2/image_3.png" width="123" border="0" /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;רוצים להגיש קורות חיים? &lt;a href="mailto:dorr@omnisys.co.il?subject=PS-JOB"&gt;שלחו לי מייל&lt;/a&gt; (חובה לציין בנושא PS-JOB).&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;(הפניה מתייחסת לשני המינים :) )&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=139887" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Wanted/default.aspx">Wanted</category></item><item><title>How to check if a file exists over HTTP</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/09/02/how-to-check-if-a-file-exists-over-http.aspx</link><pubDate>Tue, 02 Sep 2008 12:22:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:133902</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>32</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=133902</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/09/02/how-to-check-if-a-file-exists-over-http.aspx#comments</comments><description>&lt;p&gt;Here’s a piece of C# code that determines the existence of a file over HTTP, given its URL. (Note that URLs should be encoded.)&lt;/p&gt;  &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:400px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;background-color:#f4f4f4;"&gt;   &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;     &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;{&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    WebRequest request = HttpWebRequest.Create(&lt;span style="color:#006080;"&gt;&amp;quot;http://www.microsoft.com/NonExistantFile.aspx&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    request.Method = &lt;span style="color:#006080;"&gt;&amp;quot;HEAD&amp;quot;&lt;/span&gt;; &lt;span style="color:#008000;"&gt;// Just get the document headers, not the data.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    request.Credentials = System.Net.CredentialCache.DefaultCredentials;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;// This may throw a WebException:&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (HttpWebResponse response = (HttpWebResponse)request.GetResponse())&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (response.StatusCode == HttpStatusCode.OK)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;            &lt;span style="color:#008000;"&gt;// If no exception was thrown until now, the file exists and we &lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;            &lt;span style="color:#008000;"&gt;// are allowed to read it. &lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;            MessageBox.Show(&lt;span style="color:#006080;"&gt;&amp;quot;The file exists!&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;            &lt;span style="color:#008000;"&gt;// Some other HTTP response - probably not good.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;            &lt;span style="color:#008000;"&gt;// Check its StatusCode and handle it.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;}&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (WebException ex)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;{&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;// Cast the WebResponse so we can check the StatusCode property&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    HttpWebResponse webResponse = (HttpWebResponse)ex.Response;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    &lt;span style="color:#008000;"&gt;// Determine the cause of the exception, was it 404?&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (webResponse.StatusCode == HttpStatusCode.NotFound)&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        MessageBox.Show(&lt;span style="color:#006080;"&gt;&amp;quot;The file does not exist!&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;    {&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;        &lt;span style="color:#008000;"&gt;// Handle differently...&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;        MessageBox.Show(ex.Message);&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;    }&lt;/pre&gt;

    &lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;}&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As you can see, it’s fairly simple – we use the &lt;em&gt;HttpWebRequest&lt;/em&gt; class to perform an HTTP request using the verb HEAD. 

  &lt;br /&gt;

  &lt;br /&gt;&lt;strong&gt;What is an HTTP HEAD request?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HEAD is similar to GET, only that instead of getting the file contents, we get just the headers. This is what proxies do to: When a proxy server gets a GET request for a URL it has in its local cache, it performs a HEAD request to the real server, to determine the requested file’s date/time stamp. If the file on the server is newer than the cached copy, the proxy will download it and cache it again, and of course – will serve the newer version to the client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So how does this code work?&lt;/strong&gt;

  &lt;br /&gt;

  &lt;br /&gt;If the web request we perform will stumble into a non existing file, a WebException will be thrown: So we just need to catch the WebException and deal with it.&lt;/p&gt;

&lt;p&gt;However, consider these two important notes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;Don’t assume any WebException indicates a 404 error, check its StatusCode, after casting it to a HttpWebException type. You might get a 500 Internal Server Error or a 401 Unauthorized response when doing web requests, so it’s important to check the error code.&lt;/p&gt;

&lt;p&gt;2. As far as I checked, the HttpWebRequest might get redirected to a different URL, and you will not be notified of that. Some sites perform redirects to custom 404 pages instead of regular pages, and would give out a HTTP 200 OK code eventually, since they served the custom 404 page successfully. So check how that website behaves.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;You’re welcomed to contribute your own ideas on how to improve this code. This is such a trivial task, yet I found almost no code samples for it online.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dor Rotman.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=133902" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/English+Posts/default.aspx">English Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/DEV/default.aspx">DEV</category></item><item><title>How to get the context item in an SPD Workflow Activity</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/07/22/how-to-get-the-context-item-in-an-spd-workflow-activity.aspx</link><pubDate>Tue, 22 Jul 2008 14:00:08 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:123936</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=123936</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/07/22/how-to-get-the-context-item-in-an-spd-workflow-activity.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/davidbi/"&gt;David Birin&lt;/a&gt;, a talented colleague of mine who also works at &lt;a href="http://www.omnisys.co.il/"&gt;Omnisys&lt;/a&gt;, has just published a post about &lt;a href="http://blogs.microsoft.co.il/blogs/davidbi/archive/2008/07/21/How-to-get-the-context-item-in-workflow-activity-sharepoint.aspx"&gt;getting the context item in a SharePoint Designer Custom Workflow Activity&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This post is important for SharePoint developers since most samples you’ll find on the internet ignore this ability. Instead, their workflow activities ask the user to supply an item, while it’s obvious the relevant item is the current one, which the workflow is running on. (Even the ECM samples in the WSS/MOSS SDK have this issue.)&lt;/p&gt;  &lt;p&gt;So go on and read it. :)&lt;/p&gt;  &lt;p&gt;It’s David’s first post (not including the introduction one), so congrats and keep on posting good stuff. :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Dor Rotman.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=123936" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/English+Posts/default.aspx">English Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/SharePoint+Designer/default.aspx">SharePoint Designer</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Blogs/default.aspx">Blogs</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category></item><item><title>Quickstart Guide: Customizing Office 2007 Ribbons</title><link>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/07/10/quickstart-guide-customizing-office-2007-ribbons.aspx</link><pubDate>Thu, 10 Jul 2008 16:15:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:114646</guid><dc:creator>Dor Rotman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/dorr/rsscomments.aspx?PostID=114646</wfw:commentRss><comments>http://blogs.microsoft.co.il/blogs/dorr/archive/2008/07/10/quickstart-guide-customizing-office-2007-ribbons.aspx#comments</comments><description>&lt;div style="direction:rtl;text-align:right;"&gt;הנה רשימה של מספר קישורים שהם חובה לכל מי שמעוניין לפתח יישומי Office 2007 שישתלבו לתוך ה-Ribbons:&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div dir="ltr"&gt;&lt;strong&gt;1. &lt;a href="http://msdn.microsoft.com/en-us/library/bb386097.aspx"&gt;Ribbon Overview [MSDN]&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;החבר’ה ב-MSDN השקיעו רבות במאמרים מפורטים וברורים, במגוון נושאים בפיתוח Ribbons. בין הנושאים: &lt;a href="http://msdn.microsoft.com/en-us/library/bb386089.aspx"&gt;איך להשתמש ב-Ribbon Designer של Visual Studio 2008&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb386104.aspx"&gt;איך לייצר Custom Tab שמציג Actions Pane&lt;/a&gt;, וכן &lt;a href="http://msdn.microsoft.com/en-us/library/bb608623.aspx"&gt;סקירה של ה-Object Model&lt;/a&gt;.&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div dir="ltr"&gt;&lt;strong&gt;2. &lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=19E3BF38-434B-4DDD-9592-3749F6647105&amp;amp;displaylang=en"&gt;Office 2007 UI Style Guide for Solutions and Add Ins&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;זהו מאמר (מסמך Word) המציין שיקולים ו-Best Practices לפיתוח ל-Office. כדאי מאוד לקרוא, הוא די קצר ונותן הרבה תובנות.&amp;#160; &lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div dir="ltr"&gt;&lt;strong&gt;3. &lt;/strong&gt;&lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=12B99325-93E8-4ED4-8385-74D0F7661318&amp;amp;displaylang=en"&gt;&lt;strong&gt;2007 Office System Add-In: Icons Gallery&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/div&gt;  &lt;table&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;div style="direction:rtl;text-align:right;"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/dorr/WindowsLiveWriter/QuickstartGuideCustomizingOffice2007Ribb_A924/image_2.png"&gt;&lt;img title="" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="164" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/WindowsLiveWriter/QuickstartGuideCustomizingOffice2007Ribb_A924/image_thumb.png" width="201" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;div style="direction:rtl;text-align:right;"&gt;זוהי רשימת כל האייקונים של Office, בהם אפשר להשתמש ב-Ribbons ובתפריטים.            &lt;br /&gt;מורידים את גיליון ה-Excel, פותחים אותו, ובלשונית ה-Developers ניתן למצוא כפתורים עם תפריטים קופצים המציגים את כל הסמלים.             &lt;br /&gt;לכל סמל יש ID משלו אשר ניתן להקליד לתוך מאפיין ה-OfficeImageId ב-Ribbon Designer של Visual Studio 2008 או לתוך מאפיין ה-imageMso ב-XML, במידה וכותבים אותו ישירות, לדוגמא ב-Visual Studio 2005.&lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&amp;#160;&lt;/div&gt;  &lt;div dir="ltr"&gt;&lt;strong&gt;4. &lt;/strong&gt;&lt;a href="http://www.microsoft.com/downloadS/details.aspx?familyid=4329D9E9-4D11-46A5-898D-23E4F331E9AE&amp;amp;displaylang=en"&gt;&lt;strong&gt;2007 Office System Document: Lists of Control IDs&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;זוהי רשימת כל ה-ID-ים של פקדים בתפריטי Office.    &lt;br /&gt;נשמע מיותר, אך למעשה זה שימושי מאוד: לרוב לא נרצה שה-Add-In שנכתוב ייכנס ללשונית “תוספות” שכולם שוכחים מקיומה, אלא נעדיף לשלב את הכפתורים שלנו בתוך אחת הלשוניות הרלוונטיות יותר, כגון &amp;quot;בית” (הלשונית הראשית) או “הוספה”.&amp;#160; &lt;br /&gt;הפתרון לכך הוא קביעת הלשונית בה יופיעו הפקדים שלנו, וכן קביעת הפקד המדויק שלפניו או אחריו יופיע הפקד שלנו. זאת באמצעות המאפיינים BeforeOfficeId או AfterOfficeId ב-Ribbon Designer. &lt;/div&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/dorr/WindowsLiveWriter/QuickstartGuideCustomizingOffice2007Ribb_A924/image_4.png"&gt;&lt;img title="" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="84" alt="" src="http://blogs.microsoft.co.il/blogs/dorr/WindowsLiveWriter/QuickstartGuideCustomizingOffice2007Ribb_A924/image_thumb_1.png" width="448" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;   &lt;br /&gt;אם יש נושאים שמעניינים אתכם בפיתוח VSTO ואתם מעוניינים לקבל עליהם מידע, אשמח לשמוע בתגובות או באימייל.    &lt;br /&gt;&lt;/div&gt;  &lt;div style="direction:rtl;text-align:right;"&gt;&lt;em&gt;דור רוטמן.&lt;/em&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=114646" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Office+2007/default.aspx">Office 2007</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Hebrew+Posts/default.aspx">Hebrew Posts</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.microsoft.co.il/blogs/dorr/archive/tags/VSTO+2008/default.aspx">VSTO 2008</category></item></channel></rss>