<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/mainfeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/geekswithblogs" type="application/rss+xml" /><item><title>Tampa CodeCamp is this weekend</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471460887/127493.aspx</link><pubDate>Mon, 01 Dec 2008 16:31:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/campuskoder/archive/2008/12/01/127493.aspx</guid><wfw:comment>http://geekswithblogs.net/campuskoder/comments/127493.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/campuskoder/comments/commentRss/127493.aspx</wfw:commentRss><comments>http://geekswithblogs.net/campuskoder/archive/2008/12/01/127493.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/campuskoder/services/trackbacks/127493.aspx</trackback:ping><source url="http://geekswithblogs.net/campuskoder/rss.aspx">Tampa CodeCamp is this weekend</source><description>&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;strong&gt;Tampa CodeCamp&lt;/strong&gt; is this weekend. Great speakers and great sessions, see you there!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;12/6/2008&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;8:30 AM - 5:30 PM&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Welcome Time:&lt;br /&gt;
12/6/2008 7:30 AM Eastern Time&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;K-FORCE BLDG&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;1001 E Palm Ave&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Tampa, FL , FL 33605 &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;strong&gt; Be sure to sign up for this event ASAP at - &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.tampacodecamp.com/"&gt;&lt;font face="Verdana"&gt;&lt;strong&gt;http://www.tampacodecamp.com/&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127493"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127493" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/campuskoder/aggbug/127493.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471460887" height="1" width="1"/&gt;</description><dc:creator>Nikita Polyakov</dc:creator><feedburner:origLink>http://geekswithblogs.net/campuskoder/archive/2008/12/01/127493.aspx</feedburner:origLink></item><item><title>Twin Cities SharePoint Camp - January 24, 2009</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471385742/twin-cities-sharepoint-camp---january-24-2009.aspx</link><pubDate>Mon, 01 Dec 2008 15:07:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/twin-cities-sharepoint-camp---january-24-2009.aspx</guid><wfw:comment>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/127492.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/commentRss/127492.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/twin-cities-sharepoint-camp---january-24-2009.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TwinCitiesITandDevEvents/services/trackbacks/127492.aspx</trackback:ping><source url="http://geekswithblogs.net/TwinCitiesITandDevEvents/rss.aspx">Twin Cities SharePoint Camp - January 24, 2009</source><description>&lt;p&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The 2009 date has been set for January 24, 2009 from 8:00 - 4:30 at &lt;a href="http://www.nhmn.com"&gt;New Horizons of MN&lt;/a&gt;.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Details are being finalized and as soon as the registration page is open, we will post the information here&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;SharePoint Camps are about the SharePoint community at large. They are meant to be a place for developers, administrators and any SharePoint user to come and learn from their peers. Topics are always based on community interest and never determined by anyone other than the community.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 36pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Registration link:&lt;/span&gt; &lt;a href="http://www.nhmn.com/Courses/CrsDetail.aspx?C=NHTCSPCamp2"&gt;http://www.nhmn.com/Courses/CrsDetail.aspx?C=NHTCSPCamp2&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127492"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127492" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TwinCitiesITandDevEvents/aggbug/127492.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471385742" height="1" width="1"/&gt;</description><dc:creator>TwinCitiesITandDevEvents</dc:creator><feedburner:origLink>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/twin-cities-sharepoint-camp---january-24-2009.aspx</feedburner:origLink></item><item><title>Call a method from MasterPage in Content Page</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471385743/call-a-method-from-masterpage-in-content-page.aspx</link><pubDate>Mon, 01 Dec 2008 14:58:57 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/diadiora/archive/2008/12/01/call-a-method-from-masterpage-in-content-page.aspx</guid><wfw:comment>http://geekswithblogs.net/diadiora/comments/127491.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/diadiora/comments/commentRss/127491.aspx</wfw:commentRss><comments>http://geekswithblogs.net/diadiora/archive/2008/12/01/call-a-method-from-masterpage-in-content-page.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/diadiora/services/trackbacks/127491.aspx</trackback:ping><source url="http://geekswithblogs.net/diadiora/rss.aspx">Call a method from MasterPage in Content Page</source><description>&lt;p&gt;To access a method from master page in the content page ensure first:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;      The method in master page is declared as &lt;span style="font-family: Courier New;"&gt;public&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;than call this code from your content page code behind:&lt;/p&gt;
&lt;p&gt;                     &lt;span style="font-family: Courier New;"&gt;MasterPageClassName MyMasterPage = (MasterPageClassName)Page.Master;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;         MasterPageClassName.SetMenuToRegistered();&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;where:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Courier New;"&gt;SetMenuToRegistered()&lt;/span&gt; - is a method positioned in the master page class.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127491"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127491" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/diadiora/aggbug/127491.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471385743" height="1" width="1"/&gt;</description><dc:creator>Diadiora Alexandru</dc:creator><feedburner:origLink>http://geekswithblogs.net/diadiora/archive/2008/12/01/call-a-method-from-masterpage-in-content-page.aspx</feedburner:origLink></item><item><title>CTA Luncheon - December 9</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471340642/cta-luncheon---december-9.aspx</link><pubDate>Mon, 01 Dec 2008 14:23:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/cta-luncheon---december-9.aspx</guid><wfw:comment>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/127490.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/commentRss/127490.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/cta-luncheon---december-9.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TwinCitiesITandDevEvents/services/trackbacks/127490.aspx</trackback:ping><source url="http://geekswithblogs.net/TwinCitiesITandDevEvents/rss.aspx">CTA Luncheon - December 9</source><description>&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;Annual Holiday Networking Event&lt;/strong&gt; &lt;br /&gt;
&lt;strong&gt;Where&lt;/strong&gt;: Eagan Community Center&lt;br /&gt;
&lt;strong&gt;When&lt;/strong&gt;: Tuesday, December 9, 2008, &lt;br /&gt;
&lt;strong&gt;Special Time&lt;/strong&gt;: 3:00 p.m. - 6:00 p.m. &lt;br /&gt;
&lt;strong&gt;Speaker&lt;/strong&gt;: Sue Lindgren, YESS!&lt;br /&gt;
&lt;strong&gt;Registration Link&lt;/strong&gt;:  &lt;font face="Arial"&gt;&lt;a href="http://www.ctamn.org/cde.cfm?event=219036"&gt;http://www.ctamn.org/cde.cfm?event=219036&lt;/a&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Are you as effective as you could be? Do you know what is holding you back or getting in your way so you can be effective? What is Emotional Intelligence?&lt;br /&gt;
Event Notes:&lt;br /&gt;
• Afternoon Event&lt;br /&gt;
(3 p.m. to 6 p.m.)&lt;br /&gt;
• Plenty of Networking Delight&lt;br /&gt;
• Appetizers&lt;br /&gt;
• Cash Bar (registration includes one drink ticket)&lt;br /&gt;
• Speaker&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;We are excited to bring back Sue Lindgren by popular demand! She will show you specifically where you can improve working the “people side” of your business and how you can dramatically affect performance and profitability… perhaps even job security. The information in this program is extremely powerful. As a leader, manager, co-worker or in any role you will find valuable tools you can use to increase your effectiveness in the workplace.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Have you ever been frustrated with the people you work with? Have you ever dreaded a meeting because it was boring, non-essential or a complete waste of time? Do you know the primary cause of project failure and how it affects your bottom-line? Do you know the value of emotionally intelligent leadership and the price you pay if your leaders aren’t highly competent this way?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;New feature for December: Buy a table!&lt;br /&gt;
Buy a full table of 8 for the CTA December Afternoon Holiday Networking Event at the reduced rate of $200. Bring a table of your colleagues, your customers, your friends!  What a great way to have an inexpensive holiday outing, have some fun, learn great information from Sue Lindgren and network with others. Purchasing a Table is only available by using this form.&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;br /&gt;
Your days are full. Your people are busy. Your business demands the best of you. The question is, are you effective? Are your people? Is your business? With all the demands in your job, business and life today, it’s critical that you focus on what’s most imperative to your success and fulfillment. Unfortunately, by ourselves, we can rarely see what's holding us back or getting in the way.&lt;br /&gt;
Sue and her company have invested thousands in a conclusive research project targeting specific areas where most managers and leaders miss the mark. They’ve taken this research and designed a comprehensive program that she will give us a taste.&lt;br /&gt;
Here's just a portion of what you'll learn: &lt;br /&gt;
• The 14 skills a leader and manager must cultivate in order to succeed &lt;br /&gt;
• The greatest contributor to your rising healthcare costs &lt;br /&gt;
• Where 90% of a manager’s time is wasted &lt;br /&gt;
• The most undervalued component in business today &lt;br /&gt;
• The top 3 reasons careers are derailed&lt;br /&gt;
• How to define coaching’s role in business and what kind of coaching fits your needs&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/font&gt; &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127490"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127490" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TwinCitiesITandDevEvents/aggbug/127490.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471340642" height="1" width="1"/&gt;</description><dc:creator>TwinCitiesITandDevEvents</dc:creator><feedburner:origLink>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/cta-luncheon---december-9.aspx</feedburner:origLink></item><item><title>SharePoint User Group Meeting - December 10</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471340643/sharepoint-user-group-meeting---december-10.aspx</link><pubDate>Mon, 01 Dec 2008 14:20:49 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/sharepoint-user-group-meeting---december-10.aspx</guid><wfw:comment>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/127489.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TwinCitiesITandDevEvents/comments/commentRss/127489.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/sharepoint-user-group-meeting---december-10.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TwinCitiesITandDevEvents/services/trackbacks/127489.aspx</trackback:ping><source url="http://geekswithblogs.net/TwinCitiesITandDevEvents/rss.aspx">SharePoint User Group Meeting - December 10</source><description>&lt;p&gt;&lt;font face="Arial"&gt;You're invited.  Register at &lt;a href="http://www.sharepointmn.com"&gt;www.sharepointmn.com&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Please join us on Wednesday, December 10, for another opportunity to collaborate with experts on methods used to maximize the potential of the Microsoft Office SharePoint platform.  Previous MNSPUG presenters will team to facilitate an open forum around the platform.  Be sure to bring your questions and experience to participate in this dynamic discussion.  Several subject areas within the SharePoint platform will be covered, including:  &lt;br /&gt;
• Planning &lt;br /&gt;
• Development  &lt;br /&gt;
• Delivery  &lt;br /&gt;
• Tips and Tricks &lt;br /&gt;
• Governance &lt;br /&gt;
• and more!&lt;br /&gt;
SharePoint Open Forum&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127489"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127489" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TwinCitiesITandDevEvents/aggbug/127489.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471340643" height="1" width="1"/&gt;</description><dc:creator>TwinCitiesITandDevEvents</dc:creator><feedburner:origLink>http://geekswithblogs.net/TwinCitiesITandDevEvents/archive/2008/12/01/sharepoint-user-group-meeting---december-10.aspx</feedburner:origLink></item><item><title>New Features in VB.NET 10 (.NET 4.0)</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471302941/new-features-in-vb.net-10-.net-4.0.aspx</link><pubDate>Mon, 01 Dec 2008 13:31:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx</guid><wfw:comment>http://geekswithblogs.net/DarrenFieldhouse/comments/127488.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DarrenFieldhouse/comments/commentRss/127488.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DarrenFieldhouse/services/trackbacks/127488.aspx</trackback:ping><source url="http://geekswithblogs.net/DarrenFieldhouse/rss.aspx">New Features in VB.NET 10 (.NET 4.0)</source><description>&lt;p&gt;Following the &lt;a href="http://www.microsoftpdc.com/"&gt;PDC&lt;/a&gt;, there has been a whole host of announcements about the new features we’ll be seeing in .NET 4.0. I’d like to take a moment to look at some of the features that will be coming to VB.NET 10.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auto implemented properties&lt;br /&gt;
&lt;/strong&gt;When this feature came to C# it created real language envy among VB developers. In those instances where all you need a property to do is hold a value (i.e. where a public field would do the job nicely if it wasn’t evil), C# 3.0 allows the developer to write the property using a shorthand notation and the compiler will implement the private field for you:&lt;/p&gt;
&lt;code&gt;public int CustomerID&lt;br /&gt;
{&lt;br /&gt;
   get   { return customerIdField; }&lt;br /&gt;
   set   { customerIdField = value; }&lt;br /&gt;
}&lt;/code&gt;
&lt;p&gt;Can be written as:&lt;/p&gt;
&lt;code&gt;public int CustomerID { get;  set; }&lt;/code&gt;
&lt;p&gt;Of course, if you need to access the private field you need to write the property using the first style, but if you don’t the shorthand is really useful. VB.NET is getting this feature using the following syntax:&lt;/p&gt;
&lt;code&gt;Public Property CustomerID As Integer&lt;/code&gt;
&lt;p&gt;&lt;strong&gt;Collection Initialisers&lt;/strong&gt;&lt;br /&gt;
Another feature C# has that is missing from VB.NET is the ability to declare and initialise a collection in one go. Well, the playing field is getting levelled a little more in .NET 4.0 as this feature is added to VB:&lt;/p&gt;
&lt;code&gt;Dim words As New List(Of String) From {"Hello", "World"}&lt;/code&gt;
&lt;p&gt;&lt;strong&gt;Implicit Line Continuations&lt;/strong&gt;&lt;br /&gt;
In C# a statement is finished with a semicolon, so you can add new lines wherever you want to improve readability. Not so in VB.NET, if you want a new line you need to let the compiler know it’s not the end of the statement by adding an underscore (the line continuation character). With VB 10 the compiler will be smart enough to infer the line continuation character in most cases:&lt;/p&gt;
&lt;code&gt;Dim s As String = “Hello” &amp;amp;&lt;br /&gt;
  “World”&lt;/code&gt;
