<feed version="0.3" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://purl.org/atom/ns#" xml:lang="en-CA"><title>Obi Oberoi</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/default.aspx" /><tagline type="text/html" /><id>http://eoberoi.com/blogs/obi-oberoi_weblog/default.aspx</id><author><url>http://eoberoi.com/blogs/obi-oberoi_weblog/default.aspx</url></author><generator url="http://communityserver.org" version="1.1.0.50615">Community Server</generator><modified>2008-06-09T01:23:00Z</modified><entry><title>Windows Mobile + Azure Workshop - March 17th</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2012/02/26/324.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:324</id><created>2012-02-26T22:42:00Z</created><content type="text/html" mode="escaped">&lt;div&gt;
	&lt;span&gt;There is a Windows Phone 7.5 Application Development Workshop coming right here in Toronto which I am organizing on behalf of &lt;a href="http://www.NorthTorontoUG.com"&gt;North Toronto .Net User Group&lt;/a&gt;. Read on...&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span&gt;Our Mobile + Cloud Application Workshop is fast approaching! Have you reserved your spot at this special event? Registration is based on first-come first-served basis&lt;strong&gt;,&lt;/strong&gt; so don&amp;rsquo;t delay! &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;The cost to attend is only &lt;strong&gt;$25 per person&lt;/strong&gt;, which includes a full day workshop delivered by one of the leading experts in the industry, &lt;strong&gt;catered lunch&lt;/strong&gt;, &lt;strong&gt;snacks&lt;/strong&gt; and more! We have an amazing list of sponsors who have donated swag for this event!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;When?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Saturday &lt;strong&gt;March 17th&lt;/strong&gt; from 8:30am &amp;ndash; 4:00pm&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;Where?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;Object Sharp&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;40 University Avenue, Suite 1301&lt;br /&gt;
	Toronto, Ontario M5J 1T1&lt;br /&gt;
	Canada&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;How?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;You can register by clicking &lt;a href="http://northtorontoug-workshop-20120317.eventbrite.co.uk/?ebtv=C"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;span&gt;To learn about Windows Phone and Azure development from one of the leading experts in the industry!&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;To dedicate time to develop that long thought out mobile app idea that you have been waiting to work on, but haven&amp;rsquo;t had the time to get started on yet. With the help from a leading expert in the industry coupled with a proctor who will help you every step of the way to get you up and running in no time!&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			&lt;span&gt;To stay on top of the latest trends in technology. Mobile and Cloud Development is just starting to take off. This is your chance to stay ahead of the curve and keep yourself current and relevant in the industry.&lt;/span&gt;&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;To have the opportunity to network and collaborate with your peers.&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;Last but not least, it&amp;rsquo;s &lt;strong&gt;very&lt;/strong&gt; affordable!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;Special Thanks to our Sponsors&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Following is the list of sponsors that have helped us make this event a reality, and also allowed us to make this one of the coolest and most affordable events of the year! We would like to extend our thanks to them for their support and sponsorship!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;&lt;a href="http://create.msdn.com/en-US/"&gt;Microsoft Canada&lt;/a&gt;- &lt;/strong&gt;Microsoft software helps businesses and consumers to reach their full potential, however they define it. Woven throughout daily life, whether it be work or&lt;br /&gt;
	play, Microsoft technologies flourish when they get into the hands of millions of Canadian partners and customers enabling innovation often in new ways.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;strong&gt;&lt;a href="http://www.objectsharp.com/Pages/default.aspx"&gt;&lt;strong&gt;ObjectSharp&lt;/strong&gt;&lt;/a&gt;&amp;ndash; &lt;/strong&gt;ObjectSharp is an IT services company that specializes in the Microsoft Development Platform. ObjectSharp helps customers build software that improves their business processes.&lt;/span&gt;&lt;/p&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=324" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=324</wfw:commentRss></entry><entry><title>DevTeach Ottawa (Nov. 2nd - 4th inclusive)</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/10/12/323.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:323</id><created>2011-10-12T22:03:00Z</created><content type="text/html" mode="escaped">&lt;h2&gt;
	 &lt;/h2&gt;
