<?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-12695496242020209</id><updated>2011-12-27T22:25:38.593-06:00</updated><category term='DELL'/><category term='Bad'/><category term='Do'/><category term='Debugging Error'/><category term='dtsconfig'/><category term='Remove'/><category term='Edit Mulit Page PDF Tool Utility'/><category term='RESTORE'/><category term='Workspace'/><category term='GUID'/><category term='Story Writing'/><category term='BizTalk'/><category term='Good'/><category term='VS 2010'/><category term='C# VS 2008'/><category term='THUMBNAILS'/><category term='Change'/><category term='Remove Word Containing Token'/><category term='Domain'/><category term='RIA'/><category term='Nightmare'/><category term='Visual Studio 2010'/><category term='DeploymentItem Fail'/><category term='vshost-clr2.exe has stopped working'/><category term='2008 R2'/><category term='Code Generation'/><category term='Team Work'/><category term='find'/><category term='Bad Practice'/><category term='CAST'/><category term='CONVERT'/><category term='TEAM FOUNDATION SERVER'/><category term='GONE'/><category term='Turbotax import ameritrade transactions'/><category term='Team Server'/><category term='IT Leadership'/><category term='dtsx'/><category term='SSIS'/><category term='Precision Workstation'/><category term='Lead'/><category term='Command Line AgentRansak Agent Ransak Search File'/><category term='Data Generation'/><category term='debug'/><category term='UNDELETE'/><category term='Deployment Failed'/><category term='Lateral Thinking'/><category term='packages'/><category term='MSSQL'/><category term='Dont'/><category term='Metadata'/><category term='Agentransack'/><category term='Discoverability'/><category term='Problem Solving'/><category term='Token'/><category term='Monostate'/><category term='TFS'/><category term='VS 2008 Data Schema Compare Options'/><category term='File IO Error Unit Test'/><category term='RegEx'/><category term='SCSI Adaptec'/><category term='Ameritrade Gains Loss import'/><category term='A call to &apos;CreateProcessAsUser&apos; failed with error code: &apos;1314&apos;'/><category term='Rollback'/><category term='C#'/><category term='BRACKETS'/><category term='TurboTax Ameritrade'/><category term='Click Once'/><category term='Engagement'/><category term='LINQ Left Join Multiple On Condition'/><category term='UAC'/><category term='Agile'/><category term='IIS 6'/><category term='Singleton'/><category term='Code Complexity'/><category term='Change Sets'/><category term='search'/><category term='VS2010'/><category term='ENTITY'/><category term='TempTable'/><category term='Error Copy File'/><category term='Memory'/><category term='Server 2008'/><category term='BROKEN'/><category term='Global'/><category term='Issues'/><title type='text'>Qui-Jon's "A Programmer's Burden"</title><subtitle type='html'>Real World Development Experiences, Questions and Thoughts...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-2075261055957309652</id><published>2011-08-30T17:36:00.000-05:00</published><updated>2011-08-30T17:36:30.078-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Generation'/><category scheme='http://www.blogger.com/atom/ns#' term='Metadata'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Domain'/><category scheme='http://www.blogger.com/atom/ns#' term='ENTITY'/><title type='text'>Regenerating RIA Domain Services and Meta Data from Entity Framework.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div closure_uid_ul48p0="192"&gt;As you all know this is a MAJOR pain point that Microsoft needs to badly address.&amp;nbsp; It really makes you feel sick trying to use this tool without this kind of fundamental support.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;Here are the issues and a way around them.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;1. Entity and the edmx file doesnt pick up changes to existing entities columns and scheme correctly.&amp;nbsp; You must delete the table and import it back into your edmx file.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;2. Updating a Domain Service is something you must do by hand OR regenerate and import using a compare tool.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;Method we used.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;1. Create a Dummy Project and add it to your solution....use a Class Project...something small and light weight.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;2. Add a New Entity file ( edmx ) to your new project selecting the tables you are trying to update in your existing edmx and domain service.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;3. Now Add a new Domain Service Class and this will walk you thru the Add New Domain Wizard.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;4. Once this file had generated your Domain Service and Metadata classes....you now have fresh classes you can use to compare and import into your main line project you are trying to update.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;Gotchas&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;1.&amp;nbsp; You will have to watch your name spaces and such and dont copy everything...just the metadata classes themselves.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;2. Dont forget to Build right after you create or update you EDMX as you wont see the tables or changes in your Domain Wizard dialogue&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;3. If you are using partials to extend your main line Domain Classes this is nice because you will see these extra Metadata members using the compare tool and thus NOT delete or copy over them.&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div closure_uid_ul48p0="192"&gt;Most of the blogs I see say DO IT BY HAND and dont use the wizard which in my mind defeats the purpose of using these tools to begin with.&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/12695496242020209-2075261055957309652?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/2075261055957309652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/08/regenerating-ria-domain-services-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/2075261055957309652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/2075261055957309652'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/08/regenerating-ria-domain-services-and.html' title='Regenerating RIA Domain Services and Meta Data from Entity Framework.'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-647678887421900544</id><published>2011-04-23T12:19:00.000-05:00</published><updated>2011-04-23T12:19:14.764-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Story Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='Problem Solving'/><category scheme='http://www.blogger.com/atom/ns#' term='Lateral Thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Ask the right question...then ask it again!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I am reading a book call, "A Leader's Guide to Lateral Thinking.".&lt;br /&gt;&lt;br /&gt;There is&amp;nbsp; a good section on asking questions to solve a problem and I am just going to put it out there for my fellow developers and audience to take in and use the next time they are writing stories or huddling before starting to work on an Agile Story.&lt;br /&gt;&lt;br /&gt;1. Are we asking the right question...Agile ( does the story make sense ).&lt;br /&gt;2. Why do we need to solve this problem...Agile ( is this still applicable ).&lt;br /&gt;3. Why do we do things this way at all....Agile ( value...is there a better way ).&lt;br /&gt;4. How can we restate the problem...Agile ( clarity...for BO and Developers ).&lt;br /&gt;5. What if we reversed the problem...Agile ( clarity and value ).&lt;br /&gt;6. Who would beneifit and who would lose if we solve this problem...Agile ( value and side effects ).&lt;br /&gt;7. What are the rules of our business and what would happen if we broke those rules...Agile ( Finding a better way...conditions of satisfaction ).&lt;br /&gt;8. What are we assuming about this problem...Agile ( clarity, conditions of satisfaction )&lt;br /&gt;9. What would happen if we challenged those assumptions...Agile ( Finding a better way, clarity, value ).&lt;br /&gt;10. Can we draw a picture of the problem...Agile ( Details better defined, Task resolution ).&lt;br /&gt;11. Can we model the problem...Agile ( Working the Tasks ).&lt;br /&gt;12. How would someone from another planet solve this problem...Agile ( Brain Storming with others ).&lt;br /&gt;13. If we had unlimited resources how would we solve the problem...Agile ( Brain Storming ).&lt;br /&gt;14. How would someone in a different line of business solve this problem...Agile ( Brain Storming with others ).&lt;br /&gt;15. How can we look at this from a different way...Agile ( Details defined, Task resolution, Brain Storming ).&lt;br /&gt;&lt;br /&gt;Enjoy the ride...&lt;br /&gt;Qui Jon&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-647678887421900544?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/647678887421900544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/04/ask-right-questionthen-ask-it-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/647678887421900544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/647678887421900544'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/04/ask-right-questionthen-ask-it-again.html' title='Ask the right question...then ask it again!'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-6379794688825814377</id><published>2011-04-23T12:03:00.000-05:00</published><updated>2011-04-23T12:03:51.774-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Complexity'/><category scheme='http://www.blogger.com/atom/ns#' term='Bad Practice'/><category scheme='http://www.blogger.com/atom/ns#' term='BizTalk'/><category scheme='http://www.blogger.com/atom/ns#' term='Nightmare'/><category scheme='http://www.blogger.com/atom/ns#' term='Discoverability'/><title type='text'>Think, Think, Think....and then Think Again.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I would consider myself first and foremost a great thinker and have a love of solving problems.&amp;nbsp; Especially story problems.&amp;nbsp; I also lament in the complexity of the problem and enjoy the process of simplification.&lt;br /&gt;&lt;br /&gt;So...as a software developer I have found we fall into 3 general groups.&lt;br /&gt;&lt;br /&gt;1. The code is the ends.&lt;br /&gt;2. The solution is the ends.&lt;br /&gt;3. The paycheck is the ends.&lt;br /&gt;&lt;br /&gt;For me I am number 2. and for sure anti-3. as I have made a career choices that many wonder about...and thats because happiness and being around other that are like me 2. is my primary motivation.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;As a 2. I am constantly mystified by 1's.&amp;nbsp; It seems as through they could care less about the business value and end result as long as they get an opportunity to code something wild, crazy and new.&lt;br /&gt;&lt;br /&gt;I see the value in new coding models, frameworks and such only when they add value to getting me to the solution in a "better" fashion.&amp;nbsp; I also include the aspect of technological overhead, complexity and discover-ability for my fellow software developers.&lt;br /&gt;&lt;br /&gt;Having been a coder in some form or fashion for more than 20 years there is nothing more frustrating than something coded so poorly, deeply nested and using a proprietary "framework" so to speak that the intent and discover-ability of the code is very difficult to reach.&lt;br /&gt;&lt;br /&gt;Example:&amp;nbsp; The Night Mare Project...&lt;br /&gt;&lt;br /&gt;I am working on a project with a friend and co-worker of mine and he is the likes of a 1. however our relationship has shown him over time that my 2. nature is very valuable and together we strike a nice balance.&lt;br /&gt;&lt;br /&gt;We are trying to make sense out of a BizTalk 2004 Solution that no one at my company has touched because they cant get their head around the complexity of the beast.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Once we figured out the "port" binding nature of the orchestrations (aka Orchs ) and how this directs what Orchs pick up from a MSMQ we drilled into the Orchs itself.&amp;nbsp; Once into the Orchestration there are code snippets that use a whole host of Legacy Libraries.&amp;nbsp; This is all in VS 2003 understand you...&amp;nbsp; One of the script componets calls a function in an assembly.&amp;nbsp; Now this assembly is a generic wrapper around 10-15 different remoting endpoints.&amp;nbsp; These endpoints are stored in the registry ( remember that thing...the registry ).&amp;nbsp; So we followed this function call which makes a remoting call.&amp;nbsp; We find the endpoint and this function...guess what?&amp;nbsp; This function makes another remoting call to another function.&amp;nbsp; So we are about 2 hrs into this mess just trying to find the exit point where this thing writes to a database.&amp;nbsp; Well the remoting call then dumps a message into another MSMQ which is picked up by another Orch and the process starts all over again...still dont know where this thing exits.&lt;br /&gt;&lt;br /&gt;Now we know why no one has touched this code in 8 years.&amp;nbsp; My pair programming partner said his brain was mush and my eyes had dried out from staring at the screen.&lt;br /&gt;&lt;br /&gt;So, before you code something, think, think, and think again about your intent, discoverability and all the nasty things people are going to say about you after you have left the company.&lt;br /&gt;&lt;br /&gt;Happy Programming...&lt;br /&gt;Qui Jon&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-6379794688825814377?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/6379794688825814377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/04/think-think-thinkand-then-think-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6379794688825814377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6379794688825814377'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/04/think-think-thinkand-then-think-again.html' title='Think, Think, Think....and then Think Again.'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-159966382424596973</id><published>2011-04-06T18:23:00.000-05:00</published><updated>2011-04-06T18:23:10.487-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rollback'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Change Sets'/><title type='text'>VS 2010 Roll Back Change Set Nightmare...</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;O.K. so you have finally found out that Microsoft didnt make it easy to roll back to a given change set in the IDE in VS 2010.&lt;br /&gt;&lt;br /&gt;You have also found out that you can use the tfs command line to do this and when you see what you have to put into the command line tool you start to cry.&lt;br /&gt;&lt;br /&gt;So, here is another work around.&lt;br /&gt;&lt;br /&gt;1. Get your specific change set through the Source Control Explorer.&lt;br /&gt;2, Detach your solution by opening it in VS 2010 highlighting your solution and then go to File-&amp;gt;Source Control and Unbind your solution.&lt;br /&gt;3. Now move your solution somewhere else...&lt;br /&gt;4. Delete the folder from source control where your solution was located and check in your changes.&lt;br /&gt;5. Now add back a folder with a different name in Source Control.&lt;br /&gt;6. Copy your "detached" Solution there.&lt;br /&gt;7. In your solution right click and add to source control.&lt;br /&gt;8. Check in your changes.&lt;br /&gt;&lt;br /&gt;I want to thank Microsoft for NOT including something as simple and basic in their TFS version control IDE as fundamental as rolling back to a given change set.&lt;br /&gt;&lt;br /&gt;I give MicroSoft an F++ on this feature.&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;&lt;br /&gt;Qui-Jon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&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/12695496242020209-159966382424596973?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/159966382424596973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/04/vs-2010-roll-back-change-set-nightmare.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/159966382424596973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/159966382424596973'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/04/vs-2010-roll-back-change-set-nightmare.html' title='VS 2010 Roll Back Change Set Nightmare...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-4503380885700693994</id><published>2011-03-15T12:11:00.000-05:00</published><updated>2011-03-15T12:14:18.672-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='vshost-clr2.exe has stopped working'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Error'/><title type='text'>Fixing vshost-clr2.exe has stopped working Error</title><content type='html'>Sometimes you just want an answer to try and fix the issue.&lt;br /&gt;&lt;br /&gt;So if you are getting this when debugging in VS 2010 try the following:&lt;br /&gt;&lt;br /&gt;1. Make sure all of your projects are using the same Framework version ( preferrably 4.0 ) as VS 2010 doesnt like mixed mode framework debugging in X64 bit mode.  &lt;br /&gt;&lt;br /&gt;2. Under your Projects Properties go to Debug tab and Enable Unmanaged Code Debugging.&lt;br /&gt;&lt;br /&gt;Enjoy &lt;br /&gt;Qui Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-4503380885700693994?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/4503380885700693994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/03/fixing-vshost-clr2exe-has-stopped.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4503380885700693994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4503380885700693994'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/03/fixing-vshost-clr2exe-has-stopped.html' title='Fixing vshost-clr2.exe has stopped working Error'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-8947442530228136525</id><published>2011-03-11T16:48:00.003-06:00</published><updated>2011-03-11T16:58:02.846-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS 6'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Deployment Failed'/><category scheme='http://www.blogger.com/atom/ns#' term='Click Once'/><category scheme='http://www.blogger.com/atom/ns#' term='UAC'/><title type='text'>VS 2010 Click Once Deployment Clunk</title><content type='html'>So click once deployment not easily deploying and you are getting an error message when you try to publish saying you need to install or enable some IIS 6 components.&lt;br /&gt;&lt;br /&gt;If you are publishing to Server 2008 then make sure of the following&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You are running in VS2010 under an Administration account for the publishing serve.  This is because click once is trying to set up rights and such on the web site that its going to create.&lt;/li&gt;&lt;li&gt;Make sure you have set up this Server with the role of Web server so that IIS 7 is up and running on this machine  Administration-&gt;Server Manager-&gt;Roles-&gt;Add Role&lt;/li&gt;&lt;li&gt;Try turning off UAC&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-8947442530228136525?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/8947442530228136525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/03/vs-2010-click-once-deployment-clunk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8947442530228136525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8947442530228136525'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/03/vs-2010-click-once-deployment-clunk.html' title='VS 2010 Click Once Deployment Clunk'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-5941173386836150711</id><published>2011-03-03T10:23:00.003-06:00</published><updated>2011-03-03T10:29:39.929-06:00</updated><title type='text'>MVVM How, What, Why, When, Where</title><content type='html'>OK so take a deep breath and check out Karl's tutorial...that is if you have VS 2010&lt;br /&gt;&lt;br /&gt;&lt;a href="http://karlshifflett.wordpress.com/2010/11/07/in-the-box-ndash-mvvm-training/"&gt;http://karlshifflett.wordpress.com/2010/11/07/in-the-box-ndash-mvvm-training/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then try these resources:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/432/MVVM-for-Tarded-Folks-Like-Me-or-MVVM-and-What-it-Means-to-Me.aspx"&gt;http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/432/MVVM-for-Tarded-Folks-Like-Me-or-MVVM-and-What-it-Means-to-Me.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://olivercode.net/2010/02/12/mvvm-model-view-view-model-for-dummiessimplified/"&gt;http://olivercode.net/2010/02/12/mvvm-model-view-view-model-for-dummiessimplified/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you need to get away from work to learn then talk to Developmentor...been there 3 times and they are excellent&lt;br /&gt;&lt;br /&gt;&lt;a href="http://browse.develop.com/&amp;amp;search-executed=true&amp;amp;query=MVVM"&gt;http://browse.develop.com/&amp;amp;search-executed=true&amp;amp;query=MVVM&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-5941173386836150711?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/5941173386836150711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/03/mvvm-how-what-why-when-where.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5941173386836150711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5941173386836150711'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/03/mvvm-how-what-why-when-where.html' title='MVVM How, What, Why, When, Where'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-5731161731604457115</id><published>2011-02-19T11:47:00.003-06:00</published><updated>2011-02-19T12:14:29.331-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engagement'/><category scheme='http://www.blogger.com/atom/ns#' term='Workspace'/><category scheme='http://www.blogger.com/atom/ns#' term='Change'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Work'/><title type='text'>Extinction:  How to survive changes in the workplace.</title><content type='html'>So...now that I have been in the Corporate world for almost 15 years I can tell you one common theme you will find in many highly per-formant companies.  CHANGE.&lt;br /&gt;&lt;br /&gt;I was surfing the web and listening to my son's DVD of the different species of extinct sharks.  A biologist chimed in and said that when large whales disappeared the main food source of the Megaladon was gone and thus it became extinct.&lt;br /&gt;&lt;br /&gt;If the environment around a species changes to quickly for them to accommodate that change they perish.  That is the magical connection.  &lt;br /&gt;&lt;br /&gt;Over the past few weeks I have been approached but a whole host of people about how I deal with workspace and workplace change.  My response has been mute as I feel in my old age I have become less change tohlerant.  I enjoy my personal workspace however change in high performing companies is common place.  Whats not common place is a person's natural biological needs to resist change and make their surroundings something comfortable, predictable, and settling. &lt;br /&gt;&lt;br /&gt;The studies are back and forth about engagement levels and a personalized work spaces running in contradiction to high levels of output in team/collaborative work spaces.  So where does the compromise exist?&lt;br /&gt;&lt;br /&gt;This is something that companies and psychologist have been studying for many years...and the vote is still out.&lt;br /&gt;&lt;br /&gt;So, for each individual there is an introspective dialog that needs to take place...does the work environment define you as a person or do you define yourself?  Hopefully the latter is true...and yes this is how I have survived 8-9 moves at the same company in the last 6 years and am still happy and engaged.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-5731161731604457115?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/5731161731604457115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/02/extinction-how-to-survive-changes-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5731161731604457115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5731161731604457115'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/02/extinction-how-to-survive-changes-in.html' title='Extinction:  How to survive changes in the workplace.'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-1454172238887858322</id><published>2011-01-24T16:47:00.002-06:00</published><updated>2011-01-24T16:51:48.822-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Edit Mulit Page PDF Tool Utility'/><title type='text'>Cool and Cheap PDF Multi-Page Organization Tool</title><content type='html'>Do you have the need in a production setting for non-techincal folks to quickly manage, sort and organize multipage PDFs?&lt;br /&gt;&lt;br /&gt;Check this out...very simple to use and cheap.&lt;br /&gt;&lt;br /&gt;A-PDF Page Master&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.a-pdf.com/page-master/"&gt;http://www.a-pdf.com/page-master/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-1454172238887858322?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/1454172238887858322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/01/cool-and-cheap-pdf-multi-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/1454172238887858322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/1454172238887858322'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/01/cool-and-cheap-pdf-multi-page.html' title='Cool and Cheap PDF Multi-Page Organization Tool'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-5253384350085463516</id><published>2011-01-24T16:17:00.005-06:00</published><updated>2011-01-24T16:46:52.151-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Global'/><category scheme='http://www.blogger.com/atom/ns#' term='Memory'/><category scheme='http://www.blogger.com/atom/ns#' term='Monostate'/><category scheme='http://www.blogger.com/atom/ns#' term='Singleton'/><title type='text'>Singleton's Monostate and Managed Memory</title><content type='html'>My head is swimming from all the crazy comments about this topic.  So...here is my GUT feeling and as always remember unsolicited advice is worth what you paid for it...nothing.&lt;br /&gt;&lt;br /&gt;1. Coming from C and C++ world &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;globals&lt;/span&gt;, statics, and the like are dangerous and thus discouraged...why: &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;un&lt;/span&gt;-managed memory not managed correctly can cause memory leaks and crazy bugs.&lt;br /&gt;&lt;br /&gt;2. Yes, we used it in C and C ++ but had to be VERY CAREFUL mostly to communicate metrics and state to multi-threaded systems that want to know what other threads are "doing"...like load balancing and thread management.  Remember this is 15-20 years ago...&lt;br /&gt;&lt;br /&gt;3. In the Java and C# .net world of managed memory today such memory management FEARS  are mostly gone and we have very robust thread management frameworks that do all of this "book keeping" for us...so...now what?&lt;br /&gt;&lt;br /&gt;4. "Pro-Static" code optimizers like &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;ReSharper&lt;/span&gt; suggest you use Statics and such whenever possible...I am guessing for performance in .net but I &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;dont&lt;/span&gt; really know...thing about it...allocating memory and &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;de&lt;/span&gt;-allocating it still takes up cycles you &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;dont&lt;/span&gt; have to spend in a Global space.&lt;br /&gt;&lt;br /&gt;5. Some kinds of desired behaviors like state machines need a &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;monostate&lt;/span&gt; or singleton pattern to be robust and reflect the desired behavior ( monitoring and persisting state inter-process ) with the least amount of code and maximum performance.  If you forbid this kind of persistence you would have to persist it in some other fashion like FILE IO or a Database hit...and you can kiss your performance goodbye. &lt;br /&gt;&lt;br /&gt;6. Google discourages Singletons and &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;monostate&lt;/span&gt; and if Google &lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;doesnt&lt;/span&gt; do this then we wont.  Well, I am guessing if you REALLY dig into Google code you will see the use of these patterns when it makes the most sense.  I will wait to see if someone from Google pipes in on this comment but I doubt they will.&lt;br /&gt;&lt;br /&gt;7. Testability...test, test and test some more.  For some reason people comment that the Singleton pattern kills testing...I am still trying to figure that one out as the singleton pattern is used in scenarios where its o.k. to have persistence so the tests reflect how the code would behave in production.  If the singleton causes erratic behavior then that screams this is a bad pattern and you should remove it.  So...remove the singleton.&lt;br /&gt;&lt;br /&gt;Let &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-corrected"&gt;pragmatism&lt;/span&gt; guide your developer thoughts and keyboard actions and &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;dont&lt;/span&gt; bang your head on state persistence if &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;THATS&lt;/span&gt; WHAT YOU NEED AND WANT.  Use a clean Singleton or &lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;Monostate&lt;/span&gt; class and go home to spend more productive time with your family and friends.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-5253384350085463516?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/5253384350085463516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2011/01/singletons-monostate-and-managed-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5253384350085463516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5253384350085463516'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2011/01/singletons-monostate-and-managed-memory.html' title='Singleton&apos;s Monostate and Managed Memory'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-4372088202818185959</id><published>2010-09-17T10:04:00.003-05:00</published><updated>2010-09-17T10:14:02.634-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='A call to &apos;CreateProcessAsUser&apos; failed with error code: &apos;1314&apos;'/><title type='text'>XP_CMDSHELL Nightmares...</title><content type='html'>So you have tried everything and you still get the dreadfull error:&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="color: rgb(112, 48, 160);"&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;An error occurred during the execution of xp_cmdshell. A call to 'CreateProcessAsUser' failed with error code: '1314'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Nothing in the world of GOOGLE has fixed your issues.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;You have given all the rights to the user executing the xp_cmdshell and still no luck.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Here is a little statement I pulled off the web to help you test as you mess with permissions on the user that cant execute xp_cmdshell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;--Run as login x&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;EXECUTE AS login = 'Domain\User'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;--Below fails, no execute permission on xp_cmdshell&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;EXEC xp_cmdshell 'DIR C:\*.*'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;REVERT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1. Did you grant Execute rights on XP_CMDSHELL to '&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;'Domain\User'  ?&lt;br /&gt;2. Did you add Domain\User to the Master db?&lt;br /&gt;3. Did you create a proxy account for non-sysadmins using sp_xp_cmdshell_proxy_account?&lt;br /&gt;4. Did you make sure xp_cmdshell is enabled using EXEC sp_configure 'xp_cmdshell', 1 ?&lt;br /&gt;&lt;br /&gt;If you did all of this and you still get the same error:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;An error occurred during the execution of xp_cmdshell. A call to 'CreateProcessAsUser' failed with error code: '1314'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add the user in question to the SysAdmin role and then try it again.&lt;br /&gt;&lt;br /&gt;That was the ONLY thing that worked for us and this included 1 day of 2 DBA, 2 Developers, 1 SysAdmin and 1 Data Architect.&lt;br /&gt;&lt;br /&gt;Guess thats why we make the big bucks eh???&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="MsoListParagraph" style="margin-left: 1.75in; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(112, 48, 160);"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 1.75in; color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(112, 48, 160);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-4372088202818185959?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/4372088202818185959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/09/xpcmdshell-nightmares.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4372088202818185959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4372088202818185959'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/09/xpcmdshell-nightmares.html' title='XP_CMDSHELL Nightmares...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-8401427405540590376</id><published>2010-09-03T16:41:00.000-05:00</published><updated>2010-09-03T16:50:35.382-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='CONVERT'/><category scheme='http://www.blogger.com/atom/ns#' term='GUID'/><category scheme='http://www.blogger.com/atom/ns#' term='BRACKETS'/><category scheme='http://www.blogger.com/atom/ns#' term='CAST'/><title type='text'>SSIS and GUIDs and Strings and Casting</title><content type='html'>Long time no post...&lt;br /&gt;&lt;br /&gt;So I was working with GUID's and storing and passing them around in SSIS as User Variables and parameters without much luck.&lt;br /&gt;&lt;br /&gt;To avoid all of the "TYPE" issues with GUID and strings and GUID types I was storing it from the sproc into SSIS as a User Variable type of STRING.&lt;br /&gt;&lt;br /&gt;Well, nothing was working and my down stream spocs were not finding GUID specific result sets as I passed the User Varible to the sprocs as parameters in SSIS.&lt;br /&gt;&lt;br /&gt;The issue...eventhough I defined the SSIS User Variable as a type of STRING...the sproc that was returning the value into SSIS was of the type UniqueIdentifyer...and SSIS decided to "get smart" and stored it as a UniqueIdentifying in the User Variable eventhough it was of type String.&lt;br /&gt;&lt;br /&gt;To fix this I had to case the return type to a Varchar(50) to fix the issue.&lt;br /&gt;&lt;br /&gt;How did I know this was the issue.  Well, I put a break point in the SSIS package after I returned the GUID and viewed the User Variable I was storing it in and noticed an extra set of brackets around the variable...so my GUID was stored in the string as&lt;br /&gt;&lt;br /&gt;{73BEAE7A-148E-443B-BECD-964D3EC25DCA}&lt;br /&gt;&lt;br /&gt;and likewise passed to the down stream sprocs as the same {73BEAE7A-148E-443B-BECD-964D3EC25DCA}...and since its a VARCHAR(50) it was trying to match the sproc parm {73BEAE7A-148E-443B-BECD-964D3EC25DCA} to the value 73BEAE7A-148E-443B-BECD-964D3EC25DCA.&lt;br /&gt;&lt;br /&gt;No match...DUH...so by casting the result of the GUID to a Varchar(50) in the spoc that generates my GUID it gets passed into SSIS and the User Variable correctly so that down stream these extra backets are not an issue.&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;QuiJon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-8401427405540590376?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/8401427405540590376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/09/ssis-and-guids-and-strings-and-casting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8401427405540590376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8401427405540590376'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/09/ssis-and-guids-and-strings-and-casting.html' title='SSIS and GUIDs and Strings and Casting'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-194262402638233964</id><published>2010-04-15T18:13:00.004-05:00</published><updated>2010-04-15T18:26:16.869-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ameritrade Gains Loss import'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbotax import ameritrade transactions'/><category scheme='http://www.blogger.com/atom/ns#' term='TurboTax Ameritrade'/><title type='text'>Import AmeriTrade Gain/Loss into TurboTax 2009</title><content type='html'>OK after a few experiments, deleting all of the data imported from Ameritrade into Turbo Tax ( which was sales data only...resulting in me owing the IRS $150,000 ) I finally gave in and called TD Ameritrade.&lt;br /&gt;&lt;br /&gt;So here it is...simple and easy.&lt;br /&gt;&lt;br /&gt;1. In Turbo Tax when you get to the area to import your stock information and you are selecting the Financial Institution to import search for &lt;span style="font-weight: bold;"&gt;Gainskeeper&lt;/span&gt; ( NOT TD Ameritrade or Ameritrade ).&lt;br /&gt;&lt;br /&gt;2. Select GainsKeeper&lt;br /&gt;&lt;br /&gt;3. Enter your TD Ameritrade User id followed by @amtd.&lt;br /&gt;&lt;br /&gt;      Example:&lt;br /&gt;                So if you TD Ameritrade user id is &lt;span style="font-weight: bold;"&gt;smith212&lt;/span&gt;  you would enter &lt;span style="font-weight: bold;"&gt;smith212@amtd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Enter your TD Ameritrade password.&lt;br /&gt;&lt;br /&gt;BAM!  Now send me $10 because thats what you would have paid to export it from Ameritrade as an Excel Spreadsheet then convert it to a TXF file...Ha...&lt;br /&gt;&lt;br /&gt;PS An alternative is to go to your TD Ameritrade Accounts-&gt;History &amp;amp; Statements-&gt;TaxCenter tab.  Go to the Realized Gain/Loss Report section and click on the Show &lt;strong&gt;with&lt;/strong&gt; wash sale adjustments: 2009 link.  This will open GainsKeeper and display all the information with wash adjustments...at the top tool bar of the window you will see and Export format called TXF...this is the Quicken format and you can import this format into Turbo Tax instead of downloading it directly from Gainskeeper.&lt;br /&gt;&lt;br /&gt;Rock On Fellow Traders...Tea Party at my place after I hit the post office at 11:59 PM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-194262402638233964?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/194262402638233964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/04/import-ameritrade-gainloss-into.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/194262402638233964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/194262402638233964'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/04/import-ameritrade-gainloss-into.html' title='Import AmeriTrade Gain/Loss into TurboTax 2009'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-999881885326458059</id><published>2010-03-09T09:39:00.004-06:00</published><updated>2011-03-03T10:22:12.089-06:00</updated><title type='text'>Jedi vs Samuri:  The Age Old Battle for best IT Team Name.</title><content type='html'>There we were, in a team meeting and debating on our new Team name.   After months of re-organization of out IT Team make-up and structure, on our 4th new Team Leader it had all come down to this...the name that would define us for the next 1-2 years.  The name that would unite and join us...after days spend dwelling on the choices it had come down to 2 names.&lt;br /&gt;&lt;br /&gt;Team Jedi or Team Samurai...&lt;br /&gt;&lt;br /&gt;Both represent many of the same core values that we wanted to convey in our branding of our team with a new Team name.&lt;br /&gt;&lt;br /&gt;Something that  represented honesty, integrity, fearlessness, honor, and a state of perfection.&lt;br /&gt;&lt;br /&gt;The final debate was on and the conversation ebbed and flowed to the final definitive winner.&lt;br /&gt;&lt;br /&gt;The conversation unfolds:&lt;br /&gt;&lt;br /&gt;Samurai were part of feudal Japan and thats not a good thing in many ways...&lt;br /&gt;Jedi were part of a Universal collaborative of "Saint like" warriors...&lt;br /&gt;Samurai were part of an ancient culture still respected and held in high regard  to this very day...&lt;br /&gt;O.K. if a Jedi and and Samurai battle who would win...&lt;br /&gt;The Jedi of course...with his Light Sabre is would slice the Samurai's Katana like butter...&lt;br /&gt;Humm....your right....&lt;br /&gt;Humm....wait a minute! Samurai were real and Jedi's are not.&lt;br /&gt;Crap...your right...&lt;br /&gt;&lt;br /&gt;So, introducing our new team to our new name...&lt;br /&gt;&lt;br /&gt;TEAM JEDI !&lt;br /&gt;&lt;br /&gt;Leave it to a group of developers and they will always come to agreement on something that just doesnt make sense...but its fun and intellectual non-the-less.&lt;br /&gt;&lt;br /&gt;So this is where my name and thus my blog name came from...&lt;br /&gt;&lt;br /&gt;Qui-Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-999881885326458059?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/999881885326458059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/03/jedi-vs-samuri-age-old-battle-for-best.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/999881885326458059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/999881885326458059'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/03/jedi-vs-samuri-age-old-battle-for-best.html' title='Jedi vs Samuri:  The Age Old Battle for best IT Team Name.'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-8129181843945056987</id><published>2010-01-25T15:27:00.004-06:00</published><updated>2010-01-25T15:39:41.820-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# VS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Token'/><category scheme='http://www.blogger.com/atom/ns#' term='RegEx'/><category scheme='http://www.blogger.com/atom/ns#' term='Remove Word Containing Token'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Remove'/><title type='text'>Removing a word containing a token: RegEx Again</title><content type='html'>So you want to remove whole words contain a give token...here is a nice little RegEx way to do this.&lt;br /&gt;&lt;br /&gt;Lets remove words with the token "ug" in the following string.&lt;br /&gt;&lt;br /&gt;Here is a code snippet to do this in C#&lt;br /&gt;&lt;br /&gt;string test = "Break Plug dug on through slugit to the 233bugme other side";&lt;br /&gt;string regExExpression = @"\S*ug\S*";   //This is the brains of the process...&lt;br /&gt;&lt;br /&gt;string result = Regex.Replace(test, regExExpression, "");&lt;br /&gt;&lt;br /&gt;If you write the result to the console you will get:&lt;br /&gt;&lt;br /&gt;Break on through to the other side&lt;br /&gt;&lt;br /&gt;PS I dont know if this Regex also grabs capital "UG" tokens?&lt;br /&gt;&lt;br /&gt;Fun, Fun...&lt;br /&gt;QuiJon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-8129181843945056987?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/8129181843945056987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/01/removing-word-containing-token-regex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8129181843945056987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8129181843945056987'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/01/removing-word-containing-token-regex.html' title='Removing a word containing a token: RegEx Again'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-4775913616222745293</id><published>2010-01-25T13:32:00.004-06:00</published><updated>2010-01-25T13:38:54.815-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# VS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Error Copy File'/><category scheme='http://www.blogger.com/atom/ns#' term='DeploymentItem Fail'/><category scheme='http://www.blogger.com/atom/ns#' term='File IO Error Unit Test'/><title type='text'>VS 2008: DeploymentItem Attribute Not Copying File</title><content type='html'>OK Unit Test Fans.&lt;br /&gt;&lt;br /&gt;Have you slapped a DeploymentItem attribute on your unit test and its not copying files.&lt;br /&gt;&lt;br /&gt;1. Add the file you are trying to copy to your project.&lt;br /&gt;2. Right Click on the file in Solution Explorer and click on Properties.&lt;br /&gt;3. Under the Advanced list set Copy to Output Directory to Copy always&lt;br /&gt;&lt;br /&gt;Now give it a try...&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;Qui Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-4775913616222745293?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/4775913616222745293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/01/deploymentitem-attribute-not-copying.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4775913616222745293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4775913616222745293'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/01/deploymentitem-attribute-not-copying.html' title='VS 2008: DeploymentItem Attribute Not Copying File'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-8823423705354906223</id><published>2010-01-19T14:24:00.004-06:00</published><updated>2010-01-25T13:32:36.733-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GONE'/><category scheme='http://www.blogger.com/atom/ns#' term='Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='BROKEN'/><category scheme='http://www.blogger.com/atom/ns#' term='THUMBNAILS'/><title type='text'>Thumbnails Missing Server 2008 R2: Where for art thou?</title><content type='html'>OK...search for this fix and you will get a simple answer like:&lt;br /&gt;&lt;br /&gt;1. Go to Organize-&gt;Folder and Search Options then go to the View Tab and uncheck Display file icon on thumbnails.&lt;br /&gt;&lt;br /&gt;Then this doesnt work so you find a nasty hack to the registry...not going to post that one...&lt;br /&gt;&lt;br /&gt;Then you try this and you should be cooking with propane.&lt;br /&gt;&lt;br /&gt;2. Control Panel-&gt;System and Security-&gt;System then click on Advanced system Settings Click on Advanced Tab then under Performance click on the Settings buttong.  Here you will see a check box called Show thumbnails instead of icons...so 1. above is 1/2 the answer.&lt;br /&gt;&lt;br /&gt;Now it still doesnt show thumbnails so try this.&lt;br /&gt;&lt;br /&gt;3. In the folder where you have picture files like jpg or png or the like go to the change your view slider in the upper right hand corner of the screen and drag the slider to Medium Icons.  You will see that small icons wont display thumbnails but just larger than small will.&lt;br /&gt;&lt;br /&gt;Rock on fellow humans&lt;br /&gt;QuiJon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-8823423705354906223?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/8823423705354906223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2010/01/thumbnails-server-2008-r2-where-for-art.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8823423705354906223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8823423705354906223'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2010/01/thumbnails-server-2008-r2-where-for-art.html' title='Thumbnails Missing Server 2008 R2: Where for art thou?'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-6543351328725970943</id><published>2009-12-13T13:49:00.002-06:00</published><updated>2009-12-13T13:51:21.312-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCSI Adaptec'/><category scheme='http://www.blogger.com/atom/ns#' term='DELL'/><category scheme='http://www.blogger.com/atom/ns#' term='Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Issues'/><category scheme='http://www.blogger.com/atom/ns#' term='Precision Workstation'/><title type='text'>Server 2008 Adaptec Dell SCSI HostRaid Drivers</title><content type='html'>So, having issues with your on board DELL Workstation &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Adaptec&lt;/span&gt;  SCSI controller being recognized by Windows Server 2008.  Well that’s because &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Adaptec&lt;/span&gt; missed the release of their update after the release of Server 2008 OR Server 2008 &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;isnt&lt;/span&gt; smart enough to detect this legacy controller and install it on its own.&lt;br /&gt;&lt;br /&gt;At any rate, have no fear.  Just download this compressed zip file here:&lt;br /&gt;&lt;a href="http://www.adaptec.com/en-US/speed/scsi/windows/a320raid_win2k8_x64_b212_exe.htm"&gt;http://www.adaptec.com/en-US/speed/scsi/windows/a320raid_win2k8_x64_b212_exe.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and extract it to a floppy OR &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;USB&lt;/span&gt; thumb drive then when Server 2008 prompts you for the drivers for the mass storage device click on Load Driver then Browse to your &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;USB&lt;/span&gt; and &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;BAM&lt;/span&gt;!!! You are ready to run into the NEXT Server 2008 installation issue.&lt;br /&gt;&lt;br /&gt;Rock on my fellow &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;geeksters&lt;/span&gt;…&lt;br /&gt;&lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;Qui&lt;/span&gt;-Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-6543351328725970943?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/6543351328725970943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/12/server-2008-adaptec-dell-scsi-hostraid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6543351328725970943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6543351328725970943'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/12/server-2008-adaptec-dell-scsi-hostraid.html' title='Server 2008 Adaptec Dell SCSI HostRaid Drivers'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-5780676189500055579</id><published>2009-10-16T14:32:00.002-05:00</published><updated>2009-10-16T14:34:00.294-05:00</updated><title type='text'>Biztalk Business Rules Engine Article</title><content type='html'>Here is a great BRE article that walks thru testing a BRE with a .net assembly.  Pretty cool...you can run the BRE and test it outside of a Biztalk Application or Orch.&lt;br /&gt;&lt;br /&gt;Qui Jon&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/biztalk/BRE.aspx"&gt;http://www.codeproject.com/KB/biztalk/BRE.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-5780676189500055579?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/5780676189500055579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/10/biztalk-business-rules-engine-article.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5780676189500055579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/5780676189500055579'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/10/biztalk-business-rules-engine-article.html' title='Biztalk Business Rules Engine Article'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-6672824346198904615</id><published>2009-10-16T12:33:00.004-05:00</published><updated>2009-10-16T14:32:22.112-05:00</updated><title type='text'>Seattle Adventures...Redmond WA and Coffee</title><content type='html'>Here I am at the Redmond Inn going to training in Biztalk.&lt;br /&gt;&lt;br /&gt;Biztalk Conclusion:&lt;br /&gt;&lt;br /&gt;Biztalk is Awesome...&lt;br /&gt;Biztalk is Configuration Intensive...&lt;br /&gt;Biztalk is a Speciality that would require a dedicated Team and Admin staff...&lt;br /&gt;Biztalk is very scalable...&lt;br /&gt;Biztalk is ment to automate dataflow and decisioning...&lt;br /&gt;Biztalk is underused by most companies that are using Biztalk...&lt;br /&gt;Biztalk integrates very nicely with Sharepoint...&lt;br /&gt;&lt;br /&gt;Redmond Conclusion:&lt;br /&gt;&lt;br /&gt;Redmond has more dentist than any other city I have been in...one on every corner?&lt;br /&gt;Redmond has a coffee shop on every corner...duh?&lt;br /&gt;Redmond has a wine bar on every corner...humm?&lt;br /&gt;Redmond has 3 Asian restaurants on every corner...odd?&lt;br /&gt;Redmond is very nice to walk around...&lt;br /&gt;Redmond Inn is $100 less a night than the Marriott and its only a 10 min walk from the center of the town...GOOD VALUE!&lt;br /&gt;Redmond Inn will drive you anywhere you want to go for FREE...Better Value!&lt;br /&gt;Redmond Inn has very nice rooms and is by the bike trail that goes around a lake...cool!&lt;br /&gt;&lt;br /&gt;The NorthWest Rocks...and yes it rains every day&lt;br /&gt;&lt;br /&gt;Redmond best place to eat Matt's Oyster Bar ( Expensive but nice place...sit at the bar ), COHO Seafood ( great fish taco's ), the Matador Tequila Bar ( great Margarita's ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-6672824346198904615?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/6672824346198904615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/10/seattle-adventuresredmond-wa-and-coffee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6672824346198904615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6672824346198904615'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/10/seattle-adventuresredmond-wa-and-coffee.html' title='Seattle Adventures...Redmond WA and Coffee'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-674983608461672873</id><published>2009-09-10T10:32:00.008-05:00</published><updated>2009-12-13T14:21:02.546-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Do'/><category scheme='http://www.blogger.com/atom/ns#' term='IT Leadership'/><category scheme='http://www.blogger.com/atom/ns#' term='Dont'/><category scheme='http://www.blogger.com/atom/ns#' term='Bad'/><category scheme='http://www.blogger.com/atom/ns#' term='Lead'/><category scheme='http://www.blogger.com/atom/ns#' term='Good'/><title type='text'>IT Leadership 101: 20 things great leaders do...</title><content type='html'>Having spent the last 20 years or so in some kind of IT capacity I have run the gauntlet of IT roles and jobs. From junior developer, to senior engineer, to a Team Leader of Software engineers, to &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;AVP&lt;/span&gt; of IT department...to...you guessed it software developer/consultant.&lt;br /&gt;&lt;br /&gt;Here are some of the things I have learned and experienced along the way...&lt;br /&gt;&lt;br /&gt;1. &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Dont&lt;/span&gt; micromanage developers...I would guess most of them have IQs greater than 95% of the population and need to feel independent and valued.&lt;br /&gt;&lt;br /&gt;2. When you are angry or challenged...Be nice&lt;br /&gt;&lt;br /&gt;3. Avoid one liner opening statements like BUT, HOWEVER, WHY, NO...&lt;br /&gt;&lt;br /&gt;4. Use injections like "I understand your position" or "this is just my opinion and I have been wrong before".&lt;br /&gt;&lt;br /&gt;5. Compliment and respect your team and team mates.&lt;br /&gt;&lt;br /&gt;6. Champion your team...NO MATTER WHAT.&lt;br /&gt;&lt;br /&gt;7. Be present and accounted for with your team...co-located and always at their service. If you are connecting with individuals on a daily basis there wont be anything to talk about in a weekly one on one or the like.&lt;br /&gt;&lt;br /&gt;8. You serve the team and the team serves themselves and the company. The team &lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;DOESNT&lt;/span&gt; serve you.&lt;br /&gt;&lt;br /&gt;9. Spark knowledge, experimentation and freedom...remember you are dealing with an intellectual resource.&lt;br /&gt;&lt;br /&gt;10. &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;Dont&lt;/span&gt; micro-manage time. In the end most developers work 45 hours a week or more. If you have to micro-manage time take into consideration how LATE your team mates stay, how committed they are on-call or after hours and how much time the spend outside of the work place staying active in the developer community or self-training.&lt;br /&gt;&lt;br /&gt;11. Be transparent, open and accessible to all on your team.&lt;br /&gt;&lt;br /&gt;12. &lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;Dont&lt;/span&gt; openly criticize your team mates in a negative manner...if you have a question then phrase it as a question. Ask for more information and for input from the team. Open negative comments deter individuals from voicing concerns, ideas or input. It also undermines the feeling that your team is a SAFE place to challenge and voice concerns.&lt;br /&gt;&lt;br /&gt;13. Never dictate or command...always solicit ideas, support and create more than 1 option for the team to entertain...or stand down if you &lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;dont&lt;/span&gt; have more than 1 option or choice.&lt;br /&gt;&lt;br /&gt;14. If the team is spinning their wheels then make the decision and take responsibility for that decision. The team will support the decision even if they &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;dont&lt;/span&gt; all agree. If not then you probably have a relationship issue you need to address between team mates or yourself.&lt;br /&gt;&lt;br /&gt;15. Its o.k. to change your mind or admit you &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;dont&lt;/span&gt; have the answer...&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;thats&lt;/span&gt; what Google is for.&lt;br /&gt;&lt;br /&gt;16. Have fun...spend "quality time" and your own $$$ on the team. It will pay off BIG time in their loyalty and your happiness. Both are good career choices...plus it maybe tax deductible.&lt;br /&gt;&lt;br /&gt;17. Let the team be part of the hiring process...in the end let them chose a potential team mate.&lt;br /&gt;&lt;br /&gt;18. Openly solicit feedback on your own performance and what you can do to make things better. If you &lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;dont&lt;/span&gt; your position of authority may create a "Yes Man" mentality which blinds you from the truth.&lt;br /&gt;&lt;br /&gt;19. The "Golden Rule" still applies so &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;dont&lt;/span&gt; forget to reflect on how you like to be treated as a standard for how you treat others. That is unless you are deranged or have some serious character flaws...which are not &lt;span id="SPELLING_ERROR_11" class="blsp-spelling-corrected"&gt;conducive&lt;/span&gt; to a &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-corrected"&gt;successful&lt;/span&gt; leader.&lt;br /&gt;&lt;br /&gt;20. If you feel you are not a good leader then let the team know and ask them if you should stand aside and let someone else on the team lead. Chances are someone else is already doing that anyway.&lt;br /&gt;&lt;br /&gt;Read on what makes a good leader and understand that great leadership is a lot of common sense on what makes someone a good person, friend or partner. Meaning that what makes a great leader typically makes a great friend, companion, or co-worker. Think about it...&lt;br /&gt;&lt;br /&gt;&lt;span id="SPELLING_ERROR_13" class="blsp-spelling-error"&gt;Qui&lt;/span&gt;-Jon&lt;br /&gt;&lt;br /&gt;See my reading list on Linked In for reading materials on this subject.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-674983608461672873?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/674983608461672873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/09/it-leadership-101-20-things-great.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/674983608461672873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/674983608461672873'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/09/it-leadership-101-20-things-great.html' title='IT Leadership 101: 20 things great leaders do...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-3751325471580045032</id><published>2009-09-09T15:08:00.006-05:00</published><updated>2009-09-10T10:31:53.985-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RESTORE'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='TEAM FOUNDATION SERVER'/><category scheme='http://www.blogger.com/atom/ns#' term='UNDELETE'/><title type='text'>TFS Undeleting a project or file</title><content type='html'>O.K. fans...if you have deleted a folder or file in TFS source control you can restore it very easily.&lt;br /&gt;&lt;br /&gt;All you have to do is enable View Deleted Files in TFS source control.&lt;br /&gt;&lt;br /&gt;1. Go to Tools-&gt;Options-&gt;Source Control-&gt; Visual Studio Team Foundation Server&lt;br /&gt;2. Check Show Deleted Items in Source Control Explorer.&lt;br /&gt;&lt;br /&gt;Now go to the folder or file you want to restore in Source Control Explorer...right click and select &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;UnDelete&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BAM&lt;/span&gt;!  Your files are back in action...now you are the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;TFS&lt;/span&gt; hero and this is why source control is good.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Qui&lt;/span&gt;-Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-3751325471580045032?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/3751325471580045032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/09/tfs-undeleting-project-or-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3751325471580045032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3751325471580045032'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/09/tfs-undeleting-project-or-file.html' title='TFS Undeleting a project or file'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-4245448093592451009</id><published>2009-08-06T10:19:00.003-05:00</published><updated>2009-08-06T10:20:34.135-05:00</updated><title type='text'>Down and Out...</title><content type='html'>So, with a super busy schedule and a ruptured bicep tendon and surgery to boot I have been MIA.  I have a whole bunch of posts that I need to get out there and no one to read them so please stay tuned for more good stuff.&lt;br /&gt;&lt;br /&gt;Quinn&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-4245448093592451009?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/4245448093592451009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/08/down-and-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4245448093592451009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4245448093592451009'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/08/down-and-out.html' title='Down and Out...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-7214734998417037232</id><published>2009-04-20T11:44:00.006-05:00</published><updated>2009-08-06T10:19:09.482-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command Line AgentRansak Agent Ransak Search File'/><title type='text'>Moron AgentRansack: Command Line Example</title><content type='html'>Ha...I just love the title, Moron a.k.a. More On &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;AgentRansack&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I left some folks hanging without an example of how to use the command-line. Well here it is:&lt;br /&gt;&lt;br /&gt;So if you want to scan a folder located here:&lt;br /&gt;&lt;br /&gt;Z:\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FolderWithFiles&lt;/span&gt;\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ScanMeFolder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You only want to scan files that are *.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;dtsconfig&lt;/span&gt; for the contents of the following text fields:&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;lookformetoken&lt;/span&gt;1 or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;lookformetoken&lt;/span&gt;2 or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;lookformetoken&lt;/span&gt;3&lt;br /&gt;&lt;br /&gt;And you want to dump the results to a text file here:&lt;br /&gt;&lt;br /&gt;C:\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;BadConfigVariablesDevelopment&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is how you do that:&lt;br /&gt;&lt;br /&gt;Call "C:\Program Files\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Mythicsoft&lt;/span&gt;\Agent Ransack\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Agentransack&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;exe&lt;/span&gt;" -o "C:\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;BadConfigVariablesDevelopment&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;txt&lt;/span&gt;" -d "Z:\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;FolderWithFiles&lt;/span&gt;\&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ScanMeFolder&lt;/span&gt;" -c "(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;lookformetoken&lt;/span&gt;1)(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;lookformetoken&lt;/span&gt;2)(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;lookformetoken&lt;/span&gt;3)" -f *.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;dtsconfig&lt;/span&gt; -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;fd&lt;/span&gt; -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;cr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enjoy fellow &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Ransack&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Newbees&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Qui&lt;/span&gt;-Jon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-7214734998417037232?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/7214734998417037232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/04/moron-agentransack-command-line-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7214734998417037232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7214734998417037232'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/04/moron-agentransack-command-line-example.html' title='Moron AgentRansack: Command Line Example'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-3813295065143014690</id><published>2009-04-09T08:13:00.000-05:00</published><updated>2009-04-09T08:22:51.376-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008 Data Schema Compare Options'/><title type='text'>Ignoring Blanks in Data Dude...</title><content type='html'>Alright...I just surfed 20 minutes to find this needle in a haystack.&lt;br /&gt;&lt;br /&gt;They say the more dense your grey matter the higher your intelligence. So if someone trys to insult you by saying you are dense just say, "Thank You".&lt;br /&gt;&lt;br /&gt;Need to ignore white space in VS Team System or VS 2008 "Data Dude". Cant find the simple link to tell you how to do this.&lt;br /&gt;&lt;br /&gt;Here it is &lt;a href="http://msdn.microsoft.com/en-us/library/aa833234.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa833234.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and here are the cliff notes from that link.&lt;br /&gt;&lt;br /&gt;In VS 2008 go to Tools-&gt; Options -&gt; Database Tools -&gt; Schema Compare&lt;br /&gt;&lt;br /&gt;In the Advanced schema compare options box you can select Ignore White space amoungst other nice ignore settings.&lt;br /&gt;&lt;br /&gt;Code on fellow junkies...&lt;br /&gt;QuiJon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-3813295065143014690?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/3813295065143014690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/04/ignoring-blanks-in-data-dude.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3813295065143014690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3813295065143014690'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/04/ignoring-blanks-in-data-dude.html' title='Ignoring Blanks in Data Dude...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-4730808882818941240</id><published>2009-04-03T11:13:00.000-05:00</published><updated>2009-04-09T08:13:14.850-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LINQ Left Join Multiple On Condition'/><title type='text'>LINQ...No Pain No Gain: Left Join Basics</title><content type='html'>Howdy, so I was pulling my hair out trying to find a way to perform a left join in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;LINQ&lt;/span&gt;. I said to a fellow developer, "...well, I am neck deep in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;LINQ&lt;/span&gt; trying to find a way to do something &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;thats&lt;/span&gt; fairly &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;trival&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SQL&lt;/span&gt;". Another developer overheard me and said, "gosh darn it, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;dont&lt;/span&gt; say those kinds of things or they will never let use use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;LINQ&lt;/span&gt; because it gives it a bad name.".&lt;br /&gt;&lt;br /&gt;I have two things to say about that kind of comment.&lt;br /&gt;&lt;br /&gt;1. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SQL&lt;/span&gt; is easy, direct and the sooner they can simplify the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;LINQ&lt;/span&gt; notation the better.&lt;br /&gt;2. Monkey see Monkey do...find a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SQL&lt;/span&gt; to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;LINQ&lt;/span&gt; tool like&lt;a href="http://www.sqltolinq.com/Download/Linqer.zip"&gt; LINGER&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At any rate here is an example of what I am talking about.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;SQL&lt;/span&gt; Query needs a left join on 2 conditions.&lt;br /&gt;&lt;br /&gt;Select Distinct x, y, z&lt;br /&gt;From table_a a join table_b b&lt;br /&gt;on a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;parm&lt;/span&gt;1 = b.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;parm&lt;/span&gt;1&lt;br /&gt;left join table c&lt;br /&gt;on a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;parm&lt;/span&gt;1 = c.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;parm&lt;/span&gt;1 and a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;parm&lt;/span&gt;2 = c.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;parm&lt;/span&gt;2&lt;br /&gt;where&lt;br /&gt;c.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;parm&lt;/span&gt;1 is NULL&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;In &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" style="FONT-WEIGHT: bold"&gt;LINQ&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold"&gt; this same logic gets funky&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;var results&lt;/span&gt; = (from a in table_a&lt;br /&gt;join b in table_b&lt;br /&gt;on a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;parm&lt;/span&gt;1 equals b.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;parm&lt;/span&gt;1&lt;br /&gt;join c in table_c&lt;br /&gt;on new { a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;parm&lt;/span&gt;1, a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;parm&lt;/span&gt;2 } equals new { c.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;parm&lt;/span&gt;1, c.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;parm&lt;/span&gt;2 }&lt;br /&gt;into &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;tempRecSet&lt;/span&gt;&lt;br /&gt;from t in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;tempRecSet&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;DefaultIfEmpty&lt;/span&gt;()&lt;br /&gt;where t.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;parm&lt;/span&gt;1 == null)&lt;br /&gt;select new&lt;br /&gt;{&lt;br /&gt;x = a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;parm&lt;/span&gt;1,&lt;br /&gt;y = a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;parm&lt;/span&gt;2,&lt;br /&gt;z = a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;parm&lt;/span&gt;3&lt;br /&gt;}).Distinct();&lt;br /&gt;&lt;br /&gt;Not that I am complaining...LINQ is just very different and I guess as long as things get more complicated and harder my job security increases. That is to the point that I can absorb and understand these new tools. I think age is working against me...&lt;br /&gt;&lt;br /&gt;I guess old programmers never die...they just become BizTalk developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-4730808882818941240?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/4730808882818941240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/04/linqno-pain-no-gain-left-join-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4730808882818941240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/4730808882818941240'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/04/linqno-pain-no-gain-left-join-basics.html' title='LINQ...No Pain No Gain: Left Join Basics'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-2830276276284847610</id><published>2009-03-13T14:18:00.000-05:00</published><updated>2009-03-13T14:24:03.096-05:00</updated><title type='text'>Take this string and STUFF it...</title><content type='html'>O.K. so once again I have been asked how to zero pad some output queries for a main frame input DAT file and the amount of wild approaches still baffles me.&lt;br /&gt;&lt;br /&gt;I use STUFF and just wanted to share the love with anyone thats been doing something wild and crazy with their strings to zero pad them.&lt;br /&gt;&lt;br /&gt;Here is an example of the SQL code behind using STUFF to zero pad your values.&lt;br /&gt;&lt;br /&gt;Take this string and stuff it...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Declare @source varchar(10)&lt;br /&gt;Declare @zeroPaddedSource varchar(10)&lt;br /&gt;&lt;br /&gt;Set @source = '12345'&lt;br /&gt;Set @zeroPaddedSource = '00012345'&lt;br /&gt;&lt;br /&gt;--What we start with...&lt;br /&gt;select @source&lt;br /&gt;&lt;br /&gt;--Our desired result...&lt;br /&gt;select @zeroPaddedSource&lt;br /&gt;&lt;br /&gt;--These are declared for clarity sake...the code should be self-explanitory&lt;br /&gt;Declare @startingOffset int&lt;br /&gt;Declare @copyLength int&lt;br /&gt;&lt;br /&gt;Set @startingOffset = (8 - LEN(@source)) + 1&lt;br /&gt;Set @copyLength = LEN(@source)&lt;br /&gt;&lt;br /&gt;--Take these strings and STUFF it...&lt;br /&gt;select STUFF('00000000', @startingOffset, @copyLength, @source)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-2830276276284847610?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/2830276276284847610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/03/take-this-string-and-stuff-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/2830276276284847610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/2830276276284847610'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/03/take-this-string-and-stuff-it.html' title='Take this string and STUFF it...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-8809286449212802142</id><published>2009-03-09T15:32:00.000-05:00</published><updated>2009-04-03T11:12:52.781-05:00</updated><title type='text'>Fitnesse and testing database objects using DBFIT</title><content type='html'>So, most of us have run into database HEAVY application development project where most of your time is spent in database developer mode.  One of the pains for most database developers and development is the fact that direct, simple, quick testability of database objects escapes most database concentric projects.&lt;br /&gt;&lt;br /&gt;Suppose for a moment that after creating a database concentric project you have a ton of stored procedures, custom functions and the like.  Being pressed for time ( as always ) and not wanting to spin up a software project just for the sake of testing you database objects, instead you want a direct simple way to pass parameters to your database objects and then test the result returned by that operation.&lt;br /&gt;&lt;br /&gt;DBFIT is one answer to this question and provides a simple, direct approach to enable database developers and quality assurance engineers ability to test and create regression suits against large databases and tables.  This is especially true if your development shop is already using Fitnesse for service level testing in other projects.&lt;br /&gt;&lt;br /&gt;To setup DBFIT you can go to this link &lt;a href="http://www.fitnesse.info/dbfit:reference"&gt;http://www.fitnesse.info/dbfit:reference&lt;/a&gt; as well as view more examples of how to use DBFIT.&lt;br /&gt;&lt;br /&gt;One of the nice features about DBFIT is the "Flow Mode" which wraps all transactions that occur in your DBFIT test page in a transaction which is rolled back to conserve the state of your test data and thus makes the test suite easily repeatable.  Great if you are using this approach as a regression suite to protect your database objects from breaking changes.&lt;br /&gt;&lt;br /&gt;The way you run in "Flow Mode" is to merely make DbFit test name the first table on the page.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;!|dbfit.SqlServerTest|&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;!define COMMAND_PATTERN {%m %p}&lt;br /&gt;!define TEST_RUNNER {dotnet2\FitServer.exe}&lt;br /&gt;!define PATH_SEPARATOR {;}&lt;br /&gt;!path dotnet2\*.dll&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;One approach I have used to stream-line the sprocs I have tested is to create a DBFIT sproc which is merely a wrapper around the sproc I want to test an has some insert or delete statements to prepare "upstream" tables that I am joining on to create a repeatable test suite.  Since I am running in "Flow Mode" DBFIT automatically rolls back these inserts or updates to put the data in a "testable" state to ensure consistent, re-usable test results.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;--sproc you want to test&lt;br /&gt;CREATE PROCEDURE [dbo].[my_example_add_columns_s]&lt;br /&gt;(  @id integer )&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;Select a.number1 + b.number2 + c.number3 as total&lt;br /&gt;from table1 as a join&lt;br /&gt;    table2 as b&lt;br /&gt;       on a.key1 = b.key1&lt;br /&gt;    join table3 as c&lt;br /&gt;       on a.key1 = c.key1&lt;br /&gt;where a.key1 = @id&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;--sproc you call from dbfit to test the sproc above&lt;br /&gt;CREATE PROCEDURE [dbo].[my_example_add_columns_s_dbfit]&lt;br /&gt;(  @id integer )&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;--You could do this in the dbfit page but this method allows you to&lt;br /&gt;--use intellisense in SQL 2008 or Red Gate to check your query&lt;br /&gt;insert some data into table1&lt;br /&gt;insert some data into table2&lt;br /&gt;insert some data into table3&lt;br /&gt;&lt;br /&gt;Execute my_example_add_columns_s @id&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;Now all you do is call the dbfit version of the sproc to run your test.&lt;br /&gt;&lt;br /&gt;!|dbfit.SqlServerTest|&lt;br /&gt;&lt;br /&gt;!define COMMAND_PATTERN {%m %p}&lt;br /&gt;!define TEST_RUNNER {dotnet2\FitServer.exe}&lt;br /&gt;!define PATH_SEPARATOR {;}&lt;br /&gt;!path dotnet2\*.dll&lt;br /&gt;&lt;br /&gt;!|Connect|connectionstring|&lt;br /&gt;&lt;br /&gt;|set option|fixed length string parsing|true|&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;!|set parameter|id|60|&lt;br /&gt;&lt;br /&gt;!|Query|execute my_example_add_columns_s_dbfit @id|&lt;br /&gt;|total?|&lt;br /&gt;|12354|&lt;br /&gt;&lt;br /&gt;That's it. You will see there are a couple of different ways to call a database object and this is just one of them.  If you have many different parameters that you want to pass you would use the method in the DBFIT page outlined &lt;a href="http://www.fitnesse.info/dbfit:reference:commandreference:executeprocedurecommand"&gt;here. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-8809286449212802142?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/8809286449212802142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/03/fitnesse-and-testing-database-objects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8809286449212802142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/8809286449212802142'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/03/fitnesse-and-testing-database-objects.html' title='Fitnesse and testing database objects using DBFIT'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-7931204696300126531</id><published>2009-03-02T09:53:00.000-06:00</published><updated>2009-03-02T09:56:42.532-06:00</updated><title type='text'>The Simple Life: A trip to Grandma Betty's house.</title><content type='html'>She is a widowed farmers wife and my “step father in-law’s mother” and she is 81 years old and lives on the outskirts of Atlantic Iowa alone in a modest 2 bedroom ranch on 120 acres of farm land which has been in her family for 2 generations.  The ranch home is surrounded by hundreds of plants, flower beds, and ceramic animals with a large covered porch.  The porch boundary is surrounded by many different flowers potted in all kinds of odd things like a favorite lavender toilet base from the 50’s that they had in their first farm house. &lt;br /&gt;&lt;br /&gt;She is very active around the yard, has a brand new 2008 Ford Taurus she is very proud of ( she made me sit in the back seat because it has miles of leg room ) and loves to watch my kids ( her great grand kids ) buzz around the yard and play on the large pink granite boulders that dot her landscape.&lt;br /&gt;&lt;br /&gt;Of course us men had to fix a few odds and ends around the place while the ladies enjoyed the kids and talking with each other.&lt;br /&gt;&lt;br /&gt;It’s REALLY a much more calm pace of life in the country.  Every second of every minute isn’t filled with some “mi-nute” task that constantly drones around in the back of your head.  It was a very refreshing day minus the drive there and back.  Although even the drive was kind of refreshing as it was country 2 lane and very peaceful ( the kids slept most of the way back ).&lt;br /&gt;&lt;br /&gt;I left Atlantic Iowa wondering if I will ever have the opportunity to live such a peaceful, calm life ?  Sometimes I think all of this technology, pagers, cell phones and the like have actually REDUCED the human condition to a lower quality of life?  I am guessing it has...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-7931204696300126531?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/7931204696300126531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/03/simple-life-trip-to-grandma-bettys.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7931204696300126531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7931204696300126531'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/03/simple-life-trip-to-grandma-bettys.html' title='The Simple Life: A trip to Grandma Betty&apos;s house.'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-6931181397684481111</id><published>2009-02-19T14:26:00.001-06:00</published><updated>2009-04-20T11:50:25.407-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='packages'/><category scheme='http://www.blogger.com/atom/ns#' term='Agentransack'/><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='dtsconfig'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='dtsx'/><title type='text'>Searching SSIS packages for data objects, tables, stored procedures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_-xN-nRScLN4/SZ3Bco_1pLI/AAAAAAAAABM/VhGsIDhw4tE/s1600-h/AR.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5304608633897985202" style="margin: 0pt 10px 10px 0pt; float: left; width: 320px; cursor: pointer; height: 200px;" alt="" src="http://3.bp.blogspot.com/_-xN-nRScLN4/SZ3Bco_1pLI/AAAAAAAAABM/VhGsIDhw4tE/s320/AR.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;So you are wondering which SSIS packages have the functionality you are looking for or touch certain tables or execute certain stored procedures and you don’t want to have to open up each SSIS package and search for this task, query or script.&lt;span style="font-size:0;"&gt; &lt;/span&gt;We have all run into this situation where you have a load process that has 10-20 SSIS packages and you just want to focus and debug the one or two packages that touch the address table.&lt;span style="font-size:0;"&gt; &lt;/span&gt;Help is not only one free utility away and it’s as easy to use as eating cake.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;Agent Ransack (&lt;a href="http://www.mythicsoft.com/agentransack/download.aspx"&gt;http://www.mythicsoft.com/agentransack/download.aspx&lt;/a&gt; ) is what I use to search for stings within my SSIS packages as well as any other use where you are looking for text in a set of suspect files or sub-folders.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;Just point AR to the folder of interest where your SSIS packages are and use the wildcard expression of choice (DOS *.* will get you a search of all files in that folder) then type in the text and click the search button.&lt;span style="font-size:0;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;What’s really nice about AR is the fact that it shows you the file that it found the hit in the left lower pane and clicking on that file the actual text is shown in the right hand pane.&lt;span style="font-size:0;"&gt; &lt;/span&gt;It’s one hell of a time saver when you are debugging or maintaining a group of SSIS packages and you have no idea where to start.&lt;/p&gt;&lt;p class="MsoNormal"&gt;It also can be run from the command line for those file searching tasks where you are looking for a certain token like an error code in a group of error logs or whatever and that result can be dumped to a log file.&lt;span style="font-size:0;"&gt; &lt;/span&gt;So, if the log file is greater than 0 bytes then there must be an error of interest in the error log and bam…off goes an email to production support.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Battle On Fellow SSIS Warriors…&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-6931181397684481111?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/6931181397684481111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/02/searching-ssis-packages-for-data.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6931181397684481111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6931181397684481111'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/02/searching-ssis-packages-for-data.html' title='Searching SSIS packages for data objects, tables, stored procedures'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-xN-nRScLN4/SZ3Bco_1pLI/AAAAAAAAABM/VhGsIDhw4tE/s72-c/AR.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-7090020327980390124</id><published>2009-02-12T16:23:00.000-06:00</published><updated>2009-02-12T16:41:48.110-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TempTable'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Generation'/><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>Create, Fill, and Return Rows Using a Temp Table in MS SQL...Simplicity is Best</title><content type='html'>&lt;span style="font-family:arial;"&gt;Hello SQL Fans-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here is a little post on an example of how one would create, fill, return and clean up a temp table using MS SQL.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Simply stated this is more of a SEED example and you can easily take code and make it your own.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This is a Sproc to create and return a set of dates which I later used in a SSIS for each loop and passed to another sproc to generate and populate some data...but thats for another time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;USE [SomeDatebase]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;SET ANSI_NULLS ON&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;SET QUOTED_IDENTIFIER ON&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Alter PROCEDURE [dbo].[Create_Test_Dates](&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt; @StartDate DATETIME,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt; @EndDate DATETIME )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;AS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;/*You need this little goody to expose your return parms to SSIS...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;If you dont believe me comment this out these two lines then call this sproc from SSIS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;using a OLE DB Source Data Flow component.  You would see anything thats mappable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;in the columns area.&lt;/span&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;SET NOCOUNT ON&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;SET FMTONLY OFF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;create table #TempDate (&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt; SeedDate datetime NULL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;DECLARE @KEEPGOING as Int&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;DECLARE @DAYCOUNTER as Int&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;DECLARE @NEWDATE as Datetime&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Set @DAYCOUNTER = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Set @KEEPGOING = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Set @NEWDATE = @StartDate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;WHILE @KEEPGOING = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;    IF @NEWDATE &lt; @EndDate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;        BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;            insert into #TempDate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;            Select @NEWDATE&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;            Set @NEWDATE = DATEADD(day, 1, @NEWDATE)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;        END&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;    ELSE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;        BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;            SET @KEEPGOING = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;        END&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;END&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;select * from #TempDate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;drop table #TempDate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;END&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-7090020327980390124?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/7090020327980390124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/02/create-fill-and-return-rows-using-temp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7090020327980390124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7090020327980390124'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/02/create-fill-and-return-rows-using-temp.html' title='Create, Fill, and Return Rows Using a Temp Table in MS SQL...Simplicity is Best'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-3610917788341145552</id><published>2009-02-04T14:32:00.001-06:00</published><updated>2009-02-12T17:10:07.165-06:00</updated><title type='text'>Taxing Government Cheese</title><content type='html'>Taxation has gotten so out of control that folks on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;WIC&lt;/span&gt; have to cut a 1/3 chunk of their monthly cheese ration and send it to Congress.&lt;br /&gt;&lt;br /&gt;Our fore-fathers are turning in their graves at the perversion of the state of the Federal Government and its intrusion into the sanctity of the American household.  A death grip on the life blood income of every America...even those in need of unemployment or welfare assistance.&lt;br /&gt;&lt;br /&gt;The United States of America is ashamed of the spending, the lack of restraint, the high level of waste and the IRS tax code.&lt;br /&gt;&lt;br /&gt;What &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Ifs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. What if the government took 1 Trillion Dollars and paid off &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Americans&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;Mortgages&lt;/span&gt;?&lt;br /&gt;2. What if the government took the 1 Trillion Dollars and gave every America business $10,000 for hiring a new employee?&lt;br /&gt;3. What if the government took the 1 Trillion Dollars and spent it on buying solar farms, wind farms, and nuclear energy to regain our energy &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;Independence&lt;/span&gt;?&lt;br /&gt;4. What if the government took the 1 Trillion Dollars and matched every penny that a person spent on health care or insurance?&lt;br /&gt;&lt;br /&gt;What if the government took a very focused hard look at 2-3 items that need "FIXED" and fixed them with this bail out package...going right to the source, cutting out the middle men, the executives lining their pockets with fat bonuses? &lt;br /&gt;&lt;br /&gt;The USA is better letting these banks go into bankruptcy, fail and then buying them outright, firing the executives, cleaning the "slate" and hiring new leadership to point the USA Titanic away from the ice berg.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-3610917788341145552?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/3610917788341145552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/02/taxing-government-cheese.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3610917788341145552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/3610917788341145552'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/02/taxing-government-cheese.html' title='Taxing Government Cheese'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-6153436831020529442</id><published>2009-02-01T14:27:00.000-06:00</published><updated>2009-02-24T17:31:54.880-06:00</updated><title type='text'>Working on Sunday and Hello World</title><content type='html'>Remember the good old 80's and Lover Boy's "Every body's working for the weekend..."?&lt;br /&gt;&lt;br /&gt;We the true code junkie/entrepreneur/money maker in us forces the statement Everybody like me is working on the weekend.&lt;br /&gt;&lt;br /&gt;You will find me most of the time on a Sunday afternoon not doing what I am supposed to be doing which is resting and enjoying time with my family. Instead I am in a coffee shop in Omaha where there is free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Wi&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Fi&lt;/span&gt; ripping out a weeks worth of IT code, answering emails, writing for my blog in a matter of 3-4 hrs. In fact, I am more productive in 3-4 hrs in a coffee shop in Omaha working of my own accord than I am 8-10 hrs in corporate America working for "the man".&lt;br /&gt;&lt;br /&gt;I remember in my other life before marriage, kids, house and the like I managed 2-3 jobs, college and still had time for myself. So, is it in my nature and the nature of my fellow developer junkies to ALWAYS fill my day with stuff?&lt;br /&gt;&lt;br /&gt;The only difference between then and now it the "stuff" has changed. Its no longer working 2-3 crappy paying jobs and then off to classes where &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;idealogs&lt;/span&gt; fill my brain with a lot of knowledge that will I never use.&lt;br /&gt;&lt;br /&gt;I still have not used Lagrange's Equations or needed to do a Fourier Transform to estimate the shape of a wave. You can put Maxwell's equations in the trash or for that matter Einstein's infamous E=MC^2 ( which by the way excludes the momentum of the particle in question...why is this in my brain ).  I &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;havent&lt;/span&gt; used Calculus 1,2,3 or Linear Algebra, or Differential Equations let alone Fermi-Dirac notation or any of the statistical mechanics or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;thermo&lt;/span&gt;-dynamics.&lt;br /&gt;&lt;br /&gt;Cant I just purge this data from my memory stores and make room for something useful like memorizing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;WCF&lt;/span&gt; or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WPF&lt;/span&gt; or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;LINQ&lt;/span&gt; or how about the 10,000 configuration setting in an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;infragistics&lt;/span&gt; grid control.&lt;br /&gt;&lt;br /&gt;So much of our time is wasted just getting that sheet of paper proving that we could suck it up and suck down complicated theories, formula's and the like which is time and energy wasted once you are in your career and working ON the weekend.&lt;br /&gt;&lt;br /&gt;Is "Hello World" the beginning of something meaningful for us programmer types? Remember when you would print "Hello World" in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;GOTO&lt;/span&gt; loop on the screen of a unsuspecting Commodore 64 at K-Mart or a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;TRS&lt;/span&gt;80 at Radio Shack.&lt;br /&gt;&lt;br /&gt;10 Print "Hello World"&lt;br /&gt;20 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;GoTo&lt;/span&gt; 10&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Ahhhhhhh&lt;/span&gt;, memories...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-6153436831020529442?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/6153436831020529442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/02/working-on-sunday-and-hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6153436831020529442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/6153436831020529442'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/02/working-on-sunday-and-hello-world.html' title='Working on Sunday and Hello World'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-1327562045070839183</id><published>2009-01-30T17:16:00.001-06:00</published><updated>2009-02-01T14:26:28.835-06:00</updated><title type='text'>Working with Great People, Pair Programming Challenges</title><content type='html'>Yes, I am blessed to work amongst some of the best talent in the Midwest. I wont name "names" but I can tell you that our shop has the majority of local leaders for all the MS user groups as well as just brute force talent.&lt;br /&gt;&lt;br /&gt;So, with all of this talent you would be surprised to know that Big Ego's are rare and in fact most of these assumptions about these individuals are false.&lt;br /&gt;&lt;br /&gt;In much of the studying I have done on research about Pair Programming and its successes and failures its a commonly commented topic that "right matching" pair programming "bond pairs" is as important as the act of pair programming itself.&lt;br /&gt;&lt;br /&gt;The studies show that 2 advanced veteran developers paired together on the average code at a slower pace than do 2 mid level or entry level developers.&lt;br /&gt;&lt;br /&gt;This poses the question...much like studies I used to read when I was grouping students in my Physics labs...whats the best combination of bond pairs in the Pair Programming paradigm? Setting all other potential issues aside ( like ego maniacs, type A vs type B, introverts vs extroverts and the like ) one would think that you bond a veteran with a rookie so that you bring up the skill sets of the rookie and pass on the brain power to the "wet behind the ears" newbie.&lt;br /&gt;&lt;br /&gt;I like this approach however it begs the question of what advantages does this yield to the veteran. Well, I can say from experience there is an internal joy and satisfaction that comes from being in the "Mentor" role. Kind of a Teacher/Student bond that forms within the confines of the Pair Programming bond.&lt;br /&gt;&lt;br /&gt;O.K. so now we have the philosophical mind experiment that we play and the pros and cons to each paring ( this is just my mind wandering &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;thru&lt;/span&gt; the years of what I have witnessed ).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Veteran to Veteran pairing:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Very advanced solution will probably wash out of this bond&lt;/li&gt;&lt;li&gt;Each person will most likely walk away with more knowledge than they started with.&lt;/li&gt;&lt;li&gt;Highly Complex problems are most likely solved in a first pass.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Cons&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Potential for a lot of time tied up in debating multiple solutions.&lt;/li&gt;&lt;li&gt;Ego's may break down the pair programming relationship ( "fist-a-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;cufs&lt;/span&gt;" may result ).&lt;/li&gt;&lt;li&gt;Highly complex solutions may escape the realm of "ease of maintainability"&lt;/li&gt;&lt;li&gt;Talent &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;isnt&lt;/span&gt; transferred to those who need it most ( the Rookies ).&lt;/li&gt;&lt;li&gt;Story hogs ( Veteran + Veteran may take the best stories and leave the crud to everyone else...not a fair or fun practice )&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;Veteran Rookie pairing:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Intermediate solution will probably wash out of this bond.&lt;/li&gt;&lt;li&gt;Rookie person will gain knowledge from the Veteran.&lt;/li&gt;&lt;li&gt;Veteran will gain insight from the pragmatic mindset of most Rookie level developers. &lt;/li&gt;&lt;/ol&gt;Cons&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Veteran may hog the pair bond and over the rookie level developer jeopardising a constructive working relationship.&lt;/li&gt;&lt;li&gt;Communication differences between Veteran and Rookie level may slow down velocity ( this has positive side-effects...).&lt;/li&gt;&lt;li&gt;Yin/Yang of Drive/Navigate switch off may be compromised ( Veteran may hog the steering wheel or not relinquish control ).&lt;/li&gt;&lt;li&gt;Rookie may reside in the bond in a state of fear for not wanting to appear stupid or incompetent.&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;Rookie Rookie pairing:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Direct, simplistic approach usually the easiest to manage/maintain.&lt;/li&gt;&lt;li&gt;Less of a fear of failure/embarrassment due to common skill level. &lt;/li&gt;&lt;li&gt;Communication may be more verbose with business owners as Rookies flush out the solution.&lt;/li&gt;&lt;/ol&gt;Cons&lt;br /&gt;&lt;ol&gt;&lt;li&gt;"Stupid is as Stupid Does", lack of balance to catch common Rookie mistakes like checking to see if a files exists before you open it or using "USING" to make sure connections are managed effectively.&lt;/li&gt;&lt;li&gt;Rookies can slow down if they are solving a problem for the first time ( Veterans rarely see a problem that they &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;havent&lt;/span&gt; solved before....whats different are the tools at their disposal to render the solution ).&lt;/li&gt;&lt;li&gt;Knowledge transfer between the Veterans with the advanced skills and the Rookies developing the skills is lost. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Now, take all of this into the mix with personality, cultural, and sexual differences ( men and women do think differently ) and you have all kinds of dynamics that can work for and against the Pair Programming Paradigm.&lt;/p&gt;&lt;p&gt;I guess to quote a co-worker of mine in the end..."We are all grown ups and should be expected to work together in a rewarding, productive fashion."&lt;/p&gt;&lt;p&gt;So, on that note, Pair Programming will flush out those folks that may need to get on a different bus. &lt;/p&gt;&lt;p&gt;My next blog on Pair Programming will touch upon the "Picking Cotton Factor" of pair programming.  I love talking to myself.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-1327562045070839183?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/1327562045070839183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/01/working-with-great-people-pair.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/1327562045070839183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/1327562045070839183'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/01/working-with-great-people-pair.html' title='Working with Great People, Pair Programming Challenges'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12695496242020209.post-7785485651122227160</id><published>2009-01-30T16:45:00.000-06:00</published><updated>2009-01-30T16:53:58.783-06:00</updated><title type='text'>Welcome to the Real World...</title><content type='html'>Finally, a blog to end all blogs. One Blog to rule them all, One Blog to find them, One Blog to bring them all and in the darkness bind them.&lt;br /&gt;&lt;br /&gt;OK maybe &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;thats&lt;/span&gt; a little bit of a stretch...&lt;br /&gt;&lt;br /&gt;I am amazed at such works like the Lord of the Rings and the fact that an entire reality can be created and extrapolated by one, single human mind.&lt;br /&gt;&lt;br /&gt;I never could get through that book...to many &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;tangents&lt;/span&gt; and "songs of old". If you could get through the thick of the L.O.R. you are a special person.&lt;br /&gt;&lt;br /&gt;Well, I am here and I will try to stay &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;faithful&lt;/span&gt; to the blog. There are always thoughts in my head from past, present and future and hopefully people can enjoy in my life and professional experiences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12695496242020209-7785485651122227160?l=qui-jon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qui-jon.blogspot.com/feeds/7785485651122227160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qui-jon.blogspot.com/2009/01/welcome-to-real-world.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7785485651122227160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12695496242020209/posts/default/7785485651122227160'/><link rel='alternate' type='text/html' href='http://qui-jon.blogspot.com/2009/01/welcome-to-real-world.html' title='Welcome to the Real World...'/><author><name>Quinn Jones ( QuiJon )</name><uri>http://www.blogger.com/profile/14863880518486018064</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/_-xN-nRScLN4/SZSs0kc-pgI/AAAAAAAAAAw/GRHcfNUm27Q/S220/QTRex.JPG'/></author><thr:total>2</thr:total></entry></feed>