&lt;p&gt;Of course, it is likely to be confused if the line is a valid statement:&lt;/p&gt;
&lt;code&gt;Dim s As String = "Hello"&lt;br /&gt;
  &amp;amp; "World"&lt;/code&gt;
&lt;p&gt;In those cases you’ll still need the underscore.&lt;/p&gt;
&lt;p&gt;I’ve just touched the surface of some of the new features we should be seeing in VB.NET 10, but it is already looking very exciting! I’m sure I’ll be blogging about many more features as the details are released…&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127488"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127488" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/DarrenFieldhouse/aggbug/127488.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471302941" height="1" width="1"/&gt;</description><dc:creator>DarrenFieldhouse</dc:creator><feedburner:origLink>http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx</feedburner:origLink></item><item><title>Charting in ASP.NET, ASP.NET Chart Controls for .NET 3.5 SP1</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471289955/charting-in-asp.net-asp.net-chart-controls-for-.net-3.5-sp1.aspx</link><pubDate>Mon, 01 Dec 2008 13:36:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ranganh/archive/2008/12/01/charting-in-asp.net-asp.net-chart-controls-for-.net-3.5-sp1.aspx</guid><wfw:comment>http://geekswithblogs.net/ranganh/comments/127487.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/127487.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ranganh/archive/2008/12/01/charting-in-asp.net-asp.net-chart-controls-for-.net-3.5-sp1.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/127487.aspx</trackback:ping><source url="http://geekswithblogs.net/ranganh/rss.aspx">Charting in ASP.NET, ASP.NET Chart Controls for .NET 3.5 SP1</source><description>&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;Here is a HelloWorld sample on the new ASP.NET Charting control.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;To begin with, install the free Microsoft Chart Controls and the "Tools for VS 2008 for Chart Controls" from &lt;/font&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;amp;DisplayLang=en"&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt; and &lt;/font&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;amp;displaylang=en"&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000" size="2" face="Tahoma"&gt;Note that if you don’t install the Tools for VS 2008 for Chart controls, the Chart Server Control doesnt show up in the Toolbox&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;Once you are done with the installation, restart Visual Studio if you are already running the same (of course, save your work)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;1. Start Visual Studio 2008 and create a File – New – ASP.NET Website or a Web Application&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;2. From the ToolBox, under Data tab, pick up the “Chart” control (the icon would be a series of colored bar graphs) and drag and drop it into the page.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;3. Click on the smart tag for configuring the Chart control and Choose DataSource&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;4. Select “Database” and provide the connection string to your database server (in my case I chose Northwind)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;5. Choose to save the connection string etc., and select the Database table (in my case I chose “Category Sales for 1997”)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;6. Click “Finish” to complete the process.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;7. Now if you run the page you will NOT get the Chart Control.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;8. You need to select the Properties of the Chart Control from design view.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;9. Make sure under “Data” DataSource is set to “SqlDataSource1” unless you gave a different name and DataMember is set to “DefaultView”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;10. Under “Series” in Properties, click on the tab to open up the “Series Collection Editor”.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;11. Scroll down the Series1 Properties to DataSource section.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;12. Specify “CategoryName” as the XValueMember and “CategorySales” for YValueMembers and click Ok.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;13. Build the page and hit F5 to run the page.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;14. You will be able to see the Chart in your webpage.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;15. Right Click on the chart and you would be able to see that it is an image generated dynamically that can be saved as a “.png” file.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;You can download a comprehensive list of samples from &lt;/font&gt;&lt;a target="_blank" href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591"&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt; and verify the different implementations and source code for the same.   For more details, visit the forums &lt;/font&gt;&lt;a target="_blank" href="http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/threads/"&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127487"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127487" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ranganh/aggbug/127487.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471289955" height="1" width="1"/&gt;</description><dc:creator>Harish Ranganathan</dc:creator><feedburner:origLink>http://geekswithblogs.net/ranganh/archive/2008/12/01/charting-in-asp.net-asp.net-chart-controls-for-.net-3.5-sp1.aspx</feedburner:origLink></item><item><title>Do we really need properties in C#?</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471263265/127486.aspx</link><pubDate>Mon, 01 Dec 2008 22:42:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/FrostRed/archive/2008/12/01/127486.aspx</guid><wfw:comment>http://geekswithblogs.net/FrostRed/comments/127486.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/FrostRed/comments/commentRss/127486.aspx</wfw:commentRss><comments>http://geekswithblogs.net/FrostRed/archive/2008/12/01/127486.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/FrostRed/services/trackbacks/127486.aspx</trackback:ping><source url="http://geekswithblogs.net/FrostRed/rss.aspx">Do we really need properties in C#?</source><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Last week, I had a discussion with some friends about the new features in C# programming language. It is kind of interesting that for most of the new features, I always found myself start with some sort of reluctance and then gradually accept it and finally find myself couldn’t write code without it. When I started learning C# a few years ago, I didn’t even like properties (I was a big fun of java). I didn’t understand that if they are just getters and setters, why we were bothered to have properties and let the complier hiding the truth? But now, I can’t imagine how I can write program without them. In my discussion, I told my friends that now I so much prefer the syntax of counter.Count++ over counter.setCount(counter.getCount() + 1).&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Today, I suddenly realised that have given a very bad example. It actually shows the opposite of my point. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Yes, we all agree that counter.setCount(counter.getCount() + 1) is very ugly syntax, as a programmer who only write beautiful code, we all unhappy with it. So, it will make us to think, how can we make it better, should the getter and setter exist at the first place, isn’t it a clear sign of breaking the Law of Demeter? Then we may come up with better solution like this:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;MyFancyCounter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Increase()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;count++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;As for counter.Count++, we are so happy with the syntax, we are probably never going to think if we should expose Count as a property, even though it does exactly the same as counter.setCount(counter.getCount() + 1). &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;So, with properties, life is easy. And it is so easy, that we are going to expose every single field as a property. In C#3, it is made even easier by have this syntax:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; Count { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;By the way, can anyone tell me is there any real difference between &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; Count { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; } &lt;/span&gt;&lt;font face="Calibri" size="3"&gt;and &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; Count;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;? To me, they are the same. But as we all know public fields are very bad and we all love the ease of the public fields, this feature is kind of making compromise so that we can have public fields without feeling guilty. I remember a couple of years ago when this feature was demonstrated in a meeting, people were so excited and cheering loudly. I didn’t understand why people love it so much, are we going to tell our boss that we can finish the next project on time because we don’t have to type in all the properties?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Encouraging unnecessary exposure of private fields is not the only problem. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;A property gives impression of that it a simply field access, but in fact it is a method and it can do arbitrarily anything. Sometimes a property can cause great confusion when it is not supposed to be a property. Here is a real world story I can share. When I started working on a system a year ago, I found some services were suffering badly from memory leak. After running the service for a couple of hours, its memory usage shot up from 20M to 600M. With some help from Windbg/SOS, I found that all the WCF Channel objects were never got freed up. When I looked the code I find this pattern is used throughout the whole system:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;ISecurityService&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; service = serviceManager.SecurityService;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;User&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;[] users = service.GetUsers();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;When I jumped into &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;serviceManager.SecurityService,&lt;/span&gt;&lt;font face="Calibri" size="3"&gt; the code was something like this:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: #2b91af"&gt;ISecurityService&lt;/span&gt; SecurityService&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;     &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;/span&gt;&lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; _securityFactory.CreateChannel(); }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;The &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;SecurityService &lt;/span&gt;&lt;font face="Calibri" size="3"&gt;property actually created a new instance of Channel every time it gets called! And as the factory object maintains the reference to all the channel objects it created, if you don’t explicitly dispose a channel object, it will never be garbage collected. So the correct way of using SecurityService is this:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;using&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; (&lt;span style="COLOR: #2b91af"&gt;ISecurityService&lt;/span&gt; service = serviceManager.SecurityService)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;   &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;User&lt;/span&gt;[] users = service.GetUsers();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;But do you feel it just looks wired? Yes, because you feel you are disposing a private field of &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;serviceManager &lt;/span&gt;&lt;font face="Calibri" size="3"&gt;which might be used by someone else. I guess that is why everyone was deceived by the &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;serviceManager.SecurityService &lt;/span&gt;&lt;font face="Calibri" size="3"&gt;property. So in this case, changing &lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;SecurityService &lt;/span&gt;&lt;font face="Calibri" size="3"&gt;property to method will make things much clearer. Like following:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: #2b91af"&gt;ISecurityService&lt;/span&gt; CreateSecurityService()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;  &lt;/span&gt;&lt;span style="COLOR: blue"&gt;return&lt;/span&gt; _securityFactory.CreateChannel(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;and&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;using&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; (&lt;span style="COLOR: #2b91af"&gt;ISecurityService&lt;/span&gt; service = serviceManager.CreateSecurityService ())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;      &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;User&lt;/span&gt;[] users = service.GetUsers();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Despite of the title of this post, I have no intention to challenge the existence of properties in C#. I love to use properties myself, even this one: &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt; &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; Count { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;What I really want to say is sometimes to use a property is not a simple choice. When you enjoy the ease of the syntax you should ask some questions:&lt;/font&gt;&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0cm" type="disc"&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;font face="Calibri" size="3"&gt;Do I really need to expose a field as a property?&lt;/font&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Is it semantically very different from a field access?&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Will the operation be much complicated than a field access?&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Will calling the getter have a side effect?&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Will the getter return different result every time it is called?&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127486"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127486" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/FrostRed/aggbug/127486.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471263265" height="1" width="1"/&gt;</description><dc:creator>Changhong Fu</dc:creator><feedburner:origLink>http://geekswithblogs.net/FrostRed/archive/2008/12/01/127486.aspx</feedburner:origLink></item><item><title>Do not pass data between static methods using static data members.</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471177520/do-not-pass-data-between-static-methods-using-static-data.aspx</link><pubDate>Mon, 01 Dec 2008 10:49:08 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mnf/archive/2008/11/30/do-not-pass-data-between-static-methods-using-static-data.aspx</guid><wfw:comment>http://geekswithblogs.net/mnf/comments/127485.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mnf/comments/commentRss/127485.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mnf/archive/2008/11/30/do-not-pass-data-between-static-methods-using-static-data.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mnf/services/trackbacks/127485.aspx</trackback:ping><source url="http://geekswithblogs.net/mnf/rss.aspx">Do not pass data between static methods using static data members.</source><description>&lt;div goog_docs_charindex="126"&gt;In one of static class in our application, I found local static members that were used to pass data between calls of static methods.&lt;br goog_docs_charindex="260" /&gt;
It’s wrong and can cause errors that are intermittent and very hard to reproduce.&lt;br goog_docs_charindex="344" /&gt;
The problem will happen if the same code executed for 2 users simultaneously. In this case value for one user could be used for the second user and result will be unpredictable.&lt;br goog_docs_charindex="522" /&gt;
 &lt;br goog_docs_charindex="524" /&gt;
