<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>IUnknown</title>
        <link>http://geekswithblogs.net/IUnknown/Default.aspx</link>
        <description>Windows Azure mumblings of IUnknown</description>
        <language>en-US</language>
        <copyright>Sarang</copyright>
        <managingEditor>sarangbk@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <creativeCommons:license>&lt;creativeCommons:license&gt;http://www.creativecommons.org/licenses</creativeCommons:license>
        <image>
            <title>IUnknown</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/IUnknown/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>I've taken up typing</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2011/01/25/typoingforprogrammers.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2011/01/25/typoingforprogrammers.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2011/01/25/typoingforprogrammers.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Last week I was neck deep into some code + good ol SQL and it was a serious jam! I knew mighty well the thing cooking in my head but the hands have mind of their own. It dawned on me that I am a terrible typist. Had I known how to touch type I could have accomplished a lot more without having to slog the weekend.&lt;/p&gt;
&lt;p&gt;Now most the people who know me would say I type pretty fast but unfortunately It's just a five finger varant of &lt;a href="http://en.wikipedia.org/wiki/Typing#Hunt_and_peck"&gt;Hunt and Peck&lt;/a&gt; as its equally bad. My fingers know a little bit about the keyboard layout from more than ten years of typing however, all ten of them hardly ever work in tandem.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/technomad/Default.aspx"&gt;Technomad&lt;/a&gt; Prafulla and I have been together for more than a decade now. The man has taken professional typing lessons even before computing "happened" to both us. I used to make fun of him back then about this, but boy was I WRONG!&lt;/p&gt;
&lt;p&gt;This had to change! And then the hunt for skills improvement began, I was looking for developers who are equally good typists. And by good I don't mean 40wpm good. I mean 60wpm and above good. None Nada Zilch at the workplace. Time to check my "extended" workplace, the internet and first thng I find is &lt;a href="http://www.codinghorror.com/blog/2008/11/we-are-typists-first-programmers-second.html"&gt;this life changing post &lt;/a&gt;by none other than Codinghorror, Jeff Atwood. This pointed me to another acridly honest comment on non-typist programmers by &lt;a href="http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html"&gt;Steve-Yegge&lt;/a&gt; and here I am a "Convert" so to say.&lt;/p&gt;
&lt;p&gt;I am sure there would be many like me who'd want to learn to touch type like the pros and let the mind do what it does best Imagine, Think, Create. Whenever I try to do something creative I set out with a pen and paper (&lt;a href="http://www.engadget.com/2010/12/31/reserve-power-paper-2010-the-inkgadget-review/#"&gt;yeah right engadget&lt;/a&gt;). This gives my mind the creative freedom I love. While writing my fingers don't have to think, they write. And help me think!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;&lt;big&gt;The Plan&lt;/big&gt;&lt;/h3&gt;
&lt;p&gt;The plan is to spend an hour each day. For starters it'll be at &lt;a href="http://www.typeonline.co.uk/index.html"&gt;TypingOnline &lt;/a&gt;a UK based site that assists improve your typing skills. Once I feel at home with typing without looking at the keyboard then I'll move to a better and more hardcore training course and maybe some typing games too.&lt;/p&gt;
&lt;p&gt;&amp;lt;PlaceHolder for better suggestion out of my learning experiences&amp;gt;&lt;/p&gt;
&lt;h2&gt; &lt;/h2&gt;
&lt;h2&gt;&lt;small&gt;&lt;big&gt;The Hardware&lt;/big&gt;&lt;/small&gt;&lt;/h2&gt;
&lt;p&gt;&lt;small&gt;&lt;big&gt;Since I am in India, a land of snake charmers and elephant riders who are happy with whatever incompetent IT retailers throw at us I am going to pick the only mechanical keybard avaialbe out there. The TVS-e Gold, they've renamed it to &lt;a href="http://www.tvs-e.com/keyboard-landing.asp#"&gt;TVS-e Bharat&lt;/a&gt; USB. It's gonna be noisy, but I'll live with that till i can find something eqally good and less noisy.&lt;/big&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Do pour in with what you think about all this "Getting Better" plan.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/143613.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2011/01/25/typoingforprogrammers.aspx</guid>
            <pubDate>Tue, 25 Jan 2011 07:36:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/143613.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2011/01/25/typoingforprogrammers.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/143613.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/143613.aspx</trackback:ping>
        </item>
        <item>
            <title>Force.com presents Database.com SQL Azure/Amazon RDS unfazed </title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/12/13/databasedotcom_launch.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/12/13/databasedotcom_launch.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/12/13/databasedotcom_launch.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;At the DreamForce 2010 event in San Francisco Force.com unveiled their next big thing in the Fat SaaS portfolio "&lt;a title="Database.com" href="http://www.database.com/" mce_href="http://www.database.com/"&gt;Database.com&lt;/a&gt;".  I am still wondering how would they would've shelled out for &lt;em&gt;that&lt;/em&gt; domain name.&lt;/p&gt;
