<?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-4707099970411996914</id><updated>2011-11-28T00:36:36.884+01:00</updated><category term='MCT Summit'/><category term='DevNET'/><category term='Windows XP'/><category term='Visual Studio'/><category term='Vista'/><category term='ASP.NET 2.0'/><category term='Microsoft'/><category term='Outlook'/><category term='SQL Server 2000'/><category term='Virtual Launch'/><category term='AJAX'/><category term='Silverlight 2.0'/><category term='Windows Server 2008'/><category term='VB.NET'/><category term='Windows'/><category term='Security'/><category term='.NET Platform'/><category term='ASP.NET'/><category term='Speaker Idol'/><category term='MSDN'/><category term='Visual Studio 2008'/><category term='Graphics'/><category term='INETA'/><category term='Conference'/><category term='70-529'/><category term='Miscellaneous'/><category term='MODL'/><category term='Windows 2003 Server'/><category term='Coding'/><category term='Culminis'/><category term='SQL Server 2008'/><category term='OWA'/><category term='Certification'/><category term='Office'/><category term='Troubleshooting'/><category term='SBS2003'/><category term='SQL Server 2005'/><category term='Tips'/><category term='Word'/><category term='IIS'/><category term='TechEd'/><category term='C#'/><category term='Remoting'/><category term='SATA'/><category term='Upgrade'/><category term='WCF'/><category term='Linux'/><category term='Global Launch Wave'/><category term='Hardware'/><category term='PocketPC'/><category term='Silverlight'/><category term='Excel'/><title type='text'>Business Solutions Software Development - The old, new and the future!</title><subtitle type='html'>These are just a few of the interesting problems (and solutions) that I find everyday during my software development, training and evangelism :)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>86</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-3589539379827461014</id><published>2008-09-12T13:44:00.002+01:00</published><updated>2008-09-12T13:49:14.054+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>How to set GRUB to boot Windows by default :)</title><content type='html'>Yeah so you must dual boot to know what the other side is up to but hey, I use the Windows partition an hell of a lot more than I do my Ubuntu side.  But if I',m not near my laptop during the boot up it goes into Ubuntu and the I have fun playing around with Compiz and then I shut it down.  Only to forget a second time and boot into the wrong side again :)  Any a quick solution is this&lt;br /&gt;1. open a terminal window and type:&lt;br /&gt;gksu gedit /boot/grub/menu.lst&lt;br /&gt;&lt;br /&gt;2. Then scroll to the bottom, and move the windows entry above the ubuntu entry, then simply save and exit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-3589539379827461014?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/3589539379827461014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=3589539379827461014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3589539379827461014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3589539379827461014'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/09/how-to-set-grub-to-boot-windows-by.html' title='How to set GRUB to boot Windows by default :)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7156469465257229263</id><published>2008-04-22T20:25:00.004+01:00</published><updated>2008-04-22T20:31:37.355+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Power commands for Visual Studio 2008</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/SA48WTduSEI/AAAAAAAAAeE/vrCQcMmh7Vw/s1600-h/PowerCommands.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5192153774284490818" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/SA48WTduSEI/AAAAAAAAAeE/vrCQcMmh7Vw/s320/PowerCommands.jpg" border="0" /&gt;&lt;/a&gt;PowerCommands 1.1 is a set of useful extensions for the Visual Studio 2008 adding additional functionality to various areas of the IDE. The source code is included and requires the VS SDK for VS 2008 to allow modification of functionality or as a reference to create additional custom PowerCommand extensions. Visit the VSX Developer Center at &lt;a class="externalLink" href="http://msdn.com/vsx" target="_blank"&gt;http://msdn.com/vsx&lt;/a&gt; for more information about extending Visual Studio.&lt;br /&gt;&lt;br /&gt;For a list of features look &lt;a href="http://www.visualstudiogallery.com/ExtensionDetails.aspx?ExtensionId=df3f0c30-3d37-4e06-9ef8-3bff3508be31"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If this is for you you can download it &lt;a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=PowerCommands&amp;amp;ReleaseId=559"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7156469465257229263?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7156469465257229263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7156469465257229263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7156469465257229263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7156469465257229263'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/04/power-commands-for-visual-studio-2008.html' title='Power commands for Visual Studio 2008'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/SA48WTduSEI/AAAAAAAAAeE/vrCQcMmh7Vw/s72-c/PowerCommands.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7679597774830065663</id><published>2008-03-28T17:00:00.000+01:00</published><updated>2008-03-28T18:00:49.673+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET Platform'/><title type='text'>From MCT to DPE !!</title><content type='html'>I've just signed my contract to start working as a .NET Platform Developer Evangelist with Microsoft!! I'm really excited to be part of the Microsoft team here in Malta and some of the challenges that lie ahead are really great. It's a chance to interact in a deep way with some great people that work on the Microsoft products that I've used everyday and taught so many people how to use, plus the chance to get involved with a lot of the cutting edge technology that Microsoft are currently working on.&lt;br /&gt;&lt;br /&gt;If ever you've heard the term above and wondered what exactly it's all about, here is a quick run down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mission:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Engaging the broad community of Developers in Academia and the public and private sectors,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Driving excitement around Microsoft's software developer related technologies,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To interact through events, specialist training workshops, community engagement, relationship marketing and the growth of an exciting solutions portfolio.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;More details to follow as I find out more about the role!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7679597774830065663?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7679597774830065663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7679597774830065663' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7679597774830065663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7679597774830065663'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/from-mct-to-dpe.html' title='From MCT to DPE !!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8434714161551935247</id><published>2008-03-26T22:49:00.000+01:00</published><updated>2008-03-28T17:49:15.347+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Domain specific language - Primer</title><content type='html'>Perhaps you may have seen this term in VS2008 when it loads up on the start screen or perhaps you have seen it in some academic course of study, or perhaps you have no idea what it is!! Well this short post will hopefully give you some answers to what it is, why you need it and how to get started using it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is it?&lt;br /&gt;&lt;/strong&gt;Well firstly it is not a GPL, a general purpose language like VB.NET,C# or any other programming language that lets you code using a specific language to suite a diverse set of tasks. It’s actually the other way round, it’s useful for a specific task to fix a problem within that domain. Using it allows you to build a modeling tool or define a modeling language for that task. It also makes implementing the solution to that problem a lot easier, however it does shift a lot of the work up front. i.e developing the tool is hard work, but once it’s built it’s a lot easier to solve problems using it!!! Domain-specific languages focus on doing one kind of task well. It’s kinda like UML, but without the U. &lt;a href="http://en.wikipedia.org/wiki/Domain-specific_programming_language"&gt;http://en.wikipedia.org/wiki/Domain-specific_programming_language&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What can you do with it?&lt;br /&gt;&lt;/strong&gt;For example, you can create a specialized language that describes a user interface, a business process, a database, or the flow of information, and then you can generate code from those descriptions. The DSL does not have to fit just IT or programming tasks, you may wish to model other things like solar systems. By using Domain-Specific Language Tools, you can create a custom graphical designer that uses your Domain-specific diagram notation. You can then create custom text templates that use models that are created in your designer to generate source code and other files.&lt;br /&gt;What tools are there out there?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What does the VS2008 DSL tool consist of ?&lt;br /&gt;&lt;/strong&gt;· A project wizard that creates a fully configured solution. In this solution, you can define a domain model that consists of a designer and a text output generator. If you run a completed solution from inside Visual Studio, a test solution opens in a separate instance of Visual Studio so that you can test the designer and the text output generator.&lt;br /&gt;&lt;br /&gt;· A graphical designer for defining and editing domain models.&lt;br /&gt;&lt;br /&gt;· Designer definitions in XML. The code for implementing designers is generated from these definitions so that you can define a graphical designer hosted in Visual Studio without manually writing any code.&lt;br /&gt;&lt;br /&gt;· A set of code generators, which take a domain model definition and a designer definition as input and produce code that implements both of the components as output. The code generators also validate the domain model and the designer definition, and they raise errors and warnings accordingly.&lt;br /&gt;· A framework for defining text output generators. These template-based generators take data (models) that use a domain model as input and generate text output that is based on the template. Parameters in the template are substituted by using the results of running a Visual C# script that is embedded in the template.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What VS editions support DSL&lt;br /&gt;&lt;/strong&gt;For creating a DSL you will need any of the following:&lt;br /&gt;· Visual Studio 2008 Professional Edition&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Architects&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Developers&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Testers&lt;br /&gt;· Visual Studio 2008 Team Suite&lt;br /&gt;&lt;br /&gt;In order to use the DSL you create you will need on of the following VS IDE’s@&lt;br /&gt;· Visual Studio 2008 Standard Edition&lt;br /&gt;· Visual Studio 2008 Professional Edition&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Architects&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Developers&lt;br /&gt;· Visual Studio 2008 Team Edition for Software Testers&lt;br /&gt;· Visual Studio 2008 Team Suite&lt;br /&gt;&lt;br /&gt;OK so not much choice, you can’t use VS2005 or 2003 I’m afraid.&lt;br /&gt;&lt;br /&gt;OK enough already! How do I create a DSL? That will be the topic of my next post!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8434714161551935247?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8434714161551935247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8434714161551935247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8434714161551935247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8434714161551935247'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/domain-specific-language-primer.html' title='Domain specific language - Primer'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5286679286536700868</id><published>2008-03-20T13:54:00.005+01:00</published><updated>2008-03-21T14:56:12.179+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certification'/><title type='text'>New Visual Studio 2008 Certifications</title><content type='html'>Microsoft Learning have released six MCTS certifications on Visual Studio 2008. Two exams are required for each, just like for the 2005 track, and luckily the same code is required for all six, and it's the same core exam that was used for 2005 certifications.&lt;br /&gt;&lt;br /&gt;The following core exam is required for all six certifications.&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-536.mspx"&gt;Exam 70-536: TS: Microsoft .NET Framework 2.0 – Application Development Foundation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The actual certifications can be divided into two, ones which are the .NET Framework 3.5 versions of the previous tracks, and those wich are brand new technologies.&lt;br /&gt;&lt;br /&gt;Similar to the previous ones are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MCTS: .NET Framework 3.5, Windows Forms Applications, Exam &lt;/li&gt;&lt;li&gt;MCTS: .NET Framework 3.5, ADO.NET Applications, &lt;a href="http://www.microsoft.com/learning/exams/70-561.mspx"&gt;Exam 70-561&lt;/a&gt;&lt;/li&gt;&lt;li&gt;MCTS: .NET Framework 3.5, ASP.NET Applications, &lt;a href="http://www.microsoft.com/learning/exams/70-562.mspx"&gt;Exam 70-562&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Brand new technologies are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;MCTS: .NET Framework 3.5, Windows Presentation Foundation Applications, &lt;a href="http://www.microsoft.com/learning/exams/70-502.mspx"&gt;Exam 70-502&lt;/a&gt;&lt;/li&gt;&lt;li&gt;MCTS: .NET Framework 3.5, Windows Communication Foundation Applications, &lt;a href="http://www.microsoft.com/learning/exams/70-503.mspx"&gt;Exam 70-503&lt;/a&gt;&lt;/li&gt;&lt;li&gt;MCTS: .NET Framework 3.5, Windows Workflow Foundation Applications, &lt;a href="http://www.microsoft.com/learning/exams/70-504.mspx"&gt;Exam 70-504&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Most of these exams have not yet been released but should be available this month or next&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/4707099970411996914-5286679286536700868?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5286679286536700868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5286679286536700868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5286679286536700868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5286679286536700868'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/new-visual-studio-2008-certifications.html' title='New Visual Studio 2008 Certifications'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5152683288851519278</id><published>2008-03-17T23:04:00.011+01:00</published><updated>2008-03-17T23:34:41.127+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MCT Summit'/><title type='text'>My new Gadget I forgot to blog about</title><content type='html'>This is something I got back in January from Berlin. I MUST say a great big THANK YOU to Tjeerd Veninga at Microsoft for asking me to help as part of the MCT planning Commitee for the MCT summit. It was great collaborating with so many great people around Europe and then to finally meet them all at such a great event.&lt;br /&gt;&lt;br /&gt;Anyway was was the gadget, well its a Solar powered charger that is so versatile!! It's made by a company called &lt;a href="http://www.powerguy.de/pg-s2d/"&gt;PowerGuy&lt;/a&gt;. They do loads of battery stuff but this is great. It can be charged from the mains, the USB on a PC or by the sun, which here in Malta is abundant!!! Once fully charged it can discharge into any device, loads of phone models, including my HTC touch!!! Here are some picks:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5178839120819179458" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R97uveFSz8I/AAAAAAAAAdU/ZynRGQCT_HI/s320/IMG_1719.JPG" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5178838532408659890" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R97uNOFSz7I/AAAAAAAAAdM/CtsbNA52ma4/s320/IMG_1718.JPG" border="0" /&gt;&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/R97wzOFS0AI/AAAAAAAAAd0/M3ydO5MHxoA/s1600-h/IMG_1721.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5178841384266944514" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R97wzOFS0AI/AAAAAAAAAd0/M3ydO5MHxoA/s320/IMG_1721.JPG" border="0" /&gt;&lt;/a&gt;&lt;img id="BLOGGER_PHOTO_ID_5178839249668198354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R97u2-FSz9I/AAAAAAAAAdc/z_fO7v9KdBo/s320/IMG_1720.JPG" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5178839571790745586" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R97vJuFSz_I/AAAAAAAAAds/j1jNBXWnJNc/s320/IMG_1724.JPG" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5152683288851519278?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5152683288851519278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5152683288851519278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5152683288851519278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5152683288851519278'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/my-new-gadget-i-forgot-to-blog-about.html' title='My new Gadget I forgot to blog about'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R97uveFSz8I/AAAAAAAAAdU/ZynRGQCT_HI/s72-c/IMG_1719.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2947500691909120367</id><published>2008-03-16T23:54:00.002+01:00</published><updated>2008-03-20T14:45:56.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><title type='text'>Low audio volume on HP 6820s laptop</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R9732eFS0BI/AAAAAAAAAd8/QFkB1I_bWBE/s1600-h/c00876291.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5178849136682913810" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R9732eFS0BI/AAAAAAAAAd8/QFkB1I_bWBE/s320/c00876291.jpg" border="0" /&gt;&lt;/a&gt;I had a client bring over his laptop saying that the sound was really quiet, even with the volume pumped up to the max!! Then he said perhaps it's because there is only sound coming from one speaker. I thought that one speaker had gone so I plugged in some headphones and sure enough both worked and balance shifted the sound from one ear to the other. However on the built in speakers it had no effect. I thought, hmm looks like a mono speaker system, but who makes them now a days?? Well checking the HP site &lt;a href="http://h10010.www1.hp.com/wwpc/us/en/sm/WF06b/321957-321957-64295-321838-3329741-3369263-3355681-3457382.html?jumpid=oc_R1002_USENC-001_HP%20Compaq%208510w%20Mobile%20Workstation&amp;amp;lang=en&amp;amp;cc=us"&gt;here&lt;/a&gt;, confirms stereo mic and headphones but &lt;u&gt;MONO&lt;/u&gt; built in speaker, what the heck!! So I guess the moral is always check the small print!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2947500691909120367?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2947500691909120367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2947500691909120367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2947500691909120367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2947500691909120367'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/low-volume-on-hp-6820s-laptop.html' title='Low audio volume on HP 6820s laptop'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R9732eFS0BI/AAAAAAAAAd8/QFkB1I_bWBE/s72-c/c00876291.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1519978761214264859</id><published>2008-03-13T15:10:00.005+01:00</published><updated>2008-03-14T10:41:32.683+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Remoting'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>Really Simple .NET Remoting Tutorial with VB.NET</title><content type='html'>&lt;p&gt;So I've seen lots of examples of remoting on the net, this is not a new topic, but for some it can be a tough subject. Add to this the fact that many choose C# and some just want a good old VB sample so here goes for my longest post to date!!!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;So what is remoting anyway&lt;/strong&gt;&lt;br /&gt;It lets you call objects located in different processes and on different machines just as though they were within the same application, much like when you call a .dll referenced by your app. &lt;/p&gt;&lt;p&gt;So you may say we can do this with WebServices, true, but here the requirement is that both client and server MUST reside on the .NET framework. So with the interoperability gone we get much better performance with a little more complexity.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;How to go about it: Server side&lt;/strong&gt;&lt;br /&gt;First thing we have to do is make our class remoteable by inheriting from MarshalByRefObject. &lt;/p&gt;&lt;pre&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;  Public Class clsRemoteObject&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;&lt;br /&gt;    Public Function  getRemoteString() As String&lt;br /&gt;      Return Now.ToString()&lt;br /&gt;    End Function&lt;br /&gt; &lt;br /&gt;  End Class&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;Make sure you put this code in a new class library project and call it: RemotingClassLib&lt;/p&gt;&lt;p&gt;This can then be hosted in any of the following:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Console (Must be started manually, but simple to administer)&lt;/li&gt;&lt;li&gt;Windows App (Must be started manually, but simple to administer)&lt;/li&gt;&lt;li&gt;ASP.NET Web App (Limited to HTTP, but you have session state, start up automatically etc)&lt;/li&gt;&lt;li&gt;Windows Service (Use Fast TCP comms, Start automatically but can e complex)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The host must then register a channel to accept incoming requests on. This is important! Most problems arise because of mis-configurations between client and server settings.&lt;/p&gt;&lt;p&gt;Now create another project in the same solution called ConsoleHost and chose the console Application type. Type any of these 3 in the Sub Main.&lt;/p&gt;Create and register a TCP channel:&lt;br /&gt;&lt;pre&gt;&lt;span class="margin-left:10px; font-family: "  style="color:#666666;"&gt; Dim tcpChannel As IChannel&lt;br /&gt; tcpChannel = New TcpServerChannel("8085")&lt;br /&gt; ChannelServices.RegisterChannel(tcpChannel, False)&lt;/span&gt; &lt;/pre&gt;Same for an HTTP and now, new to .NET 2.0, IPC&lt;br /&gt;&lt;pre&gt;&lt;span class="margin-left:10px; font-family: "  style="color:#666666;"&gt; Dim  httpChannel As IChannel&lt;br /&gt; httpChannel = New  HttpServerChannel("8086")&lt;br /&gt; ChannelServices.RegisterChannel(httpChannel, False)&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="margin-left:10px; font-family: "  style="color:#666666;"&gt; Dim  ipcChannel As IChannel&lt;br /&gt; ipcChannel = New  IpcServerChannel("Server")&lt;br /&gt; ChannelServices.RegisterChannel(ipcChannel, False)&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Next, hook up our remote class to the registered channel. Again you can use any of the following.&lt;/p&gt;&lt;p&gt;The type of object instantiation can also be controled in the hosting app:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Singleton: Good for multiple calls where server maintains object between calls and also state:&lt;/li&gt;&lt;/ul&gt;&lt;pre class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;    RemotingConfiguration.RegisterWellKnownServiceType( _&lt;br /&gt;    GetType(RemotingClassLib.clsRemoteObject), "MyRemoteObject",  _&lt;br /&gt;    WellKnownObjectMode.Singleton)&lt;/span&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;&lt;pre class="margin-left:10px; font-family: "&gt;&lt;span style="font-family:"&gt;SingleCall: Good to keep overheads down &lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;    RemotingConfiguration.RegisterWellKnownServiceType( _&lt;br /&gt;    GetType(RemotingClassLib.clsRemoteObject), "MyRemoteObject", _&lt;br /&gt;    WellKnownObjectMode.SingleCall)&lt;/span&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;ClientSide Activation: Client controls activation and recieves a dedicated object.&lt;/li&gt;&lt;/ul&gt;&lt;pre class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;    RemotingConfiguration.RegisterActivatedServiceType(  _&lt;br /&gt;    GetType(RemotingClassLib.clsRemoteObject))&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;That’s all for now on the server side, now to the calling client! &lt;/p&gt;&lt;p&gt;&lt;strong&gt;The Client Side&lt;/strong&gt;&lt;br /&gt;Here we must reference the Classlibrary that contains the class we wish to instantiate. Oh you say, that kind of negates the whole point because this will take a local copy, then if we update the class library we have a problem. Yes you are absolutely right but what you should do is create an interface in a separate assembly. Then implement that interface in your class library, after setting a reference to the interface library. Then you get the client remoting app to reference the interface also. This way your implementation code is not copied to the client. I’ll tweak the code at the end of this article, but for now let’s keep it simple. So with the reference we can instantiate the object, all we need is a line to redirect calls to methods on this object to the remote object, easy:&lt;/p&gt;&lt;pre&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;Private Sub Form1_Load(ByVal  sender As Object,  _&lt;br /&gt;  ByVal e As System.EventArgs) Handles  Me.Load&lt;br /&gt;&lt;br /&gt;  RemotingConfiguration.RegisterWellKnownClientType( _&lt;br /&gt;  GetType(RemotingClassLib.clsRemoteObject), _&lt;br /&gt;  "tcp://localhost:8085/MyRemoteObject.rem")&lt;br /&gt;&lt;br /&gt;End Sub&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;Private Sub Button1_Click(ByVal  sender As System.Object, _&lt;br /&gt;  ByVal e As System.EventArgs) Handles  Button1.Click&lt;/span&gt;&lt;/p&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;  Dim rs As New  RemotingClassLib.clsRemoteObject&lt;br /&gt;  Me.Text  = rs.getRemoteString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="margin-left:10px; font-family: "&gt;&lt;span style="color:#666666;"&gt;End Sub&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;That’s it !!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1519978761214264859?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1519978761214264859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1519978761214264859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1519978761214264859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1519978761214264859'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/really-simple-remoting-with-vbnet.html' title='Really Simple .NET Remoting Tutorial with VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5959195113118774447</id><published>2008-03-13T09:48:00.006+01:00</published><updated>2008-03-13T12:34:32.085+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>Refactor!™ for Visual Studio® - Refactoring support for VB.NET at last</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/R9kNweFSz6I/AAAAAAAAAdE/xXXxMX7DWeo/s1600-h/DevExpress.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5177184372999245730" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R9kNweFSz6I/AAAAAAAAAdE/xXXxMX7DWeo/s200/DevExpress.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Well C# has had it since 2005 and VB still does not have it. However &lt;a href="http://www.devexpress.com/Products/NET/IDETools/VBRefactor/"&gt;here&lt;/a&gt; is a way to get some of the goodies until it gets added as part of the standard IDE. This is the free version and it has some good stuff. Be sure to register to get the bonus free refactoring goodies. No quite the same as C# but it's a start. If you want the works, the go to the PRO version, ( or C# :) )&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5959195113118774447?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5959195113118774447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5959195113118774447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5959195113118774447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5959195113118774447'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/refactor-pro-for-visual-studio.html' title='Refactor!™ for Visual Studio® - Refactoring support for VB.NET at last'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_icm5YwjnC8s/R9kNweFSz6I/AAAAAAAAAdE/xXXxMX7DWeo/s72-c/DevExpress.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8325500401703666728</id><published>2008-03-07T22:32:00.006+01:00</published><updated>2008-03-07T23:09:11.877+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><title type='text'>Getting ready for Silverlight 2.0 - Part 1</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R9G30uFSz5I/AAAAAAAAAc8/thuN7oip84o/s1600-h/Silverlight.png"&gt;&lt;span &gt;&lt;img id="BLOGGER_PHOTO_ID_5175119563176726418" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R9G30uFSz5I/AAAAAAAAAc8/thuN7oip84o/s200/Silverlight.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span &gt;The Silverlight 2 Beta 1 is &lt;/span&gt;&lt;a href="http://www.microsoft.com/silverlight/resources/installationFiles.aspx?v=2.0"&gt;&lt;span &gt;here&lt;/span&gt;&lt;/a&gt;&lt;span &gt;. It now includes support for mobile devices and is another step towards helping developers create Rich Internet Applications (RIA). Silverlight 2 includes a cross-platform, cross-browser version of the .NET Framework, and enables a rich .NET development platform that runs in the browser. Developers can write Silverlight applications using any .NET language now (including VB, C#, JavaScript, IronPython and IronRuby) as opposed to having to learn JavaScript as with previous versions. WHat's more it does not require the .NET Framework to be installed on a computer in order to run. The Silverlight setup download includes everything necessary to enable all Silverlight features on a Mac OSX or Windows machine.&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span &gt;So let's get things started:&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span &gt;Install the &lt;/span&gt;&lt;a onkeypress="window.open(this.href, '_blank', ''); return false;" title=".NET Framework 3.5" onclick="window.open(this.href, '_blank', ''); return false;" href="http://go.microsoft.com/fwlink/?LinkID=105481"&gt;&lt;span &gt;.NET Framework 3.5&lt;/span&gt;&lt;/a&gt;&lt;span &gt; (if you have VS2008 this is not necessary, you have it already) first before you install Expression Blend 2.5. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;Install &lt;/span&gt;&lt;a onkeypress="window.open(this.href, '_blank', ''); return false;" title="Silverlight 2 Beta 1" onclick="window.open(this.href, '_blank', ''); return false;" href="http://go.microsoft.com/fwlink/?LinkId=112012"&gt;&lt;span &gt;Silverlight 2 Beta 1&lt;/span&gt;&lt;/a&gt;&lt;span &gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;Install &lt;/span&gt;&lt;a onkeypress="window.open(this.href, '_blank', ''); return false;" title="Expression Blend 2.5 March 2008 Preview" onclick="window.open(this.href, '_blank', ''); return false;" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=32A3E916-E681-4955-BC9F-CFBA49273C7C&amp;amp;displaylang=en"&gt;&lt;span &gt;Expression Blend 2.5 March 2008 Preview&lt;/span&gt;&lt;/a&gt;&lt;span &gt; (25 megabytes) &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span &gt;My next post will take you through creating you first project.&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/4707099970411996914-8325500401703666728?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8325500401703666728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8325500401703666728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8325500401703666728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8325500401703666728'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/getting-ready-for-silverlight-20-part-1.html' title='Getting ready for Silverlight 2.0 - Part 1'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R9G30uFSz5I/AAAAAAAAAc8/thuN7oip84o/s72-c/Silverlight.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8617644435125745517</id><published>2008-03-07T14:30:00.005+01:00</published><updated>2008-03-07T14:52:26.137+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Customising the WebService Help Page</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R9FHKOFSz4I/AAAAAAAAAc0/o-b1lOFOqOk/s1600-h/WSHelp.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174995687729975170" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R9FHKOFSz4I/AAAAAAAAAc0/o-b1lOFOqOk/s200/WSHelp.jpg" border="0" /&gt;&lt;/a&gt; I remember someone asking this question when I was in a course a long while back and the trainer had said, yeah it can be done,but he didn't tell us how :)&lt;br /&gt;&lt;br /&gt;So some years later I'm gonna show you how.&lt;br /&gt;&lt;br /&gt;The trick is in the Web.Config. Inside System.web you can set up a WebServices Tag and then include a wsdlHelpGenerator Tag to place your settings. Some options are now available:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Turn of ALL WSDL and Help!!&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;System.Web&amp;gt;&lt;br /&gt;&amp;lt;webServices&amp;gt;&lt;br /&gt;&amp;lt;protocols&amp;gt;&lt;br /&gt;&amp;lt;remove name="Documentation"/&amp;gt;&lt;br /&gt;&amp;lt;/protocols&amp;gt;&lt;br /&gt;&amp;lt;/webServices&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Or you can point it to your own file:&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;webServices&amp;gt;&lt;br /&gt;&amp;lt;wsdlHelpGenerator href="Default.aspx"&amp;gt;&amp;lt;/wsdlHelpGenerator&amp;gt;&lt;br /&gt;&amp;lt;/webServices&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But like this you have to do the whole page again yourself, there must be an easier way to just add some custom bits like a compnay logo, contact details etd, well there is. If you dig around, %Windows%\Microsoft.NET\Framework\v2.0.50727\CONFIG you'll find a file called &lt;strong&gt;DefaultWsdlHelpGenerator.aspx&lt;/strong&gt;. Now you know what you have to do: Copy it and customise it :) if you want just your webservice changed, or alter it to alter all WebService DOcumentation across the whole machine!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8617644435125745517?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8617644435125745517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8617644435125745517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8617644435125745517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8617644435125745517'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/customising-webservice-help-page.html' title='Customising the WebService Help Page'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R9FHKOFSz4I/AAAAAAAAAc0/o-b1lOFOqOk/s72-c/WSHelp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-363893481468180635</id><published>2008-03-07T10:42:00.011+01:00</published><updated>2008-03-07T13:22:18.064+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Adding a WebReference to a Windows Forms Application in VS2008</title><content type='html'>I'm on a blog posting frenzy this week, since I'm not training :) What with country elections rapidly approaching this weekend!!&lt;br /&gt;&lt;br /&gt;&lt;div style="FLOAT: left; MARGIN: 0px 10px 10px 0px"&gt;&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R9EwIOFSz3I/AAAAAAAAAcs/ur9JTIf7t8w/s1600-h/WS1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174970364602797938" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R9EwIOFSz3I/AAAAAAAAAcs/ur9JTIf7t8w/s200/WS1.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R9EtJuFSzwI/AAAAAAAAAb0/6s6PUBeXnN8/s1600-h/WS1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174967091837718274" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R9EtJuFSzwI/AAAAAAAAAb0/6s6PUBeXnN8/s200/WS1.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;So adding a webreference was very straight forward in VS2005, just right click the project and select Add WebReference.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In VS2008 it is still easy if you are making the reference from a Website ASP.NET app, but try and do it from Windows!!! This is usually one of my favourite demos to show how VS makes it so easy for a windows forms to consume data server across the web. Well we all know that SOA is upon us and so the asnwer is in just that. Ideally we would have a WCF app to consume, not the Webservice directly.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;We could go down this route but I will save that for another post ;) To do it the 'old way' we start with a right click on the project and select Add Service Reference. You should now see a new window like this. &lt;/div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/R9Eth-FSzzI/AAAAAAAAAcM/B0600Vw0alI/s1600-h/WS3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174967508449546034" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R9Eth-FSzzI/AAAAAAAAAcM/B0600Vw0alI/s200/WS3.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Two options exist: The WS way or the WCF way.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Clicking Discover will find the Webservice in the solution and create a Service reference that must be consumed via the WCF route. &lt;/li&gt;&lt;li&gt;The other way is to click Advanced at the bottom and then select WebService. The rest should be very familiar!!&lt;br /&gt;&lt;div style="FLOAT: left; MARGIN: 0px 10px 10px 0px"&gt;&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R9EuJOFSz0I/AAAAAAAAAcU/k7sE6gcFOh0/s1600-h/WS3a.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174968182759411522" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R9EuJOFSz0I/AAAAAAAAAcU/k7sE6gcFOh0/s200/WS3a.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/R9EuN-FSz1I/AAAAAAAAAcc/5eVENaFzcqs/s1600-h/WS4.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174968264363790162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R9EuN-FSz1I/AAAAAAAAAcc/5eVENaFzcqs/s200/WS4.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;What's really interesting is that fact that once you have one WebService Reference you can now do it the old way!!! Right click and you get the image below !!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R9EuSuFSz2I/AAAAAAAAAck/4Vy0gIaZh5w/s1600-h/WS5.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174968345968168802" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R9EuSuFSz2I/AAAAAAAAAck/4Vy0gIaZh5w/s200/WS5.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-363893481468180635?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/363893481468180635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=363893481468180635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/363893481468180635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/363893481468180635'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/adding-webrefernce-to-windows-forms.html' title='Adding a WebReference to a Windows Forms Application in VS2008'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R9EwIOFSz3I/AAAAAAAAAcs/ur9JTIf7t8w/s72-c/WS1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8779916785746445224</id><published>2008-03-05T16:52:00.003+01:00</published><updated>2008-03-05T16:56:46.407+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Miscellaneous'/><title type='text'>Thank you ProcessMeNtOR for the Bottle Warmer!!</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R87CDpzB_KI/AAAAAAAAAa0/ikl3d4F0BDM/s1600-h/IMAG0122.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174286389910568098" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R87CDpzB_KI/AAAAAAAAAa0/ikl3d4F0BDM/s320/IMAG0122.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I've been meaning to post this since I got back from Barcelona! These cool thermos beer bottle coolers are great at keeping our baby's bottles warm for atleast 4 hours!!  My wife loves them and wants more!! :)&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Thank you ...&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.processmentor.com/"&gt;http://www.processmentor.com/&lt;/a&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8779916785746445224?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8779916785746445224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8779916785746445224' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8779916785746445224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8779916785746445224'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/thank-you-processmentor-for-bottle.html' title='Thank you ProcessMeNtOR for the Bottle Warmer!!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R87CDpzB_KI/AAAAAAAAAa0/ikl3d4F0BDM/s72-c/IMAG0122.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-3632952092858610373</id><published>2008-03-05T16:44:00.002+01:00</published><updated>2008-03-05T16:51:33.590+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>Creating a One-Way Webservice to improve responsiveness</title><content type='html'>By default a call to a webmethod will wait for the webservice method to complete the whole webmethod, even if it does not return a value. Now you could invoke the method Asynchronously, but considering you don't care what comes back, because nothing its gonna come back why bother? Well let's see how you can make the method one way, so processing resumes on the client straight after the call to the method. Consider the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;&lt;strong&gt;SoapDocumentMethod(Oneway:=True&lt;/strong&gt;)&amp;gt; _&lt;br /&gt;&amp;lt;WebMethod()&amp;gt; _&lt;br /&gt;Public Sub Oneway()&lt;br /&gt;Threading.Thread.Sleep(10000)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&amp;lt;WebMethod()&amp;gt; _&lt;br /&gt;Public Sub Twoway()&lt;br /&gt;Threading.Thread.Sleep(10000)&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;And then we would call theses like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Dim proxy As New localhost.Service() &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Dim dtStart As New Date &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dtStart = Now &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;proxy.Oneway() &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MessageBox.Show(DateDiff(DateInterval.Second, dtStart, Now)) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dtStart = Now &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;proxy.Twoway() &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MessageBox.Show(DateDiff(DateInterval.Second, dtStart, Now))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;When you run the code the one way method returns instantly, no delay, the two way will wait 10 seconds and stall the client app!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-3632952092858610373?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/3632952092858610373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=3632952092858610373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3632952092858610373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3632952092858610373'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/creating-one-way-webservice-to-improve.html' title='Creating a One-Way Webservice to improve responsiveness'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1409051511340854153</id><published>2008-03-05T16:26:00.002+01:00</published><updated>2008-03-05T16:34:13.113+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>Using Session State in a Webservice AND calling from a Windows Form</title><content type='html'>So setting up a WebMethod to use Session is not that difficult:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;WebMethod(&lt;strong&gt;EnableSession:=True&lt;/strong&gt;)&amp;gt; _&lt;br /&gt;Public Function HelloWorld() As String&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   If Session("FirstCall") Is Nothing Then&lt;br /&gt;      Session("FirstCall") = Now&lt;br /&gt;   End If&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   Return Session("FirstCall")&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;And calling this from a webform is not a problem since the browser can handle session information in a cookie etc.  However it gets just a little tricky when you call it from a windows form because it has no idea about cookies. So you have to take care of it in the call like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;Private Cookies As System.Net.CookieContainer&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click       &lt;br /&gt;  &lt;br /&gt;   Dim proxy As New localhost.Service()       &lt;br /&gt;   ' Set the Cookie Container on the proxy       &lt;br /&gt;   If Cookies Is Nothing Then           &lt;br /&gt;&lt;strong&gt;      Cookies = New System.Net.CookieContainer()        &lt;/strong&gt;&lt;br /&gt;   End If       &lt;br /&gt;   proxy.CookieContainer = Cookies       &lt;br /&gt;   MessageBox.Show(proxy.HelloWorld)      &lt;br /&gt;&lt;br /&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A great explanation can be found here: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa480509.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa480509.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1409051511340854153?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1409051511340854153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1409051511340854153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1409051511340854153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1409051511340854153'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/using-session-state-in-webservice-and.html' title='Using Session State in a Webservice AND calling from a Windows Form'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8295385447606850615</id><published>2008-03-05T12:25:00.002+01:00</published><updated>2008-03-05T12:34:54.226+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='70-529'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Certification'/><title type='text'>Caching a WebService Call</title><content type='html'>&lt;span style="font-family:courier new;"&gt;&amp;lt;WebMethod(&lt;strong&gt;CacheDuration:=10&lt;/strong&gt;)&amp;gt; _&lt;br /&gt;Public Function HelloWorld() As String&lt;br /&gt;Return "Hello World" &amp;amp; Now&lt;br /&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The duration is defined in seconds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8295385447606850615?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8295385447606850615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8295385447606850615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8295385447606850615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8295385447606850615'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/caching-webservice-call.html' title='Caching a WebService Call'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-4529264369109423060</id><published>2008-03-04T11:39:00.003+01:00</published><updated>2008-03-04T11:47:49.771+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Culminis'/><category scheme='http://www.blogger.com/atom/ns#' term='DevNET'/><title type='text'>devNET Malta is now a member of Culminis</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R80oFpR-iNI/AAAAAAAAAas/cD4adyBBMAs/s1600-h/Culminis.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5173835624364280018" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R80oFpR-iNI/AAAAAAAAAas/cD4adyBBMAs/s320/Culminis.jpg" border="0" /&gt;&lt;/a&gt;A few days ago our Maltese .NET Developer Usegroup was accepted as a member of &lt;a href="http://new.culminisconnections.com/default.aspx"&gt;Culminis&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Culminis is an international not-for-profit organization devoted to the development and growth of the IT community.  After supporting and connecting professional user groups and associations, student organizations, and solution providers for more than two years we have come to understand the goals and needs of each group, as well as the resources they have to share.  With this knowledge we are developing programs that ensure a meaningful and equitable exchange of those resources, ultimately elevating the status of the IT Pro both in their industry and in the community.&lt;br /&gt;&lt;br /&gt;This is a greatopportunity for us to contribute globally to .NET development as well as allow us to benefit from the support of a global network of IT professionals that share our same goals...  To make IT Fun!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-4529264369109423060?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/4529264369109423060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=4529264369109423060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/4529264369109423060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/4529264369109423060'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/devnet-malta-is-now-member-of-culminis.html' title='devNET Malta is now a member of Culminis'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R80oFpR-iNI/AAAAAAAAAas/cD4adyBBMAs/s72-c/Culminis.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1912211099922239946</id><published>2008-03-04T10:24:00.005+01:00</published><updated>2008-03-04T10:40:41.180+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='OWA'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS2003'/><title type='text'>Cannot reply to email through Outlook Web Access (OWA) on Windows Vista</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/R80XwZR-iLI/AAAAAAAAAac/frA_aIgJ5vY/s1600-h/OWA.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5173817667106015410" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R80XwZR-iLI/AAAAAAAAAac/frA_aIgJ5vY/s320/OWA.jpg" border="0" /&gt;&lt;/a&gt; Just had a call this morning form a client that was trying to reply to email through the SBS 2003 Outlook Web Access Client. The thing is on Windows XP all works OK and Internet Explorer 7 is installed on both machines. Now after suggesting Firefox as a quick fix I dug deeper. It seems that Firfox will use OWA basic mode by default and so the problem would appear Client side or browser based. However this is not true, it's actually Server side. Exchange uses ActiveX that will not work on Vista. So you have two choices: &lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R80Y4pR-iMI/AAAAAAAAAak/J812gFfvuU8/s1600-h/OWA2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5173818908351563970" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" height="204" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R80Y4pR-iMI/AAAAAAAAAak/J812gFfvuU8/s320/OWA2.jpg" width="225" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Work in Basic mode in IE7 or Firefox and lose some of that great Webclient interface &lt;strong&gt;or&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5BC06E8A-08EB-4976-BC68-A03EBE3A2552&amp;amp;displaylang=en"&gt;this&lt;/a&gt; MS fix to use iFrames on the exchange server!! &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/4707099970411996914-1912211099922239946?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1912211099922239946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1912211099922239946' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1912211099922239946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1912211099922239946'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/cannot-reply-to-email-through-outlook.html' title='Cannot reply to email through Outlook Web Access (OWA) on Windows Vista'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_icm5YwjnC8s/R80XwZR-iLI/AAAAAAAAAac/frA_aIgJ5vY/s72-c/OWA.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8447375518969084386</id><published>2008-03-03T14:30:00.002+01:00</published><updated>2008-03-04T14:36:19.400+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Alias a namespace/library in C# with Using;</title><content type='html'>Just a quick tip on how to make your code a little shorter... and yes this is my first C# post :)&lt;br /&gt;&lt;br /&gt;Have a look at the using directive help on the MS site &lt;a href="http://msdn2.microsoft.com/en-us/library/sf0df423(VS.80).aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This allows you to turn this:&lt;br /&gt;System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();&lt;br /&gt;&lt;br /&gt;into this:&lt;br /&gt;using myData=System.Data.SqlClient;&lt;br /&gt;&lt;br /&gt;myData.SqlConnection = new myData.SqlConnection();&lt;br /&gt;&lt;br /&gt;This is much moreuseful when you have to work with smo in Microsoft.Server.Management.Smo!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8447375518969084386?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8447375518969084386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8447375518969084386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8447375518969084386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8447375518969084386'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/alias-namespacelibrary-in-c.html' title='Alias a namespace/library in C# with Using;'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2047505746435627818</id><published>2008-03-03T11:46:00.004+01:00</published><updated>2008-03-03T11:53:02.195+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Miscellaneous'/><title type='text'>Big thank :)</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R8vYYvkaI8I/AAAAAAAAAaM/eWm19hLY2UI/s1600-h/thank-you.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5173466516562781122" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R8vYYvkaI8I/AAAAAAAAAaM/eWm19hLY2UI/s320/thank-you.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Just wanted to drop a &lt;strong&gt;BIG THANK YOU &lt;/strong&gt;to everyone who visits my blog and also those that leave comments. The hit stats are looking quite respectable now, almost 2000 a month is not too bad!! I will do my best to boost my input over the next few months with more on VS 2008 and most especially Silverlight. So please keep coming back :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2047505746435627818?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2047505746435627818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2047505746435627818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2047505746435627818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2047505746435627818'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/big-thank.html' title='Big thank :)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R8vYYvkaI8I/AAAAAAAAAaM/eWm19hLY2UI/s72-c/thank-you.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7386148482547599251</id><published>2008-03-03T11:33:00.005+01:00</published><updated>2008-03-03T11:43:11.545+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2003 Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.</title><content type='html'>I was removing WinXP clients from a domain and then joining them to a newone the other day and came across this error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5173463029049336738" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R8vVNvkaI6I/AAAAAAAAAZ8/_43MoVgLbAY/s320/Windows+domain.bmp" border="0" /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.  Disconnect all previous connections to the server or shared resource and try again.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;My leaving the domain was fine, it was the joining the domain that was the problem.  However I had failed to read the message, I still had mapped drives to the shared folders on the old domain with the same user nameand folders.  So I quickly disconnected the shares and the joining to the domain was instant!!  I could then remap them all again.&lt;br /&gt;&lt;br /&gt;Moral of the story: READ THE ERROR MESSAGE!!!  They sometimes make sense :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7386148482547599251?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7386148482547599251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7386148482547599251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7386148482547599251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7386148482547599251'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/03/multiple-connections-to-server-or.html' title='Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R8vVNvkaI6I/AAAAAAAAAZ8/_43MoVgLbAY/s72-c/Windows+domain.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1134373944902129759</id><published>2008-02-29T09:31:00.004+01:00</published><updated>2008-02-29T10:04:43.145+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Launch'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='MODL'/><title type='text'>Heros Happen {Here} : Virtual Launch!</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R8fKnPkaI5I/AAAAAAAAAZ0/Z0higlp4dhw/s1600-h/hero_event.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5172325472601252754" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R8fKnPkaI5I/AAAAAAAAAZ0/Z0higlp4dhw/s320/hero_event.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Yesterday was a great day for Microsoft and for some MCT's!! We had the chance to participate in a 24hr Virtual launch that was seen by people all over the world. Starting on Wednesday 28th Feb at 12 pm PST, Steve Ballmer launched a new wave of products that would dramatically change the way software developers go about their work. His keyote was supplimented with the kick off of the 24hr virtual launch presented by about 20 MCT's from around the world who delivered a 1hr session through live meeting that was free to attend and repeated 24 times!! The recorded sessions can now be viewed again and there is still the chance to get a two hour free online virtual clinic form &lt;a href="http://www.microsoft.com/learning/hero/modl/default.mspx"&gt;here&lt;/a&gt; too. Scroll down the page for the live meeting recordings. If you didn't get the chance to attend you can also download the slides for the event too.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1134373944902129759?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1134373944902129759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1134373944902129759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1134373944902129759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1134373944902129759'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/heros-happen-here-virtual-launch.html' title='Heros Happen {Here} : Virtual Launch!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R8fKnPkaI5I/AAAAAAAAAZ0/Z0higlp4dhw/s72-c/hero_event.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1257871561562569201</id><published>2008-02-27T12:55:00.005+01:00</published><updated>2008-02-27T13:51:46.406+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2000'/><title type='text'>The image file E:\en_SQL2000_Ent_64bit_VL\setup.exe is valid, but is for a machine type other than the current machine.</title><content type='html'>Just setup a Windows 2003 R2 Server 64bit and then tried to installed SQL Server 2000 64bit edition. Unfortunately I was greeted with this error:&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5171640492349664914" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R8VboJSHLpI/AAAAAAAAAZs/cQFLrGcOIgA/s320/SQL2000.bmp" border="0" /&gt; It turns out that this version of SQL server targeted the Itanium 64 processor, where as this server was a Xeon. So it seems I will have to deploy SQL 2000 32 bit edition and make sure to apply SP4 !!  The installation cannot be carried out from the autorun, but has to be run from the x86\setup directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1257871561562569201?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1257871561562569201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1257871561562569201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1257871561562569201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1257871561562569201'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/image-file-eensql2000ent64bitvlsetupexe.html' title='The image file E:\en_SQL2000_Ent_64bit_VL\setup.exe is valid, but is for a machine type other than the current machine.'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_icm5YwjnC8s/R8VboJSHLpI/AAAAAAAAAZs/cQFLrGcOIgA/s72-c/SQL2000.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7602801418293359685</id><published>2008-02-22T21:59:00.005+01:00</published><updated>2008-02-22T22:25:27.788+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Windows Vista SP1 for x86 and x64 is here!</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R789AZSHLoI/AAAAAAAAAZk/mK_h56SWl0Y/s1600-h/VistaSP1a.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5169917974240767618" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R789AZSHLoI/AAAAAAAAAZk/mK_h56SWl0Y/s320/VistaSP1a.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Yes Microsoft have released SP1 for Vista. I downloaded it today on DVD for x86 and x64 thru the MSDN site. There is a great 53 page document what has changed with this release, hopefully I'll have time to read it and blog it!! If I don't the link is &lt;a href="http://download.microsoft.com/download/f/4/a/f4a35b2b-2f62-4104-a3e6-5f7bc1318e9f/Notable%20changes%20in%20Windows%20Vista%20SP1.pdf"&gt;here&lt;/a&gt;. There is also some info on the TechNet site &lt;a href="http://technet.microsoft.com/en-us/windowsvista/bb738089.aspx"&gt;here&lt;/a&gt;. Once I installed it I just had to take these two screen shots.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;I dig the the caption in this one:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5169917643528285810" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R788tJSHLnI/AAAAAAAAAZc/nensRj54Xzo/s320/VistaSP1.jpg" border="0" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7602801418293359685?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7602801418293359685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7602801418293359685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7602801418293359685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7602801418293359685'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/windows-vista-sp1-for-x86-and-x64-is.html' title='Windows Vista SP1 for x86 and x64 is here!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R789AZSHLoI/AAAAAAAAAZk/mK_h56SWl0Y/s72-c/VistaSP1a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-646963051850464916</id><published>2008-02-18T22:24:00.004+01:00</published><updated>2008-03-20T00:27:30.725+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Project 'SilverlightProject1' could not be opened because the Microsoft Visual Basic 2008 compiler could not be created. Unable to find required file</title><content type='html'>I've been working fine with Silverlight under my VS 2005 installation but recently I said I'd start doing that work in VS2008. So I installed the Silverlight tools for VS2008 and found a nice new project template for Silverlight projects and class libraries. I clicked it and got a nice Error:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#666666;"&gt;Project 'SilverlightProject2' could not be opened because the Microsoft Visual Basic 2008 compiler could not be created. Unable to find required file 'mscorlib.dll'. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I hunted around the web and ended up on ScottGu's blog, surprise:) Some said ditch VB.NET and use C#. Sure enough the C# project worked fine, grrrr. So I uninstalled Silverlight 1.0 and tried the Silverlight 1.1 alpha September refresh. Guess what all is OK. Works a charm in VB.NET.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-646963051850464916?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/646963051850464916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=646963051850464916' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/646963051850464916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/646963051850464916'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/project-silverlightproject1-could-not.html' title='Project &apos;SilverlightProject1&apos; could not be opened because the Microsoft Visual Basic 2008 compiler could not be created. Unable to find required file'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-229170213121815052</id><published>2008-02-18T12:54:00.003+01:00</published><updated>2008-03-05T12:36:43.137+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Accessing resources in a non-typed way in VB.NET</title><content type='html'>OK so the my namespace is really cool, but sometimes we just want more!! to get at a string in the resources of an app is easy. Go to the project tab, add astring resource with the name CompanyName and then type the value in the field nextdoor. Access the value in code like this&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;label1.text = My.resources.CompanyName&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now intellisense haspicked up the strongly type property and helps you. The same works for images, add an image to the resource file, browse for it and name it Image1. The following code also works:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Picturebox1.Image = My.resources.Image1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note no need for the extension and also the intellisense pops up again. You just have to love this!!&lt;br /&gt;&lt;br /&gt;So now you want to load a random file from the resources, like a random picture..... hmm this strong typing is getting in the way now grrrr.&lt;br /&gt;&lt;br /&gt;Do not fret use the resourcemanager, this lets you get to any resource in the current assembly using a string paramater with its name. YES&lt;br /&gt;&lt;br /&gt;So imgine you have 10 pics, called 0.jpg, 1.jpg, 2.jpg etc and you want to load them randomly&lt;br /&gt;&lt;br /&gt;so the code now looks like this&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Dim intNumber as integer = System.Convert.ToInteger(Math.rnd() * 9 )&lt;br /&gt;Picturebox.Image = CType(My.resources.ResourceManager.GetObject(intNumber), Image)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also call the GetString method to pull strnig resources in an untyped fashion!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-229170213121815052?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/229170213121815052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=229170213121815052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/229170213121815052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/229170213121815052'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/accessing-resources-in-non-typed-way-in.html' title='Accessing resources in a non-typed way in VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-9161384161488910684</id><published>2008-02-15T16:41:00.004+01:00</published><updated>2008-03-05T12:39:19.028+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Web Parts common Error when getting started</title><content type='html'>A common error many ASP.NET 2.0 beginner developers make is that when they decide to get into WebParts they drag a WebPartManager on the screen and a WebPartZone and then bung in a control. To their dismay, when they press F5 to run the program they get a nasty error like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#999999;"&gt;Error:Server Error in '/WebSite1' Application.--------------------------------------------------------------------------------&lt;br /&gt;An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. SQLExpress database file auto-creation error:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now this error may appear completely unrelated and confusing but it makes sense when you know why ASP is complaining. Basically the WebPartManager is trying to contact the profile store to save your persoanlisation settings, which happen to default to SQLServer by default. Now your app is clean and you have not specified anywhere that you wanted to SQL as your profile storeor perhaps you don't have SQL even installed. So to get around this just switch off the webpartmanager personalisation by setting its personalisation attribute to false:&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:webpartmanager id="webpartManagerSampleSite" runat="server" enabled="false"&amp;gt;&amp;lt;/asp:webpartmanager&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-9161384161488910684?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/9161384161488910684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=9161384161488910684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9161384161488910684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9161384161488910684'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/web-parts-common-error-when-getting.html' title='Web Parts common Error when getting started'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-427239973846377972</id><published>2008-02-08T20:30:00.000+01:00</published><updated>2008-02-08T21:21:32.567+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008'/><title type='text'>Windows 2008 Server RTM</title><content type='html'>It's here, yes 18 days before the 2008 Global Launch Wave, three versions have been RTM'ed and are now available for download to MSDN subscribers:&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Standard Edition,&lt;/li&gt;&lt;li&gt;Enterprise Edition and&lt;/li&gt;&lt;li&gt;Datacenter Edition.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;All are available in x86 or x64 versions :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5164704461339127474" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R6y3WAP-brI/AAAAAAAAAZE/AI5h43l6TR0/s320/win2K8.jpg" border="0" /&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;The x86 version is a 1794 MB download. As you can see I couldn't wait to get it installed and try it out!! &lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5164705358987292354" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R6y4KQP-bsI/AAAAAAAAAZM/PWyjnsR2Mc8/s320/win2K8a.jpg" border="0" /&gt; &lt;img id="BLOGGER_PHOTO_ID_5164705951692779218" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R6y4swP-btI/AAAAAAAAAZU/lkZzasu72Ko/s320/win2K8b.jpg" border="0" /&gt; BTW, the virtual machine had 800MB of RAM and installed in about 15-20 minson a Core2Duo 2.4Ghz HP laptop.  The Hard Disk now occupies 5.7GB of space :)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-427239973846377972?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/427239973846377972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=427239973846377972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/427239973846377972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/427239973846377972'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/windows-2008-server-rtm.html' title='Windows 2008 Server RTM'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_icm5YwjnC8s/R6y3WAP-brI/AAAAAAAAAZE/AI5h43l6TR0/s72-c/win2K8.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1818058374170156837</id><published>2008-02-02T21:03:00.000+01:00</published><updated>2008-02-08T21:22:00.756+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET 2.0 Dynamic master page switching</title><content type='html'>I've been delving into master pages this week and found some really neat features that alot of people often ask for. This I think is one of them. In the next three steps I show you how to allow the user to switch masterpages. Basically the idea hinges on the fact that the masterpagefile property of a page can be switched at runtime, but it has to be done in the preinit event of the form with the content. The users selection can be stored in any session management storage. So here are the steps:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create two or more master pages with the same ContentPlaceHolder controls and public properties. These could be straight copies or better still two child masters based on the same masterfile&lt;/li&gt;&lt;li&gt;Optionally, provide a way for users to switch between master pages. &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;Session("masterpage") = "Master2.master" &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;Response.Redirect(Request.Url.ToString)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;Assign the master page in the content page’s Page_PreInit method.&lt;br /&gt;&lt;ul&gt;&lt;span style="font-family:courier new;"&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;Sub Page_PreInit(ByVal sender As Object, ByVal e _ As EventArgs) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;If Not (Session("masterpage") Is Nothing) Then&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;MasterPageFile = CType(Session"masterpage") ,String) &lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;End If &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1818058374170156837?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1818058374170156837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1818058374170156837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1818058374170156837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1818058374170156837'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/02/aspnet-20-dynamic-master-page-switching.html' title='ASP.NET 2.0 Dynamic master page switching'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8025356254657243952</id><published>2008-01-01T16:11:00.000+01:00</published><updated>2008-01-02T16:28:14.861+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='INETA'/><title type='text'>1st European Silverlight Challenge</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/R3usc68kwmI/AAAAAAAAAPg/7eOko24WWQM/s1600-h/Header.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150900211687932514" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R3usc68kwmI/AAAAAAAAAPg/7eOko24WWQM/s320/Header.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Thanks to my good friend Daniel Joskovski in Macedonia I am proud to say that Malta will be hosting the 1st European Silverlight Challenge on a country level. The winners of this will go through to compete on a international level against other European finalists.  The aim is to develop a Silverlight Web Component that can be GPL'ed for use by other Usegroups.  To participate please direct your browser to our site at: &lt;a href="http://malta.silverlightchallenge.com/"&gt;http://malta.silverlightchallenge.com&lt;/a&gt;.  Here you will find all the info you need to enter the competition, what you need to do, the rules, and of course the prizes (or SWAG as they say in the UK)!!!  The deadline is the end of this month for submissions so hurry.  I'm telling you the prizes are cool, so hurry!!  As a bonus, the devNET user group will be holding a Silverlight presentation to help you get started.  Details can be found here: &lt;a href="http://www.devnetmalta.com/dnn"&gt;http://www.devnetmalta.com/dnn&lt;/a&gt;.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8025356254657243952?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8025356254657243952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8025356254657243952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8025356254657243952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8025356254657243952'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/01/1st-european-silverlight-challenge.html' title='1st European Silverlight Challenge'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_icm5YwjnC8s/R3usc68kwmI/AAAAAAAAAPg/7eOko24WWQM/s72-c/Header.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-3384515143627192052</id><published>2007-12-27T16:03:00.000+01:00</published><updated>2008-01-02T16:10:48.713+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Global Launch Wave'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2008'/><title type='text'>Vista Sidebar Gadget - Countdown to "2008 Global Launch Wave"</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/R3uok68kwlI/AAAAAAAAAPY/HSnNUJey6Gs/s1600-h/Global+Lauch+Wave.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5150895951080374866" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/R3uok68kwlI/AAAAAAAAAPY/HSnNUJey6Gs/s320/Global+Lauch+Wave.JPG" border="0" /&gt;&lt;/a&gt;Since our user group will be hosting the Global Launch Wave 2008 I figured it woul be usefull for people to keep track of the launch. Turns out someone has already created a Vista gadget to do just that! It counts down the number of days until the "2008 Global Launch Wave" which will start on wednesday February 27th 2008. Windows Server 2008, Visual Studio 2008 and SQL Server 2008 will then all be launched. Follow the link &lt;a href="http://www.wedsg.com/winclient/vistasidebargadget/download.htm"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-3384515143627192052?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/3384515143627192052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=3384515143627192052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3384515143627192052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3384515143627192052'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2008/01/vista-sidebar-gadget-countdown-to-2008.html' title='Vista Sidebar Gadget - Countdown to &quot;2008 Global Launch Wave&quot;'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_icm5YwjnC8s/R3uok68kwlI/AAAAAAAAAPY/HSnNUJey6Gs/s72-c/Global+Lauch+Wave.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1717946574107725138</id><published>2007-11-24T23:58:00.000+01:00</published><updated>2008-02-08T21:23:45.433+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>VS 2008 - Getting Started (Mult-targeting)</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/R0is-AysMyI/AAAAAAAAAOY/XxrmXgCl9WI/s1600-h/VS2008a.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136545556380529442" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R0is-AysMyI/AAAAAAAAAOY/XxrmXgCl9WI/s320/VS2008a.jpg" border="0" /&gt;&lt;/a&gt;So, first things first!! I downloaded the RTM of VS 2008 Profssional iso, burnt it to a DVD and installed. No problems so far on my Vista Desktop :)&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;So for the next few weeks I'll show you what's new and why you can get onto this new product as soon as possible. I've seen a great session by Daniel Moth at TechEd Developers two weeks ago and so I will be using his tour tips in this series too. I'm telling you if you get a chance to go to any of his sessions, GO! He packs 150mins in 75 mins and sometimes you have to play it back again at half speed :)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;So for this first session whats new?! &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/R0ivUAysMzI/AAAAAAAAAOg/CKr-697Fbr8/s1600-h/VS2008b.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136548133360907058" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/R0ivUAysMzI/AAAAAAAAAOg/CKr-697Fbr8/s320/VS2008b.jpg" border="0" /&gt;&lt;/a&gt;Firstly Multi-Targeting. What this basically does is allow you to say, hmmm this solution will be based on .NET Framework 2.0, or 3.0 or 3.5. THen what happens is the IDE removes all features not related to the selected target .NET framework. So if you chose 2.0, all the WPF stuff goes away. So perhaps you start with 3.0, and after a time, having used some 3.0 stuff by accident :) you flip back to 2.0? Well the IDE will flag all the 3.0 stuff that will no longer work!! Cool!!!&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;So this is most definitely the first most important thing you will see, and also a great selling point for you to ask your boss to upgrade and possibly not use VS2005 any more. Since you can still target those apps selectively and work on other projects for 3.5 all with the same great tool.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1717946574107725138?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1717946574107725138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1717946574107725138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1717946574107725138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1717946574107725138'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/vs-2008-getting-started-mult-targeting.html' title='VS 2008 - Getting Started (Mult-targeting)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_icm5YwjnC8s/R0is-AysMyI/AAAAAAAAAOY/XxrmXgCl9WI/s72-c/VS2008a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7866240011233924892</id><published>2007-11-20T00:12:00.000+01:00</published><updated>2007-11-20T16:11:23.748+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Visual Studio 2008 RTM now available for download</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/R0IZvQysMxI/AAAAAAAAAOQ/WPRUnFgoD1g/s1600-h/vs2008.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5134694824907911954" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/R0IZvQysMxI/AAAAAAAAAOQ/WPRUnFgoD1g/s320/vs2008.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Atleast for MSDN subscribers anyway.&lt;br /&gt;&lt;br /&gt;As of yesterday you can now download the following versions from &lt;a href="http://msdn2.microsoft.com/en-us/subscriptions/default.aspx"&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VS 2008 Professional &lt;/li&gt;&lt;li&gt;VS 2008 Standard &lt;/li&gt;&lt;li&gt;VS 2008 Express &lt;/li&gt;&lt;li&gt;VS 2008 Team suite and foundation server (Trials) &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The rest should be coming soon, atleast before the end of the month, as promised at TechEd Developers 2008 :)&lt;/p&gt;&lt;br /&gt;PS Don't forget to turn off your popup blocker or you won't be able to download the files :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7866240011233924892?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7866240011233924892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7866240011233924892' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7866240011233924892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7866240011233924892'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/visual-studio-2008-is-here.html' title='Visual Studio 2008 RTM now available for download'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/R0IZvQysMxI/AAAAAAAAAOQ/WPRUnFgoD1g/s72-c/vs2008.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5215613677084494719</id><published>2007-11-19T22:04:00.000+01:00</published><updated>2007-11-19T22:08:42.517+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MCT Summit'/><title type='text'>EMEA MCT Community Summit 2008</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/R0H7UAysMwI/AAAAAAAAAOI/jbdUoi12y8w/s1600-h/MCTSummit.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5134661371407643394" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/R0H7UAysMwI/AAAAAAAAAOI/jbdUoi12y8w/s320/MCTSummit.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Well registrations have been open for a few weeks and the number of registrations is staggering. Most people that reserved a seat have now confirmed and we are looking forward to a sellout in Berlin this year. With lots of Developer content this year on VS2008 and SQL2008 I'm sure it's gonna be a great event. If you're an MCT and interested in jumpstarting on these latest MS releases, check out the website for the event &lt;a href="http://www.microsoft.com/germany/learning/mct/mctsummit2008.mspx"&gt;here&lt;/a&gt;, and register today.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5215613677084494719?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5215613677084494719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5215613677084494719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5215613677084494719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5215613677084494719'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/emea-mct-community-summit-2008.html' title='EMEA MCT Community Summit 2008'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/R0H7UAysMwI/AAAAAAAAAOI/jbdUoi12y8w/s72-c/MCTSummit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-678322947741124135</id><published>2007-11-09T16:18:00.000+01:00</published><updated>2007-11-17T21:50:06.381+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 5</title><content type='html'>Well TechEd Developers is now over and I'm exhausted!! IT Forum will be starting this week and I'm sure they are planning some great stuff. I'm quite happy to take back my new htc Touch and my free delegate pass for next year, so all-in-all it's been a great event.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-678322947741124135?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/678322947741124135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=678322947741124135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/678322947741124135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/678322947741124135'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-5.html' title='TechEd - Day 5'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7064444983291830723</id><published>2007-11-08T18:07:00.000+01:00</published><updated>2007-11-16T23:17:59.660+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 4 part 2</title><content type='html'>Phew it all over... or is it just beginning....&lt;br /&gt;The finalists were:&lt;br /&gt;Maciej Pilecki&lt;br /&gt;Karl Davies-Barrett&lt;br /&gt;Bill Aryes&lt;br /&gt;Jeff Wharton&lt;br /&gt;&lt;br /&gt;The running order was decided on the spot with each contestant drawing a number. I followed up on Maciej's new presentation on SQL UDF's with my WPF in windows forms. I was chilled and relaxed and enjoyed every minute. THe presentation went like a dream and the judges were very favourable. Jeff's SQL RAID talk went really well. His 'Big Daddy' for RAID 10 was a cool touch picked up by the judges, perhaps that's what clinched it.&lt;br /&gt;&lt;br /&gt;The Final results were&lt;br /&gt;&lt;br /&gt;Jeff Wharton&lt;br /&gt;Karl Davies-Barrett&lt;br /&gt;Maciej Pilecki&lt;br /&gt;Bill Aryes&lt;br /&gt;&lt;br /&gt;So Jeff is coming over to speak next year and got 1m of books. I get a free delegate pass and 0.5m of books. So I'm over the moon :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7064444983291830723?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7064444983291830723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7064444983291830723' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7064444983291830723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7064444983291830723'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-4-part-2.html' title='TechEd - Day 4 part 2'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-4461367269669576071</id><published>2007-11-08T14:06:00.000+01:00</published><updated>2007-11-08T14:15:52.136+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 4</title><content type='html'>Whooooo, I'm in the final!! :)  After beating off stiff competition from another MCT from Lebanon I'm presenting my session again in the final in just 30 mins time.  I've tweeked it slightly and hope it will give me an edge over the other two MCT finalists.  It's not gonna be easy cos they are all really good, but the experience will be worth it.  Being a wave 4 winner I should present last which is good and bad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-4461367269669576071?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/4461367269669576071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=4461367269669576071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/4461367269669576071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/4461367269669576071'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-4.html' title='TechEd - Day 4'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-9060957187176039726</id><published>2007-11-07T12:30:00.000+01:00</published><updated>2007-11-08T08:52:39.125+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 3</title><content type='html'>Great news.... my flat mate &lt;a href="http://whartonj.blogspot.com/"&gt;Jeff Wharton&lt;/a&gt; is thru to the Speaker Idol Finals tomorrow.  He gave a great presentation on SQL Server, RAID, and Developers!!  Even though the sound was all broken in the begining he kept going.  It was amazing to see another Aussie in the running, Brent Shepard, and Michael Howard on the judging Panel, from New Zealand.  Naturally it was a great time and every one really enjoyed the show.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-9060957187176039726?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/9060957187176039726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=9060957187176039726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9060957187176039726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9060957187176039726'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-3.html' title='TechEd - Day 3'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-9011953986825780415</id><published>2007-11-06T15:00:00.000+01:00</published><updated>2007-11-08T08:47:41.283+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 2 (part 2)</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/RzK98bPUnWI/AAAAAAAAADs/BYiWD2MnIjA/s1600-h/h2mcp.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5130371771330239842" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/RzK98bPUnWI/AAAAAAAAADs/BYiWD2MnIjA/s320/h2mcp.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I think I've been swagged!!! I was walking through the Community Area when one the the &lt;a href="http://www.nxtgenug.net/"&gt;NxtGenUG&lt;/a&gt; guys grabs me and say wanna take part in a little quiz show... Swaggidy Swag. I'm like...OK and I sat down in the hot seat!! So the rules are like this. The presenter asks you a question and you have to think of an answer. In the meantime the judges, made up from other TechEd Attendees and Speaker Idol Judges write down what they think you are going to say. If they match you get points. Simple right? Well After 3 rounds, we had only got one point each. Just to give you a sample of the questions..&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Visual Studio is good for Developers... Mac is good for Designers... Linux is good for...&lt;/div&gt;&lt;div&gt;Or &lt;/div&gt;&lt;div&gt;Dave has a very large Laptop bag, the other day he pull a .... out of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;As you can see the questions leave a lot of scope for imagination!!! The winning question for me was: The IT world needs more.... And I said SUPERMODELS!!! Luckly two/three of the judges were on my wavelength.&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/RzK8yrPUnVI/AAAAAAAAADk/NyqMJX7aom4/s1600-h/images.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5130370504314887506" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/RzK8yrPUnVI/AAAAAAAAADk/NyqMJX7aom4/s320/images.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;So what did I win... a bag full of goodies like an &lt;a href="http://www.apress.com/"&gt;Apress book on WF&lt;/a&gt;, Virtual Earth Mug, T-Shirts and....... an &lt;a href="http://www.htc.com/product/03-product_htctouch.htm"&gt;HTC Touch Smart Phone&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;It took me about 2 hours to figure out how to use it, since I never owned a smartphone before, but I do now have an excellent PDA Trainer... &lt;a title="" href="http://www.pdaexpert.net/author/caio-proiete" rel="friend co-worker"&gt;Caio Proiete&lt;/a&gt; - The PDA Expert.  It wasn't long before he showed me the Wifi, Skype on the phone, Touch-Flo....cool.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-9011953986825780415?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/9011953986825780415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=9011953986825780415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9011953986825780415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9011953986825780415'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-2-part-2.html' title='TechEd - Day 2 (part 2)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/RzK98bPUnWI/AAAAAAAAADs/BYiWD2MnIjA/s72-c/h2mcp.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1287421126708663825</id><published>2007-11-06T10:00:00.000+01:00</published><updated>2007-11-08T08:54:04.380+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 2</title><content type='html'>Well today was an amazing day. While I was in the Hands-on-lab in the morning looking after the ASP.NET Exercises, good news arrived .... I was told that due to sound problems on the first day of Speaker Idol and the load background music it was only fair that I was given a second a chance to present my session: Spicing up Windows forms with a little WPF! Well I was over the moon!! So this Thursday I will give it another go against two other MCT's who are also Hands-On-Lab Proctors also.&lt;br /&gt;&lt;br /&gt;Thanks a lot to the organises for making this possible, I'm looking forward to it :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1287421126708663825?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1287421126708663825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1287421126708663825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1287421126708663825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1287421126708663825'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/teched-day-2.html' title='TechEd - Day 2'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6764021166333063211</id><published>2007-11-06T01:25:00.000+01:00</published><updated>2007-11-19T22:15:16.821+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd - Day 1 : Speaker Idol 2007 - First wave</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/Ry-1zAf-FDI/AAAAAAAAADc/K6KcCa04560/s1600-h/logo_smile_large.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5129518388510331954" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/Ry-1zAf-FDI/AAAAAAAAADc/K6KcCa04560/s320/logo_smile_large.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Well I gave a hell of a presentation of WPF controls inside a Winforms to a packed confernece are TechEd Developers BCN tonight. First night, opening reception, first slot. After 3 seconds I calmed down and loved every minute. Unfortunately it was not enough to get me through, I came second to &lt;a onclick="profile_log_friend_click([787772701,717510801,800268271,560626074,691972422],2)" href="http://www.facebook.com/profile.php?id=800268271"&gt;Maciej Pilecki&lt;/a&gt; after he gave a talk on SQL server Table variables vs temporary tables. Still the experience was worth every minute. Guess I have an excuse to try again next year!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6764021166333063211?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6764021166333063211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6764021166333063211' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6764021166333063211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6764021166333063211'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/11/speaker-idol-2007-first-wave.html' title='TechEd - Day 1 : Speaker Idol 2007 - First wave'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/Ry-1zAf-FDI/AAAAAAAAADc/K6KcCa04560/s72-c/logo_smile_large.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5956540009978942974</id><published>2007-10-27T15:17:00.000+01:00</published><updated>2007-10-27T15:22:20.602+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Toshiba Satellite A200 runniing Windows Vista - Built in Webcam stopped working</title><content type='html'>Although this had nothing to do with with Microsoft Anytime I was getting the following message:&lt;br /&gt;When you select Start Camera in the Camera Assistant software you may see this error message: "Please turn on the Camera".&lt;br /&gt;&lt;br /&gt;After wasting half an hour trying to reinstall the driver, down load the orignal software etc, I stumbled across the soltuion on the &lt;a href="http://209.167.114.38/support/techsupport/tsbs/all/-TSB001405.htm"&gt;Toshiba site&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;Firstly&lt;br /&gt;Re-install the driver for the webcam.&lt;br /&gt;&lt;br /&gt;Then Follow these steps to re-install the driver for the webcam.&lt;br /&gt;You will need to be logged in as an Administrator or have an Administrator password ready.&lt;br /&gt;&lt;br /&gt;1. Click the Windows Start button.&lt;br /&gt;2. Click Control Panel, System and Maintenance and then Device Manager.&lt;br /&gt;3. Right-click on Chicony USB 2.0 Camera and select Update Driver Software. A yellow exclamation point indicates that the camera is recognized by Windows but is not working properly, probably because of problem with the device driver&lt;br /&gt;4. Select Browse my computer for the driver software.&lt;br /&gt;5. Select Let me pick from a list of device drivers on my computer.&lt;br /&gt;6. Select &lt;strong&gt;USB Video Device&lt;/strong&gt; from the list, and click Next.&lt;br /&gt;7. If the message “Windows encountered a problem installing the driver software for your device” appears, click Close.&lt;br /&gt;8. Restart Windows.&lt;br /&gt;&lt;br /&gt;The webcam should now work properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5956540009978942974?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5956540009978942974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5956540009978942974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5956540009978942974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5956540009978942974'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/10/toshiba-satellite-a200-runniing-windows.html' title='Toshiba Satellite A200 runniing Windows Vista - Built in Webcam stopped working'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6634735357494531673</id><published>2007-10-20T10:41:00.000+01:00</published><updated>2007-10-20T10:46:54.954+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='PocketPC'/><title type='text'>Sync Pocket PC2003 on HP 5450 pda with Vista</title><content type='html'>&lt;p&gt; I know that ActiveSync cannot be used on Vista to Sync outlook.  However if you read the supported OS section of Microsoft Windows Mobile Device Center 6.1 for Windows Vista (32-bit) you'll see that any pocketPC 2003/2 version is not supported.&lt;br /&gt;&lt;br /&gt;So there was me thinking of either downgrading my OS back to XP or buying a new PDA!!!  Then I came across someone who said, hey just install it anyway, I've been syncing my HP 5455 no problem.  So I thought, if he can do it....so can I!!  Well the install of WMDM was a breeze and the UI rocks.  I held my breath for a while whan I said setup partnership, thinkig here comes the 'your device is too old....' But it worked.  It actually worked and now I can sync on Vista with my Outlook on Pocket PC2003.  I think there is 1 proviso, the desktop must not be Outlook 2002 or 2003.  However on this I am not sure.&lt;/p&gt;&lt;p&gt;So it looks like no new PDA for me.... just yet :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6634735357494531673?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6634735357494531673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6634735357494531673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6634735357494531673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6634735357494531673'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/10/sync-pocket-pc2003-on-hp-5450-pda-with.html' title='Sync Pocket PC2003 on HP 5450 pda with Vista'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5032507357676258946</id><published>2007-10-19T22:20:00.000+01:00</published><updated>2007-10-19T22:57:56.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speaker Idol'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>Speaker Idol 2007 @ TechEd Devlopers Barcelona</title><content type='html'>YES YES YES, I'm through to being on of the last 9-12 finalists for the &lt;a href="http://www.mseventseurope.com/teched/07/Developers/news/Pages/SpeakerIdol.aspx"&gt;Speaker Idol contest at TechEd Developers&lt;/a&gt; this year.  After recording my 3 minute on How to Spice up your Windows Forms applications with a little WPF session over 20 times, I had the pleasure of recieving an email today say that I'm through to the next round.  Whooo :) Just one step before the finals now!!! There will be 3 waves – each wave will host 3-4 participants.  The 3 wave winners will then redeliver their presentation to the judges at which stage one overall winner and one runner-up will be selected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5032507357676258946?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5032507357676258946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5032507357676258946' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5032507357676258946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5032507357676258946'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/10/speaker-idol-2007-teched-devlopers.html' title='Speaker Idol 2007 @ TechEd Devlopers Barcelona'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1488816922775632852</id><published>2007-10-04T22:59:00.000+01:00</published><updated>2007-10-04T23:06:43.422+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS2003'/><title type='text'>Joining a Windows Vista Business Desktop Client to Small Business Server 2003</title><content type='html'>Spent most of today trying to get a Vista desktop to join an SBS 2003 server.  Most of the time was wasted trying to get SP2 on the machine which did not seem to be properly installed.  This is a pre-requisite to installing the various patchs found &lt;a href="http://support.microsoft.com/kb/926505"&gt;here&lt;/a&gt; on the SBS 2003 server.  This &lt;a href="http://www.microsoft.com/windowsserver2003/sbs/techinfo/planning/chartdesktop.mspx"&gt;page&lt;/a&gt; leads in nicely to all the supported combinations of clients and servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1488816922775632852?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1488816922775632852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1488816922775632852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1488816922775632852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1488816922775632852'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/10/joining-windows-vista-business-desktop.html' title='Joining a Windows Vista Business Desktop Client to Small Business Server 2003'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1235712514792632318</id><published>2007-09-20T15:01:00.000+01:00</published><updated>2007-09-20T15:20:48.593+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>The type 'namespace.ClassName', provided as the Service attribute value in the ServiceHost directive could not be found.</title><content type='html'>So I'm working through my WCF Step-by-step using my favourite langauge, VB.NET, although the book is written in C#! No VB.NET code here so I have to translate and type, no copy paste for me. Well after carefully crafting an interface as the public part of my service and implementing the interface in a class, I build the svc file just like the book and get&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;strong&gt;The type 'Products.ProductsServiceImpl', provided as the Service attribute value in the ServiceHost directive could not be found&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I think this is a typo, so I check my namespace, OK, I check the Class that implents the interface and it checks out, so I google a bit and some say, you need the fully qualified name. hmmm So I take of the rootnamespace on the assembly and all is OK. But this is not the way to fix problems, I want my rootnamspace so I decide to alter the svc to look like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;ServiceHost Service="ProductsService.Products.ProductsServiceImpl"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Looks good but then I get another error:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;Service 'ProductsService.Products.ProductsServiceImpl' has zero application (non-infrastructure) endpoints. This might be because no configuration file was found for your application, or because no service element matching the service name could be found in the configuration file, or because no endpoints were defined in the service element.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;So lets look in the Web.config, under system.serviceModel section:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;service behaviorconfiguration="ProductsBehavior" name="Products.ProductsServiceImpl"&lt;br /&gt;endpoint address="" contract="Products.IProductsService" binding="basicHttpBinding"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ohhh the servicename and the contract are now wrong:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;name="ProductsService.Products.ProductsServiceImpl"&lt;br /&gt;contract="ProductsService.Products.IProductsService"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ah at last the service is up and running and browsing the svc file in IE7 shows me the link to the WSDL and all is well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1235712514792632318?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1235712514792632318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1235712514792632318' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1235712514792632318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1235712514792632318'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/09/type-namespaceclassname-provided-as.html' title='The type &apos;namespace.ClassName&apos;, provided as the Service attribute value in the ServiceHost directive could not be found.'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-866509303971375308</id><published>2007-09-20T11:26:00.000+01:00</published><updated>2007-09-20T11:31:13.755+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>TechEd Developers 2007 BCN</title><content type='html'>Wow a year has past since the last conference and it looks like I'll be returning to Barcelona this year for THE developer conference in Europe, &lt;a href="http://www.mseventseurope.com/TechEd/07/Developers/Pages/Default.aspx"&gt;Microsoft TechEd Developers 2007&lt;/a&gt;.  I will be attending to the Hands-on-Labs as a Proctor for the duration of the conference as well as taking a shift at the Ask-The-Experts booth, most likely for Visual Studio 2005.  Well As things start to develop I'll keep posting the details, but for now it's flights and accomodation that I need to take care of!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-866509303971375308?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/866509303971375308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=866509303971375308' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/866509303971375308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/866509303971375308'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/09/teched-developers-2007-bcn.html' title='TechEd Developers 2007 BCN'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5960024256081675478</id><published>2007-09-15T10:42:00.000+01:00</published><updated>2007-09-18T11:08:21.399+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Multithreading with VB.NET Series - Part 1</title><content type='html'>So yes we all know that VB can now multithread with so much ease that we can get ourselves into trouble!!  Tell m e about it, I was a victim of a naive assumption once which brought a SQL server to a grinding halt after it spawned 700 threads when a user press the damn button 7 times to make sure the 100 transactions went through!!  The data was fine but the server was 'crying' for resources.  Anyway that's another story...&lt;br /&gt;&lt;br /&gt;So to create a new thread to do some work it a POC:&lt;br /&gt;&lt;br /&gt;Dim th As New System.Threading.Thread(AddressOf MyLongRunningProc)&lt;br /&gt;' Kick off that new thread to do some work&lt;br /&gt;th.start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Sub MyLongRunningProc()&lt;br /&gt; ' Do the hard work here !!&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;The questions that start to arise as you move into the world or asynchronous programming will soon start to pop up, due to most peoples affinity to synchronous programming mind set.  So if two things are happening at once how do I keep track of progress, access shared data in a safe manner, etc.  Well here MS has given us so many toys to play with, enter:&lt;br /&gt;1. The Monitor,&lt;br /&gt;2. The Mutex,&lt;br /&gt;3. ReaderWriterLock&lt;br /&gt;4. The Interlocked Type&lt;br /&gt;5. The SyncLock Statement,&lt;br /&gt;6. The Synchronization and MethodImpl Attributes,&lt;br /&gt;7. VolatileRead/Write and MemoryBarrier,&lt;br /&gt;8. The Semaphore Type.&lt;br /&gt;&lt;br /&gt;So over the next few posts I will try to demystify so of these terms you may have heard about, but were to too afraid to use them.  This should hopefully put some pretty cool tools into you toolbox to help you create those responsive applications you love to give to your clients, but also to make them more robust and safe :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5960024256081675478?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5960024256081675478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5960024256081675478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5960024256081675478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5960024256081675478'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/09/multithreading-with-vbnet-series-part-1.html' title='Multithreading with VB.NET Series - Part 1'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2449162779748016284</id><published>2007-08-22T20:25:00.000+01:00</published><updated>2007-08-22T20:34:03.395+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Ever wished you could select a vertical column of code?</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/RsyO9PGe3_I/AAAAAAAAADE/gydFm_HC5Pk/s1600-h/Highlight.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5101609660580814834" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/RsyO9PGe3_I/AAAAAAAAADE/gydFm_HC5Pk/s320/Highlight.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Stumbled across this cool shortcut in the VS editor:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Hold down the right CTRL+ALT key and then drag the mouse to select a rectangular column of text....&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/RsyPHPGe4AI/AAAAAAAAADM/1SxZ55Wavko/s1600-h/Highlight2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5101609832379506690" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_icm5YwjnC8s/RsyPHPGe4AI/AAAAAAAAADM/1SxZ55Wavko/s320/Highlight2.JPG" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2449162779748016284?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2449162779748016284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2449162779748016284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2449162779748016284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2449162779748016284'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/ever-wished-you-could-select-vertical.html' title='Ever wished you could select a vertical column of code?'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_icm5YwjnC8s/RsyO9PGe3_I/AAAAAAAAADE/gydFm_HC5Pk/s72-c/Highlight.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6986715536426246640</id><published>2007-08-22T20:18:00.001+01:00</published><updated>2007-08-22T20:23:30.883+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>How to find the system directory (and other environement variables)</title><content type='html'>Was looking through the msdn Forums recently and someone was asking how to get the system path to save some files... and I though hmm this sounds like a job for the my namespace.... Alas I was wrong, my.computer could not help me but then it struck me... The system.enviroment class could help. Here are some of the goodies in this class:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CurrentDirectory&lt;/strong&gt;&lt;br /&gt;Returns and sets the fully qualified path of the current directory; that is, the directory from which this process starts.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MachineName&lt;br /&gt;&lt;/strong&gt;Returns the NetBIOS name of this local computer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OSVersion&lt;br /&gt;&lt;/strong&gt;Returns an OperatingSystem object that contains the current platform identifier and version number.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;SystemDirectory&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Returns the fully qualified path of the system directory.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UserDomainName&lt;/strong&gt;&lt;br /&gt;Returns the network domain name associated with the current user.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UserName&lt;br /&gt;&lt;/strong&gt;Returns the user name of the person who started the current thread.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Version&lt;br /&gt;&lt;/strong&gt;Returns a Version object that describes the major, minor, build, and revision numbers of the common language runtime.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;WorkingSet&lt;br /&gt;&lt;/strong&gt;Returns the amount of physical memory mapped to the process context.&lt;br /&gt;&lt;br /&gt;e.g&lt;br /&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;me.text = System.environment.systemdirectory&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6986715536426246640?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6986715536426246640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6986715536426246640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6986715536426246640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6986715536426246640'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/how-to-find-system-directory-and-other.html' title='How to find the system directory (and other environement variables)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5266441842687043761</id><published>2007-08-20T19:38:00.000+01:00</published><updated>2007-08-22T20:18:17.722+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Where is SmartNavigation in ASP.NET 2.0 (VS2005)</title><content type='html'>Had a quick question taday that comes up often so I decided it's time to blog it!! In vs2003 there was this feature that would hold the page position after a postback so that it was redisplayed, updated at the postion where the page was scrolled to during the postback. It's a page level property that is not visible anymore in the Properties Window. however drop into a code window and it there, under a different name:&lt;br /&gt;&lt;br /&gt;Page.MaintainScrollPositionOnPostBack = True&lt;br /&gt;&lt;br /&gt;For more info please follow this link:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/913721/en-us?spid=8940&amp;amp;sid=global"&gt;How to implement the smart navigation features in ASP.NET 2.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5266441842687043761?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5266441842687043761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5266441842687043761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5266441842687043761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5266441842687043761'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/where-is-smartnavigation-in-aspnet-2.html' title='Where is SmartNavigation in ASP.NET 2.0 (VS2005)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6176063786811977191</id><published>2007-08-11T08:55:00.000+01:00</published><updated>2007-08-11T09:13:15.747+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Remove Remote Desktop IP Entries on Public Computer</title><content type='html'>I was teaching a class y'day when I saw trainee was search desparately to remove the remote desktop entry on his PC after he had successfully connected to his home PC. He was obviously worried that some other user may find the entry and start trying to establish a connection to his home PC. The moral of the story so far... don't use remote desktop from a public PC!!&lt;br /&gt;&lt;br /&gt;Anyway the MSDN site proved as valuable as ever turning up this:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/312169"&gt;How to Remove Entries from the Remote Desktop Connection Computer Box&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To remove entries from the Remote Desktop Connection Computer box in the Windows Remote Desktop Connection client, start Registry Editor, and then click the following registry key:&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default&lt;br /&gt;Entries appear as MRUnumber, and are visible in the right pane. To delete an entry, right-click it, and then click Delete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All have now vanished ... except for ONE; the default that you find as soon as you open Remote Desktop. After numerous reboots, logging off and on... the answer was easy... Go to my documents and remove the Default.rdp file. It's a hidden file so you won't see it unless you go to Tools-&gt;Folder Options-&gt; View -&gt; Show Hidden files and folders :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6176063786811977191?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6176063786811977191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6176063786811977191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6176063786811977191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6176063786811977191'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/remove-remote-desktop-ip-entries-on.html' title='Remove Remote Desktop IP Entries on Public Computer'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5161322510787868166</id><published>2007-08-01T17:25:00.000+01:00</published><updated>2007-08-01T21:31:31.095+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>AJAX Error: Error: Sys is undefined</title><content type='html'>&lt;strong&gt;AJAX Enabling an Existing ASP.NET Website!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A common mistake new AJAX developers make is to just start adding AJAX controls to their existing ASP.NET 2.0 web project. However after adding say the time it will let you know that you need a scriptmanager control. That's easy, drag-drop , press F5 or right click, view in browser. Waaaahhh no AJAX, just a Javascript error in the bottom right of IE7, which when expanded states:&lt;br /&gt;AJAX Error: Error: Sys is undefined&lt;br /&gt;Well if we had started out with an AJAX-enabled Website and looked closely at the Web.config we would have noted one very important difference between the two:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;&lt;/b&gt;httpmodules&lt;b&gt;&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;&lt;/b&gt;add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&lt;b&gt;&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;&lt;/b&gt;/httpmodules&lt;b&gt;&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;For more info:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/f/7/a/f7adf2b4-6554-4027-bac6-c853bc0a4f9d/HDI-AJAX-AddAjax.wmv"&gt;&lt;span style="font-size:0;"&gt;How Do I:&lt;/span&gt; Add ASP.NET AJAX Features to an Existing Web Application?&lt;br /&gt;&lt;/a&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5161322510787868166?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5161322510787868166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5161322510787868166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5161322510787868166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5161322510787868166'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/ajax-error-error-sys-is-undefined.html' title='AJAX Error: Error: Sys is undefined'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2961622886269287545</id><published>2007-08-01T14:24:00.000+01:00</published><updated>2007-08-01T14:29:14.951+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Visual Studio 2008 Beta 2 - Part 1</title><content type='html'>&lt;div&gt;Well it's starting to get exciting now that MS have dropped the 'Orcas' Code name and gone Beta 2 wit VS2008. Naturally I was on the download straight away, and just so as to save time I down loaded the Team Suite Virtual Hard disk. I loaded it up in Virtual Server 2005 R2 on my HP nc8430 Laptop with 2GB Ram and gave the VM 1GB. After linking the downloaded vhd to my base01.vhd I got the VM up and now it's time to play and see what's new. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5093723422458133794" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/RrCKdwu0PSI/AAAAAAAAACU/1ZVflSUufkA/s320/vs2008.bmp" border="0" /&gt;&lt;br /&gt;&lt;div&gt;Expect part 2 shortly :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2961622886269287545?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2961622886269287545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2961622886269287545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2961622886269287545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2961622886269287545'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/08/visual-studio-2008-beta-2-part-1.html' title='Visual Studio 2008 Beta 2 - Part 1'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/RrCKdwu0PSI/AAAAAAAAACU/1ZVflSUufkA/s72-c/vs2008.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-3264735482528337707</id><published>2007-07-28T16:52:00.000+01:00</published><updated>2007-07-28T17:00:03.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Importing/process a CSV File in VB.NET</title><content type='html'>Some us developers love doing is data imports :P Even more so when it's CSV or worse still, fixed length fields!! :P Thank goodness VB.NET gives us the StreamReader which allows us to open a file with a single line of code, thanks to the constructor overload. This also allows us to trip through the file line by line by calling the read method and also returning False when it is EOF!! What's more we have the split function on the string to chop it up on any delimiter of our choice and push it into an array!! What more could we ask for! So here is the code snippet:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;Dim sr As New System.IO.StreamReader("mycsv.csv")&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Do While sr.Peek &lt;&gt; -1&lt;br /&gt;  Dim myflds() As String&lt;br /&gt;  Dim myline As String&lt;br /&gt;  myline = sr.ReadLine&lt;br /&gt;  myflds = myline.Split(",")&lt;br /&gt;&lt;span style="color:#009900;"&gt;  ' now you have every field in a sep element array&lt;br /&gt;  ' Push them into a db, whatever&lt;/span&gt;&lt;br /&gt;Loop &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-3264735482528337707?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/3264735482528337707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=3264735482528337707' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3264735482528337707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3264735482528337707'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/importingprocess-csv-file-in-vbnet.html' title='Importing/process a CSV File in VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7482653278628884123</id><published>2007-07-25T12:29:00.000+01:00</published><updated>2007-07-25T12:34:02.350+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Enabling ASP.NET 2.0 extensions on Windows 2003 Server</title><content type='html'>Whilst testing a clean installation of Win2K3 Server with IIS, SQL server 2005 and VS 2005 I tried to create a new ASP.NET project in IIS and got the following error:&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;Microsoft Visual Studio&lt;br /&gt;---------------------------&lt;br /&gt;Configuring web site '&lt;a href="http://localhost/WebSite"&gt;http://localhost/WebSite&lt;/a&gt;' to ASP.NET 2.0 failed. You may need to manually configure this site for ASP.NET 2.0 in order for your site to run correctly.&lt;br /&gt;---------------------------&lt;br /&gt;OK Help&lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;The problem is that ASP.NET extensions are prohibited from running on your computer by default. This is part of Microsoft's drive towards security by default (i.e out of the box).  However it is easy to enable it by following these steps if you are working on Windows Server 2003&lt;br /&gt;1. Open IIS Manager (open Run dialog from Start Menu and type 'inetmgr' in Start Edit Combo Box).&lt;br /&gt;2. In the IIS manager window, expand the Local Computer node.&lt;br /&gt;3. Click on Web Service Extensions node.&lt;br /&gt;4. Allow "Active Server Pages" and "ASP .net v2.0.xxxxx".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7482653278628884123?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7482653278628884123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7482653278628884123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7482653278628884123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7482653278628884123'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/enabling-aspnet-20-extensions-on.html' title='Enabling ASP.NET 2.0 extensions on Windows 2003 Server'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5319048861513517667</id><published>2007-07-19T11:35:00.000+01:00</published><updated>2007-07-19T11:46:18.230+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>ALT Keycodes for Euro symbol and @ sign</title><content type='html'>I had a keyborad go crazy in a class today and needed a work around quickly :) For some strange reaon the @ symbol was not working inside the virtual machine!!! I had just had a request for the ALT code for the Euro symbol only a day before and found this link most helpful:&lt;br /&gt;&lt;a href="http://www.mkemp.com/references/alt_codes.asp"&gt;http://www.mkemp.com/references/alt_codes.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just to summarise:&lt;br /&gt;ALT + 0128 = €&lt;br /&gt;ALT + 0064 = @&lt;br /&gt;&lt;br /&gt;ALT + 0169 = ©&lt;br /&gt;&lt;br /&gt;(NB. These have to use the left ALT key and the NUM KEY PAD. Can anyone tell me how to do this on a laptop without getting youyr fingers in a twist!!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5319048861513517667?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5319048861513517667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5319048861513517667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5319048861513517667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5319048861513517667'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/alt-keycodes-for-euro-symbol-and-sign.html' title='ALT Keycodes for Euro symbol and @ sign'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-9082233894544383240</id><published>2007-07-11T08:33:00.000+01:00</published><updated>2007-07-11T08:38:09.624+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Get the current selected row in VB.NET DataGridView</title><content type='html'>Something that gets asked often in the forums is:&lt;br /&gt;'How do I get a hold of the currently selected row in a datagridview?' so that I can pick a particular cell and manipulate it, use it for a calculation  etc. &lt;br /&gt;&lt;br /&gt;The trick is knowing that DataGridView1.CurrentCell will tell you the cell the user chose. &lt;br /&gt;So if we ask for the Rowindex like this:&lt;br /&gt;DataGridView1.CurrentCell.RowIndex&lt;br /&gt;&lt;br /&gt;Then we can combine it with the Datagridviews rows collection to index just that row, like this:&lt;br /&gt;DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex)&lt;br /&gt;&lt;br /&gt;We can take this further to drill into a column in that row by accessing the rows cells property like this:&lt;br /&gt;DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(&lt;column&gt;).Value += 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-9082233894544383240?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/9082233894544383240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=9082233894544383240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9082233894544383240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/9082233894544383240'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/get-current-selected-row-in-vbnet.html' title='Get the current selected row in VB.NET DataGridView'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5302521141561173455</id><published>2007-07-07T11:47:00.000+01:00</published><updated>2007-07-19T11:52:10.375+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Wireless Presenter Notebook Mouse 8000</title><content type='html'>&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/Rp9ByLMtbkI/AAAAAAAAACE/Or6kzYereSM/s1600-h/A0745988.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5088858434207313474" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/Rp9ByLMtbkI/AAAAAAAAACE/Or6kzYereSM/s320/A0745988.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;OK so secretly I'm a bit of a hardware/gadegt junky, but this something I could really use (hint, hint for Christmas please, since I can't wait until my birthday) I really like the laser pointer, good for lectures/training. But the media Center edition controls make me feel like I'm on an i-Mac :)  Take a virtual tour &lt;a href="http://content.webcollage.net/dell/product-content-page?sku=A0745988&amp;amp;wcpid=msmk-9dr-00001"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_icm5YwjnC8s/Rp9CNLMtblI/AAAAAAAAACM/3FidTWGXByY/s1600-h/20_A0745988.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5088858898063781458" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_icm5YwjnC8s/Rp9CNLMtblI/AAAAAAAAACM/3FidTWGXByY/s320/20_A0745988.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5302521141561173455?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5302521141561173455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5302521141561173455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5302521141561173455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5302521141561173455'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/wireless-presenter-notebook-mouse-8000.html' title='Wireless Presenter Notebook Mouse 8000'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_icm5YwjnC8s/Rp9ByLMtbkI/AAAAAAAAACE/Or6kzYereSM/s72-c/A0745988.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1200898713132154185</id><published>2007-06-30T16:33:00.000+01:00</published><updated>2007-07-03T16:39:45.555+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Triple/dual booting with Vista and Linux</title><content type='html'>I just got a 160GB SATA HDD for my Compaq nc8430 and of course I want to run all three OS's&lt;br /&gt;Windows XP to get work done,&lt;br /&gt;Vista to mess about and show off for now,&lt;br /&gt;Linux to just play around.&lt;br /&gt;&lt;br /&gt;Now some distros of Linux allow you to install the GRUB bootloader on the actual partition of the installation. This is great because:&lt;br /&gt;1. Vista has already taken over the MBR and thus installin this after linux will render linux unbootable.&lt;br /&gt;2. I know how to BCEdit better than I do GRUB :)&lt;br /&gt;&lt;br /&gt;Luckily I found these guides which are idiot proof and so well documented.&lt;br /&gt;&lt;a href="http://apcmag.com/node/5162/"&gt;The definitive dual-booting guide: Linux, Vista and XP step-by-step&lt;/a&gt;&lt;br /&gt;But most especially this one:&lt;br /&gt;&lt;a href="http://apcmag.com/5045/how_to_dual_boot_vista_with_linux"&gt;How to dual-boot Vista with Linux (Linux is already installed)&lt;/a&gt;&lt;br /&gt;Now although I put XP on first then Vista and then Fedora 7 I did put the GRUB on the Linux partition and so this is my set up :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1200898713132154185?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1200898713132154185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1200898713132154185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1200898713132154185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1200898713132154185'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/07/tripledual-booting-with-vista-and-linux.html' title='Triple/dual booting with Vista and Linux'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7201869306192796257</id><published>2007-06-26T08:45:00.000+01:00</published><updated>2007-06-26T08:48:34.889+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Word'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Inserting text into a Word Document from VB.NET</title><content type='html'>Another post to the 'Office Series', I used to do this everyday in a previous job!! Al we did was automate word, but using templates, which was much cooler. For now this just adds text into a word document.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Private WordApp As New Word.ApplicationClass()&lt;br /&gt;&lt;br /&gt;Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click&lt;br /&gt;&lt;br /&gt;  &lt;span style="color:#009900;"&gt;' Choose a word document&lt;/span&gt;&lt;br /&gt;  If Me.OpenFileDialog2.ShowDialog() = DialogResult.OK Then&lt;br /&gt;    &lt;span style="color:#009900;"&gt;' Get the file name from the open file dialog&lt;/span&gt;&lt;br /&gt;    Dim fileName As Object = OpenFileDialog2.FileName&lt;br /&gt;    &lt;span style="color:#009900;"&gt;' Make word visible, so you can see what's happening&lt;/span&gt;&lt;br /&gt;    WordApp.Visible = True&lt;br /&gt;    &lt;span style="color:#009900;"&gt;' Open the document&lt;/span&gt;&lt;br /&gt;    Dim aDoc As Word.Document = WordApp.Documents.Open(fileName)&lt;br /&gt;  &lt;span style="color:#009900;"&gt;  ' Add the text and a line break&lt;/span&gt;&lt;br /&gt;    WordApp.Selection.TypeText("VB.NET Rocks")&lt;br /&gt;    WordApp.Selection.TypeParagraph()&lt;br /&gt;  End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7201869306192796257?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7201869306192796257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7201869306192796257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7201869306192796257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7201869306192796257'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/inserting-text-into-word-document-from.html' title='Inserting text into a Word Document from VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6405130285211288088</id><published>2007-06-22T10:59:00.000+01:00</published><updated>2007-06-22T11:10:48.826+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Rotating and moving Graphics/images in VB.NET with Style</title><content type='html'>I saw a post recently that asked if you could rotate graphics in VB.NET. Now rotating a shape is one thing but an image provided more of a challenge. I knew that matrices are the way to go and not the mathematical calculations using pi, and cos and sin etc. But I also knew that matices cannot be applied directly to the image object. So I had to get my pic into a graphicspath. Well it appears that this is not too bad either. But as soon as I put all four points and decided to rotate, RotateAt gave me a not implemented error??!! So I put only three points and it worked!!! Well now my images is rotating, but flickering like mad. So I looked into double buffering, and finally I have a rotating/sliding image:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Imports System.Drawing.Drawing2D&lt;br /&gt;&lt;br /&gt;Public Class Form1&lt;br /&gt;&lt;br /&gt;    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork&lt;br /&gt;&lt;br /&gt;        Dim RotateAngle = 1&lt;br /&gt;        Dim offset As Integer = -10&lt;br /&gt;        Dim tickcnt As Long = Now.Ticks&lt;br /&gt;&lt;br /&gt;        Dim BackBuffer As New Bitmap(Me.ClientSize.Width, Me.ClientSize.Height)&lt;br /&gt;        Dim DrawingArea As Graphics = Graphics.FromImage(BackBuffer)&lt;br /&gt;        Dim Viewable As Graphics = Me.CreateGraphics()&lt;br /&gt;        Dim TopRight As New PointF(800, 50)&lt;br /&gt;        Dim i As System.Drawing.Image = My.Resources.MyPic&lt;br /&gt;        Dim myPath As New GraphicsPath&lt;br /&gt;        Dim OrigPoints() As PointF = {TopRight, New Point(TopRight.X - i.Width, TopRight.Y), New Point(TopRight.X, TopRight.Y + i.Height)}&lt;br /&gt;        Dim translateMatrix As New Matrix()&lt;br /&gt;&lt;br /&gt;        Do While Not Me.BackgroundWorker1.CancellationPending&lt;br /&gt;&lt;br /&gt;            If Now.Ticks - tickcnt &gt; 500000 Then&lt;br /&gt;                RotateAngle += 10&lt;br /&gt;                offset -= 5&lt;br /&gt;                DrawingArea.Clear(Me.BackColor)&lt;br /&gt;&lt;br /&gt;                myPath.Reset()&lt;br /&gt;                myPath.AddPolygon(OrigPoints)&lt;br /&gt;              &lt;span style="color:#009900;"&gt;  ' Do the transforamtion on the Image&lt;/span&gt;&lt;br /&gt;                translateMatrix.Reset()&lt;br /&gt;                translateMatrix.RotateAt(RotateAngle, New Point((TopRight.X - i.Width / 2) + offset, (TopRight.Y + i.Height / 2)))&lt;br /&gt;                translateMatrix.Translate(offset, 0)&lt;br /&gt;&lt;br /&gt;                &lt;span style="color:#009900;"&gt;'Apply it to the path&lt;/span&gt;&lt;br /&gt;                myPath.Transform(translateMatrix)&lt;br /&gt;                'DrawingArea.DrawString(myPath.PathPoints(0).X, New Font("Arial", 10, FontStyle.Regular), Brushes.Aqua, TopRight.X, TopRight.Y)&lt;br /&gt;&lt;br /&gt;               &lt;span style="color:#009900;"&gt; ' Draw the image with the new points&lt;/span&gt;&lt;br /&gt;                DrawingArea.DrawImage(i, myPath.PathPoints)&lt;br /&gt;&lt;br /&gt;                Viewable.DrawImageUnscaled(BackBuffer, 0, 0)&lt;br /&gt;&lt;br /&gt;                tickcnt = Now.Ticks&lt;br /&gt;            End If&lt;br /&gt;        Loop&lt;br /&gt;&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing&lt;br /&gt;        BackgroundWorker1.CancelAsync()&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load&lt;br /&gt;        BackgroundWorker1.RunWorkerAsync()&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint&lt;br /&gt;&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6405130285211288088?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6405130285211288088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6405130285211288088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6405130285211288088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6405130285211288088'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/rotating-and-moving-graphicsimages-in.html' title='Rotating and moving Graphics/images in VB.NET with Style'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-239544430046204659</id><published>2007-06-19T15:42:00.001+01:00</published><updated>2007-06-19T15:48:29.309+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Accessing Outlook Address Book from VB.NET</title><content type='html'>Had someone ask me this a while back and lost the link so I decided to blog it this time. As always dont' forget to add a COM reference to your project for the Microsoft.Outlook x.0 Object library in order to create the necessary objects.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Dim oOutlook As New Outlook.Application&lt;br /&gt;Dim oNS As Outlook.NameSpace&lt;br /&gt;Dim oContacts As Outlook.MAPIFolder&lt;br /&gt;Dim oItems As Outlook.Items&lt;br /&gt;oNS = oOutlook.GetNamespace("mapi")&lt;br /&gt;oContacts = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)&lt;br /&gt;&lt;span style="color:#009900;"&gt;' set to the contact folder&lt;/span&gt;&lt;br /&gt;oItems = oContacts.Items.Restrict("[MessageClass] = 'IPM.Contact'")&lt;br /&gt;&lt;span style="color:#009900;"&gt;' filter to select only contact items&lt;/span&gt;&lt;br /&gt;oItems.Sort("[EMail1Address]", False) ' sort by email address&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;For Each oct As Outlook.ContactItem In oItems&lt;br /&gt;  MessageBox.Show(oct.CompanyName &amp; "-" &amp;amp; oct.BusinessTelephoneNumber)&lt;br /&gt;Next&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-239544430046204659?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/239544430046204659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=239544430046204659' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/239544430046204659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/239544430046204659'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/accessing-outlook-address-book-from.html' title='Accessing Outlook Address Book from VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8187402391561113583</id><published>2007-06-17T22:47:00.000+01:00</published><updated>2007-06-19T15:48:09.203+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Loading Assemblies into an AppDomain</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Creating the AppDomain&lt;/span&gt;&lt;br /&gt;Dim d as AppDomain = AppDomain.CreateDomain("NewDomain")&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Load the assembly using path&lt;/span&gt;&lt;br /&gt;d.ExecuteAssembly("MyAssembly.dll")&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Load the assembly from a referenced library&lt;/span&gt;&lt;br /&gt;d.ExecuteAssemblyByName("MyAssembly")&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Unload it&lt;/span&gt;&lt;br /&gt;Appdomain.Unload(d)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8187402391561113583?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8187402391561113583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8187402391561113583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8187402391561113583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8187402391561113583'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/loading-assemblies-into-appdomain.html' title='Loading Assemblies into an AppDomain'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-189435249140258149</id><published>2007-06-17T00:42:00.000+01:00</published><updated>2007-06-19T15:46:30.391+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Reading/writing Excel files in VB.NET</title><content type='html'>Now there seem to be a few examples of how to do this in C# but few comprehensive ones in VB.NET. So here's how to let the user choose an excel file and then write to cell A1 and read from cell A2. Don't forget to add a reference to the Excel COM library.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/RnR2ivdJZ5I/AAAAAAAAAB8/CormEEaUjK8/s1600-h/ExcelRef.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5076813019179739026" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/RnR2ivdJZ5I/AAAAAAAAAB8/CormEEaUjK8/s320/ExcelRef.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also add Imports Microsoft.Office.Interop to the first line of your class/form&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;        Dim xcFileInfo As IO.FileInfo&lt;br /&gt;        Dim xcFileDialog As New OpenFileDialog()&lt;br /&gt;        xcFileDialog.Filter = "Excel Spreadsheet Files!*.xls"&lt;br /&gt;        xcFileDialog.Title = "Select estimate in excel spreadsheet file!"&lt;br /&gt;&lt;br /&gt;        If xcFileDialog.ShowDialog = DialogResult.OK Then&lt;br /&gt;            xcFileInfo = New IO.FileInfo(xcFileDialog.FileName)&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        Dim myExcel As Excel.Application &lt;span style="color:#009900;"&gt;' Interface to Excel&lt;/span&gt;&lt;br /&gt;        Dim myWorkBookCollection As Excel.Workbooks &lt;span style="color:#009900;"&gt;' Workbook-collection (note the 's' at the end)&lt;/span&gt;&lt;br /&gt;        Dim myWorkBook As Excel.Workbook &lt;span style="color:#009900;"&gt;' Single Workbook (spreadsheet-collection)&lt;/span&gt;&lt;br /&gt;        Dim myWorkSheet As Excel.Worksheet &lt;span style="color:#009900;"&gt;' Single spreadsheet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#009900;"&gt;' Initialize the interface to Excel.exe&lt;/span&gt;&lt;br /&gt;        myExcel = New Excel.Application&lt;br /&gt;&lt;br /&gt;        If myExcel Is Nothing Then&lt;br /&gt;            MessageBox.Show("Could not load Excel.exe")&lt;br /&gt;            Exit Sub&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:#009900;"&gt; ' initialise access to Excel's workbook collection&lt;/span&gt;&lt;br /&gt;        myWorkBookCollection = myExcel.Workbooks&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#009900;"&gt;'open spreadsheet from disk&lt;/span&gt;&lt;br /&gt;        myWorkBook = myWorkBookCollection.Open(xcFileInfo.FullName, , False)&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:#009900;"&gt; 'get 1st sheet from workbook&lt;/span&gt;&lt;br /&gt;        myWorkSheet = myWorkBook.Sheets.Item(1)&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#009900;"&gt;'alter contents of 1st cell&lt;/span&gt;&lt;br /&gt;        Dim myCell As Object = myWorkSheet.Range("A1", _ System.Reflection.Missing.Value)&lt;br /&gt;        myCell.Value2 = "I did it again!!!"&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#009900;"&gt;'display the spreadsheet&lt;br /&gt;        'myExcel.Visible = True&lt;br /&gt;        'Read Cell A2&lt;/span&gt;&lt;br /&gt;        Dim myCell2 As Object = myWorkSheet.Range("A2", _ System.Reflection.Missing.Value)&lt;br /&gt;&lt;br /&gt;        Me.Text = myCell.Value2&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:#009900;"&gt;  'save and get out&lt;/span&gt;&lt;br /&gt;        myWorkBook.Save()&lt;br /&gt;        myExcel.Quit()&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-189435249140258149?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/189435249140258149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=189435249140258149' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/189435249140258149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/189435249140258149'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/readingwriting-excel-files-in-vbnet.html' title='Reading/writing Excel files in VB.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/RnR2ivdJZ5I/AAAAAAAAAB8/CormEEaUjK8/s72-c/ExcelRef.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-977477566166855322</id><published>2007-06-14T08:45:00.000+01:00</published><updated>2007-06-14T08:53:12.241+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>Can't upgrade/install SQL 2005 Express Workstation tools</title><content type='html'>If you are like me, you installed VS2005 and forgot to tell it not to install SQL Express, because you just knew that later you were going to install SQL Server 2005 Developer Edition.  Now I managed to install SP2 for Express and all was OK until the day I decided to install SQL 2005 Dev Edition.  I get a little error saying version warning but ignored it, only to find out that it will install all the goddies except the most important one, SQL Management Studio. Ahhhhh, so the whole install goes through and I now have tow SQL Servers but no management tools!!!  Now I know you are saying, ' why don't you use the osql?' Yeah it's great, but somethings are just easier with the GUI, I want THAT GUI!!!  So I read the warning message again, and googled to find Upgrade a &lt;a href="http://technet.microsoft.com/en-us/library/ms403393(SQL.90).aspx"&gt;SQL Server Express Report Server to Other SQL Server Editions&lt;/a&gt; Well now it's easy.  I didn't want to upgrade the whole of SQL Express, just the workstation components. So I launched the setup of the just the tools, not the server with the switch mentioned.&lt;br /&gt;&lt;br /&gt;SETUP SKUUPGRADE=1&lt;br /&gt;&lt;br /&gt;Now I can tick on the workstation components .... and all's well :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-977477566166855322?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/977477566166855322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=977477566166855322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/977477566166855322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/977477566166855322'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/cant-upgrade-sql-express-workstation.html' title='Can&apos;t upgrade/install SQL 2005 Express Workstation tools'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2318524630184262299</id><published>2007-06-13T08:55:00.000+01:00</published><updated>2007-06-14T09:00:38.870+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><title type='text'>MSDN Forums (Part II)</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/RnD00PdJZ4I/AAAAAAAAAB0/F5QPGBYZzqE/s1600-h/Top+100.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_icm5YwjnC8s/RnD00PdJZ4I/AAAAAAAAAB0/F5QPGBYZzqE/s320/Top+100.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5075825958385706882" /&gt;&lt;/a&gt;&lt;br /&gt;Well something just worth shouting about :) two weeks in and 36 answers !!  Now I'm in the top 100. &lt;br /&gt;9th in VB General&lt;br /&gt;8th in VB IDE&lt;br /&gt;10th in VB Express&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2318524630184262299?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2318524630184262299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2318524630184262299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2318524630184262299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2318524630184262299'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/msdn-forums-part-ii.html' title='MSDN Forums (Part II)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/RnD00PdJZ4I/AAAAAAAAAB0/F5QPGBYZzqE/s72-c/Top+100.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7960629674184591118</id><published>2007-06-06T09:32:00.000+01:00</published><updated>2007-06-14T09:01:10.311+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><title type='text'>MSDN Forums (Part I)</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_icm5YwjnC8s/RmZyd_dJZ3I/AAAAAAAAABs/o_gNBOdfjSc/s1600-h/MSDN+Forum.bmp"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_icm5YwjnC8s/RmZyd_dJZ3I/AAAAAAAAABs/o_gNBOdfjSc/s320/MSDN+Forum.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5072867889854900082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OK time for a little pat on my own back.  I started looking in on the MSDN Forums, trying to lend a hand to those stuck on anything VB.NET related.  I'm mainly looking at VB.NET Express and the 3 VB.NET ones:IDE, Language and General.  Well after a week of posting replies. I've got in to the top ten of the VB.NET:IDE, yeah.  So 37 posts in a week is not too bad.  I think the forum is a great place to learn and get help, so many great people pumping ideas in so please take a look. &lt;a href="http://forums.microsoft.com/msdn/default.aspx?siteid=1"&gt;http://forums.microsoft.com/msdn/default.aspx?siteid=1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7960629674184591118?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7960629674184591118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7960629674184591118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7960629674184591118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7960629674184591118'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/msdn-forums.html' title='MSDN Forums (Part I)'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_icm5YwjnC8s/RmZyd_dJZ3I/AAAAAAAAABs/o_gNBOdfjSc/s72-c/MSDN+Forum.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-1034386717322859044</id><published>2007-06-02T15:47:00.000+01:00</published><updated>2007-06-02T15:54:56.199+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Setting NTFS Directory/Drive permissions in VB.NET 2005</title><content type='html'>It seems setting File Permissions in 2005 is easy, but there didn't seem to be much regarding directory or drive &lt;a href="http://en.wikipedia.org/wiki/Access_control_list"&gt;ACL's&lt;/a&gt;. So a little digging and adapting goes a long way .....&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#3333ff;"&gt;Dim&lt;/span&gt; folder_info As New DirectoryInfo("C:\")&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;' Read the current ACL&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Dim foldersecurity As DirectorySecurity = folder_info.GetAccessControl _&lt;br /&gt;(AccessControlSections.Access)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;' Make up my new ACE&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Dim MyRule As New System.Security.AccessControl.FileSystemAccessRule _&lt;br /&gt;("DOMAIN\USER", FileSystemRights.FullControl, AccessControlType.Allow)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;' Add it to the old ACL&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;foldersecurity.AddAccessRule(MyRule)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;' Apply it&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;folder_info.SetAccessControl(foldersecurity)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-1034386717322859044?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/1034386717322859044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=1034386717322859044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1034386717322859044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/1034386717322859044'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/setting-ntfs-directorydrive-permissions.html' title='Setting NTFS Directory/Drive permissions in VB.NET 2005'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-33654453050055737</id><published>2007-06-01T14:33:00.000+01:00</published><updated>2007-06-01T14:41:37.986+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Marking madatory textboxes/fields with style</title><content type='html'>Now everyone in VS2003/2005 who likes graphics has done some code in the onPaint event to draw nice little things, but have you ever tried drawing on a textbox, or any other control for that matter.   Wemay also be tired of just filling madatory fields with a plain backcolor fill also.  So what I set out to do was draw a nice little glyph in the corner to signify that a filed was mandatory&lt;br /&gt;&lt;br /&gt;First off we must subclass the good old textbox, but hopefully you aer doing this already in your component lib. Next it's a matter of hooking up to the windows message and drawing accordingly.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Public Class Component1&lt;br /&gt;    Inherits TextBox&lt;br /&gt;    Private Const WM_PAINT As Integer = &amp;HF&lt;br /&gt;&lt;br /&gt;    Private bMandatory&lt;br /&gt;&lt;br /&gt;    Public Property Mandatory() As Boolean&lt;br /&gt;        Get&lt;br /&gt;            Return bMandatory&lt;br /&gt;        End Get&lt;br /&gt;        Set(ByVal value As Boolean)&lt;br /&gt;            bMandatory = value&lt;br /&gt;            Me.Invalidate()&lt;br /&gt;        End Set&lt;br /&gt;    End Property&lt;br /&gt;&lt;br /&gt;    Protected Overrides Sub WndProc(ByRef m As Message)&lt;br /&gt;        Try&lt;br /&gt;            MyBase.WndProc(m)&lt;br /&gt;            If m.Msg = WM_PAINT And bMandatory Then&lt;br /&gt;                Dim g As Graphics = Me.CreateGraphics&lt;br /&gt;                Dim pts As PointF() = {New PointF(0, 0), New PointF(5, 0), _&lt;br /&gt;                New PointF(0, 5)}&lt;br /&gt;                g.FillPolygon(Brushes.Red, pts)&lt;br /&gt;            End If&lt;br /&gt;        Catch ex As Exception&lt;br /&gt;            ' Call error handler&lt;br /&gt;        End Try&lt;br /&gt;&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;/pre&gt;You should end up with this ...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/RmAhXcAQOLI/AAAAAAAAABc/DZrtXiLZrgE/s1600-h/textbox.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5071089866957142194" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/RmAhXcAQOLI/AAAAAAAAABc/DZrtXiLZrgE/s320/textbox.bmp" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-33654453050055737?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/33654453050055737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=33654453050055737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/33654453050055737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/33654453050055737'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/06/marking-madatory-textboxesfields-with.html' title='Marking madatory textboxes/fields with style'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/RmAhXcAQOLI/AAAAAAAAABc/DZrtXiLZrgE/s72-c/textbox.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-907792365178518651</id><published>2007-05-30T21:57:00.000+01:00</published><updated>2007-05-30T22:00:14.969+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Adding a DateTimeStamp to a file</title><content type='html'>' Get the current Date Time and remove illegal chars&lt;br /&gt;Dim strDTStamp As String = Format(Date.Now, "yyyyMMddHHmmss")&lt;br /&gt;&lt;br /&gt;' This is the file we want to rename&lt;br /&gt;Dim of As String = "C:\Myfile.txt"&lt;br /&gt;&lt;br /&gt;' Insert DTStamp into the old name&lt;br /&gt;Dim nf As String = of.Replace(".", strDTStamp &amp; ".")&lt;br /&gt;&lt;br /&gt;' Moving the file is like renaming it&lt;br /&gt;System.IO.File.Move(of, nf)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-907792365178518651?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/907792365178518651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=907792365178518651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/907792365178518651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/907792365178518651'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/adding-datetimestamp-to-file.html' title='Adding a DateTimeStamp to a file'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-8095945878928119016</id><published>2007-05-30T00:19:00.000+01:00</published><updated>2007-06-22T11:09:12.593+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Resizing images/bitmaps the Visual Studio 2005 Way!</title><content type='html'>I've see so many ways to do this but this is so elegant it rocks. Here's how to resize an image in VB.NET 2005&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#000099;"&gt;Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click&lt;br /&gt;   Dim MyImage As New Bitmap("D:\My Documents\My Pictures\untitled.bmp")&lt;br /&gt;   Dim MyThumbNail As Image&lt;br /&gt;   MyThumbNail = MyImage.GetThumbnailImage(MyImage.Width/2, MyImage.Hieght/2, AddressOf ThumbNailAbort, Nothing)&lt;br /&gt;   MyThumbNail.Save("D:\My Documents\My Pictures\Thumb.bmp")&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Function ThumbNailAbort() As Boolean&lt;br /&gt;   'Do Nothing Here&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The delegate ThumbNailAbort is necessary, even if it is not yet implemented yet in .NET&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-8095945878928119016?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/8095945878928119016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=8095945878928119016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8095945878928119016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/8095945878928119016'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/resizing-imagesbitmaps-visual-studio.html' title='Resizing images/bitmaps the Visual Studio 2005 Way!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-3961081454453563774</id><published>2007-05-29T22:10:00.000+01:00</published><updated>2007-05-29T22:19:19.468+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Hiding Tabs ain't the same anymore</title><content type='html'>If you are like me and remember VB6 all too well this code would appear to be the logical way to hide a tab:&lt;br /&gt;&lt;br /&gt;TabControl1.TabPages(1).Visible = False&lt;br /&gt;&lt;br /&gt;Now althought this compiles it does nothing&lt;br /&gt;&lt;br /&gt;What's stranger is that:&lt;br /&gt;TabControl1.TabPages(1).Enabled = False&lt;br /&gt;does work as expected!!&lt;br /&gt;&lt;br /&gt;So the only way is to remove it.  But don't worry it does not unload it from memory so we can always add it back into the tabpages collection to get it back:&lt;br /&gt;&lt;br /&gt;TabControl1.TabPages.Remove (TabPage1) or RemoveAt(index)&lt;br /&gt;and&lt;br /&gt;TabControl1.TabPages.Add(TabPage1)&lt;br /&gt;to get it back.  What's more make sure you use the object as the parameter and not a string :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-3961081454453563774?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/3961081454453563774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=3961081454453563774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3961081454453563774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/3961081454453563774'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/hiding-tabs-aint-same-anymore.html' title='Hiding Tabs ain&apos;t the same anymore'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-952750149919915546</id><published>2007-05-29T22:07:00.000+01:00</published><updated>2007-05-29T22:09:54.062+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Hiding a file in .NET 2005 and other tricks</title><content type='html'>Really easy:&lt;br /&gt;File.SetAttributes("" &amp; strFileName &amp; "", FileAttributes.ReadOnly + FileAttributes.Hidden + FileAttributes.System)&lt;br /&gt;&lt;br /&gt;Make sure you import System.IO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-952750149919915546?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/952750149919915546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=952750149919915546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/952750149919915546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/952750149919915546'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/hiding-file-in-net-2005-and-other.html' title='Hiding a file in .NET 2005 and other tricks'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7466158528878050147</id><published>2007-05-20T13:40:00.000+01:00</published><updated>2007-05-24T14:17:43.929+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='SATA'/><title type='text'>10 steps to a clean Install of Windows XP on HP nc8430 Laptop</title><content type='html'>If you are anything like me, when you get a new laptop all the extra stuff loaded on by the vendor will just bug you like crazy until you end up doing the inevitable.... a clean install. Well this was easier said than done in my case. Vista loaded like a dream, no time atall to install, but once loaded with VS2005 and SQL server and all my dev stuff, well my machine just could not take it. I guess I really need that 2GB of ram upgrade and a larger HDD, but that's another story.&lt;br /&gt;&lt;br /&gt;So I read and read for days about how to slipstream the SATA drivers into the XP install CD, otherwise you just get a harddisk cannot be found during the standard insatll. This was before I bought an external floppy, extracted the drivers from the HP site onto it and then did the famous F6 during the installlation to specify other drivers. I though hey presto I'm there, only to find that the second time the installation requests them the drive is not found. It turns out the Windows only accepts a handfull of external floppies, and guess what, mine was NOT on the list :(&lt;br /&gt;&lt;br /&gt;So after 4 failed CD burns I finally get the installation in. Whoooo.... but on reboot, I get a flash of a BSOD and the system just keeps rebooting. SO I contact HP, cos by now I'm going mad. They tell me to install with native SATA disabled and then put the drivers on and then switch it back on. So here's how to do it:-&lt;br /&gt;&lt;br /&gt;1. Set Native SATA to DISABLED then install the OS in the normal fashion.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/RlWKhmQgjrI/AAAAAAAAAA8/8dDYoU1eZuE/s1600-h/New+Bitmap+Image.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5068109265485467314" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_icm5YwjnC8s/RlWKhmQgjrI/AAAAAAAAAA8/8dDYoU1eZuE/s320/New+Bitmap+Image.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Download the latest “&lt;a href="http://downloadfinder.intel.com/scripts-df-external/download.aspx?url=/11309/eng/iata61_enu.exe&amp;agr=N&amp;amp;amp;amp;amp;amp;ProductID=2101&amp;DwnldId=11309&amp;amp;strOSs=44&amp;OSFullName=Windows*%20XP%20Professional&amp;amp;lang=eng"&gt;Intel Matrix Storage Manager&lt;/a&gt;” driver.&lt;br /&gt;&lt;br /&gt;After downloading the “Intel Matrix Storage Manager” create one folder named Sata and copy the iata61_enu.exe which you just downloaded from above mentioned link.&lt;br /&gt;&lt;br /&gt;3. Use following command to extract the driver files:&lt;br /&gt;c:\sata\ iata61_enu.exe -a -a -pc:\sata&lt;br /&gt;When run, the installation process begins; simply click through the dialogs as prompted. This will not install the driver, it will only extract the driver files to &lt;?xml:namespace prefix = c /&gt;&lt;c:\sata&gt;. After the extraction is completed, the driver files can be found in &lt;c:sata\driver&gt;.&lt;br /&gt;&lt;br /&gt;4. Install the Intel chipset driver for example "sp32781. Intel Chipset Inst Utly for ICH7 .7.2.2.1006 REV_ A.txt"&lt;br /&gt;&lt;br /&gt;5. Update the ICH-7 controller that was just added from the chipset driver&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/RlWLTmQgjsI/AAAAAAAAABE/rT7xvT8CrEU/s1600-h/New+Bitmap+Image.bmp"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/RlWMRGQgjuI/AAAAAAAAABU/3TJLONOi_Dc/s1600-h/New+Bitmap+Image.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5068111181040881378" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/RlWMRGQgjuI/AAAAAAAAABU/3TJLONOi_Dc/s320/New+Bitmap+Image.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Here are the steps for walking through the wizard. &lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6a. No not this time&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6b. Install form a list or specific location&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6c. Don't Search, I will choose the driver to install&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6d. Have disk&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6e. Browse to C:\SATA\Driver&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6f. Choose the 82801GMB SATA AHCI Controller&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;6g. Say yes, you do want to install although it is not signed&lt;br /&gt;&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;br /&gt;&lt;c:\sata&gt;&lt;c:sata\driver&gt;7. Reboot into the BIOS settings using the F10 function key as the system is coming up.&lt;br /&gt;&lt;br /&gt;8. Change the BIOS settings back to Native SATA ENABLED and REBOOT once again.&lt;br /&gt;&lt;br /&gt;9. After reboot, the additional SATA components will be updated and allow you to enter Windows normally and you will be prompted to reboot again:.&lt;br /&gt;&lt;br /&gt;10. Finally you will have the driver completely installed&lt;/c:sata\driver&gt;&lt;/c:\sata&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7466158528878050147?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7466158528878050147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7466158528878050147' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7466158528878050147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7466158528878050147'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/10-steps-to-clean-install-of-windows-xp.html' title='10 steps to a clean Install of Windows XP on HP nc8430 Laptop'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/RlWKhmQgjrI/AAAAAAAAAA8/8dDYoU1eZuE/s72-c/New+Bitmap+Image.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-7714879379301897205</id><published>2007-05-16T09:25:00.000+01:00</published><updated>2007-05-16T09:42:25.256+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Office shortcut keys</title><content type='html'>I've been doing a bit of office spreadsheet reporting these last few days and it was driving me bonkers to prepare the format the way I wanted it.  What I had to do was basically highlight certain rows and delete them over and over.  Now on a laptop infront of TV you could really do with shortcut keys and not the the old mouse.  So I did a quick search and came up with:&lt;br /&gt;&lt;br /&gt;Highlight Row =&gt; "Shift" + Spacebar &lt;br /&gt;Highlight Column =&gt; "Ctrl" + Spacebar&lt;br /&gt;&lt;br /&gt;To insert a row, hit "Ctrl + '+'" &lt;br /&gt;To delete a row, hit "Ctrl + '-'" &lt;br /&gt;&lt;br /&gt;Some others whilst I'm at it:&lt;br /&gt;Ctrl+9 Hide Cell  &lt;br /&gt;Shift+Ctrl+9 Unhide The cell&lt;br /&gt;Ctrl+0 Hide the Column  &lt;br /&gt;Shift+Ctrl+0 Unhide The Column&lt;br /&gt;&lt;br /&gt;For the complete list for keyboard junkies visit:&lt;br /&gt;&lt;a href="http://www.exceltip.com/st/The_Best_Shortcut_Keys_in_Microsoft_Excel/1.html"&gt;www.exceltip.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-7714879379301897205?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/7714879379301897205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=7714879379301897205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7714879379301897205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/7714879379301897205'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/office-shortcut-keys.html' title='Office shortcut keys'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5011778960583340968</id><published>2007-05-07T16:58:00.000+01:00</published><updated>2007-05-07T18:04:09.372+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>HP Pavillion t3000 desktop PC automatically restarts after immediately shutdown</title><content type='html'>Had a strange problem the other day, the PC was shutting down and then rebooting straight away. So the poor PC owner was waiting until the exact momment between safe shutdown and restart to power off the PC.  After a little digging, that did not turn up much from the event log etc, I decided to turn off the windows feature that automatically reboots the machine after a critical error occurs.  This can be found under control panel, system, Advanced tab, Startup and recovery options.  With this in place, a shutdown revealed a STOP error on a BSOD.  &lt;a href="http://support.microsoft.com/kb/810980"&gt;"STOP 0x000000D1 IRQL_NOT_LESS_OR_EQUAL Kbdclass.sys" Error Message When You Try to Shut Down the Computer&lt;/a&gt;  So now it was quite obvious that the mouse driver need upgrading because it happened to be a logitech mouse.  Problem solved ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5011778960583340968?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5011778960583340968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5011778960583340968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5011778960583340968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5011778960583340968'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/05/hp-pavillion-t3000-desktop-pc.html' title='HP Pavillion t3000 desktop PC automatically restarts after immediately shutdown'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6193423636444849211</id><published>2007-04-26T09:28:00.000+01:00</published><updated>2007-04-26T12:27:18.349+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Office'/><title type='text'>Can't open office 2003 .mdi files using Office 2007</title><content type='html'>I recently saved a whole load of tutorials in MS Office's .mdi format using 2003 so as to save some trees :) I was quite surprised when I loaded these files onto my machine with office 2007 because they could not be opened. Now Office 2007's electronic format is in .xps so I knew I had a problem. Quick search on google turns up an MS KB article to solve the problem:-&lt;br /&gt;&lt;br /&gt;1. Click Start, click Run, type appwiz.cpl, and then click OK.&lt;br /&gt;2. In the Currently installed programs list, click the 2007 Office version that you have installed.&lt;br /&gt;3. Click Change.&lt;br /&gt;4. Click Add or Remove features, and then click Continue.&lt;br /&gt;5. Expand Office Tools.&lt;br /&gt;6. Click Microsoft Office Document Imaging, and then click Run all from My Computer.&lt;br /&gt;7. Click Continue.&lt;br /&gt;&lt;br /&gt;Ref: &lt;a href="http://support.microsoft.com/kb/926198"&gt;An .mdi file does not open in the Microsoft Office Document Imaging program that is included in the 2007 Office programs &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6193423636444849211?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6193423636444849211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6193423636444849211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6193423636444849211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6193423636444849211'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/04/cant-open-office-2003-mdi-files-using.html' title='Can&apos;t open office 2003 .mdi files using Office 2007'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6329748008714742214</id><published>2007-04-24T11:39:00.000+01:00</published><updated>2007-05-01T22:58:39.238+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding'/><title type='text'>Fixed Length String in Visual Basic.NET</title><content type='html'>Yes this can be done quite simply:&lt;br /&gt;&lt;br /&gt;Structure Student&lt;br /&gt;Public ID As Integer&lt;br /&gt;Public DatofBirth As Date&lt;br /&gt;&amp;lt;VBFixedString(15)&amp;gt;Public FirstName As String&lt;br /&gt;&amp;lt;VBFixedString(15)&amp;gt;Public Surname As String&lt;br /&gt;End Structure&lt;br /&gt;&lt;br /&gt;For more details check out this &lt;a href="http://msdn2.microsoft.com/fr-fr/library/aa903289(VS.71).aspx"&gt;MSDN article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6329748008714742214?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6329748008714742214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6329748008714742214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6329748008714742214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6329748008714742214'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/04/fixed-length-string-in-visual-basicnet.html' title='Fixed Length String in Visual Basic.NET'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-609874726039010895</id><published>2007-04-18T12:12:00.000+01:00</published><updated>2007-04-18T12:25:01.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Remote Desktop Troubleshooting - Don't forget the obvious!!</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_icm5YwjnC8s/RiX_1l-qz_I/AAAAAAAAAAc/2PJYvG0P9uU/s1600-h/RDP.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5054727452986363890" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_icm5YwjnC8s/RiX_1l-qz_I/AAAAAAAAAAc/2PJYvG0P9uU/s320/RDP.JPG" border="0" /&gt;&lt;/a&gt;Just had a another problem reported... For some reason a remote desktop had suddenly stopped allowing incoming connections at one of my clients. After checking around I found that the firewall had disallowed RDP on the exceptions tab. Now we all know that allowing RDP when you right click My Computer and go properties... remote... will automatically allow an excpetion in the firewall by default. So guess what, initially I did not think of checking that. It was only after I started pinging the machines that it dawned on me to check the firewall (and also thanks to this &lt;a href="http://windowshelp.microsoft.com/Windows/en-US/Help/5c4f7ad8-40b3-452d-81ec-3a63453f0ada1033.mspx"&gt;brillaint guide&lt;/a&gt; on the MS site!)&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I can only guess, after speaking to the admin on site that after he applied a recent update to the Remote Desktop client, it got turned off but never back on. Now he did then mention that the update had hung and he canceled the update!!! Make sense?... perhaps :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-609874726039010895?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/609874726039010895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=609874726039010895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/609874726039010895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/609874726039010895'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/04/remote-desktop-troubleshooting-dont.html' title='Remote Desktop Troubleshooting - Don&apos;t forget the obvious!!'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_icm5YwjnC8s/RiX_1l-qz_I/AAAAAAAAAAc/2PJYvG0P9uU/s72-c/RDP.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-999352499153097452</id><published>2007-04-18T11:45:00.000+01:00</published><updated>2007-04-18T12:06:36.231+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Could not load file or assembly 'Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its ...</title><content type='html'>&lt;div&gt;Could not load file or assembly 'Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.&lt;br /&gt;&lt;br /&gt;I just had a call from a client asking how we can solve this error while he was deploying his Intranet from his local machine to the production server. After a lot of searching he was linked to the MS site and asked to request a hotfix &lt;a href="http://support.microsoft.com/kb/915782/en-us"&gt;(FIX: You may receive an InvalidCastException error in an ASP.NET-connected Web application)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#999999;"&gt;SYMPTOMS&lt;br /&gt;loadTOCNode(1, 'symptoms');&lt;br /&gt;You may receive an InvalidCastException error in a Microsoft ASP.NET-connected Web application when the following conditions are true:&lt;br /&gt;&lt;u&gt;• The Web application uses a master page, a user control, or pages that reference each other.&lt;/u&gt;&lt;br /&gt;• The master page, the user control, or the pages are batch compiled into a single assembly.&lt;br /&gt;• One of the batched dependencies is changed and causes a recompilation.&lt;br /&gt;&lt;u&gt;• A dynamic call to load a reference is made, such as a call to the LoadControl method. In this case, you may&lt;/u&gt; receive an error message that resembles the following:&lt;br /&gt;Unable to cast object of type 'ASP.type' to type 'ASP.type'.Note In this error message, type is a placeholder for one of the batch compiled types. You may also receive an error message that resembles the following:&lt;br /&gt;Could not load file or assembly 'App_Web_xxxxxxxx, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;Now he had been using master pages and webcontrols etc.. so the fix was tempting.. However as a precaution he called me and I looked deeper.... &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Enter ..... AJAX&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://ajax.asp.net"&gt;&lt;img src="http://ajax.asp.net/images/ajax-poster-photo-logo.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Luckily I remembered he had just added AJAX to the site only a few days ago and so I dug some more. Finally tried out the site on a test server and reproduced the error but then I confirmed that installing the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en"&gt;Ajax 2.0 Extensions&lt;/a&gt; would fix it..... and it DID!! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-999352499153097452?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/999352499153097452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=999352499153097452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/999352499153097452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/999352499153097452'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/04/could-not-load-file-or-assembly.html' title='Could not load file or assembly &apos;Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&apos; or one of its ...'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2865635199097655715</id><published>2007-04-12T23:21:00.000+01:00</published><updated>2007-04-12T23:41:32.821+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certification'/><title type='text'>MODL Certification Bootcamp</title><content type='html'>I've just finished attending my first ever Microsoft Offical Distance Learning Boot camp and I'm telling you it was excellent!!  I must admit I was a bit apprehensive having to deliver a 30 minute presentation to what I was imagining to be a brick wall!!!  Boy was I wrong  I can honestly say it is certainly not a revamped E-Learning.  First off, Microsofts Live meeting was an excellent tool for the job and I think without it, it just would not work.  Engaging the others in the classroom with the annotation tools is just great, especially since I like to talk with my hands (go figure how you convey that over the web when they cannot see you!! )  Anyway I must say a huge THANK YOU to David Clarke at &lt;a href="http://www.toolwire.com/"&gt;Toolwire&lt;/a&gt; who facilitated our session.  You really have done a fantastic job of innovating the learning experience!!  Also Ron and Henk were great MCT’s to deliver too, thanks for making the classroom so much fun.  We really had fun with that highlighter tool I think!!!  &lt;br /&gt;&lt;br /&gt;Well now that the G(ather) part is ready, I can’t wait to see the EAR part come into place.  The E-Learning is great, especially after having been prepped by the Virtual classroom.  The online ‘Day in the life’ environment where you get to play on the ‘toolwire’ campus is also amazing.  You get to use a real server and configure it with what you have learnt with a real life scenario all over the internet.  Toolwire have put in over 1000 servers to support the hand’s on part!!!&lt;br /&gt;&lt;br /&gt;Well I’ll certainly post more as this progresses, especially once the official result is out :)  In the meantime check out the &lt;a href="http://www.microsoft.com/learning/MODL/default.mspx"&gt;Microsoft Offical Distance Learning&lt;/a&gt; site for more details!!!&lt;br /&gt;&lt;br /&gt;And these are the &lt;a href="http://www.microsoft.com/learning/modl/courses/default.mspx"&gt;courses&lt;/a&gt; currently available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2865635199097655715?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2865635199097655715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2865635199097655715' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2865635199097655715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2865635199097655715'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/04/modl-certification-bootcamp.html' title='MODL Certification Bootcamp'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-6573892607710294270</id><published>2007-03-23T10:23:00.000+01:00</published><updated>2007-03-23T10:27:19.719+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>The waiting is over</title><content type='html'>Hey it's offical, I'm NOOOOOOT going to Tech-Ed 2007 in the US THIS year!  So it's time to start preparing :) Anyway, there were over 350 applications when I put mine in on Sunday night March 4th so thats a lot to compete with, considering so few are chosen from outside the US.  Some great MCT's going to help out so I'm sure it's going to be a blast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-6573892607710294270?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/6573892607710294270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=6573892607710294270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6573892607710294270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/6573892607710294270'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/03/waiting-is-over.html' title='The waiting is over'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2312126934494116831</id><published>2007-03-19T08:48:00.000+01:00</published><updated>2007-03-21T20:59:51.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Tech Ed 2007 US Waiting ....</title><content type='html'>I'm waiting like so many other MCT's in the hope of being selected as TLG or ambsaasdor.  But as the days pass I'm already starting to plan for next year! :)  and for Tech-Ed 2007 Developers in Barcelona &lt;a href="http://www.mseventseurope.com/TechEd/06/pre/defaultDev.aspx"&gt;Tech-Ed 2007 Developers in Barcelona&lt;/a&gt;.  In the meantime work continues on the Malta User group Visual Studio Developers....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2312126934494116831?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2312126934494116831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2312126934494116831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2312126934494116831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2312126934494116831'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/03/tech-ed-2007-us.html' title='Tech Ed 2007 US Waiting ....'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-5022726887005190696</id><published>2007-02-18T20:59:00.000+01:00</published><updated>2007-03-21T21:18:59.712+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DevNET'/><title type='text'>DevNET Malta</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_icm5YwjnC8s/RgGR32zLHiI/AAAAAAAAAAU/xn8uEseaUvY/s1600-h/tIMG_6673.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_icm5YwjnC8s/RgGR32zLHiI/AAAAAAAAAAU/xn8uEseaUvY/s320/tIMG_6673.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5044473446420651554" /&gt;&lt;/a&gt;&lt;br /&gt;I've secured premises where we can now hold our monthy 'geek meetings', although I kindly asked those interesting in attending to come up with something a little cooler:)  The place &lt;a href="http://www.stcmalta.com"&gt;STC Training&lt;/a&gt; is nice and central, well equiped and spacious and has it's own canteen!!  So coffee and goodies will be in ample supply!! The center has great labs which will be configured for hands-on after the presentations so that attendees can get their hands dirty!! Some of the first few topics will be based on the following areas:&lt;br /&gt;AJAX&lt;br /&gt;Remoting&lt;br /&gt;Security&lt;br /&gt;3D Graphics&lt;br /&gt;Asynchronous programming&lt;br /&gt;"Click-once" deployment&lt;br /&gt;&lt;br /&gt;Sessions are expected to last approximately 1-1.5 hrs and take place once a month initially, at 6:00pm on Tuesdays.  So please block your diaries!!!  More News later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-5022726887005190696?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/5022726887005190696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=5022726887005190696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5022726887005190696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/5022726887005190696'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2007/02/devnet-malta.html' title='DevNET Malta'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_icm5YwjnC8s/RgGR32zLHiI/AAAAAAAAAAU/xn8uEseaUvY/s72-c/tIMG_6673.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4707099970411996914.post-2828603354093110706</id><published>2006-11-13T10:46:00.000+01:00</published><updated>2006-11-13T11:07:51.016+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Every ending is a new beginning</title><content type='html'>&lt;span style="font-family:arial;"&gt;Well they say every ending is always the start of some new beginning!!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I'm leaving the first ever Tech-Ed Developers in Barcelona and I'm starting this blog on the plane after heading out of BCN an the way to Milan. My plane is 40 minutes late and my connection to Malta is only 1hr. But I still have to collect my boarding pass! Tight, considering I know I have to run from terminal A to terminal B and go through security!! &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The conference organisation was amazing, from Ronald organising the Hands-on-labs and the ask the experts, to the guys on the harware and software at F1 who keep the labs running smooth as silk!! I must admit I was not expecting to see 4000 delegates but with the organisation you wouldn't have known. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So, with such a great conference over, after having met so many great guys and girls from every corner of the planet, I'm starting my blog with a BANG!! With Peter Gabriel playing in the background, keeping me on that high, it's a whole new beginning. You can expect a Maltese user group for buisness solutions software development to be set up very shortly. I mean very shortly!! And it's going to be the place to check back to for all you need to know on software development using Microsoft products. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4707099970411996914-2828603354093110706?l=kdaviesb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kdaviesb.blogspot.com/feeds/2828603354093110706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4707099970411996914&amp;postID=2828603354093110706' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2828603354093110706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4707099970411996914/posts/default/2828603354093110706'/><link rel='alternate' type='text/html' href='http://kdaviesb.blogspot.com/2006/11/every-ending-is-new-beginning.html' title='Every ending is a new beginning'/><author><name>Karl Davies-Barrett</name><uri>http://www.blogger.com/profile/07775798643790927534</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