The code was similar the following:&lt;br goog_docs_charindex="560" /&gt;
 &lt;br goog_docs_charindex="562" /&gt;
    public static class HelperClass&lt;br goog_docs_charindex="598" /&gt;
    {&lt;br goog_docs_charindex="604" /&gt;
       private static string _dataToPass = "";&lt;/div&gt;
&lt;div goog_docs_charindex="645"&gt;   static void Method1(string param)&lt;/div&gt;
&lt;div goog_docs_charindex="683"&gt;{&lt;/div&gt;
&lt;div goog_docs_charindex="686"&gt;_dataToPass =param;&lt;/div&gt;
&lt;div goog_docs_charindex="707"&gt;}&lt;br goog_docs_charindex="709" /&gt;
&lt;/div&gt;
&lt;div goog_docs_charindex="710"&gt;   static void Method2()&lt;br /&gt;
      {&lt;/div&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px" goog_docs_charindex="707"&gt;
&lt;div goog_docs_charindex="739"&gt;//logic based on _dataToPass value;&lt;/div&gt;
&lt;div goog_docs_charindex="776"&gt;}&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div dir="ltr" goog_docs_charindex="776"&gt; }&lt;/div&gt;
&lt;div dir="ltr" goog_docs_charindex="776"&gt;&lt;/div&gt;
&lt;div goog_docs_charindex="776"&gt;The pattern is popular for instance object, when one method saves state in the instance, and other method use it, but it is not acceptable for static class.&lt;/div&gt;
&lt;div goog_docs_charindex="776"&gt;Consider to use singleton pattern, if you have shared for the domain object.&lt;/div&gt;
&lt;div goog_docs_charindex="783"&gt;The issue is well known(e.g. see &lt;span class="Article_Title"&gt;&lt;a id="ny:j" title="Statics &amp;amp; Thread Safety: Part I" href="http://www.odetocode.com/Articles/313.aspx"&gt;Statics &amp;amp; Thread Safety: Part I&lt;/a&gt;  &lt;/span&gt; and &lt;a id="n_.8" title="Part 2" href="http://www.odetocode.com/Articles/314.aspx"&gt;Part 2&lt;/a&gt; ), but I decided to write about it again.&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127485"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127485" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mnf/aggbug/127485.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471177520" height="1" width="1"/&gt;</description><dc:creator>Michael Freidgeim</dc:creator><feedburner:origLink>http://geekswithblogs.net/mnf/archive/2008/11/30/do-not-pass-data-between-static-methods-using-static-data.aspx</feedburner:origLink></item><item><title>Windows Live Tools for Visual Studio 2008</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471177521/windows-live-tools-for-visual-studio-2008.aspx</link><pubDate>Mon, 01 Dec 2008 11:16:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ranganh/archive/2008/12/01/windows-live-tools-for-visual-studio-2008.aspx</guid><wfw:comment>http://geekswithblogs.net/ranganh/comments/127484.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/127484.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ranganh/archive/2008/12/01/windows-live-tools-for-visual-studio-2008.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/127484.aspx</trackback:ping><source url="http://geekswithblogs.net/ranganh/rss.aspx">Windows Live Tools for Visual Studio 2008</source><description>&lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;The Windows Live Team put up a neat bunch of controls that can be used in your ASP.NET Websites.  In fact once you install the Windows Live Tools for Visual Studio 2008 from &lt;/font&gt;&lt;a href="http://dev.live.com/tools/"&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;http://dev.live.com/tools/&lt;/font&gt;&lt;/a&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt; you get a few server controls in the toolbox as well as website templates for Visual Studio 2008 project/website.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;I wanted to demonstrate how you can quickly add a video to your website that is being streamed from the Silverlight Streaming Service, all within 5 minutes.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;&lt;strong&gt;Pre-requisites&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;1. Visual Studio 2008 or Visual Web Developer Expression Edition&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;2. Windows Live Tools for Visual Studio 2008 (&lt;/font&gt;&lt;a href="http://dev.live.com/tools/"&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;http://dev.live.com/tools/&lt;/font&gt;&lt;/a&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;3.  Your video uploaded to Silverlight Streaming Service&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          i. Visit &lt;/font&gt;&lt;a href="http://silverlight.live.com"&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;http://silverlight.live.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          ii. Sign-in using your Live ID/Hotmail/Passport&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          iii. Click on "Get it Free" Icon&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          iv.  Click on "I accept Terms and Conditions"&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;           v.  You would receive an Account ID and Account Key (GUID ID)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          vi.  Note them for your reference for now.  You would also be able to view it every time you login.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          vii. Click on "Manage Videos" in the left&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;          viii. Click "Upload Video" to provide a video title as well as uploading the video.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;Adding your uploaded video into ASP.NET Website&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;1. Create a File - New - ASP.NET Windows Live Website&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;2. From the ToolBox under "Windows Live" Tab, drag and drop "SilverlightStreamingMediaPlayer" into the page&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;3. Click on the smart tag "&amp;gt;" on the Top right of the SilverlightLightStreamingMediaPlayer control in design view.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;4. Click on the tab next to the URL textbox in the "SillverlightStreamingMediaPlayer Tasks" wizard.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;5. It prompts you with a dialog for providing the Account ID and the Account Key.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;6. You would need to provide the same that you acquired from the steps in pre-requisites above.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;7. Click on "List" and it will provide a  list of the videos uploaded by you to the Streaming Service already.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;8. Select the video and click "Ok" to add it to the page.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;9. You are all set to play your streaming video in your ASP.NET Website.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000040" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127484"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127484" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ranganh/aggbug/127484.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471177521" height="1" width="1"/&gt;</description><dc:creator>Harish Ranganathan</dc:creator><feedburner:origLink>http://geekswithblogs.net/ranganh/archive/2008/12/01/windows-live-tools-for-visual-studio-2008.aspx</feedburner:origLink></item><item><title>Apple closes iTunes account work-around</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471177522/apple-closes-itunes-account-work-around.aspx</link><pubDate>Mon, 01 Dec 2008 10:43:40 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ajames/archive/2008/11/30/apple-closes-itunes-account-work-around.aspx</guid><wfw:comment>http://geekswithblogs.net/ajames/comments/127483.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ajames/comments/commentRss/127483.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ajames/archive/2008/11/30/apple-closes-itunes-account-work-around.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ajames/services/trackbacks/127483.aspx</trackback:ping><source url="http://geekswithblogs.net/ajames/rss.aspx">Apple closes iTunes account work-around</source><description>&lt;p&gt;For many years savvy iTunes users have been setting up US iTunes accounts to not only get music, video and film at a reduced cost but also be able to get TV programs early. It has been one of the ‘legal’ ways of breaking the Sky monopoly.&lt;/p&gt;  &lt;p&gt;That has all been stopped as Apple decides to maximize revenue. Previously a US account could be had by setting up an iTunes account and selecting the ‘No’ card payment option. Of course a US address was required and the purchase of iTunes US gift certificates thro’ ebay was needed.&lt;/p&gt;  &lt;p&gt;The option was not a bug as previously reported by other commentators but the need to allow children the option of downloading without having to use an adults credit card. This is now been stopped. The argument is simply setup a paypal account for the child and do it that way.&lt;/p&gt;  &lt;p&gt;At a stroke Apple has now pushed 1000’s of users previously paying for music, film and TV towards the world of Bit Torrent and the illegal non-paying exchange of such items.&lt;/p&gt;  &lt;p&gt;This strikes me as madness in today’s world where I can purchase CD’s, Videos and the like and have them shipped to the UK.&lt;/p&gt;  &lt;p&gt;Well done Apple!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127483"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127483" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajames/aggbug/127483.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471177522" height="1" width="1"/&gt;</description><dc:creator>BizTalk Visionary</dc:creator><feedburner:origLink>http://geekswithblogs.net/ajames/archive/2008/11/30/apple-closes-itunes-account-work-around.aspx</feedburner:origLink></item><item><title>Step one...</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471156724/step-one.aspx</link><pubDate>Mon, 01 Dec 2008 04:08:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mattjgilbert/archive/2008/12/01/step-one.aspx</guid><wfw:comment>http://geekswithblogs.net/mattjgilbert/comments/127482.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mattjgilbert/comments/commentRss/127482.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mattjgilbert/archive/2008/12/01/step-one.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mattjgilbert/services/trackbacks/127482.aspx</trackback:ping><source url="http://geekswithblogs.net/mattjgilbert/rss.aspx">Step one...</source><description>&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Hello. I’ve often wondered why I’ve never blogged before and never really came up with a convincing reason why not. I guess it’s partly laziness and partly wondering if no-one is going to read it then what is the point. I’ve slowly come to the conclusion that I should at least blog my thoughts so that even if nobody else reads them, at least I’ve taken the time to consider more about what I am thinking and writing which can only be a good thing.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;I’m currently focused on Integration and have been working with BizTalk since the first version. In the last 12+ months I’ve been more involved in design, planning and management but I’m due to change jobs in the new year and should be getting back to more hands on work; which is good news for me :)&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Until then, this blog might be a little sporadic but I hope to at least present some of my experiences gained so far within my latest role. To start with I’ll dig out the slide deck I presented at the UK BizTalk user group and post an accompanying entry explaining it all. Watch this space…&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127482"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127482" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mattjgilbert/aggbug/127482.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471156724" height="1" width="1"/&gt;</description><dc:creator>mattjgilbert</dc:creator><feedburner:origLink>http://geekswithblogs.net/mattjgilbert/archive/2008/12/01/step-one.aspx</feedburner:origLink></item><item><title>Lord of the widgets!</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471145905/lord-of-the-widgets.aspx</link><pubDate>Mon, 01 Dec 2008 09:54:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ajames/archive/2008/11/30/lord-of-the-widgets.aspx</guid><wfw:comment>http://geekswithblogs.net/ajames/comments/127481.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ajames/comments/commentRss/127481.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ajames/archive/2008/11/30/lord-of-the-widgets.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ajames/services/trackbacks/127481.aspx</trackback:ping><source url="http://geekswithblogs.net/ajames/rss.aspx">Lord of the widgets!</source><description>&lt;p&gt;&lt;a href="http://now.sprint.com/widget/"&gt;This web page&lt;/a&gt; from Sprint takes web widgets to the nth level. It most certainly is one page to rule them all!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://now.sprint.com/widget/"&gt;Lord of the widgets!&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127481"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127481" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajames/aggbug/127481.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471145905" height="1" width="1"/&gt;</description><dc:creator>BizTalk Visionary</dc:creator><feedburner:origLink>http://geekswithblogs.net/ajames/archive/2008/11/30/lord-of-the-widgets.aspx</feedburner:origLink></item><item><title>Hot Bag Syndrome</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471135875/hot-bag-syndrome.aspx</link><pubDate>Mon, 01 Dec 2008 09:42:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MobileLOB/archive/2008/12/01/hot-bag-syndrome.aspx</guid><wfw:comment>http://geekswithblogs.net/MobileLOB/comments/127480.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MobileLOB/comments/commentRss/127480.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MobileLOB/archive/2008/12/01/hot-bag-syndrome.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MobileLOB/services/trackbacks/127480.aspx</trackback:ping><source url="http://geekswithblogs.net/MobileLOB/rss.aspx">Hot Bag Syndrome</source><description>&lt;p&gt;Ever had the issue, when you think you're laptop is powering down.  Place laptop in bag only to find a while later  laptop didn't power down and has done a nice job in warming up your bag?&lt;/p&gt;  &lt;p&gt;This phenomenon has been happening more and more to me, as the graphics drivers are causing a crash when my machines attempts to hibernate.&lt;/p&gt;  &lt;p&gt;I just thought we'd better give this syndrome a name.    I've called it 'Hot Bag Syndrome'&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127480"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127480" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/MobileLOB/aggbug/127480.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471135875" height="1" width="1"/&gt;</description><dc:creator>Richard Jones</dc:creator><feedburner:origLink>http://geekswithblogs.net/MobileLOB/archive/2008/12/01/hot-bag-syndrome.aspx</feedburner:origLink></item><item><title>VMware one day sale - today, Monday 1 December 2008</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471110174/127479.aspx</link><pubDate>Mon, 01 Dec 2008 09:16:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/twickers/archive/2008/12/01/127479.aspx</guid><wfw:comment>http://geekswithblogs.net/twickers/comments/127479.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/127479.aspx</wfw:commentRss><comments>http://geekswithblogs.net/twickers/archive/2008/12/01/127479.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/127479.aspx</trackback:ping><source url="http://geekswithblogs.net/twickers/rss.aspx">VMware one day sale - today, Monday 1 December 2008</source><description>VMware workstation is 25% of today at the &lt;a href="http://www.vmware.com"&gt;www.vmware.com&lt;/a&gt; estore, use &lt;span style="font-weight: bold;"&gt;CyberMondayDeal&lt;/span&gt; code to get the discount.&lt;br /&gt;
&lt;br /&gt;
Thanks to Oliver Sturm for the top tip.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127479"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127479" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/127479.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471110174" height="1" width="1"/&gt;</description><dc:creator>Liam Westley</dc:creator><feedburner:origLink>http://geekswithblogs.net/twickers/archive/2008/12/01/127479.aspx</feedburner:origLink></item><item><title>Selecting Items in a list using DIVs instead of Radio Buttons</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/471052993/selecting-items-in-a-list-using-divs-instead-of-radio.aspx</link><pubDate>Mon, 01 Dec 2008 08:20:14 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/xlinesonegoal/archive/2008/12/01/selecting-items-in-a-list-using-divs-instead-of-radio.aspx</guid><wfw:comment>http://geekswithblogs.net/xlinesonegoal/comments/127478.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/xlinesonegoal/comments/commentRss/127478.aspx</wfw:commentRss><comments>http://geekswithblogs.net/xlinesonegoal/archive/2008/12/01/selecting-items-in-a-list-using-divs-instead-of-radio.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/xlinesonegoal/services/trackbacks/127478.aspx</trackback:ping><source url="http://geekswithblogs.net/xlinesonegoal/rss.aspx">Selecting Items in a list using DIVs instead of Radio Buttons</source><description>&lt;strong&gt;&lt;font face="Arial" size="5"&gt;Selecting Items in a list using DIVs instead of Radio Buttons&lt;/font&gt;&lt;/strong&gt;
&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Radio buttons cannot be styled using CSS. Another problem is that they simply f*** up your design if used incorrectly. They are also not very useful if you would like a user to be able to click on a large item in order to select it.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution: &lt;/strong&gt;A solution to this problem would be to allow the user to click on whole DIVs in order to select an item. This is done using some javascript, CSS and a hidden textbox. This is how it's done using ASP VB and Javascript. Obviously this can be done using other Server Side languages as the main work will be done by Javascript. So...&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold;"&gt;This is the javascript needed&lt;/span&gt;.&lt;br /&gt;
&lt;/p&gt;
&lt;span style="font-family: Courier New;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &lt;span style="background-color: rgb(255, 255, 0);"&gt;var selected = 0;&lt;/span&gt; //holds the selected div id... set to be the first selected item (in this case - 0)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    function selectDIV(newid)&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    {&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        document.getElementById('div' + selected).className = 'item'; //change previously selected item CSS&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        selected = newid; //set 'selected' as the new id&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        document.getElementById('div' + selected).className = 'itemselected'; //change the newly selected item CSS&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        document.getElementById('selecteddivid').value = selected; //set value of hidden textbox to selected div id&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    }&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;p&gt;The highlighted part in this code is the most important thing. The 'selected' variable holds the ID Number of the selected DIV. It is important to set it by default as the item selected when the page loads.&lt;/p&gt;
&lt;span style="font-weight: bold;"&gt;This is the HTML/ASPVB code needed&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Courier New;"&gt;    &amp;lt;% for i = 0 to 5 &lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        if i = 0 then&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;            myclass = "itemselected"&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        else&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;            myclass = "item"&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        end if&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &lt;span style="background-color: rgb(255, 255, 0);"&gt;divid = "div" &amp;amp; i&lt;/span&gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    %&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &amp;lt;div class="&amp;lt;%= myclass %&amp;gt;" &lt;span style="background-color: rgb(255, 255, 0);"&gt;id="&amp;lt;%= divid %&amp;gt;" onclick="selectDIV(&amp;lt;%= i %&amp;gt;)&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;            To select DIV #&amp;lt;%= i %&amp;gt; click here.&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &amp;lt;% next %&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &amp;lt;form action="default.asp" method="post"&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &lt;span style="background-color: rgb(255, 255, 0);"&gt;&amp;lt;input type="hidden" id="selecteddivid" name="selecteddivid" value="0" /&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;        &amp;lt;input type="submit" value="SAVE" /&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" /&gt;
&lt;span style="font-family: Courier New;"&gt;    &amp;lt;/form&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In this case, I used a loop from 0 to 5 to generate 6 divs. The ID of each DIV is 'div&lt;span style="color: rgb(128, 128, 128);"&gt;x&lt;/span&gt;' where x is a number from the loop. The onclick event calls the selectDIV function which we did above. As you can see a hidden textbox 'selecteddivid' is created here which will hold the selected div's id. This can later be read using &lt;span style="font-family: Courier New;"&gt;request.form("selecteddivid") &lt;span style="font-family: Arial;"&gt;after the form posts.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Conclusion: &lt;/strong&gt;Javascripts like this are easy to create and will help you create better-looking webpages by allowing the user to interact better with your website.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;Code example will be coming soon.&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127478"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127478" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/xlinesonegoal/aggbug/127478.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/471052993" height="1" width="1"/&gt;</description><dc:creator>xlinesonegoal</dc:creator><feedburner:origLink>http://geekswithblogs.net/xlinesonegoal/archive/2008/12/01/selecting-items-in-a-list-using-divs-instead-of-radio.aspx</feedburner:origLink></item><item><title>Microsoft Offering Free Media Streaming for Silverlight</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470874439/127477.aspx</link><pubDate>Mon, 01 Dec 2008 03:45:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dlussier/archive/2008/11/30/127477.aspx</guid><wfw:comment>http://geekswithblogs.net/dlussier/comments/127477.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dlussier/comments/commentRss/127477.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dlussier/archive/2008/11/30/127477.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dlussier/services/trackbacks/127477.aspx</trackback:ping><source url="http://geekswithblogs.net/dlussier/rss.aspx">Microsoft Offering Free Media Streaming for Silverlight</source><description>&lt;p&gt;   &lt;br /&gt;So you have a Silverlight application, and you want it to serve up some videos or deep zoom images, but you don’t want to fork over major cash to your hosting provider for the extra disk space and traffic. Well has Microsoft got a deal for you…&lt;/p&gt;  &lt;p&gt;The Microsoft Silverlight Streaming program gives you space online to not only host your media files but also the bandwidth to serve them up to your Silverlight app…and its *free*! Here’s the details:&lt;/p&gt;  &lt;p&gt;- 10 GB of space to host your media files.   &lt;br /&gt;- Up to 5 TB of bandwidth per user account per month    &lt;br /&gt;- Videos need to be capped at 10 minutes in length and have a max bit rate of 1.4 Mbps&lt;/p&gt;  &lt;p&gt;Now, because this is in beta its free…however they do state that when it moves out of beta there will be two models:&lt;/p&gt;  &lt;p&gt;- Ad Supported (free, but with adds downloaded before your video I guess?)   &lt;br /&gt;- Paid Service (no statement on how much they’d charge per month)&lt;/p&gt;  &lt;p&gt;If you want more information, check out the site &lt;a href="http://silverlight.live.com" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;D&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127477"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127477" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dlussier/aggbug/127477.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470874439" height="1" width="1"/&gt;</description><dc:creator>D'Arcy Lussier</dc:creator><feedburner:origLink>http://geekswithblogs.net/dlussier/archive/2008/11/30/127477.aspx</feedburner:origLink></item><item><title>The Path Is Not a Legal Form</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470738826/the-path-is-not-a-legal-form.aspx</link><pubDate>Mon, 01 Dec 2008 00:08:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Shadowin/archive/2008/11/30/the-path-is-not-a-legal-form.aspx</guid><wfw:comment>http://geekswithblogs.net/Shadowin/comments/127476.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Shadowin/comments/commentRss/127476.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Shadowin/archive/2008/11/30/the-path-is-not-a-legal-form.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Shadowin/services/trackbacks/127476.aspx</trackback:ping><source url="http://geekswithblogs.net/Shadowin/rss.aspx">The Path Is Not a Legal Form</source><description>&lt;p&gt;I've been struggling through a Team Foundation Server 2008 install with Sql Server 2008 over the weekend. It seems to be having an especially hard time with the SQL Server Reporting Services. After analyzing a few things, I determined that the configuration tool was having an issue due to some prior installations of software. The report urls were pointing to a SQL Express directory. &lt;/p&gt;
&lt;p&gt;I went about setting up the virtual directories manually. This required setting up an application pool, and I assigned my service user to run the pool. After I did that, I had to grant the user write access to the RSTempFiles folder. Then I received an error when browsing the site, "the path is not a legal form." &lt;/p&gt;
&lt;p&gt;I couldn't find a site anywhere with a solution, though there was a &lt;a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=4142152&amp;amp;SiteID=1"&gt;dead thread&lt;/a&gt; on the old msdn forums with the same problem with SRSS. Since the tubes held no hope for me, I had to resort to old fashioned troubleshotting. &lt;/p&gt;
&lt;p&gt;If you receive this error, you need to add your application pool user to the SQLServerReportServerUser (followed by $servername$instancename) group. It's that simple, but the error doesn't indicate what is necessary to fix it. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127476"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127476" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Shadowin/aggbug/127476.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470738826" height="1" width="1"/&gt;</description><dc:creator>Chris Eargle</dc:creator><feedburner:origLink>http://geekswithblogs.net/Shadowin/archive/2008/11/30/the-path-is-not-a-legal-form.aspx</feedburner:origLink></item><item><title>Where Did My Memory Go?</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470729457/127475.aspx</link><pubDate>Sun, 30 Nov 2008 23:48:23 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/akraus1/archive/2008/11/30/127475.aspx</guid><wfw:comment>http://geekswithblogs.net/akraus1/comments/127475.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/akraus1/comments/commentRss/127475.aspx</wfw:commentRss><comments>http://geekswithblogs.net/akraus1/archive/2008/11/30/127475.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/akraus1/services/trackbacks/127475.aspx</trackback:ping><source url="http://geekswithblogs.net/akraus1/rss.aspx">Where Did My Memory Go?</source><description>&lt;p&gt;When you program in a high level language like .NET where the Garbage collector takes care of your memory you do not have to think about memory as often as it is the case in C++. Memory leaks tend to show up much more often in C++ and other non garbage collected languages because nobody is cleaning after you. Garbage collection is a good thing but somehow your application consumes much more memory than you thought it should. What should you do now? First of all you need to understand how your memory is organized by Windows itself. Mark Russinovich has a very &lt;a href="http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx"&gt;eloquent article&lt;/a&gt; about that. If you do not understand what the whole article is all about I give you a quick start.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;Process Explorer&lt;/a&gt; from TechNet. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now you see some output like this.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/akraus1/3938/o_ProcessExplorerMemory_MemoryLeak.jpg" /&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;What do the numbers of Working Set, Working Set Private, Private Bytes, ... mean to a "normal" programmer? I do allocate memory, use it and let the garbage collector free it when I no longer use it. The usage of memory is easy but Windows does a lot behind the scenes to make it work in an efficient way. The most crucial part is that Windows does is to share memory between processes when it is read only. Your code and read only data in a dll is a good example of a read only data structure that can be used in many processes. If you use the same dll in more than one process it will be shared between all processes that use it. &lt;/p&gt;  &lt;h3&gt;Shared Memory&lt;/h3&gt;  &lt;p&gt;If you look at the columns in the screen shot of Process Explorer you will notice that different counters for Working Set and Private Bytes have been selected. The deeper reason for this is that these numbers are incredibly useful to tune your application. To get more data you can select the Properties (right click on a process) of a process.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/akraus1/3938/o_ProcessExplorer_MemoryProperties.jpg" /&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt; &lt;a href="http://blogs.msdn.com/salvapatuel/archive/2007/10/13/memory-working-set-explored.aspx"&gt;Working set&lt;/a&gt; is the actually used physical memory which cannot be more than the amount of your RAM chips installed on your computer. &lt;/li&gt;    &lt;li&gt;Private Bytes is the memory that cannot be shared between processes. &lt;/li&gt;    &lt;li&gt;Working Set Private tells you how much private bytes attribute to your working set (allocated physical memory) .&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;When you add the total working set of all processes you can get a much bigger number than the installed memory on your machine. The reason behind this is that much of your process data (e.g. code) can be shared. You can calculate your working set out of&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Working Set = Working Set Private + Working Set Shareable&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you want to create a well behaved .NET application you would aim for a low working set and low private bytes. Private bytes are for example all your allocated objects which live on the CLR heap either in Generation 0,1,2 or the Large Object Heap. More about that comes later.&lt;/p&gt;  &lt;h4&gt;&lt;em&gt;Code Sharing - NGen And Precompiled Assemblies&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;In the .NET environment things are complicated a bit by the JIT compiler which does compile your IL code into each process separately. To achieve full code sharing in .NET processes you need to precompile your assembly with the &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163610.aspx"&gt;NGEN&lt;/a&gt; tool to enable cross process code sharing. If you look with process explorer at your loaded dlls (press Ctrl-D in Process Explorer) you will find that all .NET assemblies from Microsoft are precompiled to minimize the memory footprint if more than one .NET process (which is very likely) is runnig. To validate that you are you using the precompiled images look into the Fusion Log (&lt;a href="http://msdn.microsoft.com/en-us/library/e74a18c4(VS.71).aspx"&gt;Fuslogvw&lt;/a&gt; and check the Native Image checkbox). An even easier way is to look at the path of you loaded dlls. If it does contain C:\Windows\NativeImages_v2.xxxx then you have loaded the precompiled assembly successfully. If not your NGen image did not match the loaded assembly and must be updated or you are using multiple AppDomains. In that case you need to decorate your Main method with &lt;a href="http://www.guidanceshare.com/wiki/.NET_2.0_Performance_Guidelines_-_What's_New_in_2.0#Load_Assemblies_As_Domain_Neutral_In_Multiple_Domain_Scenarios"&gt;LoaderOptimization.MultiDomain&lt;/a&gt; value to tell the JIT compiler to share the code between AppDomains.&lt;/p&gt;  &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;   &lt;/span&gt;     [&lt;span style="color: #2b91af"&gt;LoaderOptimization&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;LoaderOptimization&lt;/span&gt;.MultiDomain)]&lt;/p&gt;    &lt;p style="margin: 0px"&gt;         &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;/p&gt; &lt;/div&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Code size in enterprise applications can easily reach several hundred MB which would become a major headache if no code sharing between processes is possible.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h4&gt;&lt;em&gt;Data Sharing&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;Another way to share data between processes are &lt;a href="http://msdn.microsoft.com/en-us/library/ms810613.aspx"&gt;Memory Mapped Files&lt;/a&gt; which will be supported by the &lt;a href="http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm"&gt;.NET Framework 4.0&lt;/a&gt; without any PInvokes finally. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h4&gt;&lt;em&gt;Page File Allocated Memory&lt;/em&gt;&lt;/h4&gt;  &lt;p&gt;An even trickier thing is to allocate memory in the page file directly by calling &lt;a href="http://msdn.microsoft.com/en-us/library/aa366890(VS.85).aspx"&gt;VirtualAllocEx&lt;/a&gt;. Since the page file is shared between all processes it is not really possible to attribute this allocation to a specific process (yet). This is the reason why Page File backed memory does not show up as private byte memory at all although your application might consume GBs of it.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Working Set and Allocation Size&lt;/h3&gt;  &lt;p&gt;There is a very direct relation between Working Set size and allocation size in .NET applications. Try to run the following code snippet &lt;/p&gt;  &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;    &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Program&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;    {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;        &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;        {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;            &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[]&amp;gt; memory = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;byte&lt;/span&gt;[]&amp;gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;            &lt;span style="color: blue"&gt;const&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt; Factor = 85; // Allocate 85000 bytes with each loop run&lt;/p&gt;    &lt;p style="margin: 0px"&gt;            &lt;span style="color: blue"&gt;while&lt;/span&gt; (&lt;span style="color: blue"&gt;true&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;            {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;                &lt;span style="color: blue"&gt;var&lt;/span&gt; bytes = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;byte&lt;/span&gt;[Factor * 1000];&lt;/p&gt;    &lt;p style="margin: 0px"&gt;                memory.Add(bytes); // prevent the GC from reclaiming the memory&lt;/p&gt;    &lt;p style="margin: 0px"&gt;                &lt;span style="color: #2b91af"&gt;Thread&lt;/span&gt;.Sleep(Factor / 2);  // throttle the  allocation to make it visible&lt;/p&gt;    &lt;p style="margin: 0px"&gt;                &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"Next run"&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;            }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;        }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;    }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;That code snippet will allocate memory in blocks each the size of 85000 bytes and sleep a little to watch the memory allocations more easily. If you wonder why on Earth I did use 85000 bytes as block size: That is the size when the .NET Framework (2.0, 3.0, 3.5, 3.5 SP1) will allocate your object on the &lt;a href="http://blogs.msdn.com/maoni/archive/2006/04/18/large-object-heap.aspx"&gt;Large Object Heap&lt;/a&gt;. All objects on this heap are never moved by the Garbage Collector. You can observe this directly when you watch the Working Set Size. It remains constant while you allocate hundreds of MBs of private bytes memory! Windows allocates the memory and finds that since you did not touch the memory it can be moved to the page file where your application will happily allocate more and more page file but not physical memory until you reach the 2 GB limit for a 32 bit process or the page file becomes full.&lt;/p&gt;  &lt;p&gt;The effect changes drastically when you change the Factor from 85 to 84. This will change the allocation size below the threshold and you will allocate the memory on the normal CLR heap. That heaps are compacted from time to time by the GC which means that the GC will force Windows to move our memory from the page file into the physical memory. Although our application does not access the allocated bytes the GC will which binds our memory allocation directly to physical memory!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;When you allocate memory in smaller chunks than 85000 bytes it will be allocated in your physical RAM due to the GCs nature to traverse the whole heap from time to time.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;That is important since it severely limits our ability to run an application with many small objects on machines with not so much RAM. It is therefor vitally important for all .NET developers to track their memory consumption and have a sharp eye on many small (&amp;lt;85000 bytes) object allocations which directly add to the process working set. How and which memory profilers can be used to track typical .NET applications is a topic for a future post.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127475"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127475" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/akraus1/aggbug/127475.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470729457" height="1" width="1"/&gt;</description><dc:creator>Alois Kraus</dc:creator><feedburner:origLink>http://geekswithblogs.net/akraus1/archive/2008/11/30/127475.aspx</feedburner:origLink></item><item><title>Bloodletting XNA</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470675861/127474.aspx</link><pubDate>Sun, 30 Nov 2008 22:35:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/appsguild/archive/2008/11/30/127474.aspx</guid><wfw:comment>http://geekswithblogs.net/appsguild/comments/127474.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/appsguild/comments/commentRss/127474.aspx</wfw:commentRss><comments>http://geekswithblogs.net/appsguild/archive/2008/11/30/127474.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/appsguild/services/trackbacks/127474.aspx</trackback:ping><source url="http://geekswithblogs.net/appsguild/rss.aspx">Bloodletting XNA</source><description>Back in the past (circa May 2006) &lt;a href="http://geekswithblogs.net/appsguild/archive/2006/05/20/79071.aspx"&gt;I entered the GWB Game Contest&lt;/a&gt;. Six weeks of design and programming in Visual C#.Net 2005, pre-XNA days. I created a post-apocalyptic arena card game, similar to Magic, where patrons fight their champions (or slaves) in an arena. It included anime game art created by my daughter Mindy.
&lt;p&gt;
Now I have been converting it to XNA. In addition, I want to significantly tweak the gameplay, and add lots more cards. Mindy is unavailable for game art, so I was stumped for card art. Then I found that the &lt;a href="http://www.charas-project.net/charas2/index.php?lang=en&amp;amp;generator=2"&gt;charas PRGMaker art site has a faceset creator engine&lt;/a&gt;. So I have been using it to design card art.
&lt;/p&gt;&lt;p&gt;
Plugging the card art into the old Bloodletting game engine looks like this:
&lt;br /&gt;
&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/appsguild/6029/o_bloodletting_old.jpg" /&gt;
&lt;/p&gt;&lt;p&gt;
While converting this to XNA, I also want to add armor, and a "cost" to each card. Then one cannot play a card without enough money, with money being like mana in Magic.
&lt;/p&gt;&lt;p&gt;
That is Phase 1 plan. Phase 2 plan is to add multiple characters fighting at one time.
 