&lt;p&gt;Now why would a already established SaaS player foray into a key building block like Database? Potentially allowing enterprises to build apps that do not utilize the Force.com stack! One key reason is being seen as the Fat SaaS player with evey trick in the SaaS space under his belt. You want CRM come hither, want a custom development PaaS like solution welcome home (VMForce), want all your apps to talk to a cloud DB and minimize latency by having it reside closer to you cloud apps? You've come to the right place sire! Other is potentially killing foray of smaller DB players like Oracle (Not surprisingly, the Database.com offering is a highly customized and scalable Oracle database) from entering the lucrative SaaS db marketplace.&lt;/p&gt;
&lt;p&gt;The feature set promised looks great out of the box for someone who likes to visualize cool new architectures. The ground realities are certainly going to be a lot different considering the SOAP/REST style access patterns in lieu of the comfortable old shoe of SQL. Microsoft suffered heavily with SDS (SQL Data Services) offering in early 2009 and had to pull the plug on the product only to reintroduce as a simple SQL Server in the cloud, SQL &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt;. Though MSFT is playing cool by providing OData semantics to work with SQL &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt; satisfying atleast some needs of the Web-Style to a DB.&lt;/p&gt;
&lt;p&gt;The other features like Social data models including Profiles, Status updates, feeds seem interesting as well. (Although I beleive social is just one of the aspects of large scale collaborative computing). All these features start "Free" for devs its a good news but the good news stops here. The overall pricing model of $ per Users per Transactions / Month is highly disproportionate compared to Amazon RDS (Based on MySQL) or SQL &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt; (Based on MSSQL). Roger Jennigs of Oakleaf did an interesting &lt;a href="http://oakleafblog.blogspot.com/2010/12/prelminary-cost-comparison-of.html" mce_href="http://oakleafblog.blogspot.com/2010/12/prelminary-cost-comparison-of.html"&gt;comparo &lt;/a&gt;based on 3, 10, 100, 500 users and it turns out that Database.com going by current understanding is way too expensive for the services on offer.&lt;/p&gt;
&lt;p&gt;The offering may not impact the decision for DotNet shops mulling their cloud stategy or even some Java/MySQL shops thinking about Amazon RDS, however for enterprises having already invested in other force.com offerings this could be a very important piece in the cloud strategy jigsaw. One which would address a key cloud DB issue of "&lt;strong&gt;&lt;em&gt;Latency&lt;/em&gt;&lt;/strong&gt;" for them at least it will help having the DB in the neighborhood.&lt;/p&gt;
&lt;p&gt;The tooling and "SQL like" access provider drivers (Think ODBC/JDBC) will be available later this year. Progress Software has already &lt;a href="http://web.progress.com/en/inthenews/progress-software-in-42142.html" mce_href="http://web.progress.com/en/inthenews/progress-software-in-42142.html"&gt;announced&lt;/a&gt; their JDBC driver stack for Database.com. It remains to be seen how effective the overall solutions proves to be in the longer run but for starts its a important decision towards consolidating Force.com's already strong positioning in the SaaS space.&lt;/p&gt;
&lt;p&gt;As always contrasting views are welcome! :)&lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/143117.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/12/13/databasedotcom_launch.aspx</guid>
            <pubDate>Mon, 13 Dec 2010 08:59:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/143117.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/12/13/databasedotcom_launch.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/143117.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/143117.aspx</trackback:ping>
        </item>
        <item>
            <title>Virtualization demystified (source: AnandTech)</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/09/01/virtualization-demystified-source-anandtech.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/09/01/virtualization-demystified-source-anandtech.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/09/01/virtualization-demystified-source-anandtech.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A fantastic set of Q and A on and around virtualization by some of the 'folks in the know'. The guys that (un?)arguably understand the virtualization business better than anyone else. Intel Fellow, Rich Uhlig and VMWare  Chief Platform Architect, Rich Brunner and of course the man himslef, Anand Lal Shimpi. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.anandtech.com/show/3827/virtualization-ask-the-experts-1"&gt;http://www.anandtech.com/show/3827/virtualization-ask-the-experts-1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.anandtech.com/show/3831/virtualization-ask-the-experts-2"&gt;http://www.anandtech.com/show/3831/virtualization-ask-the-experts-2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/141589.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/09/01/virtualization-demystified-source-anandtech.aspx</guid>
            <pubDate>Wed, 01 Sep 2010 11:50:46 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/141589.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/09/01/virtualization-demystified-source-anandtech.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/141589.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/141589.aspx</trackback:ping>
        </item>
        <item>
            <title>Excellent Windows Azure benchmarks</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/05/09/excellent-windows-azure-benchmarks.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/05/09/excellent-windows-azure-benchmarks.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/05/09/excellent-windows-azure-benchmarks.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The Extreme computing group has released a fairly comprehensive set of &lt;a href="http://azurescope.cloudapp.net/BenchmarkTestCases.aspx" target="_blank"&gt;benchmarks&lt;/a&gt;  for almost all aspects of WA. They have also provided the source code to alleviate all doubts that may surface with the MSFT logo lurking around the top right of their &lt;a href="http://azurescope.cloudapp.net/Default.aspx" target="_blank"&gt;homepage&lt;/a&gt; :) (Which also resides at a &lt;em&gt;cloudapp.net&lt;/em&gt; url).&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The code is simple and the tests comprehensive enough to hold as data points for customer interactions. Add to it the clean no nonsense Silverlight charts to render the benchmarks and you are set to sell.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1375ede3-e660-48fb-a812-8332e999ae57" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Azure" rel="tag"&gt;Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Benchmark" rel="tag"&gt;Benchmark&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Extreme+Computing+Group" rel="tag"&gt;Extreme Computing Group&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/139722.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/05/09/excellent-windows-azure-benchmarks.aspx</guid>
            <pubDate>Sat, 08 May 2010 18:44:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/139722.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/05/09/excellent-windows-azure-benchmarks.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/139722.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/139722.aspx</trackback:ping>
        </item>
        <item>
            <title>No Clipboard support in Windows Phone 7 Series &amp;ndash; iPhone points laughs</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/03/23/no-clipboard-support-in-windows-phone-7-series-ndash-iphone.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/03/23/no-clipboard-support-in-windows-phone-7-series-ndash-iphone.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/03/23/no-clipboard-support-in-windows-phone-7-series-ndash-iphone.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What exactly were you taking of late MSFT? So much for a spanking new mobile OS which wants to emulate the iPhone OS so badly that it even copied and pasted the iPhone’s erstwhile lack of clipboard support as well? The reason given is so lame (shall I say differently able?) that deserves pity rather than lament.&lt;/p&gt;  &lt;p&gt;According to MSFT people don’t use the clipboard that often. Being a WinMo user for the better part of my life and having developed for the platform for worse part of it I could say with conviction that Clipboard support was one key differentiator which kept me away from “The Phone to have” of 2007-8-9. Let me try to find few use cases I for one have been using the clipboard.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Copy files to and from card and phone memory.&lt;/li&gt;    &lt;li&gt;Copy images, audio files from apps/browsers/explorer to email other apps.&lt;/li&gt;    &lt;li&gt;Copy text to/from word documents, notes and emails.&lt;/li&gt;    &lt;li&gt;Copy content from network drives to memory card.&lt;/li&gt;    &lt;li&gt;Copy links between browsers (Yes i did it for the love of Opera and PIE alike).&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Others could definitely come up with more. So who are these so called “users” who provided feedback to MSFT that the clipboard is useless? If you are among the lucky few being asked for the “feedback” kindly chime in the comments. Would be interesting to see different views on this.&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:51cc2036-5ed7-4a4d-930b-b5dd55e667dc" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Phone+7+Series" rel="tag"&gt;Windows Phone 7 Series&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Clipboard" rel="tag"&gt;Clipboard&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138742.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/03/23/no-clipboard-support-in-windows-phone-7-series-ndash-iphone.aspx</guid>
            <pubDate>Tue, 23 Mar 2010 14:34:41 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138742.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/03/23/no-clipboard-support-in-windows-phone-7-series-ndash-iphone.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138742.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138742.aspx</trackback:ping>
        </item>
        <item>
            <title>LinqPad with Azure Table Storage</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/03/10/linqpad-with-azure-table-storage.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/03/10/linqpad-with-azure-table-storage.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/03/10/linqpad-with-azure-table-storage.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LinqPad as we all know has been a wonderful tool for running ad-hoc queries. With &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt; Table storage in picture LinqPad was no longer in picture and we shifted focus to Cloud Storage Studio only to realize the limited and strange querying capabilities of CSS. With some tweaking to Linqpad we can get the comfortable old shoe of ad-hoc queries with LinqPad in the &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt; Table storage.&lt;/p&gt;  &lt;p&gt;Steps:&lt;/p&gt;  &lt;p&gt;1. Start LinqPad&lt;/p&gt;  &lt;p&gt;2. Right Click in the query window and select “Query Properties”&lt;/p&gt;  &lt;p&gt;3. In The Additional References add reference to &lt;b&gt;Microsoft.WindowsAzure.StorageClient&lt;/b&gt;, &lt;b&gt;System.Data.Services.Client.dll&lt;/b&gt; and the assembly containing the implementation of the &lt;b&gt;DataServiceContext&lt;/b&gt; class tied to the &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt; table storage.&lt;/p&gt;  &lt;p&gt;4. In the additional namespace imports import the same three namespaces mentioned above.&lt;/p&gt;  &lt;p&gt;5. Then we need to provide following details.&lt;/p&gt;  &lt;p&gt;a. Table storage account name and shared key.&lt;/p&gt;  &lt;p&gt;b. DataServiceContext implementing class in your code.&lt;/p&gt;  &lt;p&gt;c. A LINQ query.&lt;/p&gt;  &lt;p&gt;e.x.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; storageAccountName = &lt;span style="color: #a31515"&gt;"myStorageAccount"&lt;/span&gt;;  &lt;span style="color: green"&gt;// Enter valid storage account name       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; storageSharedKey = &lt;span style="color: #a31515"&gt;"mysharedKey"&lt;/span&gt;; &lt;span style="color: green"&gt;// Enter valid storage account shared key       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; uri = &lt;span style="color: blue"&gt;new&lt;/span&gt; System.&lt;span style="color: #2b91af"&gt;Uri&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"&lt;a href="http://table.core.windows.net/"&gt;http://table.core.windows.net/&lt;/a&gt;"&lt;/span&gt;);      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; storageAccountInfo = &lt;span style="color: blue"&gt;new&lt;/span&gt; CloudStorageAccount(&lt;span style="color: blue"&gt;new&lt;/span&gt; StorageCredentialsAccountKey(storageAccountName, storageSharedKey), &lt;span style="color: blue"&gt;false&lt;/span&gt;);      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; serviceContext = &lt;span style="color: blue"&gt;new&lt;/span&gt; TweetPollDataServiceContext(storageAccountInfo); &lt;span style="color: green"&gt;// Specify the DataServiceContext implementation       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: green"&gt;// The query       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; query = &lt;span style="color: blue"&gt;from&lt;/span&gt; row &lt;span style="color: blue"&gt;in&lt;/span&gt; serviceContext.Table      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;                    &lt;span style="color: blue"&gt;select&lt;/span&gt; row;      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;        query.Dump();&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Thanks LinqPad!&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e3a636db-5f80-4efe-bcef-165e13dd095e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/LinqPad" rel="tag"&gt;LinqPad&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Table+Storage" rel="tag"&gt;Azure Table Storage&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Linq" rel="tag"&gt;Linq&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138429.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/03/10/linqpad-with-azure-table-storage.aspx</guid>
            <pubDate>Wed, 10 Mar 2010 07:12:54 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138429.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/03/10/linqpad-with-azure-table-storage.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138429.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138429.aspx</trackback:ping>
        </item>
        <item>
            <title>Ping.eu</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/03/09/ping.eu.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/03/09/ping.eu.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/03/09/ping.eu.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Found an interesting resource thanks to a close friend. Ping.eu is a free service which would let you test various aspects related to networks which would typically be pain inducing doing it on your own. For seasoned network professional having a MAC address of their own instead of a name :) this might not be that useful. However for a layperson like me this an invaluable resource.&lt;/p&gt;  &lt;p&gt;These guys provide you with following services:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/ping/"&gt;&lt;img src="http://ping.eu/img/icons/22_ping.gif" border="0" /&gt;&lt;b&gt;Ping&lt;/b&gt;&lt;/a&gt; – Shows how long it takes for packets to reach host &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/traceroute/"&gt;&lt;img src="http://ping.eu/img/icons/22_traceroute.gif" border="0" /&gt;&lt;b&gt;Traceroute&lt;/b&gt;&lt;/a&gt; – Traces the route of packets to destination host from our server &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/nslookup/"&gt;&lt;img src="http://ping.eu/img/icons/22_dns.gif" border="0" /&gt;&lt;b&gt;DNS lookup&lt;/b&gt;&lt;/a&gt; – Look up DNS record &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/ns-whois/"&gt;&lt;img src="http://ping.eu/img/icons/22_whois.gif" border="0" /&gt;&lt;b&gt;WHOIS&lt;/b&gt;&lt;/a&gt; – Lists contact info for an IP or domain &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/port-chk/"&gt;&lt;img src="http://ping.eu/img/icons/22_port.gif" border="0" /&gt;&lt;b&gt;Port check&lt;/b&gt;&lt;/a&gt; – Tests if port is opened on specified IP &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/rev-lookup/"&gt;&lt;img src="http://ping.eu/img/icons/22_reverse_lookup.gif" border="0" /&gt;&lt;b&gt;Reverse lookup&lt;/b&gt;&lt;/a&gt; – Gets hostname by IP address &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/proxy/"&gt;&lt;img src="http://ping.eu/img/icons/22_proxy.gif" border="0" /&gt;&lt;b&gt;Proxy checker&lt;/b&gt;&lt;/a&gt; – Detects a proxy server &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/mail-relay/"&gt;&lt;img src="http://ping.eu/img/icons/22_mail.gif" border="0" /&gt;&lt;b&gt;Mail relaying&lt;/b&gt;&lt;/a&gt; – Tests relaying capabilities of specified mail-server &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/bandwidth/"&gt;&lt;img src="http://ping.eu/img/icons/22_bandwidth.gif" border="0" /&gt;&lt;b&gt;Bandwidth meter&lt;/b&gt;&lt;/a&gt; – Detects your download speed from our server &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/network-calc/"&gt;&lt;img src="http://ping.eu/img/icons/22_network_calc.gif" border="0" /&gt;&lt;b&gt;Network calculator&lt;/b&gt;&lt;/a&gt; – Calculates subnet range by network mask &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/netmask-calc/"&gt;&lt;img src="http://ping.eu/img/icons/22_mask_calc.gif" border="0" /&gt;&lt;b&gt;Network mask calculator&lt;/b&gt;&lt;/a&gt; – Calculates network mask by subnet range &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/country-by-ip/"&gt;&lt;img src="http://ping.eu/img/icons/22_country_ip.gif" border="0" /&gt;&lt;b&gt;Country by IP&lt;/b&gt;&lt;/a&gt; – Detects country by IP or hostname &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ping.eu/converter/"&gt;&lt;img src="http://ping.eu/img/icons/22_unit_converter.gif" border="0" /&gt;&lt;b&gt;Unit converter&lt;/b&gt;&lt;/a&gt; – Converts values from one unit to another &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Taken straight from their site. &lt;/p&gt;  &lt;p&gt;Thanks Ping.eu&lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138408.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/03/09/ping.eu.aspx</guid>
            <pubDate>Tue, 09 Mar 2010 08:51:37 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138408.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/03/09/ping.eu.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138408.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138408.aspx</trackback:ping>
        </item>
        <item>
            <title>Firefox for NTLM secured sites</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/03/05/firefox_with_ntlm.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/03/05/firefox_with_ntlm.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/03/05/firefox_with_ntlm.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Spent the last weekend fighting to get firefox to connect to a sharepoint portal hosting my homegrown TFS instance's TFS/WEB and team project portal from a friends' place. Firefox is THE favourite browser and I was hating to se it fail miserably with NTLM authentication.&lt;/p&gt;
