<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2208020699235913855</id><updated>2012-02-16T04:02:52.358-08:00</updated><category term='Host'/><category term='Transition'/><category term='How To'/><category term='SQL'/><category term='Healthy'/><category term='PL/SQL'/><category term='ASP.net MVC'/><category term='Delete'/><category term='Interaction'/><category term='Windows'/><category term='Beginning'/><category term='Job'/><category term='t-sql'/><category term='Identity'/><category term='Visual Studio 2008'/><category term='Clark'/><category term='Intermediate'/><category term='Windows Server 2008 R2'/><category term='Projects'/><category term='Networking'/><category term='custom logic'/><category term='Reporting Services 2005'/><category term='2008'/><category term='variables'/><category term='Sample Code'/><category term='Independent'/><category term='LINQ'/><category term='reports'/><category term='report builder'/><category term='Setup Mail Server'/><category term='Salary'/><category term='Silverlight 4'/><category term='best practices'/><category term='HPC'/><category term='Occupation'/><category term='postback'/><category term='TOAD'/><category term='Careers'/><category term='Development'/><category term='Weight Loss'/><category term='Developers'/><category term='Advanced'/><category term='IT Software Consultant'/><category term='NET Framework 4'/><category term='asp.net'/><category term='Technical Interviews'/><category term='MIX 2011'/><category term='VB.Net'/><category term='Free'/><category term='Information'/><category term='.NET'/><category term='Media'/><category term='Webcasts'/><category term='Intro'/><category term='Microsoft'/><category term='Team Foundation Server'/><category term='Dieting'/><category term='Email'/><category term='Technology'/><category term='Exchange'/><category term='httpresponse'/><category term='Friends'/><category term='Consulting'/><category term='Beginners'/><category term='Security'/><category term='Oracle'/><category term='Azure'/><category term='Visual Studio 2010'/><category term='3.5'/><category term='Hosting'/><category term='compilation'/><category term='custom code'/><category term='Planning'/><category term='Interviews'/><category term='Compensation'/><category term='asp.net 2.0'/><category term='Facebook'/><category term='Social Networking'/><category term='Windows 7'/><category term='Entrepreneurs'/><category term='httprequest'/><category term='SharePoint'/><category term='deployment'/><category term='Jobs'/><category term='2010'/><category term='New Role'/><category term='Office 2010'/><category term='Web 2.0'/><category term='API'/><category term='Business'/><category term='C#'/><category term='Company'/><category term='WCF'/><category term='Databinding'/><category term='VNext'/><category term='Lifestyle'/><category term='report designer'/><category term='Employee'/><category term='Training'/><category term='WPF'/><category term='Silverlight'/><category term='Josh'/><title type='text'>Joshua Clark</title><subtitle type='html'>Informative information about Microsoft .NET, C#, ASP.NET,WCF,WPF,XML,JavaScript,AJAX, Visual Basic, SQL Server, Reporting Services, LINQ, Performance Point Server, Microsoft Office Sharepoint Server, and any other TLA you have heard of...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-809921802924237054</id><published>2011-04-18T09:33:00.000-07:00</published><updated>2011-04-18T09:33:16.476-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transition'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='New Role'/><category scheme='http://www.blogger.com/atom/ns#' term='Job'/><title type='text'>Transitioning into a new role</title><content type='html'>I wanted to let everyone know that follows this blog that I am going to be making a transition into a new role. I have been working in development for over 5 years now and it has been a very rewarding and challenging career. For my new role I will be changing direction a little bit and working in the software security field. I feel that this will help challenge me in other areas that I have yet to be challenged with. I feel that in order to stay competitive in an ever-changing industry we must change our paths/roles in order to stay competitive, dynamic, and on-top of our game. I have heard too many-a-story of the classic worker that works in a particular role/position for too long and gets burnt out or bored with their work. If you are one of these types of people I challenge you to change your path/role and seek out something more challenging as it will lead you to new heights and expand your&amp;nbsp;skill set.&lt;br /&gt;&lt;br /&gt;I will still be blogging at &lt;a href="http://joshua-clark.blogspot.com/"&gt;http://joshua-clark.blogspot.com&lt;/a&gt;/ but I will be creating a new blog site designed specically for security-related topics as the core focus of my work will be in software security I will be writing about trends, tips &amp;amp; tricks, how-to's, and the do's &amp;amp; don'ts that are specific to software security. You can follow the link in the top right or just click the new link below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://security-dude.blogspot.com/"&gt;http://security-dude.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-809921802924237054?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://hp.com' title='Transitioning into a new role'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/809921802924237054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=809921802924237054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/809921802924237054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/809921802924237054'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/04/transitioning-into-new-role.html' title='Transitioning into a new role'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-4767973124015905796</id><published>2011-04-12T11:30:00.000-07:00</published><updated>2011-04-12T11:30:19.749-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIX 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='VNext'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>MIX 2011 - Keynotes Live</title><content type='html'>Great keynotes by ScottGu, ScottHanselman, and IE team, MIX is amazing conference and always amazes me.&lt;br /&gt;&lt;br /&gt;Great job guys!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://live.visitmix.com/"&gt;http://live.visitmix.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-4767973124015905796?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://live.visitmix.com/' title='MIX 2011 - Keynotes Live'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/4767973124015905796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=4767973124015905796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4767973124015905796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4767973124015905796'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/04/mix-2011-keynotes-live.html' title='MIX 2011 - Keynotes Live'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-2412741424422433450</id><published>2011-03-23T12:29:00.000-07:00</published><updated>2011-03-23T12:29:55.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT Software Consultant'/><category scheme='http://www.blogger.com/atom/ns#' term='Dieting'/><category scheme='http://www.blogger.com/atom/ns#' term='Healthy'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Weight Loss'/><category scheme='http://www.blogger.com/atom/ns#' term='Lifestyle'/><title type='text'>Staying Thin Being IT Software Consultant</title><content type='html'>Here are some tips and tricks for staying thin sitting on your butt everyday being a IT Software Consultant. I have consulting for over 5 years and my job mostly consists of sitting on my bum all day typing emails, code, word docs, excel docs, etc. and this makes me seriously non-active. All I do is slam on the keyboard and don't use any of my other body parts which makes my occupation' activity directly related to my gut. So I have been working on this new dieting plan that in&amp;nbsp;conjunction&amp;nbsp;with a moderate workout plan has been helping me lose weight. At the end of last year, I was about 212 lbs. I am not 190, and it has only been 3 months which I'm pretty happy about. Take a look at my plan and see if can work for you:&lt;br /&gt;&lt;br /&gt;Morning: 1 Cup Black Coffee w/2 Tsp of Sugar - 30 calories w/caffeine to keep my metabolism up = &lt;b&gt;30&lt;/b&gt;&lt;br /&gt;Mid-Morning: 1 Cup/Danon's Greek Yogurt w/Organic&amp;nbsp;Raspberry&amp;nbsp;Preserves (1 Tbsp) &amp;nbsp;- &lt;b&gt;120&lt;/b&gt; cal&lt;br /&gt;Lunch: 1 Can Tuna and as much spicy brown mustard or reg mustard as you want/1 string cheese/1 pkg of whole almonds - 120 + 60 + 100 = &lt;b&gt;280&lt;/b&gt;&lt;br /&gt;Mid-Afternoon: Orange, 1 String Cheese, 1 Pkg Whole Almonds, 1 Cup Black Coffee w/2 Tsp of Sugar : 60 + 60 + 70 + 100 + 30 = &lt;b&gt;320&lt;/b&gt;&lt;br /&gt;Dinner/After work:Chicken Breast/Pork Tenderloin Serving w/Veggies - &lt;b&gt;500&lt;/b&gt; calories&lt;br /&gt;Post Workout: 1 Scoop of Gold Standard Natural Whey Protein w/2 Tsp of Benefiber (Orange) and 1 Cup of Organic Fat-free Milk: 120 + 30 + 90&lt;b&gt;&amp;nbsp;= 240&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Total Calories: 30 + 120 + 280 + 320 + 500 + 240 = &lt;b&gt;1480&lt;/b&gt;&lt;br /&gt;Estimated Normal Calorie Burn: &lt;b&gt;2000&lt;/b&gt; - (25 yrs, 5'9, 175 lbs) - this is where I want to be, weight wise&lt;br /&gt;Net Loss: &lt;b&gt;520&lt;/b&gt;&lt;br /&gt;Workout: &lt;b&gt;650&lt;/b&gt; calorie burn (use Treadmill calories burn counter based on weight)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Total Net Loss Per Day: 650 + 520 = 1170&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;For every 3500 calories that you burn, you estimated 1 lbs. of fat loss. Try it out , &amp;nbsp;it has worked for me, I have lost 22 lbs over 3 months time.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;I hope this helps and good luck!&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-2412741424422433450?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Staying Thin Being IT Software Consultant'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/2412741424422433450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=2412741424422433450' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2412741424422433450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2412741424422433450'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/03/staying-thin-being-it-software.html' title='Staying Thin Being IT Software Consultant'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-292739306672780867</id><published>2011-03-02T12:32:00.000-08:00</published><updated>2011-03-02T12:32:25.343-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='TOAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='variables'/><title type='text'>Oracle Variable Syntax for TOAD tool - tip</title><content type='html'>I have been working extensively with TOAD for Oracle on a current project and have just found something that I have been looking for, variable syntax for TOAD. If you are lucky and get to develop on SQL Server, you have it easy, like I once did. Now, Oracle is a pain-in-the-butt, hardcore. If you need to ever run Oracle SQL in TOAD, here is an easy tip for the variable syntax. Use your standard SQL code like following:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-7Kh0VqFYEDA/TW6pC_WidHI/AAAAAAAAABA/3G6sV7tIOY8/s1600/popup_1_TOAD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="42" l6="true" src="https://lh4.googleusercontent.com/-7Kh0VqFYEDA/TW6pC_WidHI/AAAAAAAAABA/3G6sV7tIOY8/s640/popup_1_TOAD.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you are in TOAD, then when you execute this you should get a popup like the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-63nTIMASwhQ/TW6oRKfdQaI/AAAAAAAAAA8/Pyo8AdBqr7g/s1600/popup_TOAD.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" l6="true" src="https://lh4.googleusercontent.com/-63nTIMASwhQ/TW6oRKfdQaI/AAAAAAAAAA8/Pyo8AdBqr7g/s400/popup_TOAD.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;﻿Pretty cool, huh?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Hope this helps!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-292739306672780867?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Oracle Variable Syntax for TOAD tool - tip'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/292739306672780867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=292739306672780867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/292739306672780867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/292739306672780867'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/03/oracle-variable-syntax-for-toad-tool.html' title='Oracle Variable Syntax for TOAD tool - tip'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-7Kh0VqFYEDA/TW6pC_WidHI/AAAAAAAAABA/3G6sV7tIOY8/s72-c/popup_1_TOAD.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5396306556403922983</id><published>2011-02-24T11:15:00.000-08:00</published><updated>2011-02-24T11:15:02.882-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net 2.0'/><title type='text'>ASP.NET Best Practices</title><content type='html'>I have been looking for a good bulleted list of ASP.NET best practices and I found some pretty site&amp;nbsp;&lt;a href="http://jsprunger.com/asp-net-webforms-best-practices/"&gt;ASP.NET Best Practices&lt;/a&gt;&amp;nbsp;. I have been meaning to create my own from my own experience and projects but I felt that some people that do read my blog may benefit now until at least I come up with my own. Here you go.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jsprunger.com/asp-net-webforms-best-practices/"&gt;http://jsprunger.com/asp-net-webforms-best-practices/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5396306556403922983?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jsprunger.com/asp-net-webforms-best-practices/' title='ASP.NET Best Practices'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5396306556403922983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5396306556403922983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5396306556403922983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5396306556403922983'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/02/aspnet-best-practices.html' title='ASP.NET Best Practices'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-1474535894341498700</id><published>2011-02-09T12:36:00.000-08:00</published><updated>2011-02-09T12:36:46.394-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Developers'/><category scheme='http://www.blogger.com/atom/ns#' term='deployment'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='compilation'/><title type='text'>ASP.NET Compilation Model Overview</title><content type='html'>I have been looking to write a good blog on this for a while and found an &lt;em&gt;awesome deep-dive&lt;/em&gt; into the ASP.NET compilation model overview. I recommend this for all ASP.NET developers. It will give you all a great overview of the technology.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.west-wind.com/presentations/aspnetcompilation/aspnetcompilation.asp"&gt;Rick Strahl's ASP.NET Compilation Overview&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-1474535894341498700?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.west-wind.com/presentations/aspnetcompilation/aspnetcompilation.asp' title='ASP.NET Compilation Model Overview'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/1474535894341498700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=1474535894341498700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1474535894341498700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1474535894341498700'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/02/aspnet-compilation-model-overview.html' title='ASP.NET Compilation Model Overview'/><author><name>Dev-Pro</name><uri>http://www.blogger.com/profile/05874558342058570331</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-8650521344034760193</id><published>2011-01-11T17:32:00.000-08:00</published><updated>2011-01-11T17:32:50.658-08:00</updated><title type='text'>Verizon finally gets IPhone!</title><content type='html'>Verizon finally gets the iPhone, thank goodness!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-8650521344034760193?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://reviews.cnet.com/verizon-iphone-first-take?tag=TOCcarouselMain.0' title='Verizon finally gets IPhone!'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/8650521344034760193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=8650521344034760193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8650521344034760193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8650521344034760193'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2011/01/verizon-finally-gets-iphone.html' title='Verizon finally gets IPhone!'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-4665320066583622823</id><published>2010-10-20T10:32:00.000-07:00</published><updated>2011-08-02T09:02:56.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><title type='text'>How to setup/integrate Facebook Platform with your own</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr id="BlogPost_5"&gt;&lt;td&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="3"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3"&gt;&lt;br /&gt;&lt;br /&gt;Facebook is a host platform today for developers, marketers, businesses, actually&lt;br /&gt;anyone really! Facebook is the world's largest social network topping over almost&lt;br /&gt;500 million users. The amount of &lt;b&gt;active&lt;/b&gt; traffic you can get from Facebook&lt;br /&gt;is astonishing. I am not going to bloat about Facebook and how awesome it is but&lt;br /&gt;what this blog post is about is how you can get started with Facebook in your own&lt;br /&gt;site in less than 15 minutes. There are many tutorials out there now that &lt;b&gt;try&lt;/b&gt;&lt;br /&gt;to explain this but fail miserably. Either the documenation that the tutorial provides&lt;br /&gt;is out of date or the version is out of date. It is very hard to follow. This blog&lt;br /&gt;post will make it incredibly easy for anyone to get started who knows how to copy/paste&lt;br /&gt;:) Let's get started:&lt;br /&gt;&lt;h2&gt;Step 1: Register your application with your facebook account&lt;/h2&gt;Once you are logged into your facebook account go to the follow address: &lt;a href="http://developers.facebook.com/setup/"&gt;&lt;br /&gt;Register your application&lt;/a&gt; If you have not already added the facebook "developer"&lt;br /&gt;application to your profile, you will need to do so in order to continue. If you&lt;br /&gt;are reading this blog, I am hoping that you have already added the facebook developer&lt;br /&gt;application to your profile. If not, its easy to add, just like any other app you&lt;br /&gt;add to your profile.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Av955rtjA0g/TjgfFsIaoAI/AAAAAAAAABY/qEvfsSW1g0w/s1600/Tutorial_FB_Pic_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="111" src="http://2.bp.blogspot.com/-Av955rtjA0g/TjgfFsIaoAI/AAAAAAAAABY/qEvfsSW1g0w/s320/Tutorial_FB_Pic_1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Fill out the captcha...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xzjgVUI_sno/TjgfK8fdtkI/AAAAAAAAABc/WSF5upwNTaA/s1600/Tutorial_FB_Pic_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="122" src="http://1.bp.blogspot.com/-xzjgVUI_sno/TjgfK8fdtkI/AAAAAAAAABc/WSF5upwNTaA/s320/Tutorial_FB_Pic_2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Step 2: Setup your application's info&lt;/h2&gt;To make your application more easy to understand for your users, provide a brief&lt;br /&gt;description about your app. Also, you can include other helpful information to your&lt;br /&gt;user such as contact email, the developer's name, etc.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BCBoZ9egqHU/TjgfOheHFEI/AAAAAAAAABg/Z5fgq_FJVn4/s1600/Tutorial_FB_Pic_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="http://2.bp.blogspot.com/-BCBoZ9egqHU/TjgfOheHFEI/AAAAAAAAABg/Z5fgq_FJVn4/s320/Tutorial_FB_Pic_3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Step 3: Setup your web application details&lt;/h2&gt;I had the most trouble getting this work since all the google'd information I found&lt;br /&gt;on doing this was out-of-date. Under 'web Site' tab on the left, enter your site's&lt;br /&gt;URL and site's domain. (e.g. site URL: www.example.com/, site domain: example.com)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-79ydJsXWyUc/TjgfTDig3BI/AAAAAAAAABk/FDDFfQYwJcE/s1600/Tutorial_FB_Pic_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="121" src="http://2.bp.blogspot.com/-79ydJsXWyUc/TjgfTDig3BI/AAAAAAAAABk/FDDFfQYwJcE/s320/Tutorial_FB_Pic_4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yGx9A2gPnsU/TjgfWDruoTI/AAAAAAAAABo/ip-E18gGJl0/s1600/Tutorial_FB_Pic_5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="126" src="http://3.bp.blogspot.com/-yGx9A2gPnsU/TjgfWDruoTI/AAAAAAAAABo/ip-E18gGJl0/s320/Tutorial_FB_Pic_5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2&gt;Step 4: Create a dummy page in your web site's root called 'xd_receiver.htm' with the following code&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Zg_IWmnkqCI/Tjgfb0cVYfI/AAAAAAAAABs/7lglFm4_JaQ/s1600/Tutorial_FB_Pic_6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="79" src="http://1.bp.blogspot.com/-Zg_IWmnkqCI/Tjgfb0cVYfI/AAAAAAAAABs/7lglFm4_JaQ/s320/Tutorial_FB_Pic_6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Step 5: Create a base page on your site to connect to facebook using Javascript &lt;/h2&gt;This part requires a little more knowledge on the coding part. If you have made it this far, your are doing well. Almost there!&lt;br /&gt;We need to create a page to collect our facebook data and show it on our web page. Create a page on your site using whatever technology you prefer and then &lt;br /&gt;in the paste in the following code:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qMEVQ3lu3fs/TjgffhjxvOI/AAAAAAAAABw/M4Hge6TnDRQ/s1600/Tutorial_FB_Pic_7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://3.bp.blogspot.com/-qMEVQ3lu3fs/TjgffhjxvOI/AAAAAAAAABw/M4Hge6TnDRQ/s320/Tutorial_FB_Pic_7.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-u5jHJ6Tk6Hs/Tjgfk7bSP4I/AAAAAAAAAB0/w2eRX8Ajdlk/s1600/Tutorial_FB_Pic_8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="79" src="http://3.bp.blogspot.com/-u5jHJ6Tk6Hs/Tjgfk7bSP4I/AAAAAAAAAB0/w2eRX8Ajdlk/s320/Tutorial_FB_Pic_8.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8QH3jdacI_Q/TjgfmrifJuI/AAAAAAAAAB4/mT4bPwOPxAA/s1600/Tutorial_FB_Pic_9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="306" src="http://4.bp.blogspot.com/-8QH3jdacI_Q/TjgfmrifJuI/AAAAAAAAAB4/mT4bPwOPxAA/s320/Tutorial_FB_Pic_9.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You will need to deploy this web page to your site on the web in order to get this to work. This will basically allow you to connect to facebook using an account of your choice. (e.g. &lt;br /&gt;Your fb account , your dev account, etc.) That is pretty much it as far as the hard stuff goes. The only thing left to do is to work on what your application needs from facebook.&lt;br /&gt;You will need to look throught the JavaScript API and SDK to understand how to format requests and the other. One thing I did leave out is how to obtain the oAuth token that you will&lt;br /&gt;need in order to query the Graph API. I will blog on this later. This should get your development started ASAP! &lt;br /&gt;Check out the following links below to help:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developers.facebook.com/docs/api"&gt;Facebook Graph API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developers.facebook.com/docs/"&gt;Getting Started - Facebook Documentation (Helpful, but very lite)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developers.facebook.com/docs/reference/javascript/"&gt;Facebook - JavaScript API&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;[Posted By] - &lt;a href="http://www.blogger.com/post-create.g?blogID=2208020699235913855#"&gt;Vorality Admin&lt;/a&gt; on&lt;/td&gt;&lt;td&gt;&lt;br /&gt;[Key Words]&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-4665320066583622823?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com/voralityblog.aspx' title='How to setup/integrate Facebook Platform with your own'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/4665320066583622823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=4665320066583622823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4665320066583622823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4665320066583622823'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2010/10/how-to-setupintegrate-facebook-platform.html' title='How to setup/integrate Facebook Platform with your own'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Av955rtjA0g/TjgfFsIaoAI/AAAAAAAAABY/qEvfsSW1g0w/s72-c/Tutorial_FB_Pic_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-1548404223239077953</id><published>2010-09-29T14:26:00.001-07:00</published><updated>2010-09-29T14:26:20.075-07:00</updated><title type='text'></title><content type='html'>Check out the new site at &lt;a href="http://mtg-online.com"&gt;http://mtg-online.com&lt;/a&gt; for Magic Cards, Singles, Decks, Online Store &amp; More!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-1548404223239077953?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/1548404223239077953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=1548404223239077953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1548404223239077953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1548404223239077953'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2010/09/check-out-new-site-at-httpmtg-online.html' title=''/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-2534805030237811664</id><published>2010-08-05T22:29:00.000-07:00</published><updated>2010-08-05T22:29:17.382-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Databinding'/><category scheme='http://www.blogger.com/atom/ns#' term='3.5'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Intro'/><title type='text'>My adventures in WPF - Intro to WPF Series</title><content type='html'>This will be a first post in the series of articles around WPF (Windows Presentation Foundation). I will be using examples of real work in an example format&amp;nbsp;of the challenges I have faced when working with this technology. I feel that a&amp;nbsp;blog&amp;nbsp;series devoted to understanding WPF is needed because it is a very different platform for .NET Developers and when moving to WPF/Silverlight there is a steep learning curve whether people admit it or not. Just because you know Microsoft .NET does not mean that you&amp;nbsp;will be sufficient at WPF/Silverlight which I find so many business people think is true. &lt;br /&gt;&lt;br /&gt;I will also be posting reference articles that I feel have helped me along the way to understand this new Microsoft technology. I will admit that WPF is a rewarding technology to use and if used correctly can create amazing applications for businesses and individuals. However, with any new technology there are always critics and skeptics but I am here to blog that its possible to learn this technology and I am going to show you how! Stay tuned for my first post about "diving into databinding".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-2534805030237811664?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='My adventures in WPF - Intro to WPF Series'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/2534805030237811664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=2534805030237811664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2534805030237811664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2534805030237811664'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2010/08/my-adventures-in-wpf-intro-to-wpf.html' title='My adventures in WPF - Intro to WPF Series'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-8268380571395592135</id><published>2010-01-27T20:48:00.000-08:00</published><updated>2010-01-27T20:53:45.678-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>How to show deleted projects in Team Foundation Server</title><content type='html'>&lt;span style="font-family: inherit;"&gt;If you are using Team Foundation Server in any version, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 you may run across a problem that may not be easy to solve. Sometimes when you are creating and deleting branches in Team System if you delete a branch or directory you most likely will not see it after you delete it. The problem is that by default Visual Studio&amp;nbsp;does not show deleted projects. So,&amp;nbsp;in order to enable this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pv8lu6XgcOA/S2ENf3zakzI/AAAAAAAAAG0/YtQmEW9pWk8/s1600-h/VSTS_HowtoViewDeletedProjects.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="372" mt="true" src="http://1.bp.blogspot.com/_pv8lu6XgcOA/S2ENf3zakzI/AAAAAAAAAG0/YtQmEW9pWk8/s640/VSTS_HowtoViewDeletedProjects.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This is useful because Team System, all versions, continue to keep your project/branch directories around even after you delete them through Visual Studio Source Control. There is another way to completely remove the project/branch from Team Foundation Server. You can use the command line tool that comes with Visual Studio Tools that get installed alongside your Visual Studio Intallations. The path the tool lives in&amp;nbsp; &lt;drive&gt;:\Program Files\Microsoft Visual Studio&lt;version(9,10)&gt;\Common7\IDE and is available from the Visual Studio 2008 Command Prompt:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_pv8lu6XgcOA/S2EUwX6krYI/AAAAAAAAAHE/L5SgQf8IRg4/s1600-h/VSTS_HowToDeleteProjectsWithCommandLine.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="324" mt="true" src="http://1.bp.blogspot.com/_pv8lu6XgcOA/S2EUwX6krYI/AAAAAAAAAHE/L5SgQf8IRg4/s640/VSTS_HowToDeleteProjectsWithCommandLine.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In order to delete branches you need call the &lt;strong&gt;tf delete &lt;/strong&gt;command. You call you &lt;strong&gt;tf delete /? &lt;/strong&gt;to see how to use the command. It is pretty easy. I used this article for reference &amp;gt; &lt;a href="http://msdn.microsoft.com/en-us/library/z51z7zy0.aspx"&gt;http://msdn.microsoft.com/en-us/library/z51z7zy0.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Good luck and happy Lifecycle Management!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-8268380571395592135?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/8268380571395592135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=8268380571395592135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8268380571395592135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8268380571395592135'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2010/01/how-to-show-deleted-projects-in-team.html' title='How to show deleted projects in Team Foundation Server'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pv8lu6XgcOA/S2ENf3zakzI/AAAAAAAAAG0/YtQmEW9pWk8/s72-c/VSTS_HowtoViewDeletedProjects.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-9107754808437797290</id><published>2009-12-29T10:23:00.000-08:00</published><updated>2009-12-29T10:24:17.020-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='NET Framework 4'/><category scheme='http://www.blogger.com/atom/ns#' term='HPC'/><category scheme='http://www.blogger.com/atom/ns#' term='2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 4'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Free Training Courses on Channel9</title><content type='html'>&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-size: small;"&gt;Free Training Courses on Channel9&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you haven't had a chance to see any of the new &lt;b&gt;free &lt;/b&gt;training content up on &lt;a href="http://channel9.msdn.com/learn/courses/"&gt;channel 9&lt;/a&gt; you are missing out! There are tons and I mean tons of &lt;b&gt;free&lt;/b&gt; content around many of the current and upcoming technologies that Microsoft is releasing. From what I have seen so far, many of the videos that are being produced are by industry experts and Microsoft employees. Here are courses they have setup so far:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Azure/"&gt;Windows Azure&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/HPCLearningCourse/"&gt;Windows HPC 2008&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/IdentityTrainingCourse/"&gt;Windows Identity &lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Office2010/"&gt;Office 2010&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/SharePoint2010Developer/"&gt;SharePoint 2010 for Developers&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Silverlight4/"&gt;Silverlight 4&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/VS2010/"&gt;Visual Studio 2010 &amp;amp; NET Framework 4&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Windows7/"&gt;Windows 7&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/learn/courses/WindowsServer2008R2/"&gt;Windows Server 2008 R2&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;There are hours and hours of free content up on &lt;a href="http://channel9.msdn.com/learn/courses/"&gt;channel 9&lt;/a&gt; and I would definitely recommend taking advantage of this information while it lasts.&lt;br /&gt;&lt;br /&gt;Good luck and I hope this helps~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-9107754808437797290?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://channel9.msdn.com/courses' title='Free Training Courses on Channel9'/><link rel='enclosure' type='' href='http://channel9.msdn.com/courses' length='0'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/9107754808437797290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=9107754808437797290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/9107754808437797290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/9107754808437797290'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/12/free-training-courses-on-channel9.html' title='Free Training Courses on Channel9'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-6674379172198595194</id><published>2009-12-19T22:43:00.000-08:00</published><updated>2009-12-19T22:45:09.215-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Employee'/><category scheme='http://www.blogger.com/atom/ns#' term='Company'/><category scheme='http://www.blogger.com/atom/ns#' term='Occupation'/><category scheme='http://www.blogger.com/atom/ns#' term='Interviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Technical Interviews'/><category scheme='http://www.blogger.com/atom/ns#' term='Salary'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='Compensation'/><title type='text'>Tips and Tricks of Technical Interviews</title><content type='html'>&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;[Intro]&lt;/span&gt;&lt;br /&gt;I am sure everyone who has ever had a technical interview will be able to benefit from this article. I am going to explain some tips and tricks of technical interviews and how it can help you during your interviews. To get some context around this subject we need to clarify what we mean by 'technical interview'. The scary part is that this could be almost anything in the computer world. Also, just to be clear that this post is generally about Software Engineer/Consultant/Programmer positions that are built on Microsoft's .NET Framework. However, even though this is product specific, the concepts apply to the Information Technology industry. Fear not however, I will give you some good tips on how to approach technical interviews from an interviewee and interviewer perspective. Let me get started with how the process works a &lt;b&gt;majority&lt;/b&gt;&amp;nbsp;of the time.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;[First Contact]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Yes. First contact, in other words, the first time a recruiter, job-hunter, hiring manager, head-hunter, whatever you would like to call them contacts you over the phone or through and email. What you can expect out of most recruiters is to talk to you about your &lt;b&gt;application, resume, job history, interest, salary, &lt;/b&gt;and &lt;b&gt;location. &lt;/b&gt;What I recommend in this first part of the interview process is to be very polite, upbeat and respectful. However, this is not always easy because you never know what to expect. Just remember that the recruiter is trying to get an idea of what kind of person you are and if you are going to line up with the position they are trying to fill so as &lt;b&gt;interviewers&lt;/b&gt;&amp;nbsp;we want to be as upbeat and polite as possible.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;As the recruiter tries to get a feel for what kind of worker you are there are some things you&lt;b&gt;&amp;nbsp;&lt;/b&gt;might &lt;b&gt;not &lt;/b&gt;want to reveal to them. The most important thing is salary expectations. I feel that if you prolong this you can usually get the recruiter to let you know the salary range. Sometimes, if you are being hired for contract work and not salary, they might just tell you right away. However, if you are&amp;nbsp;negotiating&amp;nbsp;a salary you want to be sure to do your homework on the area through sites like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.glassdoor.com/"&gt;http://www.glassdoor.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.salary.com/"&gt;http://www.salary.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bestplaces.net/COL/"&gt;http://www.bestplaces.net/COL/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.payscale.com/"&gt;http://www.payscale.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;All these sites will give you a good idea of what to expect when you are&amp;nbsp;negotiating&amp;nbsp;salaries for positions. It will also give you an idea of what to expect in the area/location you are applying. In addition to salary, when speaking with the recruiter try to get as much information possible about the position, such as project length, type of work, technologies being used, type of environment(in-house, consulting, etc.). This will give you a better idea when you are trying to determine how much you are worth compared to the position you are going after. In the next section, I am going to talk about what happens if this goes well for you and what you can expect.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;[First Technical Interview]&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have made this far then at least you didn't screw up the first part! This is going to be a harder to explain but I can give you the best of my knowledge. First off, depending on what type of company you are dealing with the will either be phone-based, computer-based, or in-person. Most of the time the first interview is either phone-based or computer-based. If you are dealing with a phone-based interview , here is what you can expect on the first interview:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Most of the time the &lt;b&gt;interviewer&lt;/b&gt;&amp;nbsp;will ask you about your project experience&lt;/li&gt;&lt;li&gt;Most of the time the &lt;b&gt;interviewer &lt;/b&gt;will ask you about the types of technology you have worked with and for how long&lt;/li&gt;&lt;li&gt;After the &lt;b&gt;interviewer&lt;/b&gt;&amp;nbsp;is done asking you the basics about your current role and what kind of work you have be doing they will usually start with a list of technical questions in 3-4 general areas.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The areas are : &lt;b&gt;Object-Oriented Programming Concepts, Database Concepts, Web Concepts&lt;/b&gt;, and then drill into a deeper subset of whatever technology experience they are trying to figure out if you know&lt;/li&gt;&lt;li&gt;Some companies even go as far as to build systems to generate these types of general technical questions&amp;nbsp;&lt;/li&gt;&lt;li&gt;If you can get your hands on the magical PDF put together by a few programmers a few years back you can do extremely well with this interview&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Just remember that I cannot give you the actual answers on this blog but a quick search on the topics lists above and you can get an idea of what to expect. If you pass this interview, usually within a few days the recruiter will call you back and talk to you about what's next in the process. If the company is small, sometimes they may require you to do a computer-based screening test. Most of the time this consists of more detailed questions about the particular technology you are working with. If the company is medium-to-large they are often going to require another technical interview and that is what we will talk about next.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;[Second Technical/Behavioral Interview]&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Wow, lots of information! I am going to&amp;nbsp;congratulate&amp;nbsp;you if you made it this far! A majority of folks don't because they really don't know core concepts and get stuck on the basic interview questions. However, since your this far keep reading! Since you are here you must know enough to have a chance at the job and what comes next in most interviews is a technical/behavioral/personality type of interview if that makes sense. It almost every interview I have ever had this always happens. Here are some things to be sure to practice up on:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Be ready to explain your&amp;nbsp;resume and every project&amp;nbsp;you were apart of end-to-end&lt;/li&gt;&lt;li&gt;Be&amp;nbsp;ready to explain&amp;nbsp;how you solved a particular problem in the past&amp;nbsp;on one of your projects&lt;/li&gt;&lt;li&gt;Be ready to explain how you overcame an issue with a manager/customer/co-worker&amp;nbsp;&lt;/li&gt;&lt;li&gt;Be ready to&amp;nbsp;interpret business value of technology to a hiring manager/technical lead&lt;/li&gt;&lt;/ul&gt;These are just some of the types of things you&amp;nbsp;need to know for your second technical interview. Most&amp;nbsp;of the time if you passed the first interview they already know you have the skills to work on the job.&amp;nbsp;This interview is more&amp;nbsp;of a&amp;nbsp;"job-fit" interview.&amp;nbsp;This is very typical&amp;nbsp;because they(interviewer)&amp;nbsp;want to know if you will&amp;nbsp;be a good fit for the job&amp;nbsp;and if you are personable and that your not a pyscho...literally. Considering you&amp;nbsp;have read this far let's digg into the final part of the interview process...the final interview/offer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;[Final Interview/Offer]&lt;/span&gt;&lt;br /&gt;If you get a call back for an&amp;nbsp;"in-person" or&amp;nbsp;"final interview" this is&amp;nbsp;a very&amp;nbsp;good thing and I want to congradulate you&amp;nbsp;for your success. Most people&amp;nbsp;don't get here. Anyways, here are some things to keep in mind in this stage of the game:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Salary Expectations&lt;/li&gt;&lt;li&gt;Benefits/Vacation&lt;/li&gt;&lt;li&gt;Training&lt;/li&gt;&lt;li&gt;Re-location&lt;/li&gt;&lt;/ul&gt;If you happened to hold off the recruiter from getting a salary range out of you until this point then you definitely have the upper hand in the negoiation. You can count a few things at this point. Obviously, the firm that is interviewing you has a vested interest in getting you on board so you have better negoiating power. If you can get the recruiter to give you a salary range you can work with that&amp;nbsp;and usually ask for a little more than the high range.&amp;nbsp;Make sure if they give you a offer you can always ask for some time to think it over before you just accept it without taking some time to think it over. So many people, myself included, always jump the gun and always say 'Yes, I accept!' right away without counter-offering. Counter-offering is the best place to be because you can offer your own terms and put the ball back in their court. This can only make things better for you if you do it right. &lt;br /&gt;&lt;br /&gt;So, when you get the phone call about the offer or counter-offer just relax, think, and be cautious about&amp;nbsp;what you say.&amp;nbsp;Remeber that no matter what they say, no matter how good the offer is, you always should say "Thank you for the offer but can I take some time to look it all over before I make my decision?" If they try to hard-ball you by saying you have to tell them right now, they are bluffing, so&amp;nbsp;stand tuff and just say you always take your time when making important decsions and reasure them&amp;nbsp;that you are interested&amp;nbsp;and want to look everything over&amp;nbsp;1 last time.&amp;nbsp;Also, remember the recruiter&amp;nbsp;will try their best in this stage to get you for the cheapest amount possible. Just think about it, the cheaper a company can find a valuable resource, the better off they can increase their bottom line! If the salary is what you want, you can gracefully accept the position at this point. Anyways, I&amp;nbsp;can only&amp;nbsp;give you pointers in this area because at the end of the day you will&amp;nbsp;figure out your own way of negoiating because everyone&amp;nbsp;always does.&amp;nbsp;I hope this helps.&lt;br /&gt;&lt;br /&gt;The same thing goes for Benefits, Training, and Re-location. You already know that the firm has an interest in bringing you on-board so you have the upper-hand to ask for better benefits, increased training, comparable vacation time, and re-location, if needed. A large of amount of interviewees out there have no idea of how to handle negoiations when getting hired by companies. Most of them only care about salary but as you can see there are other benefits you can gain with a little bit of negoiating. Again, I hope this helps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif;"&gt;[Wrap-Up]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;I hope my experiences in this area can benefit you when you encounter these situations. Just remember to be upbeat and passionate when you first time because this sets the tone for the rest of the interview process. Next, always make sure you do your homework about the position you are applying for. Find out what the market-rate is for a particular position on sites like &lt;a href="http://www.glassdoor.com/"&gt;http://www.glassdoor.com/&lt;/a&gt; . You can find reviews from other employees , past &amp;amp; present. Check the cost of living in the area you are looking to work in. As for the technical interviews, do your homework as well by reading about common algorithims, object-oriented techniques, and be up-to-speed on present &amp;amp; up-coming technologies. Remember that you if you make it to the end of the interview process you have a lot more bargaining power than you will ever have so keep that in mind. Finally, if you end up getting the job and everything that you wanted, then reading this blog post was beneficial for you and you should pass it on to a friend! Good luck interviewees and feel free to comment your experiences if you like.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-6674379172198595194?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Tips and Tricks of Technical Interviews'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/6674379172198595194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=6674379172198595194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/6674379172198595194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/6674379172198595194'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/12/tips-and-tricks-of-technical-interviews.html' title='Tips and Tricks of Technical Interviews'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-1185717781006606670</id><published>2009-11-02T07:09:00.000-08:00</published><updated>2009-11-02T07:09:49.277-08:00</updated><title type='text'>NET Framework 4 Client Profile Beta 1 Issues &amp; Errors</title><content type='html'>I'm sure most of the tech-savvy developers out there have already downloaded and tried to install Visual Studio 2010 Beta 1 and Visual Studio 2010 Beta 2. If you did, well there are some important things to note about the installation and removal of Beta products. Let's first start with Visual Studio 2010 Beta 1. When this first came out a few months ago, it was a huge&amp;nbsp;milestone for the Visual Studio product team. However, as with all "Beta" products you need to follow the directions given by the product teams ver batum. If not, you will have issues that will cause you to pull your hair out of your head and drive you nuts. Also, you may have gotten errors when trying to uninstalling the "Microsoft Framework 4 Client Profile Beta 1" as well.&amp;nbsp;Well, at least it did for me.&lt;br /&gt;&lt;br /&gt;For the most part I followed the directions after downloading &amp;amp; installing the first beta release. However, when beta 2 came out 2 weeks ago, I was quick to just on the download and wanted to see all the new and updated features. So, just like any normal person I went and started unstalling my Beta 1 Visual Studio 2010. Well, first mistake I made was not to uninstall in the correct order. Check here for the correct order.&amp;nbsp;&lt;a href="http://www.hanselman.com/blog/VistaUsersUninstallVisualStudio2010Beta1BeforeUpgradingToWindows7.aspx"&gt;http://www.hanselman.com/blog/VistaUsersUninstallVisualStudio2010Beta1BeforeUpgradingToWindows7.aspx&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, if most of you&amp;nbsp;uninstalled&amp;nbsp;in the wrong order you may have some interesting side effects. One of the most painful side effects for me was trying to get rid of "Microsoft .NET Framework 4 Client Profile Beta 1". For the life of me, I could not get this to uninstall off my computer. I was searching for everything in the blogosphere to figure out what registry hack or trick I needed to get rid of it. Well after completely removing all of my .NET Frameworks and re-installing all of them, which may or may not have helped, I decided to hack the registry myself to figure out how to fix my computer.&lt;br /&gt;&lt;br /&gt;First thing you need to is grab a free copy of a good registry tool. Check here &amp;gt;&amp;nbsp;&lt;a href="http://www.resplendence.com/"&gt;http://www.resplendence.com/&lt;/a&gt;&amp;nbsp;Once you have this tool, it makes it super easy to find things in your registry with simple searchs. Very helpful! Once you have the tool installed, do a simple text search for "NET Framework Client Profile" and you should get a decent amount of results. Most of them will be a registry location [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Installers~]. You need to find the one entry that lists the "Microsoft .NET Framework 4 Client Profile Beta 1" and delete it. I would recommend also making sure that in &lt;b&gt;Control Panel &amp;gt; Add &amp;amp; Remove Programs&lt;/b&gt; that you have no programs associated with Visual Studio 2010 or .NET Framework 4.&lt;br /&gt;&lt;br /&gt;So, once all this has been completed, you&amp;nbsp;probably&amp;nbsp;should do a re-boot just to be safe and then try to re-install Visual Studio 2010 Beta 2. If you still get errors, you might need to completely remove all traces of the dot NET framework and do a complete re-install. Here are some tools to help you do that. For dot NET detection tool which is pretty simple, check here &amp;gt;&amp;nbsp;&lt;a href="http://www.softrecipe.com/System-Utilities/Utilities/net_version_detector.html"&gt;http://www.softrecipe.com/System-Utilities/Utilities/net_version_detector.html&lt;/a&gt;. This will tell very simply what versions of the NET Framework you have installed on your computer as well the version that are not. Now, you will&amp;nbsp;probably&amp;nbsp;need a tool to completely remove dot NET framework versions from your computer as well. Check here &amp;gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx"&gt;http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx&lt;/a&gt;&amp;nbsp;This tool will completely remove all traces of the .NET framework from your machine. However, it only goes up to version 3.5 right now. Either way it is still a great tool to help easily remove dot NET versions from your machine.&lt;br /&gt;&lt;br /&gt;Well I hope this helps all the tech-savvy developers out there! If you have any questions or comments, please post.&lt;br /&gt;&lt;br /&gt;My new quote of the day - "Always remember, &amp;nbsp;use a virtual machine"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-1185717781006606670?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='NET Framework 4 Client Profile Beta 1 Issues &amp; Errors'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/1185717781006606670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=1185717781006606670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1185717781006606670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/1185717781006606670'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/11/net-framework-4-client-profile-beta-1.html' title='NET Framework 4 Client Profile Beta 1 Issues &amp; Errors'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-4391616631307771997</id><published>2009-10-13T07:38:00.000-07:00</published><updated>2009-10-13T07:42:00.503-07:00</updated><title type='text'>Dynamically Changing Javascript Events</title><content type='html'>If you have ever had to work with client-side code and make your functions change dynamically this article is for you. Whenever you are working with client-side code you need to remember that you need to maintain the state your code because once the DOM(Document Object Model) has been created you can only modify it with JavaScript. This introduces another problem. If you want to see the raw output of a page after it has been created from the server you can right-click in most browsers and click "View Source" or something similiar. That will give you the raw text that was sent from the server. Also, depending on what browser and browser version you have installed you may get different outputs.&lt;br /&gt;&lt;br /&gt;I am sure many of you reading this may have seen this kind of code before:&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;window.onload = SayHi;&lt;br /&gt;&lt;br /&gt;function SayHi(){&lt;br /&gt;  alert('hi');&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This code assigns a function that will execute when the page is finished loading. Pretty simple and&amp;nbsp;straight-forward. However say we need something more complex, like take elements that already have &lt;span style="font-weight: bold;"&gt;onclick&lt;/span&gt;&amp;nbsp;events and need to re-assign/change their &lt;span style="font-weight: bold;"&gt;onclick &lt;/span&gt;methods for any number of reasons on the client-side. For example:&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;//Assuming this already had an 'onclick' event like 'onclick=SayHi();'&lt;br /&gt;var radioButton = document.getElementById('myRadioButton'); &lt;br /&gt;&lt;br /&gt;//Now lets say we wanted to change the onclick functionality or whatever...&lt;br /&gt;radioButton.onclick = SayHi2;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Everything works as expected our radio button now has a new function whenever it is called. This is where it gets tricky. Say we have a function that needs to pass in arguments to our SayHi2 method. Like '&lt;span style="font-weight: bold;"&gt;name&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;function SayHi2(name){&lt;br /&gt;alert(name);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We &lt;span style="font-weight: bold;"&gt;cannot&lt;/span&gt; assign this new function to our existing code like this.&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;var radioButton = document.getElementById('myRadioButton'); &lt;br /&gt;radioButton.onclick = SayHi2(name);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It will drive a person crazy to figure out that when this code gets executed that whatever the 'name' variable was that was passed in will change after you set this up. Very frustrating! Also, some blog posts I have read say that if you want to change the &lt;b&gt;onclick&lt;/b&gt; event handler you must declare the function like so:&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;var radioButton = document.getElementById('myRadioButton'); &lt;br /&gt;radioButton.onclick = function SayHi2(name);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This just does not work at all. It looks like will work but because you are dynamically changing the onclick event handler there is a high-possibility of your variables getting changed when your function executes. I think the reason is that JavaScript by nature is dynamic and anytime you change something that is dynamic you will get unexpected results. I am not sure why my variables changed unexpectedly but there is another way to set the function on the fly correctly. So, in the event that you are changing event handler this way you should do it following way:&lt;br /&gt;&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;var radioButton = document.getElementById('myRadioButton'); &lt;br /&gt;radioButton.onclick = new Function("SayHi2("'" + name + "'");");&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will call the Function() constructor which will build and assign a newly creately function to the radio button. This will make sure that your variables are not changed when your function executes. If you have any thoughts or comments, please post! &lt;br /&gt;&lt;br /&gt;Josh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-4391616631307771997?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Dynamically Changing Javascript Events'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/4391616631307771997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=4391616631307771997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4391616631307771997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/4391616631307771997'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/10/dynamically-changing-javascript-events.html' title='Dynamically Changing Javascript Events'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-448976441488678699</id><published>2009-10-01T06:29:00.000-07:00</published><updated>2009-10-01T06:41:55.337-07:00</updated><title type='text'>Google Wave - Next Generation Web</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Google's Wave product was just released to 100,000 test users yesterday. Google Wave is a&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;new product from Google that offers a complete real-time interaction with an endless number&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;of people simultaneously. You can&amp;nbsp;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: Verdana;"&gt;check out the link here at &lt;/span&gt;&lt;a href="http://wave.google.com/"&gt;&lt;span style="font-family: Verdana;"&gt;wave.google.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&amp;nbsp;. Here is a&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: Verdana;"&gt;screen&amp;nbsp;shot of&amp;nbsp;what it looks like. The first shot is main dashboard. The second shot is a detail&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: Verdana;"&gt;view of&amp;nbsp;the concurrent real-time edit mode.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Verdana; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pv8lu6XgcOA/SsSwyGzVHHI/AAAAAAAAAFo/0opNjOnhgVg/s1600-h/google_wave_snapshots_inbox.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pv8lu6XgcOA/SsSwyGzVHHI/AAAAAAAAAFo/0opNjOnhgVg/s320/google_wave_snapshots_inbox.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial; font-size: 13px; white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Verdana; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_pv8lu6XgcOA/SsSw20lOOoI/AAAAAAAAAF4/ZGOig0ukCYw/s1600-h/google_wave_concurrent_edit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_pv8lu6XgcOA/SsSw20lOOoI/AAAAAAAAAF4/ZGOig0ukCYw/s320/google_wave_concurrent_edit.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Verdana; font-size: 13px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Google Wave currently is only available for limited preview. You have to register with Google to&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;be able to download and demo the product. From yesterday there were 100,000 users allowed&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;to download and use the product. Also, each test user was given 8 additional invites to allow&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;additional users to use the product. As this product is still very early in its life cycle, we should&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;see more features being put into this product with customer reviews early on. Hopefully, Google&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 13px; white-space: pre;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;will release more invites out to the community for others. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial; font-size: 13px; white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-448976441488678699?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wave.google.com' title='Google Wave - Next Generation Web'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/448976441488678699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=448976441488678699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/448976441488678699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/448976441488678699'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/10/google-wave-next-generation-web.html' title='Google Wave - Next Generation Web'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pv8lu6XgcOA/SsSwyGzVHHI/AAAAAAAAAFo/0opNjOnhgVg/s72-c/google_wave_snapshots_inbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-7350011876714038387</id><published>2009-09-22T13:18:00.000-07:00</published><updated>2009-09-22T13:21:03.902-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intermediate'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Beginners'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>How to get started with programming - Microsoft Ramp Up Program</title><content type='html'>If you are new to programming or just getting back into the mix you have to check out Microsoft's Ramp Up program. This new offering from Microsoft offers an&amp;nbsp;abundance of knowledge, training, and video tutorials for beginners, intermediates, and advanced users for &lt;span style="font-weight: bold;"&gt;free. &lt;/span&gt;&amp;nbsp;I have personally signed up for the offering by creating a Windows Live ID logging into the website. In a short amount of time I have been able to get up-to-speed in several technology areas that I needed help with. The content is&amp;nbsp;straight-forward and simple.&lt;br /&gt;&lt;br /&gt;From the initial onset, Microsoft is really trying to help customers get a grasp of their products for &lt;span style="font-weight: bold;"&gt;free.&lt;/span&gt;&amp;nbsp;I highly&amp;nbsp;recommend&amp;nbsp;this for all programmers whether you are a novice or&amp;nbsp;easoned veteran this site offers a great wealth of knowledge. They offer many different types of learning paths and topics. Topics include: Silverlight Development,&amp;nbsp;Share Point&amp;nbsp;Development, Java Developers: Intro to Microsoft .NET, PHP Developers: Intro to ASP.NET.&lt;br /&gt;&lt;br /&gt;Take a look at the site here -&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/rampup/default.aspx"&gt;http://msdn.microsoft.com/en-us/rampup/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If this program seems like something that may interest you and you would like to get a more official training approach I would check out &lt;a href="http://learnvisualstudio.net/"&gt;http://learnvisualstudio.net&amp;nbsp;&lt;/a&gt;&amp;nbsp;. I have personally used them for my .NET training in the past and it has been the best I have ever found on the internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-7350011876714038387?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/en-us/rampup/default.aspx' title='How to get started with programming - Microsoft Ramp Up Program'/><link rel='enclosure' type='' href='http://voralityconsulting.com' length='0'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/7350011876714038387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=7350011876714038387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7350011876714038387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7350011876714038387'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/09/how-to-get-started-with-programming.html' title='How to get started with programming - Microsoft Ramp Up Program'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-2680026846256268985</id><published>2009-09-11T12:31:00.000-07:00</published><updated>2009-09-16T13:25:10.762-07:00</updated><title type='text'>Dyanmic Controls in ASP.NET - From the field</title><content type='html'>[Intro]&lt;br /&gt;In any enterprise application there is always the need for dynamic content based on some set of business rules and/or criteria. As an ASP.NET developer sometimes we have the opportunity to drop a control on web page and bind it some data list and call it a day. However, there are some times when we need the structure and layouts of our asp.net pages to dynamically change. For this reason, we need to dig deeper into the asp.net engine and understand the asp.net page life cycle. For brevity, I am not going to get into the complete life cycle but talk about the important gotchas for dynamic control rendering.&lt;br /&gt;&lt;br /&gt;There are some "gotchas" when creating dynamic controls in ASP.NET.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You need to know that if you need to access the values in the controls on the "post back" of the page you need to create the controls in the "OnInit" event.&lt;/li&gt;&lt;/ul&gt;Example:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pv8lu6XgcOA/SqqxofEmnBI/AAAAAAAAAFQ/3Wszjv7p0iU/s1600-h/dynamic_controls_2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5380308013941169170" src="http://4.bp.blogspot.com/_pv8lu6XgcOA/SqqxofEmnBI/AAAAAAAAAFQ/3Wszjv7p0iU/s320/dynamic_controls_2.png" style="cursor: pointer; height: 214px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When adding dynamic controls to a page, it is usually helpful to know where these controls will be located at in the page hierarchy.&lt;/li&gt;&lt;li&gt;If you add the controls in the "Page_Load" method , you will not be able to capture their values.&lt;/li&gt;&lt;li&gt;It makes sense to put your controls in some type of container so when you collect the values from the controls you know where to look. This is important because when you capture the data from the controls you will only be able to find the control if it belongs in the container you specify.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Example:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pv8lu6XgcOA/Sqqw_dCHaUI/AAAAAAAAAFI/tqCvZq3uEzo/s1600-h/dynamic_controls_1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5380307309019228482" src="http://1.bp.blogspot.com/_pv8lu6XgcOA/Sqqw_dCHaUI/AAAAAAAAAFI/tqCvZq3uEzo/s320/dynamic_controls_1.png" style="cursor: pointer; height: 147px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It helps to understand what is happening when the page executes and why we need to code like this. This may sound incorrect but in order for our pages to work correctly, we need to create our controls twice , 1 time on the initial load and 1 time on the post back. The reason we need to do is this is because when the page posts back from the initial load the control hierarchy does not exist anymore, i.e it is not in memory for us to access. This is why we needed to add our controls and create our page hierarchy on every page load regardless if the page is posting back or not.&lt;br /&gt;&lt;br /&gt;This is an initial post on dyanmic controls in ASP.NET. I will post more in-depth articles in later posts. I wanted to illustrate that creating dynamic controls is somewhat advanced skill to master in the ASP.NET stack. I also wanted to show an example of one way you create dynamic controls.&lt;br /&gt;&lt;br /&gt;Our company is a technology consulting firm specializing in the Mircosoft toolset. We also offer SEO optimization and Microsoft .NET consulting. Please checkout our website &lt;a href="http://voralityconsulting.com/"&gt;http://voralityconsulting.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fjoshua-clark.blogspot.com%2f2009%2f09%2fdyanmic-controls-in-aspnet-from-field.html"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fjoshua-clark.blogspot.com%2f2009%2f09%2fdyanmic-controls-in-aspnet-from-field.html" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-2680026846256268985?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Dyanmic Controls in ASP.NET - From the field'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/2680026846256268985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=2680026846256268985' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2680026846256268985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2680026846256268985'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/09/dyanmic-controls-in-aspnet-from-field.html' title='Dyanmic Controls in ASP.NET - From the field'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pv8lu6XgcOA/SqqxofEmnBI/AAAAAAAAAFQ/3Wszjv7p0iU/s72-c/dynamic_controls_2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-3021109203538772712</id><published>2009-09-06T23:02:00.000-07:00</published><updated>2009-09-06T23:19:04.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Friends'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Careers'/><category scheme='http://www.blogger.com/atom/ns#' term='Interaction'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Media'/><title type='text'>The power of becoming a member on LinkedIn</title><content type='html'>&lt;a href="http://linkedin.com/"&gt;www.linkedin.com&lt;/a&gt; is one of the important networking sites you must belong to. The site has so many opportunities for business people in the world today. In the past, before the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Internet&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;social&lt;/span&gt; networking people could only communicate through social interaction and the telephone. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the world of today where social networking has completely taken over the web many people have succeeded in numerous ways that they could not have before, in terms of networking and social interaction. Today, when you use sites like &lt;a href="http://linkedin.com/"&gt;www.linkedin.com&lt;/a&gt; you can not only know people who are your &lt;b&gt;direct &lt;/b&gt;friends and colleagues but people who are &lt;b&gt;indirect&lt;/b&gt; friends of your friends. This free &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;availability&lt;/span&gt; of relationships is something that was never possible before in the previous world of social interaction and networking. Thus, my point being that being a member of a site like &lt;a href="http://linkedin.com/"&gt;www.linkedin.com&lt;/a&gt; is a requirement in today's fast-paced business world. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The opportunities that have been presented to me are numerous and I can't think how such amazing opportunities would have been without &lt;a href="http://linkedin.com/"&gt; www.linkedin.com&lt;/a&gt; before. All I can say is that you need to check out this site and get registered! It will definitely help your career and job outlook. It also has many other benefits that I won't list but you can see the potential once you get signed up on their site. Check it out!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-3021109203538772712?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='The power of becoming a member on LinkedIn'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/3021109203538772712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=3021109203538772712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/3021109203538772712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/3021109203538772712'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/09/power-of-becoming-member-on-linkedin.html' title='The power of becoming a member on LinkedIn'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-7464283122380473454</id><published>2009-08-31T06:06:00.000-07:00</published><updated>2009-08-31T09:58:18.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Setup Mail Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='How To'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Host'/><title type='text'>How to setup your own mail server for free</title><content type='html'>[&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Some Intro]&lt;/span&gt;&lt;br /&gt;Setting up your own mail server is something that most IT folks should know how to do. It can benefit you to host your own mail server so that you can have complete control over your email addresses and email accounts. There are several products that you can purchase to do this for you such as Microsoft Exchange Server, Sendmail, FastMail.FM, and many others. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The point of this article is to setup your own email server on Windows Server 2003 in a short amount of time and for free. I have been trying to setup my own mail server for the longest time and have always been able to receive mail but could never get it work from my home office. After about a year of trying and reading through endless blogs and newsites I have finally figured it out. There have been many articles out there claiming to show you how to setup a mail server but they &lt;span class="Apple-style-span" style="font-style: italic;"&gt;all &lt;/span&gt;come up short. I will give you all the information you need to get started in about 15 minutes. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 1: Install Windows Server 2003]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvMsRkanaI/AAAAAAAAAEY/KWhZqoZ6wCI/s320/Windows+Server+2003+Installation+22.JPG" style="cursor:pointer; cursor:hand;width: 320px; height: 239px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5376115641199271330" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Setup the Windows Server with all the defaults and click the installation wizard until you are done. Once you are done installing the server, you need to add Email Services (POP, SMTP) to the server. This option is not installed by default when you first install Windows Server 2003. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 2: Enable email services on the server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;To enable "Email Services" on the server you need to open up the Manage Your Server screen from the start menu. Click on the Mail Server option and click next. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvRiQ8WxkI/AAAAAAAAAEo/1Q97vshorIM/s1600-h/windows_server_install_pic_1.png"&gt;&lt;img src="http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvRiQ8WxkI/AAAAAAAAAEo/1Q97vshorIM/s320/windows_server_install_pic_1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5376120966790694466" style="cursor: pointer; width: 320px; height: 239px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Once you are here, you will be able to install SMTP service for sending and receiving mail and the POP3 service for allowing clients to connect and download their mail with an email client. Click through the next screen and accept the defaults. Once you receive the window that tells you the server is now a "Mail Server", click complete/finish and close the diaglog. The next part will talk about the configuration of the Mail Server. There are two parts to setting up the mail server, the first being the POP3 component, and the second being the SMTP component.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 3: Setting Up/Configuring the POP3 component]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Now that you have the POP3 component installed, you need to setup a mail domain. The domain can be anything you want but must be a domain that must be configured in your MX record. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvfUR1OcGI/AAAAAAAAAEw/Gu36FtMtwlA/s1600-h/windows_server_install_pic_2.png"&gt;&lt;img src="http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvfUR1OcGI/AAAAAAAAAEw/Gu36FtMtwlA/s320/windows_server_install_pic_2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5376136119673843810" style="cursor: pointer; width: 320px; height: 189px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you get to this screen, go ahead and create a domain. (yourdomain.com, your domain.net, etc.) After you create the domain go ahead and create a test mailbox under that domain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pv8lu6XgcOA/SpvgNc4D4sI/AAAAAAAAAE4/_L0WrVODfdc/s1600-h/windows_server_install_pic_3.png"&gt;&lt;img src="http://2.bp.blogspot.com/_pv8lu6XgcOA/SpvgNc4D4sI/AAAAAAAAAE4/_L0WrVODfdc/s320/windows_server_install_pic_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5376137101891068610" style="cursor: pointer; width: 320px; height: 275px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Create the email account and setup a password. This user will be added to the "Email User" group on the server and will only have permissions to access to the POP3 service and the SMTP service. For setting up the POP3 service that is all that is needed unless you need to change your InBound email port which is by default 110. If you need to change this for any reason, in the POP3 Managment window, click on properties of mail server and change the port number in the diaglog window. That is all that is needed for the POP3 service component.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 4: Setting Up/Configuring the SMTP Component]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;This part requires that majority of the time spent on setting up the mail server to work properly. First, we need to make sure that SMTP service is installed and is running. On the server , click Start &gt; Adminstrative Tools &gt; IIS Manager. Once you are here click on + on the server and make sure you can see the Default SMTP Virtual Server node.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pv8lu6XgcOA/SpviVb6fu-I/AAAAAAAAAFA/nTT1TF4-TeU/s1600-h/windows_server_install_pic_4.png"&gt;&lt;img src="http://2.bp.blogspot.com/_pv8lu6XgcOA/SpviVb6fu-I/AAAAAAAAAFA/nTT1TF4-TeU/s320/windows_server_install_pic_4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5376139438095055842" style="cursor: pointer; width: 320px; height: 225px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is where the majority of the configurations go wrong. Make sure you follow the directions listed below. Right click on the properties of this and you will see a dialog that will have several tabs on it. I am going to explain each tab and the properties that need to be set in order to get your mail server working properly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[Tab 1: General]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The only setting you need to check is the port number that will be used for sending and receiving email. In the dialog, will be able to specify an IP address that will be used for the email or you can leave it as [All Unassigned]. Leave this as the default and click properties. In this dialog, you can change the port number for the SMTP server. I would recommend using 25 but if you want to use another common mail port you can change it here. In some cases, most ISPs block port 25, but check with your ISP and find out if they block port 25. If so, you may need to change this number here to 587 or another port number that they don't block.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Tab 2: Access]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Under access control, click details and make sure you have Anonymous Access and Windows Integrated Authentication checked.&lt;/li&gt;&lt;li&gt;Under Relay Restrictions, click detail and make sure the "All Except the list below" is selected. You will still be secure by doing this in that only users who were authenticated can access and relay email through this mail server. You don't want your server being used for SPAM!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Tab 3: Messages]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Here you can specify the max mail message size and where bad mail will go.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Tab 4: Delivery]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Here you can specify the outbound message info. You want to make sure under "Outbound Security" that you have "Anonymous Access" selected only.&lt;/li&gt;&lt;li&gt;Under outbound connections, you need to make sure the correct port is set based off the initial port we specified back on the properties of the SMTP server above.&lt;/li&gt;&lt;li&gt;Click Advanced, then here you need to specify the fully-qualified-domain-name of your domain. (YourDomain.com). Whichever you used when you created the mail domain for the POP3 component. &lt;/li&gt;&lt;li&gt;Still under Advanced , you will need to configure a smart host if your ISP blocks your IP address from sending mail over the internet. My ISP offers a free relay for SMTP/POP access , so I contacted my ISP's website and obtained the server names and placed the smtp ip/domain in the smart host field. &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;If you forget this, the email will never be sent if you are using a Dyanmic IP address or are on a email blocklist/blacklist.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Tab 5: LDAP]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Skip this &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;[Tab 6: Security]&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;This lists the user groups able to access/modify the SMTP server&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Now that we have the SMTP component configured we can start testing our configurations and sending some emails. The first thing I start with to test is using the command line and telnet.&lt;/div&gt;&lt;div&gt;Click Start&gt; Run&gt; Enter "cmd.exe" and the command prompt opens. You will need to do this from the server computer and from another client computer that can access your mail server. &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Make sure if you mess up when typing , don't use backspaces because the mail server expects the exact amount of characters and will not work so be sure you enter the info correctly with no mistakes. If you mess up tho, no worry, just start the process over. Be careful when you type!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Type cd\, then you should have C:\ prompt, then type - "telnet yourdomain.com [portNumberYouUsedInSMTPproperties] &lt;/li&gt;&lt;li&gt;If you connected successfully, you should get a response back from the mail server that tells you the name, date, and other relevant info in the command prompt.&lt;/li&gt;&lt;li&gt;Then type , "helo", this will make sure you can communicate with the mail server.&lt;/li&gt;&lt;li&gt;Then type "mail from: yourMailBox@yourDomain.com" and click enter&lt;/li&gt;&lt;li&gt;Then type "rcpt to:yourMailBox@yourDomain.com" and click enter&lt;/li&gt;&lt;li&gt;Then type "data" and click enter&lt;/li&gt;&lt;li&gt;Then type "A Test Message" then click enter&lt;/li&gt;&lt;li&gt;Then type "subject: A test message" and click enter"&lt;/li&gt;&lt;li&gt;Then type "body: This is test message" and click enter"&lt;/li&gt;&lt;li&gt;Finally, click "." and click enter, if you did this correctly, you will see a response from mail server that says, "Email Queued for Delivery"&lt;/li&gt;&lt;li&gt;Close the command window.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The first test is to check your POP3 service and see if the mail was successfully delivered to the email address you specified above. If you have a message count under that mailbox of 1 then you know it worked. The next test would be to do the same thing from another client computer that can connect to this mail server. Another test would be to send an email to an address outside of your domain. This problaly will not work because 99% of ISPs will have your dynamic IP address on a blocklist/blacklist. I will talk about this next on how to get around this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 5: Getting Around the BlockList/BlackList Issue]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Only do this if you can't configure a smart host]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;As mentioned before, all ISPs block dynamic ip addresses from sending mail because of the heavy use of spam on the internet. This is a good thing for all the users out there that actually are good internet citizens. What you will need to do is go to &lt;a href="http://www.spamhaus.org/"&gt;http://www.spamhaus.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Once you are here, enter your IP address into the IP address checker on the left side of the site. Once you run this , you will end up on one of the lists, click on the link provided, and follow the directions. Since your server is already setup and active, you can request to be removed from the blocklist\blacklist. Just follow the link that they provide after you input your IP address. It should take about 24-48 hours to process your request and after just check to make sure your IP is not on the blocklist\blacklist anymore and you start sending and receiving emails.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If all of the tests worked and you are not on a blocklist\blacklist anymore, all you need to do is configure your client mail programs, which should be pretty straighte forward. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Step 6: Setting Up Client Email Program]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;For this section, you have many options. You can use the default OutLook Express, Microsoft Office Outlook, Mozilla ThunderBird, and several other products that allow you to manage your email from a client computer. The simple and most easiest to use is Outlook Express.&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Setting up an account is pretty simple. The first time you run Outlook Express, you will be prompted to setup and account. Follow these steps:&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Add new Email Account (POP3)&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the wizard, enter your name for your account , this can be anything you want so you can reference later.&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Next enter your email address in the email address field.&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Incoming Mail Server: pop.YourDomain.com&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Outgoing Mail Server: smtp.YourDomain.com&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the Account Name: &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;YourMailBoxName@YourDomain.com&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the password Field: password used to setup the mailbox from before&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;[Optional] If you changed the ports from when you setup the original SMTP server you will need to change that here too. &lt;/span&gt;Click on "More Settings" or "Manually Setup Account"&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;You need to make sure that for your incoming mail that you specify port 110 and for outgoing email you specify your SMTP port number. Remember that if you don't set this up correctly your email will never work.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Once you have completed this section, click on the "Finish" button and if everything was setup correctly you should be able to connect to your mailbox and see your test message that you sent to yourself from before.&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The last test is to try to send an email to an outside domain email and then send an email from an outbound domain to your domain and verify that it works. &lt;span class="Apple-style-span" style="font-weight: bold; "&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;[Wrap Up/Conculsion]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;If you followed my post, you should be sending and receiving emails like a champion! There was a good deal of information in this post and like &lt;span class="Apple-style-span" style="font-weight: bold; font-style: italic;"&gt;always&lt;/span&gt; if you have any questions or concerns about it, feel free to leave a comment here on my blog. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Good luck and happy emailing!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-7464283122380473454?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='How to setup your own mail server for free'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/7464283122380473454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=7464283122380473454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7464283122380473454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7464283122380473454'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/08/how-to-setup-your-own-mail-server-for.html' title='How to setup your own mail server for free'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pv8lu6XgcOA/SpvMsRkanaI/AAAAAAAAAEY/KWhZqoZ6wCI/s72-c/Windows+Server+2003+Installation+22.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5296161229030873468</id><published>2009-08-25T06:30:00.000-07:00</published><updated>2009-08-25T08:55:35.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Independent'/><category scheme='http://www.blogger.com/atom/ns#' term='Entrepreneurs'/><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><category scheme='http://www.blogger.com/atom/ns#' term='Consulting'/><category scheme='http://www.blogger.com/atom/ns#' term='Information'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Thoughts on starting your own consulting company</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;[A little precursor]&lt;/b&gt;&lt;br /&gt;I have had a good deal of experience in the world of information technology or at least I would like to think so:) It seems that developers always lead down the same pre-defined career paths. The first path is to start out as a junior developer working your way up through a company, then becoming a senior developer and after quite some time(*time will vary based on company*) you will eventually either become a team lead or supervisor of your team. Others may choose at this point to go back and get their master's degree and go for their MBA continuing to become a project manager and then finally a development manager or somewhere in management.&lt;br /&gt;&lt;br /&gt;So in reality, there are really 2 paths once you become seasoned professional, 1 - stay in your field and try to get to the upper-echelon of that area or 2 - Go into management, I am sure if you are reading this you are excited about that one:) However, there is one path that I left out intentionally because I think it is the best path for someone who wants to make it big.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Start your own company!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We have all heard this statement from our friends, professors, colleagues, and yes that man on TV with the ? on this hat and shirt. I feel strongly about this because starting your own company is a huge undertaking and requires if not more than all of the other path(s) experience, wisdom, and knowledge all tied together. So the real idea here is that it's the hardest and most difficult of the paths to go down and I like to think back to my 9th grade English class when we read a poem by Robert Frost, "The Road Not Taken", where the title is pretty much explains itself. I feel this way about starting my own consulting company.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;My experiences&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From what I have experienced here are a few things I think you need to know about starting a &lt;span style="font-style: italic;"&gt;consulting&lt;/span&gt; company in general.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;   A competitive advantage&lt;/li&gt;&lt;br /&gt;&lt;li&gt;   A business plan&lt;/li&gt;&lt;br /&gt;&lt;li&gt;   Knowledge of your field&lt;/li&gt;&lt;br /&gt;&lt;li&gt;   Experience as a consultant in some capacity&lt;/li&gt;&lt;br /&gt;&lt;li&gt;   A website&lt;/li&gt;&lt;br /&gt;&lt;li&gt;   Some kind of blog &lt;/li&gt;&lt;br /&gt;&lt;li&gt;   Insurance&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;All of these thing are my opinions and not everything you need to start a consulting company but they will definitely help and get you pointed in the right path. Some other tips I have heard were to join local user group and communities related to your expertise. These are great places to meet local professionals and industry experts. You can learn a great deal from these events for free.&lt;br /&gt;&lt;br /&gt;In the end, with most companies and not only consulting companies is finding clients. It is by far the hardest part for the majority of entrepreneurs out there. The best way I have found is to use websites, community events, local networking events, and word of mouth. Here is quick list of what I have found.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Websites - &lt;a href="http://linkedin.com/"&gt;LinkedIn.com&lt;/a&gt;, &lt;a href="http://elance.com/"&gt;elance.com&lt;/a&gt;, &lt;a href="http://guru.com/"&gt;guru.com&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Community Events - &lt;a href="http://ineta.org/"&gt;INETA.org, &lt;/a&gt;&lt;a href="http://clevelanddotnet.info/"&gt;Cleveland Dot Net User Group&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Business Forms &amp;amp; Documentation - &lt;a href="http://legalzoom.com/"&gt;LegalZoom.com&lt;/a&gt;, &lt;a href="http://business.ohio.gov/"&gt;Ohio.Business.gov&lt;/a&gt;, you can change the subdomain for your state&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Word of Mouth - This one is up to you!&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I have began to work on my own business as well. Check out &lt;a href="http://voralityconsulting.com/"&gt;www.voralityconsulting.com&lt;/a&gt;&lt;br /&gt;to see for yourself. It's not much , but its a start!&lt;br /&gt;&lt;br /&gt;This not an exhaustive list but a good one to get started on your way. I would like to hear about other people experiences and how they over came them. Feel free to comment on this blog.&lt;br /&gt;&lt;br /&gt;Post your thoughts on my blog and let me know what you think about starting your own consulting business. It would be nice to hear from others that were successful in taking this path.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5296161229030873468?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://voralityconsulting.com' title='Thoughts on starting your own consulting company'/><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5296161229030873468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5296161229030873468' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5296161229030873468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5296161229030873468'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/08/thoughts-on-starting-your-own.html' title='Thoughts on starting your own consulting company'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-2423645665303800475</id><published>2009-01-15T13:02:00.000-08:00</published><updated>2009-01-15T13:44:14.016-08:00</updated><title type='text'>Application Architecture Guide 2.0</title><content type='html'>&lt;span style="font-size:130%;"&gt;Application Architecture Guide 2.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This guide was just released as a free download on CodePlex. The guide talks in-depth about best patterns and practices for designing applications built on the .NET Framework. I think anyone who is building applications, web, windows, etc., should reference this whenever they are thinking of building any application. The pdf download is pretty hefty read of about 380 pages but I think it is simple, short and consise on what developers/architects need to know about developing enterprise solutions.&lt;br /&gt;&lt;br /&gt;You can download it below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586"&gt;http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-2423645665303800475?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/2423645665303800475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=2423645665303800475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2423645665303800475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/2423645665303800475'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2009/01/application-architecture-guide-20.html' title='Application Architecture Guide 2.0'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-8588566451768604838</id><published>2008-10-21T17:02:00.000-07:00</published><updated>2008-10-21T21:42:18.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='custom code'/><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='report designer'/><category scheme='http://www.blogger.com/atom/ns#' term='custom logic'/><category scheme='http://www.blogger.com/atom/ns#' term='report builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='reports'/><title type='text'>How to write custom code in SQL Reporting Services 2005 in 3 easy steps</title><content type='html'>&lt;div&gt;Have you ever written a report in Reporting Services 2005? Most people have, but to get anything worth it's salt you need to have some pretty advanced t-sql experience or have a good background in databases to be productive in SQL Reporting Services. For those of you that are experienced in procedural language like C#.NET or VB.NET but are not in t-sql this article is for you. In this post I am going to show you a quick and dirty way to get some advanced custom code working in your reports.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First off, you need to know what your options are before you get started:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;You can build custom assemblies in any .NET compliant language of your choice&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You can embed Visual Basic code into your report directly&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This article is going to discuss the 2nd option because it easier and quicker to get your custom code working than the 1st option. Don't get me wrong there are good reasons for both and it is better to know when to use one over the other in certain situations. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that we know what we are trying to achieve, lets dig into to some code!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Step 1: Build a report &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; -- Build the dataset&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_pv8lu6XgcOA/SP6lg43nZVI/AAAAAAAAABo/wSKbXDHKwYY/s320/step_1.gif" style="cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5259823399255369042" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Build the report layout&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_pv8lu6XgcOA/SP6l7h43CaI/AAAAAAAAABw/XTMRtwfjwvw/s320/step1.gif" style="cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5259823856943040930" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Step 2 : Add custom code to your report to do something useful&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-Click on Report &gt; Report Properties&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-Click the Code tab&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is where you will put your custom code and reference in your report. Some things to take note of:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;All code that is in this block must be Visual Basic .NET code&lt;/li&gt;&lt;li&gt;All code that gets executed here runs with full-trust permissions when using 'Preview'&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In order to get custom authenication hops , i.e. like database calls you must add the required assemblies and required permissions&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;When performing database calls, web services calls, you need to set the trust level on the web.config file on the Report Server&lt;/li&gt;&lt;li&gt;Also any additional libraries that you use, i.e. System.Data.SqlClient must be referenced explictly in the references tab. &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Any code that you use here can be directly used anywhere in your reports via the '=Code.Method()' syntax. If you are just building functions this will work, however if you put the class in the code you will need to reference the class like Code.ClassName.MethodName() in order to access it. &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;Step 3 : Write some Visual Basic.NET code&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; - I prefer to write the code in Visual Studio in a class library project so I can get the benefit of intellisense and complie-time checking. Once I have what I need, I copy it into the code tab of the Report&gt;Report Properties window like so.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;--Visual Studio Code Window&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_pv8lu6XgcOA/SP6q-orllFI/AAAAAAAAAB4/wBLNOx2qSSU/s320/step_3.gif" style="cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5259829407864165458" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Copy the code into the code tab&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_pv8lu6XgcOA/SP6rrAiEhjI/AAAAAAAAACA/MqYkoN7RuZo/s320/step_2.png" style="cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5259830170180945458" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Place code into your report wherever you like&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pv8lu6XgcOA/SP6sa_boZwI/AAAAAAAAACQ/8pffVquQ7y0/s1600-h/step_5.gif"&gt;&lt;img src="http://4.bp.blogspot.com/_pv8lu6XgcOA/SP6sa_boZwI/AAAAAAAAACQ/8pffVquQ7y0/s320/step_5.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5259830994519222018" style="cursor: pointer; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Run your report to see what your logic returns&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pv8lu6XgcOA/SP6sHTcTkdI/AAAAAAAAACI/ctaicgESbeI/s1600-h/step_4.gif"&gt;&lt;img src="http://1.bp.blogspot.com/_pv8lu6XgcOA/SP6sHTcTkdI/AAAAAAAAACI/ctaicgESbeI/s320/step_4.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5259830656293376466" style="cursor: pointer; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Conclusion&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To recap what we did was pretty basic in terms of complexity, but offers us the power of the .NET Framework in our reports. Because reporting services utilizes an expression-based processing engine you can make many things dynamic throughout your report. I think that personally this is the best way to add custom logic that you could not do otherwise. However, we could have hard-coded this logic in an iif() statement in the report and that would have worked as well but the point I am trying to make is that we can utilize the .NET Framework class libraries to help us write better reports faster and more efficiently.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Josh Clark&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have any comments or questions, please comment on this blog or send me an email at &lt;/div&gt;&lt;div&gt;&lt;a href="mailto:jclark434175@gmail.com"&gt;jclark434175@gmail.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-8588566451768604838?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/8588566451768604838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=8588566451768604838' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8588566451768604838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8588566451768604838'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/10/how-to-write-custom-code-in-sql.html' title='How to write custom code in SQL Reporting Services 2005 in 3 easy steps'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pv8lu6XgcOA/SP6lg43nZVI/AAAAAAAAABo/wSKbXDHKwYY/s72-c/step_1.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5238409060564768199</id><published>2008-06-25T06:32:00.000-07:00</published><updated>2008-06-25T07:44:09.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sample Code'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Speaking at Cleveland C#/VB.NET User Group</title><content type='html'>I am just recovering from giving a talk at the Cleveland C#/VB.NET User Group in Cleveland, OH yesterday. My talk was about LINQ and it's various flavors including LINQ to Objects, LINQ to SQL, LINQ to XML, and LINQ to Entities. However, my talk was specifically about the first two. To be honest, each of the different subsets could take a whole presentation on own because there just so much to cover in a relatively short amount of time. Overall, I would say that the majority of the people that came out really enjoyed the presentation and could take something away from in the end.&lt;br /&gt;&lt;br /&gt;For all of you who subscribe to my blog, the links to the sample code and slide decks are listed below.&lt;br /&gt;&lt;br /&gt;Click &lt;a href="http://cid-e53966b765831664.skydrive.live.com/browse.aspx/Powerpoint%20Slides%20%7C0%20Code?uc=2"&gt;http://cid-e53966b765831664.skydrive.live.com/browse.aspx/Powerpoint%20Slides%200%20Code?uc=2&lt;/a&gt; to get access to my sample code and slide decks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5238409060564768199?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5238409060564768199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5238409060564768199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5238409060564768199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5238409060564768199'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/06/speaking-at-cleveland-cvbnet-user-group.html' title='Speaking at Cleveland C#/VB.NET User Group'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-8568015942301757585</id><published>2008-06-22T14:49:00.000-07:00</published><updated>2008-06-22T14:56:29.261-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Lansing Day of .NET</title><content type='html'>After attending the first annual Lansing Day of .NET in Lansing, Michigan, I was impressed with the sessions and the content. There were several sessions consisting of the ASP.NET &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MVC&lt;/span&gt; Framework, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;LINQ&lt;/span&gt; to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SQL&lt;/span&gt;, Test-driven development, Agile Project Management, Structuring your solutions in Visual Studio, Introduction to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WPF, Getting Started with WCF&lt;/span&gt; and many more. I think the conference was a big success in terms of turn out and by the content that was presented.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-8568015942301757585?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/8568015942301757585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=8568015942301757585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8568015942301757585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/8568015942301757585'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/06/lansing-day-of-net.html' title='Lansing Day of .NET'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-9102890458071813420</id><published>2008-06-03T11:16:00.000-07:00</published><updated>2008-06-03T11:40:14.900-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='httprequest'/><category scheme='http://www.blogger.com/atom/ns#' term='httpresponse'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='postback'/><title type='text'>How to Disable the Back button...</title><content type='html'>In my queries against the Internet in hopes of finding a clean way of keeping users from using the back button in my application I have found a simple way to go about this. Let me first start off with the problem at hand. Many of us writing code for the web experience this all the time with users using the backward and forward buttons of their browsers when testing and working with our applications. So, say for example we have some pages that we don't want the user to be able to hit the back button and go to because if they do our code will possibly break, blow up, or insert another record. All of these and many others are not good.&lt;br /&gt;&lt;br /&gt;So lets look at some of the obvious examples to fix this problem. One possibility is to close the current window and open another window that does not have the toolbar enabled. That may work for some, but is not the best approach. Another approach out there is to clear the browser's cache and force the client to request the web page again. This works just fine but you will also need to make use of session variables to keep track of whether or not the user has already visited this page in the current session. Another method that I find pretty easy and straight-forward to use is with some simple javascript. Here is an example: (Blogger doesn't like html or body tags in their posts, so be creative.)&lt;br /&gt;&lt;br /&gt;"html"&lt;br /&gt;"body onload="history.go(1)&lt;br /&gt;"body&lt;br /&gt;"html&lt;br /&gt;&lt;br /&gt;From this example any web page that you include this javascript in will not allow the browser to ever return to the previous page. Basically, what is happening is that the javascript is telling the browser when the page loads to go forward 1 page in the history collection. Pretty neat, huh? This works well for scenarios where you want the user to navigate around your site using links and navigation elements. This method is actually better in some cases in that it will use the cached page instead of going back to the server. One thing to note is that there is no real way of disabling the browser's buttons. If anyone has any other cool ways of doing this please respond to this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-9102890458071813420?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/9102890458071813420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=9102890458071813420' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/9102890458071813420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/9102890458071813420'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/06/how-to-disable-back-button.html' title='How to Disable the Back button...'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5612140866711078472</id><published>2008-05-22T10:19:00.000-07:00</published><updated>2008-05-22T11:05:22.967-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Delete'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>How to perform deletes with LINQ to SQL</title><content type='html'>When I first started working with LINQ to SQL I was very impressed by how easy it was to delete records from the db with the new API's. The cool thing is that when you need delete records that have child records the way you go about it is straight-forward and object-oriented. For example, say you have a Customers with Orders which would constitute a foreign-key relationship, if you needed to delete that Customer you would have to delete their records first or you would violate referential integrity rules. With this example being pretty straight-forward let's look at some code examples of this.&lt;br /&gt;&lt;br /&gt;C# Example:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;DataContext &lt;/span&gt;= new &lt;span style="color: rgb(51, 102, 255);"&gt;DataContext&lt;/span&gt;("server=localhost;database=MyDb");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;  &lt;span style="color: rgb(51, 102, 255);"&gt;Customer &lt;/span&gt;c = ctx.Customers.Single(o =&gt; o.CustomerId == "12345");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 204, 0);font-family:verdana;" &gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;  //Customers has a entity set on it called Orders which has a collection of Orders for that  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:verdana;" &gt;    //Customer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;  &lt;span style="color: rgb(51, 102, 255);"&gt;foreach&lt;/span&gt;(Order o in c.Orders)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;     //Do something with order object o...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  ctx.Customers.DeleteOnSubmit(c);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; ctx.SubmitChanges();    &lt;/span&gt;&lt;br /&gt;^^^^^^&lt;br /&gt;//this would cause a run time error because there are child                                                         //records present&lt;br /&gt;&lt;br /&gt;So, what we need to do is delete the customers orders first and then delete the customer record.Now, as one might expect you can do this a number of ways. Also, one might say that if you were doing this with stored procedures or in-line sql that you would &lt;span style="font-style: italic; font-weight: bold;"&gt;have&lt;/span&gt; to delete the child records first and then delete the parent record. Well, this is not neccessarily true with LINQ to SQL. With our datacontext remembering all of objects and their relationships, we can delete the records in any order we want because the datacontext will know what needs to be deleted first because of the FK relationship. Pretty cool, huh? I will show how we can accomplish this below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;  DataContext &lt;/span&gt;= new &lt;span style="color: rgb(51, 102, 255);"&gt;DataContext&lt;/span&gt;("server=localhost;database=MyDb");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;  &lt;span style="color: rgb(51, 102, 255);"&gt;Customer &lt;/span&gt;c = ctx.Customers.Single(o =&gt; o.CustomerId == "12345");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;//&lt;span style="color: rgb(0, 153, 0);font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;You can do it this way...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; c.Orders.Clear(); &lt;---secretly sets values in the FK field to NULL for this customer...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  ctx.Customers.DeleteOnSubmit(c);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;  ctx.SubmitChanges();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;//&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Or you can do it this way...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; ctx.Customers.DeleteOnSubmit(c);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; c.Orders.Clear(); &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;---secretly sets values in the FK field to NULL for this customer...&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt; ctx.SubmitChanges();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It does not matter which order we the code is processed because when the SubmitChanges() method executes the data context will take care of the FK relationship for us.  I was a little curious about what LINQ to SQL what doing under the covers to achieve this. So what I did was to open a trace and monitor the generated SQL from the .NET Framework. By examing the trace generated from SQL Profiler you can see that what is really happening behind the scenes is that LINQ to SQL is going the Customer's orders and setting the value of the foreign-key field to a NULL value. Then, the datacontext issues the delete statement for that customer.&lt;br /&gt;&lt;br /&gt;By allowing us to work with objects and collections instead of datasets and datatables performing deletes on parent and child data is relativily simple. If you have any questions about the code, you can comment on this post or send me an email at &lt;a href="mailto:jclark434175@gmail.com"&gt;jclark434175@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5612140866711078472?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5612140866711078472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5612140866711078472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5612140866711078472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5612140866711078472'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/05/how-to-perform-deletes-with-linq-to-sql.html' title='How to perform deletes with LINQ to SQL'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-7968270854531415158</id><published>2008-05-19T08:06:00.000-07:00</published><updated>2008-05-20T08:23:23.624-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Developers'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Webcasts'/><title type='text'>Sharepoint Webcasts for ASP.NET Developers</title><content type='html'>Anyone that's interested in learning some useful information about SharePoint you should tune into these MSDN web casts. I know from watching Andrew Connell's session's at a past devconference that he is an awesome presenter and a SharePoint genius. Check it out!&lt;br /&gt;&lt;br /&gt;They are every Tuesday &amp;amp; Wednesday form 12p-1pm(GMT -0500) starting next week for the next five weeks. Here's a breakdown of the schedule:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="WIDTH: 161px"&gt;&lt;col style="WIDTH: 150px"&gt;&lt;col style="WIDTH: 168px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: 0.75pt outset; PADDING-RIGHT: 2px; BORDER-TOP: 0.75pt outset; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: 0.75pt outset; PADDING-TOP: 2px; BORDER-BOTTOM: 0.75pt outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;strong&gt;Date (all times EDT)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: outset; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;strong&gt;Topic &amp;amp; Registration URL&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: outset; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;strong&gt;Presenter&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Tues, May 20 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378826&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Web Parts&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Rob Bogue&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Wed, May 21 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378828&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Data Lists&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Rob Bogue&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Tues, May 27 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378831&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Silverlight&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.andrewconnell.com/blog"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Andrew Connell&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Wed, May 28 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378833&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Event Handlers&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.andrewconnell.com/blog"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Andrew Connell&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Tues, June 3 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378835&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Site Branding&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.andrewconnell.com/blog"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Andrew Connell&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Wed, June 4 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378839&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Workflow&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Rob Bogue&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Tues, June 10 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378841&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Web Services&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.andrewconnell.com/blog"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Andrew Connell&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Wed, June 11 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378843&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Page Navigation&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.andrewconnell.com/blog"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Andrew Connell&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Tues, June 17 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378845&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;User Management&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Rob Bogue&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;Wed, June 18 : 12-1p&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032378824&amp;amp;Culture=en-US"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Content Types&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: outset"&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="COLOR: rgb(238,121,0);font-family:Times New Roman;" &gt;Rob Bogue&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-7968270854531415158?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/7968270854531415158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=7968270854531415158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7968270854531415158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/7968270854531415158'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/05/sharepoint-webcasts-for-aspnet.html' title='Sharepoint Webcasts for ASP.NET Developers'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5228473376905760614</id><published>2008-05-19T06:10:00.000-07:00</published><updated>2008-05-19T06:26:17.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Josh'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Clark'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Speaking at the Cleveland Day of .NET</title><content type='html'>Being that it was my first presentation ever, I was a little nervous about getting up in front of 50 or so other developers and talking about LINQ to SQL. LINQ itself is not that hard to talk about from a 10,000 ft. view but where things start to get blurry is when you try to show people how things work with demos. I had spent most of my time working on getting all the powerpoint material (slides, notes, speaking material) perfect without using notecards or anything like that but what I thought would be a breeze was the code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Obviously not, I had developed the demos about a week prior and they were all working fine then. However, when I was actually giving the demo I ran into a few problems. My Query Analyzer threw an exeception, my debugger decided to stop working, and I forgot where to go to show everyone how to implment Stored Procedures over manual LINQ code. Anyways, aside from those issues everything else I think went well. I will take what I have learned from this exeperience and make myself better for the next time. I really do enjoy speaking about technology and how it can make our lives more efficient and productive.&lt;br /&gt;&lt;br /&gt;You can download the sample code and slides at the link below.&lt;br /&gt;&lt;a href="http://cid-e53966b765831664.skydrive.live.com/browse.aspx/Powerpoint%20Slides%20%7C0%20Code"&gt;http://cid-e53966b765831664.skydrive.live.com/browse.aspx/Powerpoint%20Slides%20%7C0%20Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Josh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5228473376905760614?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5228473376905760614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5228473376905760614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5228473376905760614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5228473376905760614'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/05/speaking-at-cleveland-day-of-net.html' title='Speaking at the Cleveland Day of .NET'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2208020699235913855.post-5829714534927388426</id><published>2008-01-14T10:23:00.001-08:00</published><updated>2008-01-14T10:26:49.679-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beginning'/><category scheme='http://www.blogger.com/atom/ns#' term='Intro'/><title type='text'>The first post...</title><content type='html'>This is my first post on this blog. I will be posting to this blog rather frequently, about once every week, so subscribe to my blog if you want up-to-date info on what's hot in information technology...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2208020699235913855-5829714534927388426?l=joshua-clark.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joshua-clark.blogspot.com/feeds/5829714534927388426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2208020699235913855&amp;postID=5829714534927388426' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5829714534927388426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2208020699235913855/posts/default/5829714534927388426'/><link rel='alternate' type='text/html' href='http://joshua-clark.blogspot.com/2008/01/first-post.html' title='The first post...'/><author><name>Josh Clark</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://1.bp.blogspot.com/_pv8lu6XgcOA/SaBaRF0i6ZI/AAAAAAAAADI/EkshM87hayw/S220/new_Josh_Pic.jpg'/></author><thr:total>1</thr:total></entry></feed>