&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127474"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127474" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/appsguild/aggbug/127474.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470675861" height="1" width="1"/&gt;</description><dc:creator>Scott Miller</dc:creator><feedburner:origLink>http://geekswithblogs.net/appsguild/archive/2008/11/30/127474.aspx</feedburner:origLink></item><item><title>Book Review : MCTS 70-503 Microsoft .NET Framework 3.5 Windows Communication Foundation (Self-Paced Training Kit). MS-Press : 9780735625655</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470616590/127473.aspx</link><pubDate>Sun, 30 Nov 2008 20:51:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/claeyskurt/archive/2008/11/30/127473.aspx</guid><wfw:comment>http://geekswithblogs.net/claeyskurt/comments/127473.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/claeyskurt/comments/commentRss/127473.aspx</wfw:commentRss><comments>http://geekswithblogs.net/claeyskurt/archive/2008/11/30/127473.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/claeyskurt/services/trackbacks/127473.aspx</trackback:ping><source url="http://geekswithblogs.net/claeyskurt/rss.aspx">Book Review : MCTS 70-503 Microsoft .NET Framework 3.5 Windows Communication Foundation (Self-Paced Training Kit). MS-Press : 9780735625655</source><description>&lt;p&gt;As one of the books part of the 75 centimeters of MS Press books I won as Speaker Idol at TechEd EMEA Barcelona I selected the training kit for the WCF Exam (70-503). Here's my review on this book. &lt;/p&gt;&lt;p&gt;You can buy the book at &lt;a href="http://www.microsoft-press.co.uk/scripts/product.asp?ref=877207" target="_blank"&gt;http://www.microsoft-press.co.uk/scripts/product.asp?ref=877207&lt;/a&gt; &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;strong&gt;Included in the book is :&lt;/strong&gt;&lt;/u&gt; &lt;/p&gt;&lt;blockquote&gt; &lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="475" alt="CDScreenshot1" src="http://geekswithblogs.net/images/geekswithblogs_net/claeyskurt/WindowsLiveWriter/BookReviewMCTS70503.MSPress9780735625655_12F3D/CDScreenshot1_3.jpg" width="606" border="0" /&gt; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;u&gt;&lt;/u&gt; &lt;/p&gt;&lt;p&gt;- a DVD with Visual Studio 2008 Professional Edition (90 day evaluation). Nice to have for people without VS2008 at their work environment and want to learn WCF and prepare for the exam. &lt;/p&gt;&lt;p&gt;- CD containing : &lt;/p&gt;&lt;ul&gt; &lt;ul&gt; &lt;li&gt;Training Kit Application with lesson reviews and exam question examples. Great value !!!&lt;/li&gt; &lt;li&gt;All exercises from the book, organized per chapter/lesson with the solutions to start form (before) and the completed solutions (after).&lt;/li&gt; &lt;li&gt;The book as e-book in PDF format.&lt;/li&gt; &lt;li&gt;Some sample chapters from other MS Press books (Training Kit for Workflow Foundation, WF Step by Step, WCF Step by Step and Application = Code + Markup)&lt;/li&gt; &lt;li&gt;Some links to great webcasts.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;- A discount voucher for the Exam&lt;/p&gt; &lt;p&gt;The &lt;strong&gt;Microsoft Press Training Kit Exam Prep&lt;/strong&gt; is an exam simulator/lesson review application with 56 questions for lesson review and another 200 questions in practice test mode. In lesson review mode you can configure your test objectives which makes it very useful to study and review the lessons on your own pace.&lt;/p&gt; &lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="474" alt="CDScreenshot2" src="http://geekswithblogs.net/images/geekswithblogs_net/claeyskurt/WindowsLiveWriter/BookReviewMCTS70503.MSPress9780735625655_12F3D/CDScreenshot2_3.jpg" width="664" border="0" /&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Content of the Book :&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The book has 610 pages and includes 12 chapters :&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Contracts  &lt;/li&gt;&lt;li&gt;Exposing the Services  &lt;/li&gt;&lt;li&gt;Deploying Services  &lt;/li&gt;&lt;li&gt;Consuming Services  &lt;/li&gt;&lt;li&gt;Configuring WCF  &lt;/li&gt;&lt;li&gt;Instrumentation  &lt;/li&gt;&lt;li&gt;Infrastructure Security  &lt;/li&gt;&lt;li&gt;User-Level Security  &lt;/li&gt;&lt;li&gt;When Simple Isn’t Sufficient  &lt;/li&gt;&lt;li&gt;Sessions and Instancing  &lt;/li&gt;&lt;li&gt;Transaction Services  &lt;/li&gt;&lt;li&gt;Concurrency &lt;br /&gt;&lt;br /&gt;+ A chapter containing answers on the lesson review and scenario parts for each chapter.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;The book starts, like most training material on WCF with the types of contracts. It quickly goes into details about FaultContracts. A good idea, as FaultContracts are very important in real world WCF applications. The Exposing, Deploying and Consuming chapters talk about Endpoints, WAS, IIS and managed application hosting, bindings and custom bindings, creating proxies and using svcutil.exe. Most Exercises are good as training material but are not in-depth enough compared to real life applications. Nice to see content on instrumentation (which is needed for the exam). The security part is well explained. The 'When Simple isn't Sufficient' chapter (weird name) talks about POX and handling exceptions on the client (important in real life !!!). The remaining chapters contain the typical content on sessions, transaction and concurrency.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;I found this book being complete enough and having average to good examples and labs. It explains hard topics like authorization and implementation good. It's also one of the few WCF training materials I've seen which includes a lab on monitoring WCF Services. Although not an in-depth lab, it's worth doing it to become familiar with monitoring.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Personal review : &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;What I like most about this book :  &lt;/p&gt;&lt;blockquote&gt; &lt;p&gt;- The content ;-) ... WCF is a great technology.&lt;br /&gt;&lt;br /&gt;- It's a complete package. It has everything needed for studying WCF, preparing for and doing the exam (the ebook, the solutions for the exercises, a practice test, the Visual Studio evaluation version and the discount for buying a voucher for the exam).&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;- It has multiple small lessons which makes it possible to consume this book at you own pace. Even if you have only one hour to spare, you can start reading a lesson. &lt;/p&gt;&lt;p&gt;- It has a great educational structure. I mean ... every lesson starts with a brief overview of the lesson content, the well explained content, a lab, a summary and a review with questions. After the lesson you can watch the screencasts and do the review again with the training application.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;What the book lacks is some content on using WCF services from AJAX enabled sites and JSON serialization and some more real life in-depth labs.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Conclusion :&lt;/u&gt;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;This book is not making you immediately the greatest WCF/SOA guru, but it has very good content, even useful for experienced WCF consultants. It prepares the reader for the exam quite well. I can recommend this book to everyone. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127473"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127473" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/claeyskurt/aggbug/127473.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470616590" height="1" width="1"/&gt;</description><dc:creator>Kurt Claeys</dc:creator><feedburner:origLink>http://geekswithblogs.net/claeyskurt/archive/2008/11/30/127473.aspx</feedburner:origLink></item><item><title>Future of Mobile VAS in India</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470561299/127472.aspx</link><pubDate>Sun, 30 Nov 2008 19:49:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/emanish/archive/2008/11/30/127472.aspx</guid><wfw:comment>http://geekswithblogs.net/emanish/comments/127472.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/127472.aspx</wfw:commentRss><comments>http://geekswithblogs.net/emanish/archive/2008/11/30/127472.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/127472.aspx</trackback:ping><source url="http://geekswithblogs.net/emanish/rss.aspx">Future of Mobile VAS in India</source><description>&lt;p&gt;Nice presentation on Mobile VAS in India.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div id="__ss_281345" style="WIDTH: 425px; TEXT-ALIGN: left"&gt;&lt;a title="Mobile Vas In India" style="DISPLAY: block; MARGIN: 12px 0px 3px; FONT: 14px Helvetica,Arial,Sans-serif; TEXT-DECORATION: underline" href="http://www.slideshare.net/mohitgundecha/mobile-vas-in-india?type=powerpoint"&gt;Mobile Vas In India&lt;/a&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=mobile-vas-in-india-120397450287073-2&amp;amp;stripped_title=mobile-vas-in-india" width="425" height="355" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;
&lt;div style="FONT-SIZE: 11px; PADDING-TOP: 2px; FONT-FAMILY: tahoma,arial; HEIGHT: 26px"&gt;View SlideShare &lt;a title="View Mobile Vas In India on SlideShare" style="TEXT-DECORATION: underline" href="http://www.slideshare.net/mohitgundecha/mobile-vas-in-india?type=powerpoint"&gt;presentation&lt;/a&gt; or &lt;a style="TEXT-DECORATION: underline" href="http://www.slideshare.net/upload?type=powerpoint"&gt;Upload&lt;/a&gt; your own. (tags: &lt;a style="TEXT-DECORATION: underline" href="http://slideshare.net/tag/bda"&gt;bda&lt;/a&gt; &lt;a style="TEXT-DECORATION: underline" href="http://slideshare.net/tag/bajaj"&gt;bajaj&lt;/a&gt;)&lt;/div&gt;
&lt;/div&gt;
&lt;img style="VISIBILITY: hidden; WIDTH: 0px; HEIGHT: 0px" height="0" width="0" border="0" alt="" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyMjgwNzQyNjUyNjQmcHQ9MTIyODA3NDI2OTM3MyZwPTEwMTkxJmQ9Jmc9MiZ*PSZvPTI4ZjAxNGE5ZmUyNDRjOWM4ZTQwNWY5YTFlM2M2YWEw.gif" /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127472"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=127472" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/127472.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/470561299" height="1" width="1"/&gt;</description><dc:creator>Manish Agrawal</dc:creator><feedburner:origLink>http://geekswithblogs.net/emanish/archive/2008/11/30/127472.aspx</feedburner:origLink></item><item><title>About pair programming</title><link>http://feeds.feedburner.com/~r/geekswithblogs/~3/470512535/about-pair-programming.aspx</link><pubDate>Sun, 30 Nov 2008 19:08:53 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marocanu2001/archive/2008/11/30/about-pair-programming.aspx</guid><wfw:comment>http://geekswithblogs.net/marocanu2001/comments/127471.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marocanu2001/comments/commentRss/127471.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marocanu2001/archive/2008/11/30/about-pair-programming.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marocanu2001/services/trackbacks/127471.aspx</trackback:ping><source url="http://geekswithblogs.net/marocanu2001/rss.aspx">About pair programming</source><description>&lt;p&gt;          I am for 7 years now in the IT industry I have heard a lot of good things about pair programming, I don't know 