&lt;p&gt;
	&lt;span&gt;Greetings Folks,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Microsoft is excited to bring 19 Sessions to DevTeach from TechDays 2011. The sessions come from 7 focus areas including:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Those of you who would like to avail a $100 discount (and why wouldn't you!), you could use the rebate code &lt;span&gt;&lt;strong&gt;T00000NTUG&lt;/strong&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;up until the day of the event. Is this a treat or what? :)&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;h2&gt;
			&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#155"&gt;Developer Practices &amp; Architecture&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#157"&gt;Developer Tools, Languages &amp; Frameworks&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#161"&gt;Communications &amp; Collaboration&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#161"&gt;Security, Identity &amp; Management&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#161"&gt;Virtualization&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#159"&gt;Data Platform&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.devteach.com/Session.aspx#158"&gt;Windows Client &amp; Phone&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;span&gt;TechDays 2011 sessions at DevTeach will address a multitude of topics like Building a Security Skeleton for your ASP.NET Applications, Application Development with HTML5, Migrating to Windows Server 2008 R2, What’s new in SQL Server Code-Named “Denali” and Building Your Own Private Cloud Infrastructure. For a full list of sessions and to see the abstracts, please visit the &lt;a href="http://www.devteach.com/wconnect/wc.dll?FournierTransformation~1,18,1,17"&gt;session listing&lt;/a&gt; and &lt;a href="http://www.devteach.com/wconnect/wc.dll?FournierTransformation~1,18,1,13"&gt;schedule&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;In order to the most out of your time at DevTeach Ottawa, we suggest you do the following prior to the presentations:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Download or activate free trials of the software that we’ll be covering in the presentations, so you can try it out ahead of time:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/try?WT.mc_id=eml-c-ca-loc--"&gt;Visual Studio&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.asp.net/downloads?WT.mc_id=eml-c-ca-loc--"&gt;ASP.NET&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://www.microsoft.com/web/?WT.mc_id=eml-c-ca-loc--"&gt;WebMatrix&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/en-ca/evalcenter/gg678609.aspx?WT.mc_id=eml-c-ca-loc--"&gt;System Center Virtual Machine Manager 2012 RC&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/evalcenter/cc793138.aspx?WT.mc_id=eml-c-ca-loc--"&gt;System Center Virtual Machine Manager 2008 R2 SP1&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/evalcenter/dd776191.aspx?WT.mc_id=eml-c-ca-loc--"&gt;Hyper-V Server 2008 R2 SP1&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/evalcenter/dd459137.aspx?WT.mc_id=eml-c-ca-loc--"&gt;Windows Server 2008 R2 with SP1&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/evalcenter/ee315247?WT.mc_id=eml-c-ca-loc--"&gt;SQL Server 2008 R2&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://technet.microsoft.com/evalcenter/hh225126.aspx?WT.mc_id=eml-c-ca-loc--"&gt;SQL Server Code Name “Denali” CTP3&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;span&gt;&lt;a href="http://go.microsoft.com/?linkid=9772716&amp;WT.mc_id=eml-c-ca-loc--"&gt;Windows Phone SDK 7.1&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;span&gt;Visit the MSDN and TechNet sites to do some pre-reading on the latest news and information on the topics that will be covered.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Looking forward to seeing you November 2nd to 4th in Ottawa!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;Obi /&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=323" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=323</wfw:commentRss></entry><entry><title>How to delete all stored procedures at once</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/10/09/322.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:322</id><created>2011-10-09T18:55:00Z</created><content type="text/html" mode="escaped">&lt;p&gt;
	After manually deleting records, truncating the table and then dropping the table one at a time (being an old-fashioned and to some extent anal) I was left with a stack of stored procedures that I had to clean up as well.&lt;/p&gt;
&lt;p&gt;
	I was in no mood to go through dropping them one at a time, so here’s what I found to drop all stored procedures using a cursor:&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;&lt;u&gt;Method 1.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;declare&lt;/font&gt;&lt;font color="#000000"&gt; @procName &lt;/font&gt;&lt;font color="#0000ff"&gt;varchar&lt;/font&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;500&lt;/font&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;declare&lt;/font&gt;&lt;font color="#000000"&gt; cur &lt;/font&gt;&lt;font color="#0000ff"&gt;cursor&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;for&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;select&lt;/font&gt;&lt;font color="#000000"&gt; [name] &lt;/font&gt;&lt;font color="#0000ff"&gt;from&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#008000"&gt;sys&lt;/font&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;font color="#008000"&gt;objects&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;where&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;type&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;'p'&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;open&lt;/font&gt;&lt;font color="#000000"&gt; cur &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;fetch&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;next&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#0000ff"&gt;from&lt;/font&gt;&lt;font color="#000000"&gt; cur &lt;/font&gt;&lt;font color="#0000ff"&gt;into&lt;/font&gt;&lt;font color="#000000"&gt; @procName &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;while&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#ff00ff"&gt;@@fetch_status&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;font color="#000000"&gt; 0 &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;begin&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;exec&lt;/font&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;font color="#ff0000"&gt;'drop procedure '&lt;/font&gt; &lt;font color="#808080"&gt;+&lt;/font&gt; @procName&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;fetch&lt;/font&gt; &lt;font color="#0000ff"&gt;next&lt;/font&gt; &lt;font color="#0000ff"&gt;from&lt;/font&gt; cur &lt;font color="#0000ff"&gt;into&lt;/font&gt; @procName&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;end&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt; cur &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;deallocate&lt;/font&gt;&lt;font color="#000000"&gt; cur &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;&lt;u&gt;Method 2 &lt;/u&gt;&lt;/strong&gt;&lt;u&gt;(This method yet simple will give you a better control of the sp’s you want to nuke by creating/viewing a list first)&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;'DROP PROCEDURE '&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;font color="#000000"&gt; p&lt;/font&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;NAME &lt;/font&gt;&lt;font color="#0000ff"&gt;FROM&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;font color="#008000"&gt;sys&lt;/font&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;font color="#008000"&gt;procedures&lt;/font&gt;&lt;font color="#000000"&gt; p&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
	Cheers,&lt;/p&gt;
&lt;p&gt;
	Obi /&gt;&lt;/p&gt;
&lt;p&gt;
	 &lt;/p&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=322" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=322</wfw:commentRss></entry><entry><title>Tech.days Canada 2011</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/10/05/321.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:321</id><created>2011-10-05T02:13:00Z</created><content type="text/html" mode="escaped">&lt;p&gt;&lt;strong&gt;I’ve already bought my Tech·Days ticket for this Fall – Don’t Miss your chance to come out to join me and save using my User Group promo code.&lt;/strong&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
&lt;br&gt;
&lt;p&gt;Greeting Folks,&lt;/p&gt;
&lt;p&gt;
									I’m excited to let you know that this year, I’ll be attending Tech·Days Toronto this fall. Tech·Days is Microsoft’s premier technical training conference for Developers and IT Professionals. I am passionate about Microsoft technologies and always enjoy meeting and connecting with other Canadian technical professionals.&lt;/p&gt;
								&lt;p&gt;
									Tech·Days is a great opportunity for you and your team to enhance your technology skills by getting up to speed on the latest Microsoft technologies, and learning how to maximize your use of the current technologies in your organization.&lt;/p&gt;
								&lt;p&gt;
									Check out the three Tech·Days events this year and register today using my special User Group promo Code: &lt;strong&gt;TD2011UG &lt;/strong&gt;and you can get your ticket for only &lt;strong&gt;$399.99&lt;/strong&gt;*. That’s nearly 50% off the regular price of $799.99.&lt;/p&gt;
								&lt;p&gt;
									&lt;strong&gt;Toronto&lt;/strong&gt;       October 25-26, 2011       Toronto Congress Centre                       &lt;/p&gt;
								&lt;p&gt;
									&lt;strong&gt;Vancouver&lt;/strong&gt;   November 15-16, 2011    Vancouver Convention Centre&lt;/p&gt;
								&lt;p&gt;
									&lt;strong&gt;Montreal&lt;/strong&gt;      November 29-30, 2011    Montreal Palais des congrès&lt;/p&gt;
								&lt;p align="center"&gt;
									&lt;a href="http://www.microsoft.com/canada/techdays/2011/default.aspx"&gt;Buy your tickets now &gt;&gt;&lt;/a&gt;&lt;/p&gt;
								&lt;p&gt;
									This year’s Tech·Days promises to have a great line up of technical sessions and networking opportunities to help you enhance your skills and grow in your career. &lt;strong&gt;The first list of 2011 sessions have been posted&lt;/strong&gt; on the TechDays website. &lt;strong&gt;&lt;a href="http://www.microsoft.com/canada/techdays/2011/sessions.aspx"&gt;Check them out&lt;/a&gt;&lt;/strong&gt;. This year the team has made a few enhancements to make Tech·Days even better:&lt;/p&gt;
								&lt;ul&gt;
									&lt;li&gt;
										&lt;strong&gt;NEW!&lt;/strong&gt;Hands-on lab sessions to experience the technology first hand&lt;/li&gt;
									&lt;li&gt;
										&lt;strong&gt;NEW!&lt;/strong&gt;The Partner Pavilion in &lt;u&gt;each city&lt;/u&gt;, providing you with opportunities to network with partners and sponsors&lt;/li&gt;
									&lt;li&gt;
										&lt;strong&gt;NEW!&lt;/strong&gt;Keynote presentations in &lt;u&gt;each city&lt;/u&gt;from awesome technology experts&lt;/li&gt;
								&lt;/ul&gt;
								&lt;p&gt;
									I look forward to connecting with you this year at Tech·Days 2011! 			&lt;br /&gt;						&lt;br /&gt;
									Sincerely,&lt;br /&gt;
									&lt;br /&gt;
									Obi Oberoi		(Principal Developer Evangelist)&lt;/p&gt;
							&lt;/td&gt;
						&lt;/tr&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=321" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=321</wfw:commentRss></entry><entry><title>How to Get Free eBooks</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/09/22/320.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:320</id><created>2011-09-22T13:44:00Z</created><content type="text/html" mode="escaped">&lt;h2&gt;
	 &lt;/h2&gt;
&lt;p&gt;
	&lt;span&gt;&lt;font color="#000000"&gt;Do you have a constant thirst for &lt;strong&gt;&lt;span&gt;knowledge&lt;/span&gt;&lt;/strong&gt;? &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;font color="#000000"&gt;Would you like to have access to the newest books on &lt;strong&gt;&lt;span&gt;leading edge technologies&lt;/span&gt;&lt;/strong&gt;? &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;font color="#000000"&gt;Would you like it even more if these books were available to you for &lt;strong&gt;&lt;span&gt;free&lt;/span&gt;&lt;/strong&gt;? &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;span&gt;&lt;font color="#000000"&gt;Do you love &lt;strong&gt;&lt;span&gt;sharing&lt;/span&gt;&lt;/strong&gt; your opinions with others? &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;font color="#000000" face="Times New Roman" size="3"&gt;If you answered yes to any of those questions, then sign up to become a blogger for O'Reilly and receive the latest ebooks for free. Read a book, post a review on your blog, and link it to the O'Reilly site. It's that easy! More information can be found online at: &lt;/font&gt;&lt;a href="http://oreilly.com/bloggers/"&gt;&lt;font color="#0000ff" face="Times New Roman" size="3"&gt;http://oreilly.com/bloggers/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=320" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=320</wfw:commentRss></entry><entry><title>Building Business Applications with Visual Studio LightSwitch</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/07/25/319.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:319</id><created>2011-07-25T21:01:00Z</created><content type="text/html" mode="escaped">Visual Studio LightSwitch is the simplest way to build business applications for the desktop and cloud. LightSwitch simplifies the development process by letting you concentrate on the business logic, while LightSwitch handles the common tasks for you. In this demo-heavy session, see end-to-end how to build and deploy a data-centric business application using LightSwitch. Finally, see how to take advantage of the underlying LightSwitch application architecture to implement your application’s custom business logic.
&lt;br&gt;&lt;br&gt;
When: Sept. 8th, 2011
&lt;br&gt;
Where: North York Public Library
&lt;br&gt;
Time: 6:00 pm registration - 6:30pm start
&lt;br&gt;
&lt;a href="http://NorthTorontoUG.com/"&gt;North Toronto Dot Net User Group&lt;/a&gt; 
&lt;br&gt;&lt;br&gt;
See you there!
&lt;br&gt;
Obi /&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=319" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=319</wfw:commentRss></entry><entry><title>eBooks for Download</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2011/05/21/318.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:318</id><created>2011-05-21T19:00:00Z</created><content type="text/html" mode="escaped">I was looking for an eBook and found this site.
These guys allow for a free download...check it out:
&lt;a href="http://www.free-ebooks-download.org" title="Free ebooks download"&gt;www.free-ebooks-download.org&lt;/a&gt;&lt;br /&gt;Website to download latest free e-books on C#, vb.net, asp.net, 2.0, ado.net, sql 2005, web services, ajax, .net framework, compact framework, xml, sharepoint, exchange server, seo, crystal reports and more.. All free ebooks download, Hurry!&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=318" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=318</wfw:commentRss></entry><entry><title>Web page crashes when passing data through Query String</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2010/10/26/317.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:317</id><created>2010-10-26T17:30:00Z</created><content type="text/html" mode="escaped">&lt;p&gt;
	If you are a web developer like me, then I am sure you have used QueryString collection at some stage. Although ASP.Net offers some nifty ways to transfer data, but regardless, there are still many situations in which you need to pass data from one web page to another.&lt;/p&gt;
&lt;p&gt;
	In one of my recent projects, I had the need to build a generic template. This template contained a data grid view control that was responsible for building and populating the grid dynamically from twenty different objects. Each object had an unknown number of columns. So every time I had to pass values from one page to another, I couldn&amp;rsquo;t think of anything better but to use a query string.&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	While Query string has its benefits, it also has shortcomings.&lt;/p&gt;
&lt;p&gt;
	If you want to pass single or multiple parameters so long as you pass name value pairs, query string really shines. However, when you start to pass 500 or so bytes of data assigned to a parameter, things can get rather nasty. It will most likely throw an exception I hope you get the picture.&lt;/p&gt;
&lt;p&gt;
	lnk.NavigateUrl = &amp;quot;~/MyProject/&amp;quot; &amp;amp; TargetForm &amp;amp; &amp;quot;?Id=&amp;quot; + sMyId + _&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&amp;amp;Code=&amp;quot; + sCode + &amp;quot;&amp;amp;Description=&amp;quot; + Server.HtmlEncode(sDesc) + _&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&amp;amp;SeqNum=&amp;quot; + sSeqNum + &amp;quot;&amp;amp;ActiveInd=&amp;quot; + sActiveInd + _&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&amp;amp;ParentId=&amp;quot; + ParentId + &amp;quot;&amp;amp;Name=&amp;quot; + sName&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	While the above will work so long as you don&amp;rsquo;t fill the description with over 500 bytes of data.&lt;/p&gt;
&lt;p&gt;
	As a good measure, you can do a check before passing the data as such:&lt;/p&gt;
&lt;p&gt;
	if (sDesc.Length &amp;gt; 550) {&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sDesc = string.Empty;&lt;/p&gt;
&lt;p&gt;
	}&lt;/p&gt;
&lt;p&gt;
	Now in the target page, check to see description&amp;rsquo;s length is 0. If so, get the data directly from the database to avoid a potential crash like so:&lt;/p&gt;
&lt;p&gt;
	if (Request.QueryString(&amp;quot;Description&amp;quot;) != null) {&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sDesc = Server.HtmlEncode(Request.QueryString(&amp;quot;Description&amp;quot;).ToString);&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sDesc.Length == 0) {&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sDesc = getDescriptionByID(sId);&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;
	}&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	Obi /&amp;gt;&lt;/p&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=317" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=317</wfw:commentRss></entry><entry><title>How to connect to SQL 2005 from inside SQL 2008 Management Studio</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2010/03/20/315.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:315</id><created>2010-03-20T18:59:00Z</created><content type="text/html" mode="escaped">I recently ran into a problem where I needed to connect to SQL 2005 from inside SQL 2008 Management Studio. &lt;br&gt;&lt;br&gt;

I have SQL 2008 installed on my machine and I run my sql scripts against the production environment which is hosted by my ISP. &lt;br&gt;
Although, the configuration is pretty straight-forward, however, if not done often, it can turn into oblivion. &lt;br&gt;
This blog post is mainly a reminder to me in case I re-image my hard-drive and have to repeat the process.&lt;br&gt;
Here are the following steps:&lt;br&gt;&lt;br&gt;
-	Inside SQL 2008 Management Studio, highlight Database(s) node. You will notice on the right hand pane, there are five columns, namely Name, Policy Health State, Recovery Model, Compatibility Level and Owner.&lt;br&gt;&lt;br&gt;

-	Highlight the ‘Name’ column and right click on it, uncheck &lt;b&gt;Collation&lt;/b&gt;.&lt;br&gt;&lt;br&gt;
-	Now, try to reconnect or simply refresh. &lt;br&gt;&lt;br&gt;

-	You should see all available data bases on the shared server.&lt;br&gt;&lt;br&gt;
Cheers,&lt;br&gt;&lt;br&gt;
Obi /&gt;
&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=315" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=315</wfw:commentRss></entry><entry><title>How to export Telerik's RAD Editor to MS Word</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2009/12/29/314.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:314</id><created>2009-12-29T21:36:00Z</created><content type="text/html" mode="escaped">I am currently working with Telerik’s RAD Editor server control for ASP.Net. &lt;br&gt;
Needless to say, the control provides a plethora of features for styling, formatting and such. &lt;br&gt;&lt;br&gt;

For all intents and purposes it’s a WYSIWIG tool and you can do practically anything what you can with MS Word.  All said and done, however, it does not provide any out-of-the-box functionality to convert the editor's content to MS Word.&lt;br&gt;&lt;br&gt;

What you can do though is to save the editor content as an .html file, read the entire content into a string and open it in MS Word.  
If you want to edit the .html content, you can even go as far as doing a simple string replacement.&lt;br&gt;&lt;br&gt;

Here’s the code that does just that…&lt;br&gt;
Private folderPath As String = "C:/Report/"&lt;br&gt;
Private template As String = "MyMemo.DOT"&lt;br&gt;&lt;br&gt;

Protected Sub SaveRADContentAsHTML()&lt;br&gt;
        Try&lt;br&gt;
            ' CREATE WORD DOCUMENT&lt;br&gt;
            Dim WordApp = CreateObject("word.application")&lt;br&gt;
            Dim WordDoc = WordApp.Documents.Open(Server.MapPath(folderPath &amp; template))&lt;br&gt;

            WordApp.Application.Visible = False&lt;br&gt;

            Dim wordDocPath As String = Server.MapPath(folderPath)&lt;br&gt;

            If Not File.Exists(Server.MapPath(folderPath &amp; " MyMemo.html")) Then&lt;br&gt;
                WordDoc.SaveAs(wordDocPath &amp; "MyMemo.html")&lt;br&gt;
            End If&lt;br&gt;&lt;br&gt;

            WordDoc.Close()&lt;br&gt;
            WordApp.Quit()&lt;br&gt;&lt;br&gt;

            WordDoc = Nothing&lt;br&gt;
            WordApp = Nothing&lt;br&gt;
        Catch ex As Exception&lt;br&gt;
            Throw ex&lt;br&gt;
        End Try&lt;br&gt;
    End Sub&lt;br&gt;&lt;br&gt;

Private Sub btnReplaceWord_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReplaceWord.Click&lt;br&gt;
        Dim wordDocPath As String = Server.MapPath(folderPath)&lt;br&gt;
        Dim inputText As String = String.Empty&lt;br&gt;
        Dim sTemp As String = String.Empty&lt;br&gt;
        Try&lt;br&gt;
            inputText = ReadFile(wordDocPath &amp; "MyMemo.html")&lt;br&gt;
            sTemp = inputText.Replace("Purpose~1", radEditor1.Content) 'Please note the string "Purpose~1" is used as a marker for string replacement&lt;br&gt;
            Using sw As New StreamWriter(Server.MapPath(folderPath &amp; "Test1.html"))&lt;br&gt;
                sw.Write(sTemp)&lt;br&gt;
            End Using&lt;br&gt;&lt;br&gt;
            
        Catch ex As Exception&lt;br&gt;
            Throw ex&lt;br&gt;
        End Try&lt;br&gt;
    End Sub&lt;br&gt;&lt;br&gt;

Protected Function ReadFile(ByVal myFilePath As String) As String&lt;br&gt;
        Try&lt;br&gt;
            If Not File.Exists(myFilePath) Then&lt;br&gt;
                Return String.Empty&lt;br&gt;
            End If&lt;br&gt;&lt;br&gt;

            Using sr As New StreamReader(myFilePath)&lt;br&gt;
                Return sr.ReadToEnd()&lt;br&gt;
            End Using&lt;br&gt;&lt;br&gt;

        Catch ex As Exception&lt;br&gt;
            Throw ex&lt;br&gt;
        End Try&lt;br&gt;
    End Function&lt;br&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=314" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=314</wfw:commentRss></entry><entry><title>Talk on LINQ to SQL Stored Procedures</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2009/06/18/302.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:302</id><created>2009-06-18T15:37:00Z</created><content type="text/html" mode="escaped">On June 17th, I gave a talk on LINQ TO SQL Stored Procedures at Manulife. &lt;br&gt;&lt;br&gt;

Below, please see a link to the sample code that I used for demonstration:
&lt;br&gt;&lt;br&gt;
http://www.eoberoi.com/blogs/GrokTalk/sourcecode.html
&lt;br&gt;&lt;br&gt;

Thanks,
&lt;br&gt;&lt;br&gt;
Obi /&gt;
&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=302" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=302</wfw:commentRss></entry><entry><title>AJAX - Fileupload.HasRows returns false???</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2009/05/01/301.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:301</id><created>2009-05-01T02:45:00Z</created><content type="text/html" mode="escaped">I have recently jumped on the AJAX bandwagon and am frantically trying to AJAX enable all my web pages through the use of asynchronous partial-page updates.
&lt;br&gt;
A typical design pattern of an ASP.NET AJAX application involves it consuming web services directly from the client without requiring postbacks to the web server. Not only do postbacks slow down an application, but they also complicate the application design, implementation, and deployment. 
&lt;br&gt;
AJAX is so addictive and such a compelling technology that once you have gotten the hang of it, it is hard to refrain from using it.&lt;br&gt;&lt;br&gt;

However, all said and done, there are some pitfalls that one ought to be aware of.&lt;br&gt; 

This blog post is certainly not intended for what AJAX can or can’t do, but if you are looking to convert your web page and make them AJAX enabled, there are a few things you have got to keep in mind just in case you are stuck.&lt;br&gt;&lt;br&gt;

I had a web page with input controls on a panel all of which were wired to the validator controls. In addition, I also had a FileUpload control. &lt;br&gt;&lt;br&gt;

Prior to AJAX enabling the web page, everything was fine and dandy, but the minute I wrapped the asp panel in an Update Panel, everything worked but the FileUpload. In that, the control (FileUpload) did not detect the file name and returned an empty string when checking for FileUpload.HasFile.&lt;br&gt;&lt;br&gt;

The solution to the problem was not difficult either.&lt;br&gt;

In the markup, essentially all that was missing was the PostBackTrigger with the ControlID="btnSubmit".
&lt;br&gt;&lt;br&gt;


   


&lt;br&gt;&lt;br&gt;

So essentially, all that is happening now is that we are forcing a post back on the click event of the button while everything else happens asynchronously using the Update Panel. So, when the user presses the button, the page gets refreshed and filename is detected.&lt;br&gt;&lt;br&gt;

My next area of interest is JavaScript Object Notation (JSON). This is just another piece of functionality that is part of the AJAX Extension toolkit typically used for serializing and deserializing data. It is somewhat akin to XML/SOAP, except that JSON is a text-based data interchange format which delivers a more consistent experience due to the implementation differences of XML/SOAP by the various browsers.
&lt;br&gt;&lt;br&gt;

Cheers,&lt;br&gt;&lt;br&gt;

Obi /&gt;
&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=301" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=301</wfw:commentRss></entry><entry><title>LINQ TO SQL Vs. Lambda Expressions</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2009/02/04/300.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:300</id><created>2009-02-04T21:50:00Z</created><content type="text/html" mode="escaped">It is amazing how much you can achieve with Lambda expressions using a single line of code vs. several lines of Linq to Sql.
Although, linq to sql is a better choice over traditional CRUD operations using sql and the like.

Here's how...
Create a new console application project in VS.Net 2008 and import the following name spaces in the module:&lt;br&gt;
Imports System.Collections &lt;br&gt;
Imports System.Linq
&lt;br&gt;&lt;br&gt;


Let's declare an array of string as below:&lt;br&gt;
Dim Provinces As String() = {"Ontario", "New Brunswick", "British Columbia", "PEI", "Quebec", "Manitoba", "Alberta", "Northern Territories"}
&lt;br&gt;&lt;br&gt;

Using LINQ to SQL, iterate through the array list and write the result to a console as below:
&lt;br&gt;
 	Dim oProvince = From s In Provinces _
&lt;br&gt;
            Where (s.StartsWith("N")) _
&lt;br&gt;
            Select s
&lt;br&gt;&lt;br&gt;
        For Each province In oProvince
&lt;br&gt;
            Console.WriteLine(province)
&lt;br&gt;
        Next
&lt;br&gt;&lt;br&gt;

        Console.ReadLine()
&lt;br&gt;&lt;br&gt;

See the number of lines it took to display the provinces beginning with "N"!!!
&lt;br&gt;
With Lambda expressions, all of this can be achieved in a single line of code. See below:
&lt;br&gt;&lt;br&gt;

        For Each prov In Provinces.Where(Function(p) p.StartsWith("N"))&lt;br&gt;
            Console.WriteLine(prov)&lt;br&gt;
        Next
&lt;br&gt;&lt;br&gt;
        Console.ReadLine()
&lt;br&gt;&lt;br&gt;
Lambda expressions are very powerful which take anonymous delegates to give you the desired result.
&lt;br&gt;
While I use LINQ TO SQL where necessary but don't miss a chance when it comes to Lambda expression usage.
&lt;br&gt;
Cheers,
&lt;br&gt;&lt;br&gt;
Obi /&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=300" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=300</wfw:commentRss></entry><entry><title>Tech Days is here...</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2008/10/22/299.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:299</id><created>2008-10-22T20:59:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;TechDays is happening in Toronto.&lt;/P&gt;
&lt;P&gt;Tech Days is a technology training conference for Canadian IT professionals and developers.&lt;/P&gt;
&lt;P&gt;Although, it is a national event and will be held in all major cities of Canada with a&amp;nbsp;single and two day workshops, however, it will be a two day event in Toronto.&lt;/P&gt;
&lt;P&gt;I am taking some time off work to attend this event. With five tracks&amp;nbsp;from Windows, Web, Data Management etc., my main emphasis will be on the Web and Windows tracks with topics like AJAX for ASP.Net, Silverlight, WPF and MVC framework.&lt;/P&gt;
&lt;P&gt;I think, it is a compelling event with early-bird fee of just $249 which also includes breakfast and lunch.&lt;/P&gt;
&lt;P&gt;For further information or to register, click the url below:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/canada/techdays"&gt;www.microsoft.com/canada/techdays&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;Obi /&amp;gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=299" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=299</wfw:commentRss></entry><entry><title>IE 7.0 Freezes</title><link rel="alternate" type="text/html" href="http://eoberoi.com/blogs/obi-oberoi_weblog/archive/2008/06/09/298.aspx" /><id>db44779d-1a21-48e2-bc99-58cd61f2619f:298</id><created>2008-06-09T03:23:00Z</created><content type="text/html" mode="escaped">Recently what appeared to a be a problem with IE 7.0 on my Lenovo T61p drove me up the wall. Every time, I would open a second instance of the browser, it would not only freeze the browser but also all the active windows on my machine!!! I later found out that it was the "Shockwave Flash Object" by Adobe that was the culprit. So overcome this otherwise annoying problem, in IE 7.0 I went to Tools - Manage Add-ons - Enable or Disable Add-ons and disabled the "Shockwave Flash Object" and voila... This action seems to have fixed my problem wherein I can now have multiple instances of IE or for that matter have multiple tab pages in a single instance of IE 7.0.
&lt;br&gt;
Cheers, 
&lt;br&gt;&lt;br&gt;
Obi Oberoi&lt;img src="http://eoberoi.com/aggbug.aspx?PostID=298" width="1" height="1"&gt;</content><slash:comments>0</slash:comments><wfw:commentRss>http://eoberoi.com/blogs/obi-oberoi_weblog/commentrss.aspx?PostID=298</wfw:commentRss></entry></feed>