&lt;p&gt;Fun part is it showed the login prompt accepted credentials and like a pestering young puppy came back for the same credentials. After banging my head and various "I don't know what I don't know" attempts I decided to play god and entered the firefox's advance config mode. And voila! there sits a nifty little option called &lt;strong&gt;network.automatic-ntlm-auth.trusted-uris&lt;/strong&gt;. Assign your URI to it and you are through.&lt;/p&gt;
&lt;p&gt;No more shameface before those Chrome/Opera users. :).&lt;/p&gt;
&lt;p&gt;To enter FireFox's god mode, open a new tab and type &lt;strong&gt;about:config&lt;/strong&gt; in the address bar. There is a search box which certainly comes handy shifting through hundreds of options.&lt;/p&gt;
&lt;p&gt;The root lies in firefox's default mechanism of not allowing NTLM passthrough authentication. Firefox defaults to digest credentials which are blatantly refused by a web app expecting NTLM which results in authentication failure and Firefox keeps asking for credentials over and over again. &lt;/p&gt;
&lt;p&gt;The steps listed above are same as adding a website to your trusted sites' list in Internet Explorer.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138352.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/03/05/firefox_with_ntlm.aspx</guid>
            <pubDate>Fri, 05 Mar 2010 14:18:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138352.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/03/05/firefox_with_ntlm.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138352.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138352.aspx</trackback:ping>
        </item>
        <item>
            <title>Thou Shalt not Iterate! : Part 2</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/03/01/thou-shalt-not-iterate--part-2.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/03/01/thou-shalt-not-iterate--part-2.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/03/01/thou-shalt-not-iterate--part-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Last time we saw some interesting initialization constructs possible with LINQ. Hope some of you have tried it out. If not, it’s never too late. LinqPad is a good friend in need.&lt;/p&gt;  &lt;p&gt;This time around we’d take a look at two common looping scenarios.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;1.&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;Looking up an object by name:&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Object lookup is commonplace while dealing with collections. Let’s look for an object with a given name. Previously we’d run a for each and come up with something like. &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; MyObject FindByName(&lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;{&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (MyObject obj &lt;span class="kwrd"&gt;in&lt;/span&gt; objects)&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (obj.Name == &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; obj;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;With LINQ this could be simplified to.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; MyObject FindByName(&lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;{  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; (objects.Where(obj =&amp;gt; obj.Name == &lt;span class="kwrd"&gt;value&lt;/span&gt;).FirstOrDefault());&lt;/pre&gt;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;  &lt;span class="rem"&gt;// Chose First or FirstOrDefault depending on probability of getting a no match. &lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Wise choice here would help reducing exception handling semantics&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;&lt;b&gt;&lt;i&gt;2.&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;Changing a property of some/all elements in a collection: 
      &lt;br /&gt;&lt;/i&gt;&lt;/b&gt;We often need to change a property for some/all elements in a collection. E.g. Changing the background of all TextBoxes on a form. This could be worded as “Changing the BackColor property of all Controls of type TextBox on a Form)&lt;/p&gt;

&lt;p&gt;In the days bygone (Not exactly bygone yet :)) we’d use something like: 
  &lt;br /&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ColorTextBoxes()&lt;/pre&gt;

  &lt;pre&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="rem"&gt;// Loop through all controls on the form.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Control ctrl &lt;span class="kwrd"&gt;in&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Form.Controls)&lt;/pre&gt;

  &lt;pre class="alt"&gt;    {&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// Ensure it is a TextBox.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (ctrl &lt;span class="kwrd"&gt;is&lt;/span&gt; TextBox)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;// Cast to a TextBox and make the background &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt;.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            ((TextBox)ctrl).BackColor = System.Drawing.Color.Azure;&lt;/pre&gt;

  &lt;pre class="alt"&gt;         }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;With LINQ we could conjure up something like&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ColorTextBoxes() &lt;/pre&gt;

  &lt;pre&gt;{ &lt;/pre&gt;

  &lt;pre class="alt"&gt;    (from control &lt;span class="kwrd"&gt;in&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Form.Controls.Cast&amp;lt;Control&amp;gt;() &lt;span class="kwrd"&gt;where&lt;/span&gt; control &lt;span class="kwrd"&gt;is&lt;/span&gt; TextBox select control).ToList().ForEach(t =&amp;gt; ((TextBox)(t)).BackColor = System.Drawing.Color.Azure);&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;The query looks cryptic to start, however if you look closely its fairly straightforward. We’d first cast the &lt;b&gt;ControlCollection&lt;/b&gt; to an &lt;b&gt;IEnumerable&lt;/b&gt; of Controls with the &lt;b&gt;Cast&amp;lt;&amp;gt;()&lt;/b&gt; extension. Then we filter only the &lt;b&gt;TextBox&lt;/b&gt;es with &lt;b&gt;where&lt;/b&gt;.  Then we use &lt;b&gt;ToList()&lt;/b&gt; to expedite query processing otherwise lazy evaluation would be used. Then the &lt;b&gt;List.ForEach()&lt;/b&gt; would iteratively process the parameter statement which simply changes the &lt;b&gt;BackColor&lt;/b&gt; property of &lt;b&gt;TextBox&lt;/b&gt; to &lt;a title="Windows Azure" href="http://www.microsoft.com/windowsazure/windowsazure/" rel=""&gt;Windows Azure&lt;/a&gt;.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138240.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/03/01/thou-shalt-not-iterate--part-2.aspx</guid>
            <pubDate>Mon, 01 Mar 2010 04:59:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138240.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/03/01/thou-shalt-not-iterate--part-2.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138240.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138240.aspx</trackback:ping>
        </item>
        <item>
            <title>Thou Shalt not Iterate! : Part 1</title>
            <link>http://geekswithblogs.net/IUnknown/archive/2010/02/25/thou-shalt-not-iterate--part-1.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/IUnknown/archive/2010/02/25/thou-shalt-not-iterate--part-1.aspx'&gt;http://geekswithblogs.net/IUnknown/archive/2010/02/25/thou-shalt-not-iterate--part-1.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt"&gt;LINQ as we all know provides intrinsic data querying capabilities to the framework languages supporting LINQ. Going forward its an obvious way to code clean, and with growing number of LINQ providers (LINQ to SQL, LINQ to Entities, LINQ to XML, LINQ for Maps, and not to forget DryadLinq and pLinq for us Cloudy folks’ Parallel Computing needs,&lt;span style="color: #1f497d"&gt; &lt;/span&gt;and so on) it looks to be the de facto standard for querying within dotnet framework languages.&lt;/span&gt;  &lt;br /&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt"&gt;Let us get acquainted to LINQ by taking a close look at the beauty and simplicity of LINQ, instead of getting into technical nitty-gritty’s.  &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt"&gt;We can start off with simple scenarios where we inherently use loops and replace the codes with LINQ equivalents. Going forward we can include complex looping operations in growing order of complexities.  &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 'Tahoma','sans-serif'; font-size: 10pt"&gt;To kick off let’s look at some interesting Linq alternatives to de-rigueur C# code:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Initialize an array with 10 as default value  &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Loop      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] iArr = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt;[11];       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;for&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;(&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 11; i++)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;   iArr[i] = 10;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;} &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//LINQ      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] iArr = Enumerable.Repeat(10, 11).ToArray(); &lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Fill an array with 1 to 100 &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Loop      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] iArr = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt;[100];       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;for&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;(&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 1; i &amp;lt; 101; i++)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;   iArr[i-1] = i;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;} &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//LINQ      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] iArr = Enumerable.Range(0, 100).ToArray(); &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Fill an array with 100, 150, 200, 250, ..... upto 100 Terms      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//Loop      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] iArr = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt;[100];       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;for&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 100; i++)       &lt;br /&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    &lt;span style="color: blue"&gt;if&lt;/span&gt; (i != 0)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    {      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;         iArr[i] = iArr[i-1]+50;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    }      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    &lt;span style="color: blue"&gt;else        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    {  &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;        iArr[i] = 100;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;    }      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;} &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;//LINQ      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;int&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;[] c = Enumerable.Range(0, 100).Select(i =&amp;gt; 100 + 50 * i).ToArray(); &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; Feel free to provide valuable feedback about the kind of content you expect in this initiative.&lt;/p&gt;  &lt;p&gt;PS: Thanks to &lt;a href="http://devsolo.com/" target="_blank"&gt;Nathan Kelly&lt;/a&gt;, this post stands corrected. &lt;/p&gt; &lt;img src="http://geekswithblogs.net/IUnknown/aggbug/138168.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sarang</dc:creator>
            <guid>http://geekswithblogs.net/IUnknown/archive/2010/02/25/thou-shalt-not-iterate--part-1.aspx</guid>
            <pubDate>Thu, 25 Feb 2010 11:26:16 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/IUnknown/comments/138168.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/IUnknown/archive/2010/02/25/thou-shalt-not-iterate--part-1.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/IUnknown/comments/commentRss/138168.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/IUnknown/services/trackbacks/138168.aspx</trackback:ping>
        </item>
    </channel>
</rss>